UNPKG

qrfi

Version:

A CLI Wi-Fi QR Code Generator.

64 lines (63 loc) 2.04 kB
#!/usr/bin/env node "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const program = require("commander"); const fs = require("fs"); const tty_1 = require("tty"); const outdent = require("@kamataryo/outdent"); const _1 = require("."); const { version, description } = JSON.parse(fs.readFileSync(__dirname + '/../package.json').toString('utf-8')); program .version(version) .description(description) .usage('[ssid] [options]') .option('-t, --authentication-type <value>', 'Optional. One of WEP, WPA, nopass. Default value is WPA.') .option('-p, --password <value>', 'Optional.') .option('-H, --hidden', 'Optional. The SSID is hidden or not. Default value is `false`.') .option('-f, --format <value>', 'Optional. ascii as default, png or svg.'); program.on('--help', () => { process.stdout.write(` Examples: $ qrfi YOUR-SSID -p YOUR-PASSWORD $ qrfi YOUR-SSID -p YOUR-PASSWORD -f png > qr.png $ echo YOUR-SSID | qrfi -p YOUR-PASSWORD `[outdent]); }); program.parse(process.argv); const args = [...program.args]; const authenticationType = program.authenticationType || 'WPA'; const password = program.password || ''; const hidden = !!program.hidden; const format = program.format || 'ascii'; process.stdin.resume(); process.stdin.setEncoding('utf8'); let stdinData = ''; const onEnd = () => { const networkSSID = args[0] || stdinData; let qrfi; try { qrfi = new _1.default({ authenticationType, networkSSID, password, hidden }); } catch (e) { process.stdout.write(e.message); process.exit(1); } qrfi .toQR({ format }) .then(qrcode => { process.stdout.write(qrcode); process.exit(0); }) .catch(e => { process.stderr.write(e.message); process.exit(2); }); }; if (tty_1.isatty(0)) { onEnd(); } else { process.stdin.on('data', chunk => (stdinData += chunk)); process.stdin.on('end', onEnd); } //# sourceMappingURL=cli.js.map