1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #!/usr/bin/env node
- var nopt = require('../lib/nopt')
- var path = require('path')
- var types = { num: Number,
- bool: Boolean,
- help: Boolean,
- list: Array,
- 'num-list': [Number, Array],
- 'str-list': [String, Array],
- 'bool-list': [Boolean, Array],
- str: String,
- clear: Boolean,
- config: Boolean,
- length: Number,
- file: path,
- }
- var shorthands = { s: ['--str', 'astring'],
- b: ['--bool'],
- nb: ['--no-bool'],
- tft: ['--bool-list', '--no-bool-list', '--bool-list', 'true'],
- '?': ['--help'],
- h: ['--help'],
- H: ['--help'],
- n: ['--num', '125'],
- c: ['--config'],
- l: ['--length'],
- f: ['--file'],
- }
- var parsed = nopt(types
- , shorthands
- , process.argv
- , 2)
- console.log('parsed', parsed)
- if (parsed.help) {
- console.log('')
- console.log('nopt cli tester')
- console.log('')
- console.log('types')
- console.log(Object.keys(types).map(function M (t) {
- var type = types[t]
- if (Array.isArray(type)) {
- return [t, type.map(function (mappedType) {
- return mappedType.name
- })]
- }
- return [t, type && type.name]
- }).reduce(function (s, i) {
- s[i[0]] = i[1]
- return s
- }, {}))
- console.log('')
- console.log('shorthands')
- console.log(shorthands)
- }
|