Code coverage report for node-yaqrcode/index.js

Statements: 94.44% (17 / 18)      Branches: 83.33% (10 / 12)      Functions: 100% (1 / 1)      Lines: 94.44% (17 / 18)      Ignored: none     

All files » node-yaqrcode/ » index.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 351   1 2 2 2 2   2   2 2 2 2   1     1                 1 1   1     1  
var qrcode = require('./qrcode.js');
 
var gen = function(text, options) {
    options = options || {};
    var typeNumber = options.typeNumber || 4;
    var errorCorrectLevel = options.errorCorrectLevel || 'M';
    var size = options.size || 500;
 
    var qr;
 
    try {
        qr = qrcode(typeNumber, errorCorrectLevel || 'M');
        qr.addData(text);
        qr.make();
    } catch (e) {
        Iif(typeNumber >= 40) {
            throw new Error('Text too long to encode');
        } else {
            return gen(text, {
                size: size,
                errorCorrectLevel: errorCorrectLevel,
                typeNumber: typeNumber + 1
            });
        }
    }
 
    // calc cellsize and margin
    var cellsize = parseInt(size / qr.getModuleCount());
    var margin = parseInt((size - qr.getModuleCount() * cellsize) / 2);
 
    return qr.createImgTag(cellsize, margin, size);
};
 
module.exports = gen;