init
This commit is contained in:
159
node_modules/qrcode/bin/qrcode
generated
vendored
Normal file
159
node_modules/qrcode/bin/qrcode
generated
vendored
Normal file
@@ -0,0 +1,159 @@
|
||||
#!/usr/bin/env node
|
||||
var yargs = require('yargs')
|
||||
var qr = require('../lib')
|
||||
|
||||
function save (file, text, options) {
|
||||
qr.toFile(file, text, options, function (err, data) {
|
||||
if (err) {
|
||||
console.error('Error:', err.message)
|
||||
process.exit(1)
|
||||
}
|
||||
|
||||
console.log('saved qrcode to: ' + file + '\n')
|
||||
})
|
||||
}
|
||||
|
||||
function print (text, options) {
|
||||
options.type = 'terminal'
|
||||
qr.toString(text, options, function (err, text) {
|
||||
if (err) {
|
||||
console.error('Error:', err.message)
|
||||
process.exit(1)
|
||||
}
|
||||
|
||||
console.log(text)
|
||||
})
|
||||
}
|
||||
|
||||
function parseOptions (args) {
|
||||
return {
|
||||
version: args.qversion,
|
||||
errorCorrectionLevel: args.error,
|
||||
type: args.type,
|
||||
small: !!args.small,
|
||||
inverse: !!args.inverse,
|
||||
maskPattern: args.mask,
|
||||
margin: args.qzone,
|
||||
width: args.width,
|
||||
scale: args.scale,
|
||||
color: {
|
||||
light: args.lightcolor,
|
||||
dark: args.darkcolor
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function processInputs (text, opts) {
|
||||
if (!text.length) {
|
||||
yargs.showHelp()
|
||||
process.exit(1)
|
||||
}
|
||||
|
||||
if (opts.output) {
|
||||
save(opts.output, text, parseOptions(opts))
|
||||
} else {
|
||||
print(text, parseOptions(opts))
|
||||
}
|
||||
}
|
||||
|
||||
var argv = yargs
|
||||
.detectLocale(false)
|
||||
.usage('Usage: $0 [options] <input string>')
|
||||
.option('v', {
|
||||
alias: 'qversion',
|
||||
description: 'QR Code symbol version (1 - 40)',
|
||||
group: 'QR Code options:',
|
||||
type: 'number'
|
||||
})
|
||||
.option('e', {
|
||||
alias: 'error',
|
||||
description: 'Error correction level',
|
||||
choices: ['L', 'M', 'Q', 'H'],
|
||||
group: 'QR Code options:'
|
||||
})
|
||||
.option('m', {
|
||||
alias: 'mask',
|
||||
description: 'Mask pattern (0 - 7)',
|
||||
group: 'QR Code options:',
|
||||
type: 'number'
|
||||
})
|
||||
.option('t', {
|
||||
alias: 'type',
|
||||
description: 'Output type',
|
||||
choices: ['png', 'svg', 'utf8'],
|
||||
implies: 'output',
|
||||
group: 'Renderer options:'
|
||||
})
|
||||
.option('i', {
|
||||
alias: 'inverse',
|
||||
type: 'boolean',
|
||||
description: 'Invert colors',
|
||||
group: 'Renderer options:'
|
||||
})
|
||||
.option('w', {
|
||||
alias: 'width',
|
||||
description: 'Image width (px)',
|
||||
conflicts: 'scale',
|
||||
group: 'Renderer options:',
|
||||
type: 'number'
|
||||
})
|
||||
.option('s', {
|
||||
alias: 'scale',
|
||||
description: 'Scale factor',
|
||||
conflicts: 'width',
|
||||
group: 'Renderer options:',
|
||||
type: 'number'
|
||||
})
|
||||
.option('q', {
|
||||
alias: 'qzone',
|
||||
description: 'Quiet zone size',
|
||||
group: 'Renderer options:',
|
||||
type: 'number'
|
||||
})
|
||||
.option('l', {
|
||||
alias: 'lightcolor',
|
||||
description: 'Light RGBA hex color',
|
||||
group: 'Renderer options:'
|
||||
})
|
||||
.option('d', {
|
||||
alias: 'darkcolor',
|
||||
description: 'Dark RGBA hex color',
|
||||
group: 'Renderer options:'
|
||||
})
|
||||
.option('small', {
|
||||
type: 'boolean',
|
||||
description: 'Output smaller QR code to terminal',
|
||||
conflicts: 'type',
|
||||
group: 'Renderer options:'
|
||||
})
|
||||
.option('o', {
|
||||
alias: 'output',
|
||||
description: 'Output file'
|
||||
})
|
||||
.help('h')
|
||||
.alias('h', 'help')
|
||||
.version()
|
||||
.example('$0 "some text"', 'Draw in terminal window')
|
||||
.example('$0 -o out.png "some text"', 'Save as png image')
|
||||
.example('$0 -d F00 -o out.png "some text"', 'Use red as foreground color')
|
||||
.parserConfiguration({'parse-numbers': false})
|
||||
.argv
|
||||
|
||||
if (process.stdin.isTTY) {
|
||||
processInputs(argv._.join(' '), argv)
|
||||
} else {
|
||||
var text = ''
|
||||
process.stdin.setEncoding('utf8')
|
||||
process.stdin.on('readable', function () {
|
||||
var chunk = process.stdin.read()
|
||||
if (chunk !== null) {
|
||||
text += chunk
|
||||
}
|
||||
})
|
||||
|
||||
process.stdin.on('end', function () {
|
||||
// this process can be run as a command outside of a tty so if there was no
|
||||
// data on stdin read from argv
|
||||
processInputs(text.length?text:argv._.join(' '), argv)
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user