import { CCliArgGroup, CCliArgGroupOptions, CCliParseArgs, } from '../c-cli-arg-group'; import { CCliConditionalValue } from '../c-cli-conditional-value'; /** Options for {@link CliStringArgGroup} */ export type CCliStringArrayArgGroupOptions = CCliArgGroupOptions; export type CCliStringArrayArgGroupValue = CCliConditionalValue; /** `string[]`-valued argument group */ export class CCliStringArrayArgGroup< Optional extends boolean, > extends CCliArgGroup, Optional> { public parse( args: CCliParseArgs, ): CCliStringArrayArgGroupValue { if (!args) { return this.undefinedAsValue(); } this.assertOneOrMoreArgs(args); return args; } public static create( options: CCliStringArrayArgGroupOptions = {}, ): CCliStringArrayArgGroup { return new CCliStringArrayArgGroup({ placeholder: ' [...]', ...options, }); } }