[](https://www.npmjs.org/package/argv-tools)
[](https://www.npmjs.org/package/argv-tools)
[](https://travis-ci.org/75lb/argv-tools)
[](https://david-dm.org/75lb/argv-tools)
[](https://github.com/feross/standard)
## argv-tools
Some useful tools for working with `process.argv`.
**Example**
```js
const argvTools = require('argv-tools')
```
* [argv-tools](#module_argv-tools)
* [.ArgvArray](#module_argv-tools.ArgvArray)
* [.load(argv)](#module_argv-tools.ArgvArray+load)
* [.clear()](#module_argv-tools.ArgvArray+clear)
* [.expandOptionEqualsNotation()](#module_argv-tools.ArgvArray+expandOptionEqualsNotation)
* [.expandGetoptNotation()](#module_argv-tools.ArgvArray+expandGetoptNotation)
* [.hasCombinedShortOptions()](#module_argv-tools.ArgvArray+hasCombinedShortOptions) ⇒ boolean
* [.re](#module_argv-tools.re)
* [.expandCombinedShortArg(arg)](#module_argv-tools.expandCombinedShortArg) ⇒ Array.<string>
* [.isOptionEqualsNotation(arg)](#module_argv-tools.isOptionEqualsNotation) ⇒ boolean
* [.isOption(arg)](#module_argv-tools.isOption) ⇒ boolean
* [.isLongOption(arg)](#module_argv-tools.isLongOption) ⇒ boolean
* [.getOptionName(arg)](#module_argv-tools.getOptionName) ⇒ string
### argvTools.ArgvArray
Array subclass encapsulating common operations on `process.argv`.
**Kind**: static class of [argv-tools
](#module_argv-tools)
* [.ArgvArray](#module_argv-tools.ArgvArray)
* [.load(argv)](#module_argv-tools.ArgvArray+load)
* [.clear()](#module_argv-tools.ArgvArray+clear)
* [.expandOptionEqualsNotation()](#module_argv-tools.ArgvArray+expandOptionEqualsNotation)
* [.expandGetoptNotation()](#module_argv-tools.ArgvArray+expandGetoptNotation)
* [.hasCombinedShortOptions()](#module_argv-tools.ArgvArray+hasCombinedShortOptions) ⇒ boolean
#### argvArray.load(argv)
Clears the array has loads the supplied input.
**Kind**: instance method of [ArgvArray
](#module_argv-tools.ArgvArray)
| Param | Type | Description |
| --- | --- | --- |
| argv | Array.<string>
| The argv list to load. Defaults to `process.argv`. |
#### argvArray.clear()
Clear the array.
**Kind**: instance method of [ArgvArray
](#module_argv-tools.ArgvArray)
#### argvArray.expandOptionEqualsNotation()
expand ``--option=value` style args.
**Kind**: instance method of [ArgvArray
](#module_argv-tools.ArgvArray)
#### argvArray.expandGetoptNotation()
expand getopt-style combinedShort options.
**Kind**: instance method of [ArgvArray
](#module_argv-tools.ArgvArray)
#### argvArray.hasCombinedShortOptions() ⇒ boolean
Returns true if the array contains combined short options (e.g. `-ab`).
**Kind**: instance method of [ArgvArray
](#module_argv-tools.ArgvArray)
### argvTools.re
Regular expressions for matching option formats.
**Kind**: static constant of [argv-tools
](#module_argv-tools)
### argvTools.expandCombinedShortArg(arg) ⇒ Array.<string>
Expand a combined short option.
**Kind**: static method of [argv-tools
](#module_argv-tools)
| Param | Type | Description |
| --- | --- | --- |
| arg | string
| the string to expand, e.g. `-ab` |
### argvTools.isOptionEqualsNotation(arg) ⇒ boolean
Returns true if the supplied arg matches `--option=value` notation.
**Kind**: static method of [argv-tools
](#module_argv-tools)
| Param | Type | Description |
| --- | --- | --- |
| arg | string
| the arg to test, e.g. `--one=something` |
### argvTools.isOption(arg) ⇒ boolean
Returns true if the supplied arg is in either long (`--one`) or short (`-o`) format.
**Kind**: static method of [argv-tools
](#module_argv-tools)
| Param | Type | Description |
| --- | --- | --- |
| arg | string
| the arg to test, e.g. `--one` |
### argvTools.isLongOption(arg) ⇒ boolean
Returns true if the supplied arg is in long (`--one`) format.
**Kind**: static method of [argv-tools
](#module_argv-tools)
| Param | Type | Description |
| --- | --- | --- |
| arg | string
| the arg to test, e.g. `--one` |
### argvTools.getOptionName(arg) ⇒ string
Returns the name from a long, short or `--options=value` arg.
**Kind**: static method of [argv-tools
](#module_argv-tools)
| Param | Type | Description |
| --- | --- | --- |
| arg | string
| the arg to inspect, e.g. `--one` |
* * *
© 2018-19 Lloyd Brookes \<75pound@gmail.com\>. Documented by [jsdoc-to-markdown](https://github.com/75lb/jsdoc-to-markdown).