You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#!/usr/bin/env node
let { nanoid, customAlphabet } = require('..')
function print(msg) { process.stdout.write(msg + '\n') }
function error(msg) { process.stderr.write(msg + '\n') process.exit(1) }
if (process.argv.includes('--help') || process.argv.includes('-h')) { print(` Usage $ nanoid [options]
Options -s, --size Generated ID size -a, --alphabet Alphabet to use -h, --help Show this help
Examples $ nanoid --s 15 S9sBF77U6sDB8Yg
$ nanoid --size 10 --alphabet abc bcabababca`) process.exit() }
let alphabet, size for (let i = 2; i < process.argv.length; i++) { let arg = process.argv[i] if (arg === '--size' || arg === '-s') { size = Number(process.argv[i + 1]) i += 1 if (Number.isNaN(size) || size <= 0) { error('Size must be positive integer') } } else if (arg === '--alphabet' || arg === '-a') { alphabet = process.argv[i + 1] i += 1 } else { error('Unknown argument ' + arg) } }
if (alphabet) { let customNanoid = customAlphabet(alphabet, size) print(customNanoid()) } else { print(nanoid(size)) }
|