A utility function for converting command-line arguments to a key-value object.
You can install argv2Object via npm:
npm install argv2object
To use argv2Object in your JavaScript application, first import it:
// Using ES6 imports
import argv2Object from 'argv2object';
// Using Node.js `require()`
const argv2Object = require('argv2object');
Converts command-line arguments to a key-value object.
# Command line input:
node script.js --task=some-task --execute -h --name=John
const argv2Object = require('argv2object');
// UNIX command line mode true
const args = argv2Object(true);
console.log(args.task); // "some-task"
console.log(args.execute); // true
console.log(args.h); // true
console.log(args.name); // "John"
# Command line input:
node script.js task=some-task name=John level=admin
const args = argv2Object();
console.log(args);
// Output: { name: 'John', age: '30', level: 'admin' }
# Command line input:
node --watch script.js -h --name=John --is-admin
const args = argv2Object(true);
console.log(args);
// Output: { h: true, name: 'John', is_admin: true }
ArgvObject
: AnObject
with keys and values corresponding to the provided arguments.
The argv2Object(unixmode = false): => ArgvObject
function takes the command-line arguments and converts them to a JavaScript object with keys and values based on the provided argument format. The format can be either simple key-value pairs (e.g. "key=value") or Unix-style command-line options (e.g. "-o --option=value").
Arguments
Name | Type | Default | Description |
---|---|---|---|
unixmode |
boolean |
false |
Whether to parse Unix-style command-line options. |
Returns
Returns an Object
with keys and values corresponding to the provided arguments.
Throws
Type | Description |
---|---|
Error |
If no arguments are provided from command line. |
Error |
If unixmode is true and an argument does not follow the Unix-style command-line format. |
Error |
If unixmode is false and an argument does not follow the "key=value" format. |
Contributions, issues and feature requests are welcome. Feel free to check issues page if you want to contribute.
Distributed under the MIT License. See LICENSE for more information.