Innovenergy_trunk/frontend/node_modules/qrcode-terminal/lib/main.js

45 lines
1.1 KiB
JavaScript

var QRCode = require('./../vendor/QRCode'),
QRErrorCorrectLevel = require('./../vendor/QRCode/QRErrorCorrectLevel'),
black = "\033[40m \033[0m",
white = "\033[47m \033[0m",
toCell = function (isBlack) {
return isBlack ? black : white;
},
repeat = function (color) {
return {
times: function (count) {
return new Array(count).join(color);
}
};
};
module.exports = {
error: QRErrorCorrectLevel.L,
generate: function (input, cb) {
var qrcode = new QRCode(-1, this.error);
qrcode.addData(input);
qrcode.make();
var output = '',
border = repeat(white).times(qrcode.getModuleCount() + 3);
output += border + '\n';
qrcode.modules.forEach(function (row) {
output += white;
output += row.map(toCell).join('');
output += white + '\n';
});
output += border;
if (cb) cb(output);
else console.log(output);
},
setErrorLevel: function (error) {
this.error = QRErrorCorrectLevel[error] || this.error;
}
};