@opt/words

Plugin for @opt/parse allowing words to be options for nopt

Usage no npm install needed!

<script type="module">
  import optWords from 'https://cdn.skypack.dev/@opt/words';
</script>

README

@opt/words

Build Status Dependency Status npm version Coverage Status

Plugin for @opt/parse allowing words to be options for nopt.

See @opt/parse

See @opt/nopt

See @use/core

Install

npm install @opt/words --save

Usage

var parse = require('@opt/parse')

// make nopt the parser and apply our words plugin
parse.use('@opt/nopt', '@opt/words')

var options = {
  file: [String, Array] // accept multiple strings
}

var aliases = {
  // normal alias stuff for nopt still applies.
  // these are what's after the prefix '-' or '--'.
  f: '--file', // an example

  // here's what this plugin handles.
  $words: {
    // everything here is a whole word, not prefixed with anything.
    file: '--file'
  }
}

// an example args array
var argv = [ 'node', 'some.js', 'file', 'some/file.js' ]

// then use parse as you would use `nopt`,
// plus any changes made possible by the plugins added
options = parse(options, aliases, argv, 2)

// the above would produce:
options = {
  file: [ 'some/file.js' ],
  argv: {
    original: [ 'node', 'some.js', 'file', 'some/file.js' ]
    cooked  : [ 'node', 'some.js', '--file', 'some/file.js' ]
    remain  : []
  }
}

// nopt would have had no `file` values and remain would be:
// [ 'file', 'some/file.js' ]

MIT License