(self: Instruction)
| 474 | } |
| 475 | |
| 476 | const getUsageInternal = (self: Instruction): Usage.Usage => { |
| 477 | switch (self._tag) { |
| 478 | case "Standard": { |
| 479 | return InternalUsage.concat( |
| 480 | InternalUsage.named(Arr.of(self.name), Option.none()), |
| 481 | InternalUsage.concat( |
| 482 | InternalOptions.getUsage(self.options), |
| 483 | InternalArgs.getUsage(self.args) |
| 484 | ) |
| 485 | ) |
| 486 | } |
| 487 | case "GetUserInput": { |
| 488 | return InternalUsage.named(Arr.of(self.name), Option.none()) |
| 489 | } |
| 490 | case "Map": { |
| 491 | return getUsageInternal(self.command) |
| 492 | } |
| 493 | case "Subcommands": { |
| 494 | return InternalUsage.concat( |
| 495 | getUsageInternal(self.parent), |
| 496 | InternalUsage.mixed |
| 497 | ) |
| 498 | } |
| 499 | } |
| 500 | } |
| 501 | |
| 502 | const parseInternal = ( |
| 503 | self: Instruction, |
no test coverage detected