Initial commit
[yaffs-website] / node_modules / nopt / examples / my-program.js
1 #!/usr/bin/env node
2
3 //process.env.DEBUG_NOPT = 1
4
5 // my-program.js
6 var nopt = require("../lib/nopt")
7   , Stream = require("stream").Stream
8   , path = require("path")
9   , knownOpts = { "foo" : [String, null]
10                 , "bar" : [Stream, Number]
11                 , "baz" : path
12                 , "bloo" : [ "big", "medium", "small" ]
13                 , "flag" : Boolean
14                 , "pick" : Boolean
15                 }
16   , shortHands = { "foofoo" : ["--foo", "Mr. Foo"]
17                  , "b7" : ["--bar", "7"]
18                  , "m" : ["--bloo", "medium"]
19                  , "p" : ["--pick"]
20                  , "f" : ["--flag", "true"]
21                  , "g" : ["--flag"]
22                  , "s" : "--flag"
23                  }
24              // everything is optional.
25              // knownOpts and shorthands default to {}
26              // arg list defaults to process.argv
27              // slice defaults to 2
28   , parsed = nopt(knownOpts, shortHands, process.argv, 2)
29
30 console.log("parsed =\n"+ require("util").inspect(parsed))