0.3.18 • Published 8 months ago

@trenskow/arguments-parser v0.3.18

Weekly downloads
-
License
BSD-3-Clause
Repository
github
Last release
8 months ago

@trenskow/arguments-parser

Yet another arguments parser.

Usage

import argumentsParser from '@trenskow/arguments-parser';

const login = async (...args) => {

	const {
		username,
		password
	} = await argumentParser(args).options({
		username: {
			type: String,
			required: true,
			len: '1-',
			description: "Username of the user"
		},
		password: {
			type: String,
			required: true,
			len: '6-',
			description: "Password of the user"
		}
	}, { login });

	// Do login logic.

};

login.description = 'Logs in a user';

const message = async (...args) => {

	const {
		message
	} = await argumentParser(args).options({
		message: {
			type: String,
			default: 'Empty message',
			description: 'Message to send'
		}
	}, { message });

	// Do message logic.

};

message.description = 'Sends a message from a user.';

await argumentsParser(/* argv (default is `process.argv.slice(2)` */)
	.command({ login, message });

The above example will output.

# ./my-script
Usage: my-script [command]

Available commands:
	login    Logs in a user.
	message  Sends a message from a user.
# ./my-script login --help
Usage: my-script login [options]

Options:
	 --username  Username of the user.
	 --password  Password of the user.
# ./my-script message --help
Usage: my-script message [options]

Options:
	--message  Message to send (default: `Empty message`).

The validation schema is described in package isvalid.

License

See license in LICENSE.

0.3.18

8 months ago

0.3.17

8 months ago

0.3.16

8 months ago

0.3.15

8 months ago

0.3.14

9 months ago

0.3.13

9 months ago

0.3.12

9 months ago

0.3.9

9 months ago

0.3.11

9 months ago

0.3.10

9 months ago

0.2.21

10 months ago

0.2.20

10 months ago

0.2.19

10 months ago

0.2.18

10 months ago

0.2.17

10 months ago

0.2.16

10 months ago

0.2.15

10 months ago

0.2.14

10 months ago

0.2.13

10 months ago

0.2.12

10 months ago

0.2.11

10 months ago

0.3.0

10 months ago

0.3.6

9 months ago

0.3.5

10 months ago

0.3.8

9 months ago

0.3.7

9 months ago

0.3.2

10 months ago

0.3.1

10 months ago

0.3.4

10 months ago

0.3.3

10 months ago

0.2.10

10 months ago

0.2.9

10 months ago

0.2.8

10 months ago

0.1.10

10 months ago

0.2.1

10 months ago

0.2.0

10 months ago

0.2.7

10 months ago

0.2.6

10 months ago

0.2.3

10 months ago

0.2.2

10 months ago

0.2.5

10 months ago

0.2.4

10 months ago

0.1.9

10 months ago

0.1.8

10 months ago

0.1.7

10 months ago

0.1.6

10 months ago

0.1.5

10 months ago

0.1.4

10 months ago

0.1.3

10 months ago

0.1.2

10 months ago

0.1.1

10 months ago

0.1.0

10 months ago