An open API service indexing awesome lists of open source software.

https://github.com/plotdb/args

argument parser
https://github.com/plotdb/args

Last synced: 29 days ago
JSON representation

argument parser

Awesome Lists containing this project

README

          

# @plotdb/args

Simple argument parser.

Usage:

require("@plotdb/args")
result = args({
meta: {
file: {alias: "f", type: "string", desc: "filename"},
count: {alias: "c", type: "number", desc: "loop count"},
verbose: {alias: "v", type: "boolean", desc: "verbose for debugging"},
},
onerror: function(e) { process.exit(); }
});
opt = result.options;
console.log(
opt.file, opt.f,
opt.count, opt.count,
opt.verbose, opt.v
);

## Options

You can pass meta directly to args for simplicity:

args({
file: {alias: "f", type: "string", desc: "filename"},
count: {alias: "c", type: "number", desc: "loop count"},
verbose: {alias: "v", type: "boolean", desc: "verbose for debugging"},
})

`@plotdb/args` recognize `meta` property in the given object to determine if it's a simplified parameter. When `meta` is given, you can specify more options:

args({
meta: { file: {...}, count: {...}, ...},
argv: ...
onerror: ...
})

where:

- `argv`: an alternative array of arguments to parse. default `process.argv` when omitted.
- `onerror`: callback when parsing failed. silent exited (`process.exit()`) when omitted.

## License

MIT