Skip to content

feature request: repeated parameters #3

@teidesu

Description

@teidesu

it often makes sense to have the same argument repeated multiple times (both named and positional)

e.g. with arg it's possible to do something like this:

const args = arg({
  '--foo': [String]
} as const, { permissive: true })

console.log(args)

which would result in something like this:

$ node test.js --foo=1 --foo=2 1 2 3 4
{
  _: ['1', '2', '3', '4'],
  '--foo': ['1', '2'],
}

this is currently not possible with brocli however :c
the best workaround currently is to use e.g. comma delimiter and manually split them, which is obviously not ideal – you have to account for the comma being a part of one of the items, and it also looks awkward as positional args

my proposed api would look something like this:

const foo = command({
  name: 'foo',
  options: {
    foo: string().repeated(),
    bar: positional().repeated()
  },
  handler: console.log
})

which would print a similar output to the above

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions