UNPKG

999 BJavaScriptView Raw
1var QRCode = require('./../vendor/QRCode'),
2 QRErrorCorrectLevel = require('./../vendor/QRCode/QRErrorCorrectLevel'),
3 black = " ",
4 white = "\033[47m \033[0m",
5 toCell = function (isBlack) {
6 return isBlack ? black : white;
7 },
8 repeat = function (color) {
9 return {
10 times: function (count) {
11 return new Array(count).join(color);
12 }
13 };
14 };
15
16module.exports = {
17 generate: function (input, cb) {
18 var qrcode = new QRCode(-1, QRErrorCorrectLevel.H);
19 qrcode.addData(input);
20 qrcode.make();
21
22 var output = '',
23 border = repeat(white).times(qrcode.getModuleCount() + 3);
24
25 output += border + '\n';
26 qrcode.modules.forEach(function (row) {
27 output += white;
28 output += row.map(toCell).join('');
29 output += white + '\n';
30 });
31 output += border;
32
33 if (cb) cb(output);
34 else console.log(output);
35 }
36};