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.
		
		
		
		
		
			
		
			
				
					55 lines
				
				1.5 KiB
			
		
		
			
		
	
	
					55 lines
				
				1.5 KiB
			| 
											3 years ago
										 | #!/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) | ||
|  | } |