| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | #!/usr/bin/env nodevar nopt = require("../lib/nopt")  , path = require("path")  , 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            }  , 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"]                 }  , 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 (type) { return type.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)}
 |