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)
							 | 
						||
| 
								 | 
							
								}
							 |