master
1#!/usr/bin/env node
2var nopt = require("../lib/nopt")
3 , types = { num: Number
4 , bool: Boolean
5 , help: Boolean
6 , list: Array
7 , "num-list": [Number, Array]
8 , "str-list": [String, Array]
9 , "bool-list": [Boolean, Array]
10 , str: String
11 , clear: Boolean
12 , config: Boolean
13 , length: Number
14 }
15 , shorthands = { s: [ "--str", "astring" ]
16 , b: [ "--bool" ]
17 , nb: [ "--no-bool" ]
18 , tft: [ "--bool-list", "--no-bool-list", "--bool-list", "true" ]
19 , "?": ["--help"]
20 , h: ["--help"]
21 , H: ["--help"]
22 , n: [ "--num", "125" ]
23 , c: ["--config"]
24 , l: ["--length"]
25 }
26 , parsed = nopt( types
27 , shorthands
28 , process.argv
29 , 2 )
30
31console.log("parsed", parsed)
32
33if (parsed.help) {
34 console.log("")
35 console.log("nopt cli tester")
36 console.log("")
37 console.log("types")
38 console.log(Object.keys(types).map(function M (t) {
39 var type = types[t]
40 if (Array.isArray(type)) {
41 return [t, type.map(function (type) { return type.name })]
42 }
43 return [t, type && type.name]
44 }).reduce(function (s, i) {
45 s[i[0]] = i[1]
46 return s
47 }, {}))
48 console.log("")
49 console.log("shorthands")
50 console.log(shorthands)
51}