12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- // let Utils = require('./utils')
- exports.render = function (qrData, options, cb) {
- const size = qrData.modules.size
- const data = qrData.modules.data
- // let opts = Utils.getOptions(options)
- // use same scheme as https://github.com/gtanner/qrcode-terminal because it actually works! =)
- const black = '\x1b[40m \x1b[0m'
- const white = '\x1b[47m \x1b[0m'
- let output = ''
- const hMargin = Array(size + 3).join(white)
- const vMargin = Array(2).join(white)
- output += hMargin + '\n'
- for (let i = 0; i < size; ++i) {
- output += white
- for (let j = 0; j < size; j++) {
- // let topModule = data[i * size + j]
- // let bottomModule = data[(i + 1) * size + j]
- output += data[i * size + j] ? black : white// getBlockChar(topModule, bottomModule)
- }
- // output += white+'\n'
- output += vMargin + '\n'
- }
- output += hMargin + '\n'
- if (typeof cb === 'function') {
- cb(null, output)
- }
- return output
- }
- /*
- exports.renderToFile = function renderToFile (path, qrData, options, cb) {
- if (typeof cb === 'undefined') {
- cb = options
- options = undefined
- }
- let fs = require('fs')
- let utf8 = exports.render(qrData, options)
- fs.writeFile(path, utf8, cb)
- }
- */
|