(
args: ReadonlyArray<string>
)
| 533 | switch (self._tag) { |
| 534 | case "Standard": { |
| 535 | const parseBuiltInArgs = ( |
| 536 | args: ReadonlyArray<string> |
| 537 | ): Effect.Effect< |
| 538 | Directive.CommandDirective<never>, |
| 539 | ValidationError.ValidationError, |
| 540 | FileSystem.FileSystem | Path.Path | Terminal.Terminal |
| 541 | > => |
| 542 | Arr.matchLeft(args, { |
| 543 | onEmpty: () => { |
| 544 | const error = InternalHelpDoc.p(`Missing command name: '${self.name}'`) |
| 545 | return Effect.fail(InternalValidationError.commandMismatch(error)) |
| 546 | }, |
| 547 | onNonEmpty: (argv0) => { |
| 548 | const normalizedArgv0 = InternalCliConfig.normalizeCase(config, argv0) |
| 549 | const normalizedCommandName = InternalCliConfig.normalizeCase(config, self.name) |
| 550 | if (normalizedArgv0 === normalizedCommandName) { |
| 551 | const help = getHelpInternal(self, config) |
| 552 | const usage = getUsageInternal(self) |
| 553 | const options = InternalBuiltInOptions.builtInOptions(self, usage, help) |
| 554 | const argsWithoutCommand = Arr.drop(args, 1) |
| 555 | return InternalOptions.processCommandLine(options, argsWithoutCommand, config) |
| 556 | .pipe( |
| 557 | Effect.flatMap((tuple) => tuple[2]), |
| 558 | Effect.catchTag("NoSuchElementException", () => { |
| 559 | const error = InternalHelpDoc.p("No built-in option was matched") |
| 560 | return Effect.fail(InternalValidationError.noBuiltInMatch(error)) |
| 561 | }), |
| 562 | Effect.map(InternalCommandDirective.builtIn) |
| 563 | ) |
| 564 | } |
| 565 | const error = InternalHelpDoc.p(`Missing command name: '${self.name}'`) |
| 566 | return Effect.fail(InternalValidationError.commandMismatch(error)) |
| 567 | } |
| 568 | }) |
| 569 | const parseUserDefinedArgs = ( |
| 570 | args: ReadonlyArray<string> |
| 571 | ): Effect.Effect< |
no test coverage detected