0.0.3 • Published 4 years ago

optget v0.0.3

Weekly downloads
4
License
ISC
Repository
-
Last release
4 years ago

optget

JavaScript component to parse the command-line arguments. 'process.argv' is the argument . An element of argv that starts with '-' (and is not exactly "-" or "--") is an option element.

Install

Node.js

npm install --save optget

Usage

Exemple 1

const optgetParams = [ { name: 'value', type: 'String', min_aliases: [ 'v' ] } ]

optget(optgetParams, (options) => {
    console.log(options.value)
})

Valid Command

node test --value=yolo
node test --value yolo
node test -v=yolo
node test -v yolo

Invalid Command

node test --value=yolo yolo
node test --value= yolo
node test --value=
node test --other=yolo
node test yolo

Exemple 2

const optgetParams = [ { name: 'value', type: 'Integer', aliases: [ 'other' ] } ]

optget(optgetParams, (options) => {
    console.log(options.value)
})

Valid Command

node test --value=45
node test --value 45
node test --other=45
node test --other 45
node test --value=45 --value=12
node test --value=45 -v 12

Invalid Command

node test --value=yolo
node test --value= yolo
node test --value=45 --value2=12

Exemple 3

const optgetParams = [ { name: 'value', type: 'Boolean', min_aliases: [ 'v' ] },
  { name: 'value2', type: 'Url', isOptional: true } ]

optget(optgetParams, (options) => {
    console.log(options.value, options.value2)
})

Valid Command

node test --value=true
node test --value=false
node test --value
node test -v=true
node test -v=false
node test -v
node test --value --value2=https://www.npmjs.com
node test --value --value2=https://localhost
node test --value --value2=https://localhost:3000

Invalid Command

node test --value=true2
node test --value=false2
node test --value=
node test -v=
node test --values2=https://www.npmjs.com
node test -v --value2=skqclmkcqs

Exemple 4

const optgetParams = [ { name: 'value', type: 'String', isOptional: true },
  { name: 'value2',
    type: 'Boolean',
    isOptional: true,
    default: true } ]

optget(optgetParams, (options) => {
    console.log(options.value, options.value2)
})

Valid Command

node test --value=yolo
node test
node test --value2
node test --value2 false

Invalid Command

Exemple 5

const optgetParams = [ { name: 'value', type: 'String', isOptional: true },
  { name: 'value2',
    type: 'Boolean',
    isOptional: true,
    default: true } ]

optget(optgetParams, (options) => {
    console.log(options.value, options.value2)
})

Valid Command

node test --value=yolo
node test
node test --value2
node test --value2 false

Invalid Command

Exemple 6

const optgetParams = [ { name: 'value',
    values: [ 'yolo1', 'yolo2', 'yolo3' ],
    isOptional: true,
    default: 0 },
  { name: 'value2', values: [ 1, 2, 3 ], isOptional: true } ]

optget(optgetParams, (options) => {
    console.log(options.value, options.value2)
})

Valid Command

node test --value=yolo1
node test --value=yolo2
node test
node test --value2=1
node test --value2=2

Invalid Command

node test --value=yolo4

Exemple 7

const optgetParams = [ { name: 'value',
    values: [ 'yolo1', 'yolo2', 'yolo3' ],
    isOptional: true,
    isMultiple: true,
    default: 0 },
  { name: 'value2',
    type: 'String',
    isOptional: true,
    isMultiple: true,
    default: 'tyu' },
  { name: 'value3',
    values: [ 'yolo1', 'yolo2', 'yolo3' ],
    isOptional: true,
    isMultiple: true },
  { name: 'value4',
    type: 'String',
    isOptional: true,
    isMultiple: true } ]

optget(optgetParams, (options) => {
    console.log(options.value, options.value2)
})

Valid Command

node test --value=yolo1
node test --value yolo1 yolo2
node test --value2 coucou les amis
node test

Invalid Command

node test --value yolo1 yolo4
node test --value2

Exemple 8

const optgetParams = [ { name: 'value', type: 'String' },
  { name: 'value2', type: 'String', isMultiple: true },
  { name: '...' } ]

optget(optgetParams, (options) => {
    console.log(options.value, options.value2, options['...'])
})

Valid Command

node test --value=yolo1
node test --value yolo1 --value2 coucou les amis
node test --value2 coucou les amis --value yolo1 ceci un test

Invalid Command

node test --value yolo1 --value2
node test  ceci un test --value2 coucou les amis --value yolo1

Use '...' to catch the end arguments

Exemple 9

const optgetParams = [ { name: '45value', type: 'String' } ]

Invalid because name argument start by digit

Exemple 10

const optgetParams = [ { name: '-value', type: 'String' } ]

Invalid because name argument start by -

Exemple 11

const optgetParams = [ { name: '_ceci$', type: 'String' } ]

Invalid because name argument has character no alphabetic no digit and no _

Exemple 12

const optgetParams = [ { name: 'help', type: 'String' } ]

Invalid because name argument is 'help'

Exemple 13

const optgetParams = [ { name: 'err', type: 'String' } ]

Invalid because name argument is 'err'

Bug

Note

If you notice a bug, send me an email to brindibou.pkmn@gmail.com, please

Credits

License

(ISC License)

Copyright 2019, brindibou.pkmn@gmail.com