Skip to content

plotdb/args

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@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