55 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env node
 | |
| var 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)
 | |
| }
 |