zod-args-parser 1.2.7 → 2.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/README.md +20 -20
  2. package/lib/commonjs/autocomplete-scripts/{bash-autocomplete-script.js → bash-autocomplete-script.cjs} +2 -2
  3. package/lib/commonjs/autocomplete-scripts/bash-autocomplete-script.cjs.map +1 -0
  4. package/lib/commonjs/autocomplete-scripts/{powershell-autocomplete-script.js → powershell-autocomplete-script.cjs} +3 -3
  5. package/lib/commonjs/autocomplete-scripts/powershell-autocomplete-script.cjs.map +1 -0
  6. package/lib/commonjs/autocomplete-scripts/{zsh-autocomplete-script.js → zsh-autocomplete-script.cjs} +4 -4
  7. package/lib/commonjs/autocomplete-scripts/zsh-autocomplete-script.cjs.map +1 -0
  8. package/lib/commonjs/help-message/format-arguments.cjs +1 -0
  9. package/lib/commonjs/help-message/format-arguments.cjs.map +1 -0
  10. package/lib/commonjs/help-message/format-cli.cjs +1 -0
  11. package/lib/commonjs/help-message/format-cli.cjs.map +1 -0
  12. package/lib/commonjs/help-message/format-options.cjs +1 -0
  13. package/lib/commonjs/help-message/format-options.cjs.map +1 -0
  14. package/lib/commonjs/help-message/format-subcommands.cjs +1 -0
  15. package/lib/commonjs/help-message/format-subcommands.cjs.map +1 -0
  16. package/lib/commonjs/help-message/styles.cjs +1 -0
  17. package/lib/commonjs/help-message/styles.cjs.map +1 -0
  18. package/lib/commonjs/index.cjs +1 -0
  19. package/lib/commonjs/index.cjs.map +1 -0
  20. package/lib/commonjs/markdown/generate-markdown.cjs +1 -0
  21. package/lib/commonjs/markdown/generate-markdown.cjs.map +1 -0
  22. package/lib/commonjs/metadata/get-arguments-metadata.cjs +1 -0
  23. package/lib/commonjs/metadata/get-arguments-metadata.cjs.map +1 -0
  24. package/lib/commonjs/metadata/get-cli-metadata.cjs +1 -0
  25. package/lib/commonjs/metadata/{get-cli-metadata.js.map → get-cli-metadata.cjs.map} +1 -1
  26. package/lib/commonjs/metadata/get-options-metadata.cjs +1 -0
  27. package/lib/commonjs/metadata/get-options-metadata.cjs.map +1 -0
  28. package/lib/commonjs/metadata/get-subcommands-metadata.cjs +1 -0
  29. package/lib/commonjs/metadata/get-subcommands-metadata.cjs.map +1 -0
  30. package/lib/commonjs/parser/parse/parse.cjs +1 -0
  31. package/lib/commonjs/parser/parse/parse.cjs.map +1 -0
  32. package/lib/commonjs/parser/parse/parser-helpers.cjs +1 -0
  33. package/lib/commonjs/parser/parse/parser-helpers.cjs.map +1 -0
  34. package/lib/commonjs/parser/safe-parse.cjs +1 -0
  35. package/lib/commonjs/parser/safe-parse.cjs.map +1 -0
  36. package/lib/commonjs/parser/unsafe-parse.cjs +1 -0
  37. package/lib/commonjs/parser/unsafe-parse.cjs.map +1 -0
  38. package/lib/commonjs/parser/validate/validate-type.cjs.map +1 -0
  39. package/lib/commonjs/parser/validate/validate.cjs +1 -0
  40. package/lib/commonjs/parser/validate/validate.cjs.map +1 -0
  41. package/lib/commonjs/utilities.cjs +1 -0
  42. package/lib/commonjs/utilities.cjs.map +1 -0
  43. package/lib/commonjs/zod-utilities.cjs +1 -0
  44. package/lib/commonjs/zod-utilities.cjs.map +1 -0
  45. package/lib/module/autocomplete-scripts/{bash-autocomplete-script.js → bash-autocomplete-script.mjs} +2 -2
  46. package/lib/module/autocomplete-scripts/bash-autocomplete-script.mjs.map +1 -0
  47. package/lib/module/autocomplete-scripts/powershell-autocomplete-script.mjs +31 -0
  48. package/lib/module/autocomplete-scripts/powershell-autocomplete-script.mjs.map +1 -0
  49. package/lib/module/autocomplete-scripts/{zsh-autocomplete-script.js → zsh-autocomplete-script.mjs} +4 -4
  50. package/lib/module/autocomplete-scripts/zsh-autocomplete-script.mjs.map +1 -0
  51. package/lib/module/help-message/format-arguments.mjs +1 -0
  52. package/lib/module/help-message/format-arguments.mjs.map +1 -0
  53. package/lib/module/help-message/format-cli.mjs +1 -0
  54. package/lib/module/help-message/format-cli.mjs.map +1 -0
  55. package/lib/module/help-message/format-options.mjs +1 -0
  56. package/lib/module/help-message/format-options.mjs.map +1 -0
  57. package/lib/module/help-message/format-subcommands.mjs +1 -0
  58. package/lib/module/help-message/format-subcommands.mjs.map +1 -0
  59. package/lib/module/help-message/styles.mjs +1 -0
  60. package/lib/module/help-message/styles.mjs.map +1 -0
  61. package/lib/module/index.mjs +1 -0
  62. package/lib/module/index.mjs.map +1 -0
  63. package/lib/module/markdown/generate-markdown.mjs +1 -0
  64. package/lib/module/markdown/generate-markdown.mjs.map +1 -0
  65. package/lib/module/metadata/get-arguments-metadata.mjs +1 -0
  66. package/lib/module/metadata/get-arguments-metadata.mjs.map +1 -0
  67. package/lib/module/metadata/get-cli-metadata.mjs +1 -0
  68. package/lib/module/metadata/{get-cli-metadata.js.map → get-cli-metadata.mjs.map} +1 -1
  69. package/lib/module/metadata/get-options-metadata.mjs +1 -0
  70. package/lib/module/metadata/get-options-metadata.mjs.map +1 -0
  71. package/lib/module/metadata/get-subcommands-metadata.mjs +1 -0
  72. package/lib/module/metadata/get-subcommands-metadata.mjs.map +1 -0
  73. package/lib/module/parser/parse/parse.mjs +1 -0
  74. package/lib/module/parser/parse/parse.mjs.map +1 -0
  75. package/lib/module/parser/parse/parser-helpers.mjs +1 -0
  76. package/lib/module/parser/parse/parser-helpers.mjs.map +1 -0
  77. package/lib/module/parser/safe-parse.mjs +1 -0
  78. package/lib/module/parser/safe-parse.mjs.map +1 -0
  79. package/lib/module/parser/unsafe-parse.mjs +1 -0
  80. package/lib/module/parser/unsafe-parse.mjs.map +1 -0
  81. package/lib/module/parser/validate/validate-type.mjs.map +1 -0
  82. package/lib/module/parser/validate/validate.mjs +1 -0
  83. package/lib/module/parser/validate/validate.mjs.map +1 -0
  84. package/lib/module/utilities.mjs +1 -0
  85. package/lib/module/utilities.mjs.map +1 -0
  86. package/lib/module/zod-utilities.mjs +1 -0
  87. package/lib/module/zod-utilities.mjs.map +1 -0
  88. package/lib/typescript/autocomplete-scripts/bash-autocomplete-script.d.ts +1 -1
  89. package/lib/typescript/autocomplete-scripts/bash-autocomplete-script.d.ts.map +1 -1
  90. package/lib/typescript/autocomplete-scripts/powershell-autocomplete-script.d.ts +1 -1
  91. package/lib/typescript/autocomplete-scripts/powershell-autocomplete-script.d.ts.map +1 -1
  92. package/lib/typescript/autocomplete-scripts/zsh-autocomplete-script.d.ts +1 -1
  93. package/lib/typescript/autocomplete-scripts/zsh-autocomplete-script.d.ts.map +1 -1
  94. package/lib/typescript/help-message/format-arguments.d.ts +2 -2
  95. package/lib/typescript/help-message/format-arguments.d.ts.map +1 -1
  96. package/lib/typescript/help-message/format-cli.d.ts +5 -5
  97. package/lib/typescript/help-message/format-cli.d.ts.map +1 -1
  98. package/lib/typescript/help-message/format-options.d.ts +2 -2
  99. package/lib/typescript/help-message/format-options.d.ts.map +1 -1
  100. package/lib/typescript/help-message/format-subcommands.d.ts +2 -2
  101. package/lib/typescript/help-message/format-subcommands.d.ts.map +1 -1
  102. package/lib/typescript/help-message/styles.d.ts +14 -13
  103. package/lib/typescript/help-message/styles.d.ts.map +1 -1
  104. package/lib/typescript/index.d.ts +10 -10
  105. package/lib/typescript/index.d.ts.map +1 -1
  106. package/lib/typescript/markdown/generate-markdown.d.ts +1 -1
  107. package/lib/typescript/markdown/generate-markdown.d.ts.map +1 -1
  108. package/lib/typescript/metadata/get-arguments-metadata.d.ts +1 -1
  109. package/lib/typescript/metadata/get-arguments-metadata.d.ts.map +1 -1
  110. package/lib/typescript/metadata/get-options-metadata.d.ts.map +1 -1
  111. package/lib/typescript/metadata/get-subcommands-metadata.d.ts.map +1 -1
  112. package/lib/typescript/parser/parse/parse-types.d.ts +6 -6
  113. package/lib/typescript/parser/parse/parse-types.d.ts.map +1 -1
  114. package/lib/typescript/parser/parse/parse.d.ts +2 -2
  115. package/lib/typescript/parser/parse/parse.d.ts.map +1 -1
  116. package/lib/typescript/parser/parse/parser-helpers.d.ts +7 -7
  117. package/lib/typescript/parser/parse/parser-helpers.d.ts.map +1 -1
  118. package/lib/typescript/parser/safe-parse.d.ts +2 -2
  119. package/lib/typescript/parser/safe-parse.d.ts.map +1 -1
  120. package/lib/typescript/parser/unsafe-parse.d.ts +2 -2
  121. package/lib/typescript/parser/unsafe-parse.d.ts.map +1 -1
  122. package/lib/typescript/parser/validate/validate-type.d.ts +5 -4
  123. package/lib/typescript/parser/validate/validate-type.d.ts.map +1 -1
  124. package/lib/typescript/parser/validate/validate.d.ts +5 -4
  125. package/lib/typescript/parser/validate/validate.d.ts.map +1 -1
  126. package/lib/typescript/types.d.ts +19 -15
  127. package/lib/typescript/types.d.ts.map +1 -1
  128. package/lib/typescript/{utils.d.ts → utilities.d.ts} +9 -9
  129. package/lib/typescript/utilities.d.ts.map +1 -0
  130. package/lib/typescript/{zod-utils.d.ts → zod-utilities.d.ts} +5 -4
  131. package/lib/typescript/zod-utilities.d.ts.map +1 -0
  132. package/package.json +17 -18
  133. package/src/autocomplete-scripts/bash-autocomplete-script.ts +10 -10
  134. package/src/autocomplete-scripts/powershell-autocomplete-script.ts +17 -15
  135. package/src/autocomplete-scripts/zsh-autocomplete-script.ts +8 -5
  136. package/src/help-message/format-arguments.ts +20 -13
  137. package/src/help-message/format-cli.ts +65 -45
  138. package/src/help-message/format-options.ts +19 -12
  139. package/src/help-message/format-subcommands.ts +9 -9
  140. package/src/help-message/styles.ts +18 -18
  141. package/src/index.ts +21 -21
  142. package/src/markdown/generate-markdown.ts +55 -55
  143. package/src/metadata/get-arguments-metadata.ts +10 -10
  144. package/src/metadata/get-options-metadata.ts +8 -6
  145. package/src/metadata/get-subcommands-metadata.ts +3 -1
  146. package/src/parser/parse/parse-types.ts +6 -6
  147. package/src/parser/parse/parse.ts +83 -75
  148. package/src/parser/parse/parser-helpers.ts +24 -25
  149. package/src/parser/safe-parse.ts +24 -18
  150. package/src/parser/unsafe-parse.ts +34 -34
  151. package/src/parser/validate/validate-type.ts +9 -10
  152. package/src/parser/validate/validate.ts +34 -29
  153. package/src/types.ts +21 -17
  154. package/src/{utils.ts → utilities.ts} +44 -28
  155. package/src/{zod-utils.ts → zod-utilities.ts} +56 -32
  156. package/lib/commonjs/autocomplete-scripts/bash-autocomplete-script.js.map +0 -1
  157. package/lib/commonjs/autocomplete-scripts/powershell-autocomplete-script.js.map +0 -1
  158. package/lib/commonjs/autocomplete-scripts/zsh-autocomplete-script.js.map +0 -1
  159. package/lib/commonjs/help-message/format-arguments.js +0 -1
  160. package/lib/commonjs/help-message/format-arguments.js.map +0 -1
  161. package/lib/commonjs/help-message/format-cli.js +0 -1
  162. package/lib/commonjs/help-message/format-cli.js.map +0 -1
  163. package/lib/commonjs/help-message/format-options.js +0 -1
  164. package/lib/commonjs/help-message/format-options.js.map +0 -1
  165. package/lib/commonjs/help-message/format-subcommands.js +0 -1
  166. package/lib/commonjs/help-message/format-subcommands.js.map +0 -1
  167. package/lib/commonjs/help-message/styles.js +0 -1
  168. package/lib/commonjs/help-message/styles.js.map +0 -1
  169. package/lib/commonjs/index.js +0 -1
  170. package/lib/commonjs/index.js.map +0 -1
  171. package/lib/commonjs/markdown/generate-markdown.js +0 -1
  172. package/lib/commonjs/markdown/generate-markdown.js.map +0 -1
  173. package/lib/commonjs/metadata/get-arguments-metadata.js +0 -1
  174. package/lib/commonjs/metadata/get-arguments-metadata.js.map +0 -1
  175. package/lib/commonjs/metadata/get-cli-metadata.js +0 -1
  176. package/lib/commonjs/metadata/get-options-metadata.js +0 -1
  177. package/lib/commonjs/metadata/get-options-metadata.js.map +0 -1
  178. package/lib/commonjs/metadata/get-subcommands-metadata.js +0 -1
  179. package/lib/commonjs/metadata/get-subcommands-metadata.js.map +0 -1
  180. package/lib/commonjs/parser/parse/parse.js +0 -1
  181. package/lib/commonjs/parser/parse/parse.js.map +0 -1
  182. package/lib/commonjs/parser/parse/parser-helpers.js +0 -1
  183. package/lib/commonjs/parser/parse/parser-helpers.js.map +0 -1
  184. package/lib/commonjs/parser/safe-parse.js +0 -1
  185. package/lib/commonjs/parser/safe-parse.js.map +0 -1
  186. package/lib/commonjs/parser/unsafe-parse.js +0 -1
  187. package/lib/commonjs/parser/unsafe-parse.js.map +0 -1
  188. package/lib/commonjs/parser/validate/validate-type.js.map +0 -1
  189. package/lib/commonjs/parser/validate/validate.js +0 -1
  190. package/lib/commonjs/parser/validate/validate.js.map +0 -1
  191. package/lib/commonjs/utils.js +0 -1
  192. package/lib/commonjs/utils.js.map +0 -1
  193. package/lib/commonjs/zod-utils.js +0 -1
  194. package/lib/commonjs/zod-utils.js.map +0 -1
  195. package/lib/module/autocomplete-scripts/bash-autocomplete-script.js.map +0 -1
  196. package/lib/module/autocomplete-scripts/powershell-autocomplete-script.js +0 -31
  197. package/lib/module/autocomplete-scripts/powershell-autocomplete-script.js.map +0 -1
  198. package/lib/module/autocomplete-scripts/zsh-autocomplete-script.js.map +0 -1
  199. package/lib/module/help-message/format-arguments.js +0 -1
  200. package/lib/module/help-message/format-arguments.js.map +0 -1
  201. package/lib/module/help-message/format-cli.js +0 -1
  202. package/lib/module/help-message/format-cli.js.map +0 -1
  203. package/lib/module/help-message/format-options.js +0 -1
  204. package/lib/module/help-message/format-options.js.map +0 -1
  205. package/lib/module/help-message/format-subcommands.js +0 -1
  206. package/lib/module/help-message/format-subcommands.js.map +0 -1
  207. package/lib/module/help-message/styles.js +0 -1
  208. package/lib/module/help-message/styles.js.map +0 -1
  209. package/lib/module/index.js +0 -1
  210. package/lib/module/index.js.map +0 -1
  211. package/lib/module/markdown/generate-markdown.js +0 -1
  212. package/lib/module/markdown/generate-markdown.js.map +0 -1
  213. package/lib/module/metadata/get-arguments-metadata.js +0 -1
  214. package/lib/module/metadata/get-arguments-metadata.js.map +0 -1
  215. package/lib/module/metadata/get-cli-metadata.js +0 -1
  216. package/lib/module/metadata/get-options-metadata.js +0 -1
  217. package/lib/module/metadata/get-options-metadata.js.map +0 -1
  218. package/lib/module/metadata/get-subcommands-metadata.js +0 -1
  219. package/lib/module/metadata/get-subcommands-metadata.js.map +0 -1
  220. package/lib/module/parser/parse/parse.js +0 -1
  221. package/lib/module/parser/parse/parse.js.map +0 -1
  222. package/lib/module/parser/parse/parser-helpers.js +0 -1
  223. package/lib/module/parser/parse/parser-helpers.js.map +0 -1
  224. package/lib/module/parser/safe-parse.js +0 -1
  225. package/lib/module/parser/safe-parse.js.map +0 -1
  226. package/lib/module/parser/unsafe-parse.js +0 -1
  227. package/lib/module/parser/unsafe-parse.js.map +0 -1
  228. package/lib/module/parser/validate/validate-type.js.map +0 -1
  229. package/lib/module/parser/validate/validate.js +0 -1
  230. package/lib/module/parser/validate/validate.js.map +0 -1
  231. package/lib/module/utils.js +0 -1
  232. package/lib/module/utils.js.map +0 -1
  233. package/lib/module/zod-utils.js +0 -1
  234. package/lib/module/zod-utils.js.map +0 -1
  235. package/lib/typescript/utils.d.ts.map +0 -1
  236. package/lib/typescript/zod-utils.d.ts.map +0 -1
  237. /package/lib/commonjs/parser/validate/{validate-type.js → validate-type.cjs} +0 -0
  238. /package/lib/module/parser/validate/{validate-type.js → validate-type.mjs} +0 -0
package/README.md CHANGED
@@ -11,7 +11,7 @@ A strictly typed command-line arguments parser powered by [Zod](https://github.c
11
11
  - [Features](#features)
12
12
  - [Installation](#installation)
13
13
  - [Usage](#usage)
14
- - [Guid](#guid)
14
+ - [Guide](#guide)
15
15
  - [Subcommands](#subcommands)
16
16
  - [Type Zod Schemas](#type-zod-schemas)
17
17
  - [Options](#options)
@@ -85,7 +85,7 @@ const cliSchema = createCli({
85
85
 
86
86
  // Execute this function when the CLI is run (no subcommands)
87
87
  cliSchema.setAction(results => {
88
- const { help, version, verbose } = results;
88
+ const { help, version, verbose } = results.options;
89
89
 
90
90
  if (help) {
91
91
  results.printCliHelp();
@@ -139,7 +139,7 @@ if (!results.success) {
139
139
  }
140
140
  ```
141
141
 
142
- ## Guid
142
+ ## Guide
143
143
 
144
144
  ### Subcommands
145
145
 
@@ -420,17 +420,17 @@ Subcommand help message example preview
420
420
 
421
421
  There are two ways to print the help message:
422
422
 
423
- 1. `printCliHelp(style?: HelpMsgStyle)`
423
+ 1. `printCliHelp(style?: HelpMessageStyle)`
424
424
  Print the help message for the CLI.
425
425
 
426
- 2. `printSubcommandHelp(subcommandName: string, style?: HelpMsgStyle)`
426
+ 2. `printSubcommandHelp(subcommandName: string, style?: HelpMessageStyle)`
427
427
  Print the help message for a specific subcommand.
428
428
 
429
- See the [HelpMsgStyle](#helpmsgstyle) type for more details.
429
+ See the [HelpMessageStyle](#helpmsgstyle) type for more details.
430
430
 
431
431
  ```ts
432
432
  import chalk from "chalk";
433
- import { formatCliHelpMsg, formatSubcommandHelpMsg, helpMsgStyles } from "zod-args-parser";
433
+ import { formatCliHelpMsg, formatSubcommandHelpMsg, helpMessageStyles } from "zod-args-parser";
434
434
 
435
435
  // Define the CLI schema
436
436
  const cliSchema = createCli(/* ... */);
@@ -440,10 +440,10 @@ const subcommandSchema = createSubcommand(/* ... */);
440
440
 
441
441
  subcommandSchema.setAction(results => {
442
442
  // print help for CLI (without colors)
443
- results.printCliHelp(helpMsgStyles.noColors);
443
+ results.printCliHelp(helpMessageStyles.noColors);
444
444
 
445
445
  // choose a style
446
- results.printCliHelp(helpMsgStyles.dracula);
446
+ results.printCliHelp(helpMessageStyles.dracula);
447
447
 
448
448
  // print help for subcommand (with custom title color)
449
449
  results.printSubcommandHelp("build", { title: chalk.red });
@@ -458,10 +458,10 @@ if (results.success) {
458
458
  }
459
459
 
460
460
  // get the string without printing to console
461
- const cliHelp = formatCliHelpMsg(schemas, helpMsgStyles.html);
461
+ const cliHelp = formatCliHelpMsg(schemas, helpMessageStyles.html);
462
462
  console.log(`<pre style="background-color: #1e1e2e">${cliHelp}</pre>`);
463
463
 
464
- const subcommandHelp = formatSubcommandHelpMsg(subcommandSchema, helpMsgStyles.html, cliSchema.cliName);
464
+ const subcommandHelp = formatSubcommandHelpMsg(subcommandSchema, helpMessageStyles.html, cliSchema.cliName);
465
465
  console.log(`<pre style="background-color: #1e1e2e">${subcommandHelp}</pre>`);
466
466
  ```
467
467
 
@@ -734,16 +734,16 @@ The context object is generated after parsing the CLI arguments and before valid
734
734
 
735
735
  #### Results
736
736
 
737
- | Name | Type | Description |
738
- | ---------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------- |
739
- | subcommand | `string \| undefined` | The name of the executed subcommand. |
740
- | `[optionName: string]` | `unknown` | Validated options for the CLI/subcommand. |
741
- | arguments | `unknown[] \| undefined` | Validated arguments for the CLI/subcommand. |
742
- | positional | `string[] \| undefined` | Positional array for the CLI/subcommand. |
743
- | printCliHelp | `(style?: HelpMsgStyle) => void` | Prints the CLI help message. See [HelpMsgStyle](#helpmsgstyle) |
744
- | printSubcommandHelp | `(subcommand: string, style?: HelpMsgStyle) => void` | Prints the help message for a specified subcommand. See [HelpMsgStyle](#helpmsgstyle) |
737
+ | Name | Type | Description |
738
+ | ------------------- | -------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
739
+ | subcommand | `string \| undefined` | The name of the executed subcommand. |
740
+ | options | `{ [OptionName: string]: unknown }` | Validated options for the CLI/subcommand. |
741
+ | arguments | `unknown[] \| undefined` | Validated arguments for the CLI/subcommand. |
742
+ | positional | `string[] \| undefined` | Positional array for the CLI/subcommand. |
743
+ | printCliHelp | `(style?: HelpMessageStyle) => void` | Prints the CLI help message. See [HelpMessageStyle](#helpmsgstyle) |
744
+ | printSubcommandHelp | `(subcommand: string, style?: HelpMessageStyle) => void` | Prints the help message for a specified subcommand. See [HelpMessageStyle](#helpmsgstyle) |
745
745
 
746
- #### HelpMsgStyle
746
+ #### HelpMessageStyle
747
747
 
748
748
  Available styles: `default`, `dracula`, `solarizedDark`, `nord`, `html`, `gruvboxDark`, `monokai`, `oneDark`, `noColors`
749
749
 
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.generateBashAutocompleteScript=generateBashAutocompleteScript;var _parserHelpers=require("../parser/parse/parser-helpers.js");function generateBashAutocompleteScript(...params){const[cli,...subcommands]=params;const mappedCommands=subcommands.reduce((acc,subcommand)=>{acc[subcommand.name]={options:subcommand.options?.map(option=>(0,_parserHelpers.transformOptionToArg)(option.name))??[],aliases:subcommand.aliases??[]};return acc;},{});let switchCase="";for(const[key,{options,aliases}]of Object.entries(mappedCommands)){switchCase+=` ${key}${aliases.length?"|":""}${aliases.join("|")})\n`;switchCase+=` opts="${options.join(" ")}"\n`;switchCase+=" ;;\n";}if(cli.options?.length){switchCase+=` "-"*)\n`;switchCase+=` opts="${cli.options.map(option=>(0,_parserHelpers.transformOptionToArg)(option.name)).join(" ")}"\n`;switchCase+=" ;;\n";}return`# Auto-generated by zod-args-parser
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.generateBashAutocompleteScript=generateBashAutocompleteScript;var _parserHelpers=require("../parser/parse/parser-helpers.cjs");function generateBashAutocompleteScript(...parameters){const[cli,...subcommands]=parameters;const mappedCommands={};for(const subcommand of subcommands){mappedCommands[subcommand.name]={options:subcommand.options?.map(option=>(0,_parserHelpers.transformOptionToArgument)(option.name))??[],aliases:subcommand.aliases??[]}}let switchCase="";for(const[key,{options,aliases}]of Object.entries(mappedCommands)){switchCase+=` ${key}${aliases.length>0?"|":""}${aliases.join("|")})\n`;switchCase+=` opts="${options.join(" ")}"\n`;switchCase+=" ;;\n"}if(cli.options?.length){switchCase+=` "-"*)\n`;switchCase+=` opts="${cli.options.map(option=>(0,_parserHelpers.transformOptionToArgument)(option.name)).join(" ")}"\n`;switchCase+=" ;;\n"}return`# Auto-generated by zod-args-parser
2
2
 
3
3
  _${cli.cliName}_autocomplete() {
4
4
  local cur prev commands opts subcommand used_opts filtered_opts
@@ -39,4 +39,4 @@ ${switchCase}
39
39
  }
40
40
 
41
41
  complete -F _${cli.cliName}_autocomplete ${cli.cliName}
42
- `;}
42
+ `}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_parserHelpers","require","generateBashAutocompleteScript","parameters","cli","subcommands","mappedCommands","subcommand","name","options","map","option","transformOptionToArgument","aliases","switchCase","key","Object","entries","length","join","cliName","keys"],"sourceRoot":"../../../src/autocomplete-scripts","sources":["bash-autocomplete-script.ts"],"sourcesContent":["import { transformOptionToArgument } from \"../parser/parse/parser-helpers.js\";\n\nimport type { Cli, Subcommand } from \"../types.js\";\n\n/**\n * - Generate bash autocomplete script for your CLI\n * - The generated script should be added to your `.bash_profile` or `.bashrc` file:\n *\n * - Run: `nano $HOME/.bash_profile` or `nano $HOME/.bashrc`\n * - Add the following line: `source <generated script path>`\n * - Save and reopen bash to take effect\n */\nexport function generateBashAutocompleteScript(...parameters: [Cli, ...Subcommand[]]): string {\n const [cli, ...subcommands] = parameters;\n\n type MappedCommands = Record<string, { options: string[]; aliases: string[] }>;\n\n const mappedCommands: MappedCommands = {};\n for (const subcommand of subcommands) {\n mappedCommands[subcommand.name] = {\n options: subcommand.options?.map(option => transformOptionToArgument(option.name)) ?? [],\n aliases: subcommand.aliases ?? [],\n };\n }\n\n let switchCase = \"\";\n for (const [key, { options, aliases }] of Object.entries(mappedCommands)) {\n switchCase += ` ${key}${aliases.length > 0 ? \"|\" : \"\"}${aliases.join(\"|\")})\\n`;\n switchCase += ` opts=\"${options.join(\" \")}\"\\n`;\n switchCase += \" ;;\\n\";\n }\n\n if (cli.options?.length) {\n switchCase += ` \"-\"*)\\n`;\n switchCase += ` opts=\"${cli.options.map(option => transformOptionToArgument(option.name)).join(\" \")}\"\\n`;\n switchCase += \" ;;\\n\";\n }\n\n return `# Auto-generated by zod-args-parser\n\n_${cli.cliName}_autocomplete() {\n local cur prev commands opts subcommand used_opts filtered_opts\n\n cur=\"\\${COMP_WORDS[COMP_CWORD]}\"\n prev=\"\\${COMP_WORDS[COMP_CWORD-1]}\"\n subcommand=\"\\${COMP_WORDS[1]}\"\n\n commands=\"${Object.keys(mappedCommands).join(\" \")}\"\n\n case \"$subcommand\" in\n${switchCase}\n esac\n\n used_opts=\"\"\n if [[ \" \\${commands[@]} \" =~ \" $subcommand \" ]]; then\n for word in \"\\${COMP_WORDS[@]:2}\"; do\n if [[ \"$word\" =~ ^- ]]; then\n used_opts+=\" $word\"\n fi\n done\n fi\n\n if [[ -n \"$opts\" ]]; then\n filtered_opts=\"\"\n for opt in $opts; do\n if [[ ! \" $used_opts \" =~ \" $opt \" ]]; then\n filtered_opts+=\"$opt \"\n fi\n done\n COMPREPLY=( $(compgen -W \"$filtered_opts\" -- \"$cur\") )\n return\n fi\n\n if [[ \"\\${COMP_CWORD}\" -eq 1 ]]; then\n COMPREPLY=( $(compgen -W \"$commands\" -- \"$cur\") )\n fi\n}\n\ncomplete -F _${cli.cliName}_autocomplete ${cli.cliName}\n`;\n}\n"],"mappings":"4IAAA,IAAAA,cAAA,CAAAC,OAAA,uCAYO,QAAS,CAAAC,8BAA8BA,CAAC,GAAGC,UAAkC,CAAU,CAC5F,KAAM,CAACC,GAAG,CAAE,GAAGC,WAAW,CAAC,CAAGF,UAAU,CAIxC,KAAM,CAAAG,cAA8B,CAAG,CAAC,CAAC,CACzC,IAAK,KAAM,CAAAC,UAAU,GAAI,CAAAF,WAAW,CAAE,CACpCC,cAAc,CAACC,UAAU,CAACC,IAAI,CAAC,CAAG,CAChCC,OAAO,CAAEF,UAAU,CAACE,OAAO,EAAEC,GAAG,CAACC,MAAM,EAAI,GAAAC,wCAAyB,EAACD,MAAM,CAACH,IAAI,CAAC,CAAC,EAAI,EAAE,CACxFK,OAAO,CAAEN,UAAU,CAACM,OAAO,EAAI,EACjC,CACF,CAEA,GAAI,CAAAC,UAAU,CAAG,EAAE,CACnB,IAAK,KAAM,CAACC,GAAG,CAAE,CAAEN,OAAO,CAAEI,OAAQ,CAAC,CAAC,EAAI,CAAAG,MAAM,CAACC,OAAO,CAACX,cAAc,CAAC,CAAE,CACxEQ,UAAU,EAAI,OAAOC,GAAG,GAAGF,OAAO,CAACK,MAAM,CAAG,CAAC,CAAG,GAAG,CAAG,EAAE,GAAGL,OAAO,CAACM,IAAI,CAAC,GAAG,CAAC,KAAK,CACjFL,UAAU,EAAI,eAAeL,OAAO,CAACU,IAAI,CAAC,GAAG,CAAC,KAAK,CACnDL,UAAU,EAAI,YAChB,CAEA,GAAIV,GAAG,CAACK,OAAO,EAAES,MAAM,CAAE,CACvBJ,UAAU,EAAI,aAAa,CAC3BA,UAAU,EAAI,eAAeV,GAAG,CAACK,OAAO,CAACC,GAAG,CAACC,MAAM,EAAI,GAAAC,wCAAyB,EAACD,MAAM,CAACH,IAAI,CAAC,CAAC,CAACW,IAAI,CAAC,GAAG,CAAC,KAAK,CAC7GL,UAAU,EAAI,YAChB,CAEA,MAAO;AACT;AACA,GAAGV,GAAG,CAACgB,OAAO;AACd;AACA;AACA;AACA;AACA;AACA;AACA,cAAcJ,MAAM,CAACK,IAAI,CAACf,cAAc,CAAC,CAACa,IAAI,CAAC,GAAG,CAAC;AACnD;AACA;AACA,EAAEL,UAAU;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAeV,GAAG,CAACgB,OAAO,iBAAiBhB,GAAG,CAACgB,OAAO;AACtD,CACA","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.generatePowerShellAutocompleteScript=generatePowerShellAutocompleteScript;var _parserHelpers=require("../parser/parse/parser-helpers.js");function generatePowerShellAutocompleteScript(...params){const[cli,...subcommands]=params;const mappedCommands=subcommands.reduce((acc,subcommand)=>{acc[subcommand.name]={options:subcommand.options?.map(option=>(0,_parserHelpers.transformOptionToArg)(option.name))??[],aliases:subcommand.aliases??[]};return acc;},{});const subcommandsStr=Object.keys(mappedCommands).map(key=>`'${key}'`).join(", ");const cliOptionsStr=cli.options?.map(option=>`'${(0,_parserHelpers.transformOptionToArg)(option.name)}'`).join(", ")||"";let switchCase="switch ($subcommand) {\n";for(const[key,{options,aliases}]of Object.entries(mappedCommands)){const optionsStr=options.map(option=>`'${option}'`).join(", ");switchCase+=` '${key}' { @(${optionsStr}) }\n`;aliases.forEach(a=>switchCase+=` '${a}' { @(${optionsStr}) }\n`);}switchCase+=` default { @(${cliOptionsStr}) }\n }`;let functionInfo="";if(cli.description){functionInfo=`<#\n.DESCRIPTION\n${cli.description}\n${cli.example?`\n.EXAMPLE\n${cli.example}`:""}\n#>`;}return`# Auto-generated by zod-args-parser
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.generatePowerShellAutocompleteScript=generatePowerShellAutocompleteScript;var _parserHelpers=require("../parser/parse/parser-helpers.cjs");function generatePowerShellAutocompleteScript(...parameters){const[cli,...subcommands]=parameters;const mappedCommands={};for(const subcommand of subcommands){mappedCommands[subcommand.name]={options:subcommand.options?.map(option=>(0,_parserHelpers.transformOptionToArgument)(option.name))??[],aliases:subcommand.aliases??[]}}const subcommandsString=Object.keys(mappedCommands).map(key=>`'${key}'`).join(", ");const cliOptionsString=cli.options?.map(option=>`'${(0,_parserHelpers.transformOptionToArgument)(option.name)}'`).join(", ")||"";let switchCase="switch ($subcommand) {\n";for(const[key,{options,aliases}]of Object.entries(mappedCommands)){const optionsString=options.map(option=>`'${option}'`).join(", ");switchCase+=` '${key}' { @(${optionsString}) }\n`;for(const a of aliases){switchCase+=` '${a}' { @(${optionsString}) }\n`}}switchCase+=` default { @(${cliOptionsString}) }\n }`;let functionInfo="";if(cli.description){functionInfo=`<#\n.DESCRIPTION\n${cli.description}\n${cli.example?`\n.EXAMPLE\n${cli.example}`:""}\n#>`}return`# Auto-generated by zod-args-parser
2
2
 
3
3
  ${functionInfo}
4
4
  function ${cli.cliName} {
@@ -19,7 +19,7 @@ function ${cli.cliName} {
19
19
 
20
20
  Register-ArgumentCompleter -CommandName '${cli.cliName}' -ParameterName 'subcommand' -ScriptBlock {
21
21
  param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameters)
22
- $subcommands = @(${subcommandsStr}${subcommandsStr&&cliOptionsStr?", ":""}${cliOptionsStr})
22
+ $subcommands = @(${subcommandsString}${subcommandsString&&cliOptionsString?", ":""}${cliOptionsString})
23
23
  $subcommands | Where-Object { $_ -like "$wordToComplete*" }
24
24
  }
25
25
 
@@ -28,4 +28,4 @@ Register-ArgumentCompleter -CommandName '${cli.cliName}' -ParameterName 'argumen
28
28
  $subcommand = $commandAst.CommandElements[1].Value
29
29
  $arguments = ${switchCase}
30
30
  $arguments | Where-Object { $_ -like "$wordToComplete*" }
31
- }`;}
31
+ }`}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_parserHelpers","require","generatePowerShellAutocompleteScript","parameters","cli","subcommands","mappedCommands","subcommand","name","options","map","option","transformOptionToArgument","aliases","subcommandsString","Object","keys","key","join","cliOptionsString","switchCase","entries","optionsString","a","functionInfo","description","example","cliName"],"sourceRoot":"../../../src/autocomplete-scripts","sources":["powershell-autocomplete-script.ts"],"sourcesContent":["import { transformOptionToArgument } from \"../parser/parse/parser-helpers.js\";\n\nimport type { Cli, Subcommand } from \"../types.js\";\n\n/**\n * - Generates a PowerShell autocomplete script for your CLI.\n * - The script assumes that your CLI is available as a `.ps1` file in the environment variable. For example:\n * `cliName.ps1`.\n * - This should return a path to your script: `(Get-Command <cliName>.ps1).Source`\n * - The generated script should be added to your `profile.ps1` file:\n *\n * - Run: `notepad $profile`\n * - Add the following line: `. \"<generated script path>\"`\n * - Save and reopen powershell to take effect\n */\nexport function generatePowerShellAutocompleteScript(...parameters: [Cli, ...Subcommand[]]): string {\n const [cli, ...subcommands] = parameters;\n\n type MappedCommands = Record<string, { options: string[]; aliases: string[] }>;\n\n const mappedCommands: MappedCommands = {};\n for (const subcommand of subcommands) {\n mappedCommands[subcommand.name] = {\n options: subcommand.options?.map(option => transformOptionToArgument(option.name)) ?? [],\n aliases: subcommand.aliases ?? [],\n };\n }\n\n const subcommandsString = Object.keys(mappedCommands)\n .map(key => `'${key}'`)\n .join(\", \");\n const cliOptionsString = cli.options?.map(option => `'${transformOptionToArgument(option.name)}'`).join(\", \") || \"\";\n\n let switchCase = \"switch ($subcommand) {\\n\";\n for (const [key, { options, aliases }] of Object.entries(mappedCommands)) {\n const optionsString = options.map(option => `'${option}'`).join(\", \");\n switchCase += ` '${key}' { @(${optionsString}) }\\n`;\n for (const a of aliases) {\n switchCase += ` '${a}' { @(${optionsString}) }\\n`;\n }\n }\n switchCase += ` default { @(${cliOptionsString}) }\\n }`;\n\n let functionInfo = \"\";\n if (cli.description) {\n functionInfo = `<#\\n.DESCRIPTION\\n${cli.description}\\n${cli.example ? `\\n.EXAMPLE\\n${cli.example}` : \"\"}\\n#>`;\n }\n\n return `# Auto-generated by zod-args-parser\n\n${functionInfo}\nfunction ${cli.cliName} {\n param(\n [Parameter(Position = 0, Mandatory = $false)]\n [string]$subcommand,\n [Parameter(Position = 1, ValueFromRemainingArguments = $true)]\n [string[]]$arguments\n )\n $scriptPath = (Get-Command '${cli.cliName}.ps1').Source\n if ($scriptPath) {\n $argumentList = @($subcommand) + ($arguments | Where-Object { $_ -notin '--', '--%' }) | Where-Object { $_ -ne '' }\n & $scriptPath @argumentList\n return\n }\n Write-Error \"Could not find '${cli.cliName}.ps1' script\"\n}\n\nRegister-ArgumentCompleter -CommandName '${cli.cliName}' -ParameterName 'subcommand' -ScriptBlock {\n param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameters)\n $subcommands = @(${subcommandsString}${subcommandsString && cliOptionsString ? \", \" : \"\"}${cliOptionsString})\n $subcommands | Where-Object { $_ -like \"$wordToComplete*\" }\n}\n\nRegister-ArgumentCompleter -CommandName '${cli.cliName}' -ParameterName 'arguments' -ScriptBlock {\n param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameters)\n $subcommand = $commandAst.CommandElements[1].Value\n $arguments = ${switchCase}\n $arguments | Where-Object { $_ -like \"$wordToComplete*\" }\n}`;\n}\n"],"mappings":"wJAAA,IAAAA,cAAA,CAAAC,OAAA,uCAeO,QAAS,CAAAC,oCAAoCA,CAAC,GAAGC,UAAkC,CAAU,CAClG,KAAM,CAACC,GAAG,CAAE,GAAGC,WAAW,CAAC,CAAGF,UAAU,CAIxC,KAAM,CAAAG,cAA8B,CAAG,CAAC,CAAC,CACzC,IAAK,KAAM,CAAAC,UAAU,GAAI,CAAAF,WAAW,CAAE,CACpCC,cAAc,CAACC,UAAU,CAACC,IAAI,CAAC,CAAG,CAChCC,OAAO,CAAEF,UAAU,CAACE,OAAO,EAAEC,GAAG,CAACC,MAAM,EAAI,GAAAC,wCAAyB,EAACD,MAAM,CAACH,IAAI,CAAC,CAAC,EAAI,EAAE,CACxFK,OAAO,CAAEN,UAAU,CAACM,OAAO,EAAI,EACjC,CACF,CAEA,KAAM,CAAAC,iBAAiB,CAAGC,MAAM,CAACC,IAAI,CAACV,cAAc,CAAC,CAClDI,GAAG,CAACO,GAAG,EAAI,IAAIA,GAAG,GAAG,CAAC,CACtBC,IAAI,CAAC,IAAI,CAAC,CACb,KAAM,CAAAC,gBAAgB,CAAGf,GAAG,CAACK,OAAO,EAAEC,GAAG,CAACC,MAAM,EAAI,IAAI,GAAAC,wCAAyB,EAACD,MAAM,CAACH,IAAI,CAAC,GAAG,CAAC,CAACU,IAAI,CAAC,IAAI,CAAC,EAAI,EAAE,CAEnH,GAAI,CAAAE,UAAU,CAAG,0BAA0B,CAC3C,IAAK,KAAM,CAACH,GAAG,CAAE,CAAER,OAAO,CAAEI,OAAQ,CAAC,CAAC,EAAI,CAAAE,MAAM,CAACM,OAAO,CAACf,cAAc,CAAC,CAAE,CACxE,KAAM,CAAAgB,aAAa,CAAGb,OAAO,CAACC,GAAG,CAACC,MAAM,EAAI,IAAIA,MAAM,GAAG,CAAC,CAACO,IAAI,CAAC,IAAI,CAAC,CACrEE,UAAU,EAAI,YAAYH,GAAG,SAASK,aAAa,OAAO,CAC1D,IAAK,KAAM,CAAAC,CAAC,GAAI,CAAAV,OAAO,CAAE,CACvBO,UAAU,EAAI,YAAYG,CAAC,SAASD,aAAa,OACnD,CACF,CACAF,UAAU,EAAI,uBAAuBD,gBAAgB,YAAY,CAEjE,GAAI,CAAAK,YAAY,CAAG,EAAE,CACrB,GAAIpB,GAAG,CAACqB,WAAW,CAAE,CACnBD,YAAY,CAAG,qBAAqBpB,GAAG,CAACqB,WAAW,KAAKrB,GAAG,CAACsB,OAAO,CAAG,eAAetB,GAAG,CAACsB,OAAO,EAAE,CAAG,EAAE,MACzG,CAEA,MAAO;AACT;AACA,EAAEF,YAAY;AACd,WAAWpB,GAAG,CAACuB,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkCvB,GAAG,CAACuB,OAAO;AAC7C;AACA;AACA;AACA;AACA;AACA,mCAAmCvB,GAAG,CAACuB,OAAO;AAC9C;AACA;AACA,2CAA2CvB,GAAG,CAACuB,OAAO;AACtD;AACA,uBAAuBb,iBAAiB,GAAGA,iBAAiB,EAAIK,gBAAgB,CAAG,IAAI,CAAG,EAAE,GAAGA,gBAAgB;AAC/G;AACA;AACA;AACA,2CAA2Cf,GAAG,CAACuB,OAAO;AACtD;AACA;AACA,mBAAmBP,UAAU;AAC7B;AACA,EACA","ignoreList":[]}
@@ -1,9 +1,9 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.generateZshAutocompleteScript=generateZshAutocompleteScript;var _parserHelpers=require("../parser/parse/parser-helpers.js");function generateZshAutocompleteScript(...params){const[cli,...subcommands]=params;const genArguments=options=>{return options?.map(option=>`'${(0,_parserHelpers.transformOptionToArg)(option.name)}[${option.description??""}]'`).join(" \\\n ");};const genSubCommand=subcommand=>{const options=subcommand.options;if(!options||options.length===0)return"";return`${subcommand.name})
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.generateZshAutocompleteScript=generateZshAutocompleteScript;var _parserHelpers=require("../parser/parse/parser-helpers.cjs");function generateZshAutocompleteScript(...parameters){const[cli,...subcommands]=parameters;const genArguments=options=>{return options?.map(option=>`'${(0,_parserHelpers.transformOptionToArgument)(option.name)}[${option.description??""}]'`).join(" \\\n ")};const genSubCommand=subcommand=>{const options=subcommand.options;if(!options||options.length===0)return"";return`${subcommand.name})
2
2
  _arguments \\
3
3
  ${genArguments(options)} \\
4
4
  '*: :_files' \\
5
5
  && ret=0
6
- ;;`;};return`# Auto-generated by zod-args-parser
6
+ ;;`};return`# Auto-generated by zod-args-parser
7
7
 
8
8
  _${cli.cliName}_autocomplete() {
9
9
  local ret=1
@@ -16,7 +16,7 @@ _${cli.cliName}_autocomplete() {
16
16
  case $state in
17
17
  subcmds)
18
18
  case "$words[1]" in
19
- ${subcommands.map(genSubCommand).filter(Boolean).join("\n ")}
19
+ ${subcommands.map(subCommand=>genSubCommand(subCommand)).filter(Boolean).join("\n ")}
20
20
  *)
21
21
  _arguments \\
22
22
  '*: :_files' \\
@@ -38,4 +38,4 @@ _${cli.cliName}_commands() {
38
38
  }
39
39
 
40
40
  compdef _${cli.cliName}_autocomplete ${cli.cliName}
41
- `;}
41
+ `}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_parserHelpers","require","generateZshAutocompleteScript","parameters","cli","subcommands","genArguments","options","map","option","transformOptionToArgument","name","description","join","genSubCommand","subcommand","length","cliName","subCommand","filter","Boolean"],"sourceRoot":"../../../src/autocomplete-scripts","sources":["zsh-autocomplete-script.ts"],"sourcesContent":["import { transformOptionToArgument } from \"../parser/parse/parser-helpers.js\";\n\nimport type { Cli, Option, Subcommand } from \"../types.js\";\n\n/**\n * - Generates a ZSH autocomplete script for your CLI.\n * - The generated script should be added to your `~/.zshrc` or `~/.zsh_profile` file:\n *\n * - Run: `nano $HOME/.zshrc` or `nano $HOME/.zsh_profile`\n * - Add the following line: `source <generated script path>`\n * - Save and reopen zsh to take effect\n */\nexport function generateZshAutocompleteScript(...parameters: [Cli, ...Subcommand[]]): string {\n const [cli, ...subcommands] = parameters;\n\n const genArguments = (options: Option[]) => {\n return options\n ?.map(option => `'${transformOptionToArgument(option.name)}[${option.description ?? \"\"}]'`)\n .join(\" \\\\\\n \");\n };\n\n const genSubCommand = (subcommand: Subcommand) => {\n const options = subcommand.options;\n if (!options || options.length === 0) return \"\";\n return `${subcommand.name})\n _arguments \\\\\n ${genArguments(options)} \\\\\n '*: :_files' \\\\\n && ret=0\n ;;`;\n };\n\n return `# Auto-generated by zod-args-parser\n\n_${cli.cliName}_autocomplete() {\n local ret=1\n\n _arguments -C \\\\\n '1: :_${cli.cliName}_commands' \\\\\n '*:: :->subcmds' \\\\\n && ret=0\n\n case $state in\n subcmds)\n case \"$words[1]\" in\n ${subcommands\n .map(subCommand => genSubCommand(subCommand))\n .filter(Boolean)\n .join(\"\\n \")}\n *)\n _arguments \\\\\n '*: :_files' \\\\\n && ret=0\n ;;\n esac\n ;;\n esac\n\n return $ret\n}\n \n_${cli.cliName}_commands() {\n local -a commands=(\n ${subcommands.map(subcommand => `\"${subcommand.name}:${subcommand.description ?? \"\"}\"`).join(\"\\n \")}\n )\n\n _describe -t subcommands 'subcommand' commands\n}\n\ncompdef _${cli.cliName}_autocomplete ${cli.cliName}\n`;\n}\n"],"mappings":"0IAAA,IAAAA,cAAA,CAAAC,OAAA,uCAYO,QAAS,CAAAC,6BAA6BA,CAAC,GAAGC,UAAkC,CAAU,CAC3F,KAAM,CAACC,GAAG,CAAE,GAAGC,WAAW,CAAC,CAAGF,UAAU,CAExC,KAAM,CAAAG,YAAY,CAAIC,OAAiB,EAAK,CAC1C,MAAO,CAAAA,OAAO,EACVC,GAAG,CAACC,MAAM,EAAI,IAAI,GAAAC,wCAAyB,EAACD,MAAM,CAACE,IAAI,CAAC,IAAIF,MAAM,CAACG,WAAW,EAAI,EAAE,IAAI,CAAC,CAC1FC,IAAI,CAAC,mBAAmB,CAC7B,CAAC,CAED,KAAM,CAAAC,aAAa,CAAIC,UAAsB,EAAK,CAChD,KAAM,CAAAR,OAAO,CAAGQ,UAAU,CAACR,OAAO,CAClC,GAAI,CAACA,OAAO,EAAIA,OAAO,CAACS,MAAM,GAAK,CAAC,CAAE,MAAO,EAAE,CAC/C,MAAO,GAAGD,UAAU,CAACJ,IAAI;AAC7B;AACA,cAAcL,YAAY,CAACC,OAAO,CAAC;AACnC;AACA;AACA,aACE,CAAC,CAED,MAAO;AACT;AACA,GAAGH,GAAG,CAACa,OAAO;AACd;AACA;AACA;AACA,YAAYb,GAAG,CAACa,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,UAAUZ,WAAW,CACVG,GAAG,CAACU,UAAU,EAAIJ,aAAa,CAACI,UAAU,CAAC,CAAC,CAC5CC,MAAM,CAACC,OAAO,CAAC,CACfP,IAAI,CAAC,YAAY,CAAC;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAGT,GAAG,CAACa,OAAO;AACd;AACA,MAAMZ,WAAW,CAACG,GAAG,CAACO,UAAU,EAAI,IAAIA,UAAU,CAACJ,IAAI,IAAII,UAAU,CAACH,WAAW,EAAI,EAAE,GAAG,CAAC,CAACC,IAAI,CAAC,QAAQ,CAAC;AAC1G;AACA;AACA;AACA;AACA;AACA,WAAWT,GAAG,CAACa,OAAO,iBAAiBb,GAAG,CAACa,OAAO;AAClD,CACA","ignoreList":[]}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.formatHelpMessageArguments=formatHelpMessageArguments;var _utilities=require("../utilities.cjs");function formatHelpMessageArguments(argumentsMetadata,c,longest){if(argumentsMetadata.length===0)return"";let message=c.title(" ARGUMENTS")+(0,_utilities.ln)(1);for(const metadata of argumentsMetadata){const defaultString=metadata.defaultValue===undefined?"":`(default: ${metadata.defaultValueAsString})`;const spacing=longest+2-metadata.name.length;const normalizeDesc=metadata.description.replace(/\n+/g,"\n"+(0,_utilities.indent)(longest+6)+c.punctuation("\u2514"));const defaultOrOptional=defaultString?c.default(defaultString):metadata.optional?c.optional("(optional)"):"";message+=(0,_utilities.concat)((0,_utilities.indent)(2)+c.argument(metadata.name),(0,_utilities.indent)(spacing),(0,_utilities.insertAtEndOfFirstLine)(c.description(normalizeDesc),defaultOrOptional),(0,_utilities.ln)(1));if(metadata.example){const normalizeExample=metadata.example.replace(/\n+/g,"\n"+(0,_utilities.indent)(longest+16));message+=(0,_utilities.concat)((0,_utilities.indent)(longest+5),c.punctuation("\u2514")+c.exampleTitle("Example:"),c.example(normalizeExample)+(0,_utilities.ln)(1))}}message+=(0,_utilities.ln)(1);return message}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_utilities","require","formatHelpMessageArguments","argumentsMetadata","c","longest","length","message","title","ln","metadata","defaultString","defaultValue","undefined","defaultValueAsString","spacing","name","normalizeDesc","description","replace","indent","punctuation","defaultOrOptional","default","optional","concat","argument","insertAtEndOfFirstLine","example","normalizeExample","exampleTitle"],"sourceRoot":"../../../src/help-message","sources":["format-arguments.ts"],"sourcesContent":["import { concat, indent, insertAtEndOfFirstLine, ln } from \"../utilities.js\";\n\nimport type { ArgumentMetadata } from \"../metadata/metadata-types.js\";\nimport type { HelpMessageStyle } from \"../types.js\";\n\nexport function formatHelpMessageArguments(\n argumentsMetadata: ArgumentMetadata[],\n c: HelpMessageStyle,\n longest: number,\n): string {\n if (argumentsMetadata.length === 0) return \"\";\n\n let message = c.title(\" ARGUMENTS\") + ln(1);\n\n for (const metadata of argumentsMetadata) {\n const defaultString = metadata.defaultValue === undefined ? \"\" : `(default: ${metadata.defaultValueAsString})`;\n\n const spacing = longest + 2 - metadata.name.length;\n const normalizeDesc = metadata.description.replace(/\\n+/g, \"\\n\" + indent(longest + 6) + c.punctuation(\"└\"));\n const defaultOrOptional = defaultString\n ? c.default(defaultString)\n : metadata.optional\n ? c.optional(\"(optional)\")\n : \"\";\n\n message += concat(\n indent(2) + c.argument(metadata.name),\n indent(spacing),\n insertAtEndOfFirstLine(c.description(normalizeDesc), defaultOrOptional),\n ln(1),\n );\n\n if (metadata.example) {\n const normalizeExample = metadata.example.replace(/\\n+/g, \"\\n\" + indent(longest + 16));\n message += concat(\n indent(longest + 5),\n c.punctuation(\"└\") + c.exampleTitle(\"Example:\"),\n c.example(normalizeExample) + ln(1),\n );\n }\n }\n\n message += ln(1);\n\n return message;\n}\n"],"mappings":"oIAAA,IAAAA,UAAA,CAAAC,OAAA,qBAKO,QAAS,CAAAC,0BAA0BA,CACxCC,iBAAqC,CACrCC,CAAmB,CACnBC,OAAe,CACP,CACR,GAAIF,iBAAiB,CAACG,MAAM,GAAK,CAAC,CAAE,MAAO,EAAE,CAE7C,GAAI,CAAAC,OAAO,CAAGH,CAAC,CAACI,KAAK,CAAC,YAAY,CAAC,CAAG,GAAAC,aAAE,EAAC,CAAC,CAAC,CAE3C,IAAK,KAAM,CAAAC,QAAQ,GAAI,CAAAP,iBAAiB,CAAE,CACxC,KAAM,CAAAQ,aAAa,CAAGD,QAAQ,CAACE,YAAY,GAAKC,SAAS,CAAG,EAAE,CAAG,aAAaH,QAAQ,CAACI,oBAAoB,GAAG,CAE9G,KAAM,CAAAC,OAAO,CAAGV,OAAO,CAAG,CAAC,CAAGK,QAAQ,CAACM,IAAI,CAACV,MAAM,CAClD,KAAM,CAAAW,aAAa,CAAGP,QAAQ,CAACQ,WAAW,CAACC,OAAO,CAAC,MAAM,CAAE,IAAI,CAAG,GAAAC,iBAAM,EAACf,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACiB,WAAW,CAAC,QAAG,CAAC,CAAC,CAC3G,KAAM,CAAAC,iBAAiB,CAAGX,aAAa,CACnCP,CAAC,CAACmB,OAAO,CAACZ,aAAa,CAAC,CACxBD,QAAQ,CAACc,QAAQ,CACfpB,CAAC,CAACoB,QAAQ,CAAC,YAAY,CAAC,CACxB,EAAE,CAERjB,OAAO,EAAI,GAAAkB,iBAAM,EACf,GAAAL,iBAAM,EAAC,CAAC,CAAC,CAAGhB,CAAC,CAACsB,QAAQ,CAAChB,QAAQ,CAACM,IAAI,CAAC,CACrC,GAAAI,iBAAM,EAACL,OAAO,CAAC,CACf,GAAAY,iCAAsB,EAACvB,CAAC,CAACc,WAAW,CAACD,aAAa,CAAC,CAAEK,iBAAiB,CAAC,CACvE,GAAAb,aAAE,EAAC,CAAC,CACN,CAAC,CAED,GAAIC,QAAQ,CAACkB,OAAO,CAAE,CACpB,KAAM,CAAAC,gBAAgB,CAAGnB,QAAQ,CAACkB,OAAO,CAACT,OAAO,CAAC,MAAM,CAAE,IAAI,CAAG,GAAAC,iBAAM,EAACf,OAAO,CAAG,EAAE,CAAC,CAAC,CACtFE,OAAO,EAAI,GAAAkB,iBAAM,EACf,GAAAL,iBAAM,EAACf,OAAO,CAAG,CAAC,CAAC,CACnBD,CAAC,CAACiB,WAAW,CAAC,QAAG,CAAC,CAAGjB,CAAC,CAAC0B,YAAY,CAAC,UAAU,CAAC,CAC/C1B,CAAC,CAACwB,OAAO,CAACC,gBAAgB,CAAC,CAAG,GAAApB,aAAE,EAAC,CAAC,CACpC,CACF,CACF,CAEAF,OAAO,EAAI,GAAAE,aAAE,EAAC,CAAC,CAAC,CAEhB,MAAO,CAAAF,OACT","ignoreList":[]}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.formatCliHelpMessage=formatCliHelpMessage;exports.formatSubcommandHelpMessage=formatSubcommandHelpMessage;exports.printCliHelp=printCliHelp;exports.printSubcommandHelp=printSubcommandHelp;var _getCliMetadata=require("../metadata/get-cli-metadata.cjs");var _utilities=require("../utilities.cjs");var _formatArguments=require("./format-arguments.cjs");var _formatOptions=require("./format-options.cjs");var _formatSubcommands=require("./format-subcommands.cjs");var _styles=require("./styles.cjs");function formatCliHelpMessage(parameters,style){const c=_styles.helpMessageStyles.default;if(style)Object.assign(c,style);const metadata=(0,_getCliMetadata.getCliMetadata)(parameters);const formatTitle=title=>c.title(` ${title.toUpperCase()}`);let message="";const usage=metadata.usage||(0,_utilities.concat)(c.punctuation("$"),c.description(metadata.name),metadata.subcommands.length>0?c.command("[command]"):"",metadata.options.length>0?c.option("[options]"):"",metadata.arguments.length>0?c.argument("<arguments>"):"",metadata.allowPositional?c.argument("<positionals>"):"");message+=formatTitle("Usage")+(0,_utilities.ln)(1);message+=(0,_utilities.indent)(2)+usage+(0,_utilities.ln)(2);if(metadata.description){message+=formatTitle("Description")+(0,_utilities.ln)(1);message+=(0,_utilities.indent)(2)+c.description(metadata.description).replace(/\n+/g,"\n"+(0,_utilities.indent)(2))+(0,_utilities.ln)(2)}let longest=0;const optionsMetadata=metadata.options;let longestOptionTitle=0;for(const metadata of optionsMetadata){const names=[...metadata.aliasesAsArgs,metadata.nameAsArg].join(", ");const optLength=names.length+metadata.placeholder.length;if(optLength>longestOptionTitle){longestOptionTitle=optLength}}if(longestOptionTitle>longest){longest=longestOptionTitle}const subcommandsMetadata=metadata.subcommands;let longestSubcommandTitle=0;for(const metadata of subcommandsMetadata){const names=[...metadata.aliases,metadata.name].join(", ");const placeholder=(0,_utilities.subcommandPlaceholder)(metadata);const optLength=names.length+placeholder.length;if(optLength>longestSubcommandTitle){longestSubcommandTitle=optLength}}if(longestSubcommandTitle>longest){longest=longestSubcommandTitle}const argumentsMetadata=metadata.arguments;let longestArgumentTitle=0;for(const argument of argumentsMetadata){if(argument.name.length>longestArgumentTitle){longestArgumentTitle=argument.name.length}}if(longestArgumentTitle>longest){longest=longestArgumentTitle}message+=(0,_formatOptions.formatHelpMessageOptions)(optionsMetadata,c,longest);message+=(0,_formatSubcommands.formatHelpMessageCommands)(subcommandsMetadata,c,longest);message+=(0,_formatArguments.formatHelpMessageArguments)(argumentsMetadata,c,longest);if(metadata.example){message+=formatTitle("Example");message+=(0,_utilities.ln)(1);const normalizeExample=metadata.example.replace(/\n+/g,"\n"+(0,_utilities.indent)(3));message+=(0,_utilities.concat)((0,_utilities.indent)(2),c.example(normalizeExample),(0,_utilities.ln)(2))}return message}function formatSubcommandHelpMessage(subcommand,printStyle,cliName=""){const c=_styles.helpMessageStyles.default;if(printStyle)Object.assign(c,printStyle);const usage=subcommand.usage||(0,_utilities.concat)(c.punctuation("$"),cliName,c.command(subcommand.name),subcommand.options?.length?c.option("[options]"):"",subcommand.arguments?.length||subcommand.allowPositional?c.argument("<arguments>"):"");const asCli={cliName,usage,...subcommand};return formatCliHelpMessage([asCli],c)}function printCliHelp(parameters,style){console.log(formatCliHelpMessage(parameters,style))}function printSubcommandHelp(subcommand,style,cliName=""){console.log(formatSubcommandHelpMessage(subcommand,style,cliName))}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_getCliMetadata","require","_utilities","_formatArguments","_formatOptions","_formatSubcommands","_styles","formatCliHelpMessage","parameters","style","c","helpMessageStyles","default","Object","assign","metadata","getCliMetadata","formatTitle","title","toUpperCase","message","usage","concat","punctuation","description","name","subcommands","length","command","options","option","arguments","argument","allowPositional","ln","indent","replace","longest","optionsMetadata","longestOptionTitle","names","aliasesAsArgs","nameAsArg","join","optLength","placeholder","subcommandsMetadata","longestSubcommandTitle","aliases","subcommandPlaceholder","argumentsMetadata","longestArgumentTitle","formatHelpMessageOptions","formatHelpMessageCommands","formatHelpMessageArguments","example","normalizeExample","formatSubcommandHelpMessage","subcommand","printStyle","cliName","asCli","printCliHelp","console","log","printSubcommandHelp"],"sourceRoot":"../../../src/help-message","sources":["format-cli.ts"],"sourcesContent":["import { getCliMetadata } from \"../metadata/get-cli-metadata.js\";\nimport { concat, indent, ln, subcommandPlaceholder } from \"../utilities.js\";\nimport { formatHelpMessageArguments } from \"./format-arguments.js\";\nimport { formatHelpMessageOptions } from \"./format-options.js\";\nimport { formatHelpMessageCommands } from \"./format-subcommands.js\";\nimport { helpMessageStyles } from \"./styles.js\";\n\nimport type { Cli, HelpMessageStyle, Subcommand } from \"../types.js\";\n\nexport function formatCliHelpMessage(\n parameters: readonly [Cli, ...Subcommand[]],\n style?: Partial<HelpMessageStyle>,\n): string {\n const c = helpMessageStyles.default;\n if (style) Object.assign(c, style);\n\n const metadata = getCliMetadata(parameters);\n\n const formatTitle = (title: string) => c.title(` ${title.toUpperCase()}`);\n\n let message = \"\";\n\n // CLI usage\n const usage =\n metadata.usage ||\n concat(\n c.punctuation(\"$\"),\n c.description(metadata.name),\n metadata.subcommands.length > 0 ? c.command(\"[command]\") : \"\",\n metadata.options.length > 0 ? c.option(\"[options]\") : \"\",\n metadata.arguments.length > 0 ? c.argument(\"<arguments>\") : \"\",\n metadata.allowPositional ? c.argument(\"<positionals>\") : \"\",\n );\n message += formatTitle(\"Usage\") + ln(1);\n message += indent(2) + usage + ln(2);\n\n // CLI description\n if (metadata.description) {\n message += formatTitle(\"Description\") + ln(1);\n message += indent(2) + c.description(metadata.description).replace(/\\n+/g, \"\\n\" + indent(2)) + ln(2);\n }\n\n let longest = 0;\n\n // Prepare CLI options\n const optionsMetadata = metadata.options;\n\n let longestOptionTitle = 0;\n for (const metadata of optionsMetadata) {\n const names = [...metadata.aliasesAsArgs, metadata.nameAsArg].join(\", \");\n const optLength = names.length + metadata.placeholder.length;\n if (optLength > longestOptionTitle) {\n longestOptionTitle = optLength;\n }\n }\n\n if (longestOptionTitle > longest) {\n longest = longestOptionTitle;\n }\n\n // Prepare CLI commands\n const subcommandsMetadata = metadata.subcommands;\n\n let longestSubcommandTitle = 0;\n for (const metadata of subcommandsMetadata) {\n const names = [...metadata.aliases, metadata.name].join(\", \");\n const placeholder = subcommandPlaceholder(metadata);\n const optLength = names.length + placeholder.length;\n if (optLength > longestSubcommandTitle) {\n longestSubcommandTitle = optLength;\n }\n }\n\n if (longestSubcommandTitle > longest) {\n longest = longestSubcommandTitle;\n }\n\n // Prepare CLI arguments\n const argumentsMetadata = metadata.arguments;\n\n let longestArgumentTitle = 0;\n for (const argument of argumentsMetadata) {\n if (argument.name.length > longestArgumentTitle) {\n longestArgumentTitle = argument.name.length;\n }\n }\n\n if (longestArgumentTitle > longest) {\n longest = longestArgumentTitle;\n }\n\n // CLI options\n message += formatHelpMessageOptions(optionsMetadata, c, longest);\n\n // CLI commands\n message += formatHelpMessageCommands(subcommandsMetadata, c, longest);\n\n // CLI arguments\n message += formatHelpMessageArguments(argumentsMetadata, c, longest);\n\n // CLI example\n if (metadata.example) {\n message += formatTitle(\"Example\");\n message += ln(1);\n const normalizeExample = metadata.example.replace(/\\n+/g, \"\\n\" + indent(3));\n message += concat(indent(2), c.example(normalizeExample), ln(2));\n }\n\n return message;\n}\n\nexport function formatSubcommandHelpMessage(\n subcommand: Subcommand,\n printStyle?: Partial<HelpMessageStyle>,\n cliName = \"\",\n) {\n const c = helpMessageStyles.default;\n if (printStyle) Object.assign(c, printStyle);\n\n const usage =\n subcommand.usage ||\n concat(\n c.punctuation(\"$\"),\n cliName,\n c.command(subcommand.name),\n subcommand.options?.length ? c.option(\"[options]\") : \"\",\n subcommand.arguments?.length || subcommand.allowPositional ? c.argument(\"<arguments>\") : \"\",\n );\n\n const asCli: Cli = { cliName, usage, ...subcommand };\n\n return formatCliHelpMessage([asCli], c);\n}\n\nexport function printCliHelp(parameters: readonly [Cli, ...Subcommand[]], style?: Partial<HelpMessageStyle>) {\n console.log(formatCliHelpMessage(parameters, style));\n}\n\nexport function printSubcommandHelp(subcommand: Subcommand, style?: Partial<HelpMessageStyle>, cliName = \"\") {\n console.log(formatSubcommandHelpMessage(subcommand, style, cliName));\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.formatHelpMessageOptions=formatHelpMessageOptions;var _utilities=require("../utilities.cjs");function formatHelpMessageOptions(optionsMetadata,c,longest){if(optionsMetadata.length===0)return"";let message=c.title(" OPTIONS")+(0,_utilities.ln)(1);for(const metadata of optionsMetadata){const names=metadata.aliasesAsArgs.concat([metadata.nameAsArg]);const normalizeDesc=metadata.description.replace(/\n+/g,"\n"+(0,_utilities.indent)(longest+6)+c.punctuation("\u2514"));const defaultString=metadata.defaultValue===undefined?"":`(default: ${metadata.defaultValueAsString})`;const optLength=names.join(", ").length+metadata.placeholder.length;const spacing=longest+1-optLength;const coloredNames=names.map(name=>c.option(name)).join(c.punctuation(", "));const defaultOrOptional=defaultString?c.default(defaultString):metadata.optional?c.optional("(optional)"):"";message+=(0,_utilities.concat)((0,_utilities.indent)(2)+coloredNames,c.placeholder(metadata.placeholder),(0,_utilities.indent)(spacing),(0,_utilities.insertAtEndOfFirstLine)(c.description(normalizeDesc),defaultOrOptional),(0,_utilities.ln)(1));if(metadata.example){const normalizeExample=metadata.example.replace(/\n+/g,"\n"+(0,_utilities.indent)(longest+16));message+=(0,_utilities.concat)((0,_utilities.indent)(longest+6)+c.punctuation("\u2514")+c.exampleTitle("Example:"),c.example(normalizeExample)+(0,_utilities.ln)(1))}}message+=(0,_utilities.ln)(1);return message}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_utilities","require","formatHelpMessageOptions","optionsMetadata","c","longest","length","message","title","ln","metadata","names","aliasesAsArgs","concat","nameAsArg","normalizeDesc","description","replace","indent","punctuation","defaultString","defaultValue","undefined","defaultValueAsString","optLength","join","placeholder","spacing","coloredNames","map","name","option","defaultOrOptional","default","optional","insertAtEndOfFirstLine","example","normalizeExample","exampleTitle"],"sourceRoot":"../../../src/help-message","sources":["format-options.ts"],"sourcesContent":["import { concat, indent, insertAtEndOfFirstLine, ln } from \"../utilities.js\";\n\nimport type { OptionMetadata } from \"../metadata/metadata-types.js\";\nimport type { HelpMessageStyle } from \"../types.js\";\n\nexport function formatHelpMessageOptions(\n optionsMetadata: OptionMetadata[],\n c: HelpMessageStyle,\n longest: number,\n): string {\n if (optionsMetadata.length === 0) return \"\";\n\n let message = c.title(\" OPTIONS\") + ln(1);\n\n for (const metadata of optionsMetadata) {\n const names = metadata.aliasesAsArgs.concat([metadata.nameAsArg]);\n const normalizeDesc = metadata.description.replace(/\\n+/g, \"\\n\" + indent(longest + 6) + c.punctuation(\"└\"));\n const defaultString = metadata.defaultValue === undefined ? \"\" : `(default: ${metadata.defaultValueAsString})`;\n\n const optLength = names.join(\", \").length + metadata.placeholder.length;\n const spacing = longest + 1 - optLength;\n\n const coloredNames = names.map(name => c.option(name)).join(c.punctuation(\", \"));\n\n const defaultOrOptional = defaultString\n ? c.default(defaultString)\n : metadata.optional\n ? c.optional(\"(optional)\")\n : \"\";\n\n message += concat(\n indent(2) + coloredNames,\n c.placeholder(metadata.placeholder),\n indent(spacing),\n insertAtEndOfFirstLine(c.description(normalizeDesc), defaultOrOptional),\n ln(1),\n );\n\n if (metadata.example) {\n const normalizeExample = metadata.example.replace(/\\n+/g, \"\\n\" + indent(longest + 16));\n message += concat(\n indent(longest + 6) + c.punctuation(\"└\") + c.exampleTitle(\"Example:\"),\n c.example(normalizeExample) + ln(1),\n );\n }\n }\n\n message += ln(1);\n\n return message;\n}\n"],"mappings":"gIAAA,IAAAA,UAAA,CAAAC,OAAA,qBAKO,QAAS,CAAAC,wBAAwBA,CACtCC,eAAiC,CACjCC,CAAmB,CACnBC,OAAe,CACP,CACR,GAAIF,eAAe,CAACG,MAAM,GAAK,CAAC,CAAE,MAAO,EAAE,CAE3C,GAAI,CAAAC,OAAO,CAAGH,CAAC,CAACI,KAAK,CAAC,UAAU,CAAC,CAAG,GAAAC,aAAE,EAAC,CAAC,CAAC,CAEzC,IAAK,KAAM,CAAAC,QAAQ,GAAI,CAAAP,eAAe,CAAE,CACtC,KAAM,CAAAQ,KAAK,CAAGD,QAAQ,CAACE,aAAa,CAACC,MAAM,CAAC,CAACH,QAAQ,CAACI,SAAS,CAAC,CAAC,CACjE,KAAM,CAAAC,aAAa,CAAGL,QAAQ,CAACM,WAAW,CAACC,OAAO,CAAC,MAAM,CAAE,IAAI,CAAG,GAAAC,iBAAM,EAACb,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACe,WAAW,CAAC,QAAG,CAAC,CAAC,CAC3G,KAAM,CAAAC,aAAa,CAAGV,QAAQ,CAACW,YAAY,GAAKC,SAAS,CAAG,EAAE,CAAG,aAAaZ,QAAQ,CAACa,oBAAoB,GAAG,CAE9G,KAAM,CAAAC,SAAS,CAAGb,KAAK,CAACc,IAAI,CAAC,IAAI,CAAC,CAACnB,MAAM,CAAGI,QAAQ,CAACgB,WAAW,CAACpB,MAAM,CACvE,KAAM,CAAAqB,OAAO,CAAGtB,OAAO,CAAG,CAAC,CAAGmB,SAAS,CAEvC,KAAM,CAAAI,YAAY,CAAGjB,KAAK,CAACkB,GAAG,CAACC,IAAI,EAAI1B,CAAC,CAAC2B,MAAM,CAACD,IAAI,CAAC,CAAC,CAACL,IAAI,CAACrB,CAAC,CAACe,WAAW,CAAC,IAAI,CAAC,CAAC,CAEhF,KAAM,CAAAa,iBAAiB,CAAGZ,aAAa,CACnChB,CAAC,CAAC6B,OAAO,CAACb,aAAa,CAAC,CACxBV,QAAQ,CAACwB,QAAQ,CACf9B,CAAC,CAAC8B,QAAQ,CAAC,YAAY,CAAC,CACxB,EAAE,CAER3B,OAAO,EAAI,GAAAM,iBAAM,EACf,GAAAK,iBAAM,EAAC,CAAC,CAAC,CAAGU,YAAY,CACxBxB,CAAC,CAACsB,WAAW,CAAChB,QAAQ,CAACgB,WAAW,CAAC,CACnC,GAAAR,iBAAM,EAACS,OAAO,CAAC,CACf,GAAAQ,iCAAsB,EAAC/B,CAAC,CAACY,WAAW,CAACD,aAAa,CAAC,CAAEiB,iBAAiB,CAAC,CACvE,GAAAvB,aAAE,EAAC,CAAC,CACN,CAAC,CAED,GAAIC,QAAQ,CAAC0B,OAAO,CAAE,CACpB,KAAM,CAAAC,gBAAgB,CAAG3B,QAAQ,CAAC0B,OAAO,CAACnB,OAAO,CAAC,MAAM,CAAE,IAAI,CAAG,GAAAC,iBAAM,EAACb,OAAO,CAAG,EAAE,CAAC,CAAC,CACtFE,OAAO,EAAI,GAAAM,iBAAM,EACf,GAAAK,iBAAM,EAACb,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACe,WAAW,CAAC,QAAG,CAAC,CAAGf,CAAC,CAACkC,YAAY,CAAC,UAAU,CAAC,CACrElC,CAAC,CAACgC,OAAO,CAACC,gBAAgB,CAAC,CAAG,GAAA5B,aAAE,EAAC,CAAC,CACpC,CACF,CACF,CAEAF,OAAO,EAAI,GAAAE,aAAE,EAAC,CAAC,CAAC,CAEhB,MAAO,CAAAF,OACT","ignoreList":[]}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.formatHelpMessageCommands=formatHelpMessageCommands;var _utilities=require("../utilities.cjs");function formatHelpMessageCommands(subcommandsMetadata,c,longest){if(subcommandsMetadata.length===0)return"";let message=c.title(" COMMANDS")+(0,_utilities.ln)(1);for(const metadata of subcommandsMetadata){const names=metadata.aliases.concat([metadata.name]);const placeholder=(0,_utilities.subcommandPlaceholder)(metadata);const normalizeDesc=metadata.description.replace(/\n+/g,"\n"+(0,_utilities.indent)(longest+6)+c.punctuation("\u2514"));const optLength=names.join(", ").length+placeholder.length;const spacing=longest+1-optLength;const coloredNames=names.map(name=>c.command(name)).join(c.punctuation(", "));message+=(0,_utilities.concat)((0,_utilities.indent)(2)+coloredNames,c.placeholder(placeholder),(0,_utilities.indent)(spacing),c.description(normalizeDesc)+(0,_utilities.ln)(1))}message+=(0,_utilities.ln)(1);return message}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_utilities","require","formatHelpMessageCommands","subcommandsMetadata","c","longest","length","message","title","ln","metadata","names","aliases","concat","name","placeholder","subcommandPlaceholder","normalizeDesc","description","replace","indent","punctuation","optLength","join","spacing","coloredNames","map","command"],"sourceRoot":"../../../src/help-message","sources":["format-subcommands.ts"],"sourcesContent":["import { concat, indent, ln, subcommandPlaceholder } from \"../utilities.js\";\n\nimport type { SubcommandMetadata } from \"../metadata/metadata-types.js\";\nimport type { HelpMessageStyle } from \"../types.js\";\n\nexport function formatHelpMessageCommands(\n subcommandsMetadata: SubcommandMetadata[],\n c: HelpMessageStyle,\n longest: number,\n): string {\n if (subcommandsMetadata.length === 0) return \"\";\n\n let message = c.title(\" COMMANDS\") + ln(1);\n\n for (const metadata of subcommandsMetadata) {\n const names = metadata.aliases.concat([metadata.name]);\n const placeholder = subcommandPlaceholder(metadata);\n const normalizeDesc = metadata.description.replace(/\\n+/g, \"\\n\" + indent(longest + 6) + c.punctuation(\"└\"));\n\n const optLength = names.join(\", \").length + placeholder.length;\n const spacing = longest + 1 - optLength;\n\n const coloredNames = names.map(name => c.command(name)).join(c.punctuation(\", \"));\n\n message += concat(\n indent(2) + coloredNames,\n c.placeholder(placeholder),\n indent(spacing),\n c.description(normalizeDesc) + ln(1),\n );\n }\n\n message += ln(1);\n\n return message;\n}\n"],"mappings":"kIAAA,IAAAA,UAAA,CAAAC,OAAA,qBAKO,QAAS,CAAAC,yBAAyBA,CACvCC,mBAAyC,CACzCC,CAAmB,CACnBC,OAAe,CACP,CACR,GAAIF,mBAAmB,CAACG,MAAM,GAAK,CAAC,CAAE,MAAO,EAAE,CAE/C,GAAI,CAAAC,OAAO,CAAGH,CAAC,CAACI,KAAK,CAAC,WAAW,CAAC,CAAG,GAAAC,aAAE,EAAC,CAAC,CAAC,CAE1C,IAAK,KAAM,CAAAC,QAAQ,GAAI,CAAAP,mBAAmB,CAAE,CAC1C,KAAM,CAAAQ,KAAK,CAAGD,QAAQ,CAACE,OAAO,CAACC,MAAM,CAAC,CAACH,QAAQ,CAACI,IAAI,CAAC,CAAC,CACtD,KAAM,CAAAC,WAAW,CAAG,GAAAC,gCAAqB,EAACN,QAAQ,CAAC,CACnD,KAAM,CAAAO,aAAa,CAAGP,QAAQ,CAACQ,WAAW,CAACC,OAAO,CAAC,MAAM,CAAE,IAAI,CAAG,GAAAC,iBAAM,EAACf,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACiB,WAAW,CAAC,QAAG,CAAC,CAAC,CAE3G,KAAM,CAAAC,SAAS,CAAGX,KAAK,CAACY,IAAI,CAAC,IAAI,CAAC,CAACjB,MAAM,CAAGS,WAAW,CAACT,MAAM,CAC9D,KAAM,CAAAkB,OAAO,CAAGnB,OAAO,CAAG,CAAC,CAAGiB,SAAS,CAEvC,KAAM,CAAAG,YAAY,CAAGd,KAAK,CAACe,GAAG,CAACZ,IAAI,EAAIV,CAAC,CAACuB,OAAO,CAACb,IAAI,CAAC,CAAC,CAACS,IAAI,CAACnB,CAAC,CAACiB,WAAW,CAAC,IAAI,CAAC,CAAC,CAEjFd,OAAO,EAAI,GAAAM,iBAAM,EACf,GAAAO,iBAAM,EAAC,CAAC,CAAC,CAAGK,YAAY,CACxBrB,CAAC,CAACW,WAAW,CAACA,WAAW,CAAC,CAC1B,GAAAK,iBAAM,EAACI,OAAO,CAAC,CACfpB,CAAC,CAACc,WAAW,CAACD,aAAa,CAAC,CAAG,GAAAR,aAAE,EAAC,CAAC,CACrC,CACF,CAEAF,OAAO,EAAI,GAAAE,aAAE,EAAC,CAAC,CAAC,CAEhB,MAAO,CAAAF,OACT","ignoreList":[]}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.helpMessageStyles=void 0;var _chalk=_interopRequireDefault(require("chalk"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const helpMessageStyles=exports.helpMessageStyles=Object.freeze({default:{title:_chalk.default.bold.blue,description:_chalk.default.white,default:_chalk.default.dim.italic,optional:_chalk.default.dim.italic,exampleTitle:_chalk.default.yellow,example:_chalk.default.dim,command:_chalk.default.yellow,option:_chalk.default.cyan,argument:_chalk.default.green,placeholder:_chalk.default.hex("#FF9800"),punctuation:_chalk.default.white.dim},dracula:{title:_chalk.default.bold.hex("#BD93F9"),description:_chalk.default.hex("#F8F8F2"),default:_chalk.default.italic.hex("#6272A4"),optional:_chalk.default.italic.hex("#6272A4"),exampleTitle:_chalk.default.hex("#FFB86C"),example:_chalk.default.hex("#6272A4"),command:_chalk.default.hex("#50FA7B"),option:_chalk.default.hex("#8BE9FD"),argument:_chalk.default.hex("#FF79C6"),placeholder:_chalk.default.hex("#F1FA8C"),punctuation:_chalk.default.hex("#6272A4")},solarizedDark:{title:_chalk.default.bold.hex("#268BD2"),description:_chalk.default.hex("#93A1A1"),default:_chalk.default.italic.hex("#586E75"),optional:_chalk.default.italic.hex("#586E75"),exampleTitle:_chalk.default.hex("#B58900"),example:_chalk.default.hex("#586E75"),command:_chalk.default.hex("#2AA198"),option:_chalk.default.hex("#268BD2"),argument:_chalk.default.hex("#859900"),placeholder:_chalk.default.hex("#CB4B16"),punctuation:_chalk.default.hex("#657B83")},nord:{title:_chalk.default.bold.hex("#81A1C1"),description:_chalk.default.hex("#D8DEE9"),default:_chalk.default.italic.hex("#4C566A"),optional:_chalk.default.italic.hex("#4C566A"),exampleTitle:_chalk.default.hex("#EBCB8B"),example:_chalk.default.hex("#4C566A"),command:_chalk.default.hex("#A3BE8C"),option:_chalk.default.hex("#88C0D0"),argument:_chalk.default.hex("#BF616A"),placeholder:_chalk.default.hex("#D08770"),punctuation:_chalk.default.hex("#4C566A")},html:{title:(...string)=>`<span style="color: #89dceb; font-weight: bold;">${escapeHTML(string.join(" "))}</span>`,description:(...string)=>`<span style="color: #cdd6e8;">${escapeHTML(string.join(" "))}</span>`,default:(...string)=>`<span style="color: #6c7086; font-style: italic;">${escapeHTML(string.join(" "))}</span>`,optional:(...string)=>`<span style="color: #6c7086; font-style: italic;">${escapeHTML(string.join(" "))}</span>`,exampleTitle:(...string)=>`<span style="color: #f9e2af;">${escapeHTML(string.join(" "))}</span>`,example:(...string)=>`<span style="color: #6c7086;">${escapeHTML(string.join(" "))}</span>`,command:(...string)=>`<span style="color: #f9e2af;">${escapeHTML(string.join(" "))}</span>`,option:(...string)=>`<span style="color: #17b85d;">${escapeHTML(string.join(" "))}</span>`,argument:(...string)=>`<span style="color: #00ff00;">${escapeHTML(string.join(" "))}</span>`,placeholder:(...string)=>`<span style="color: #db9518;">${escapeHTML(string.join(" "))}</span>`,punctuation:(...string)=>`<span style="color: #6c7086;">${escapeHTML(string.join(" "))}</span>`},gruvboxDark:{title:_chalk.default.bold.hex("#FABD2F"),description:_chalk.default.hex("#EBDBB2"),default:_chalk.default.italic.hex("#928374"),optional:_chalk.default.italic.hex("#928374"),exampleTitle:_chalk.default.hex("#FE8019"),example:_chalk.default.hex("#928374"),command:_chalk.default.hex("#B8BB26"),option:_chalk.default.hex("#83A598"),argument:_chalk.default.hex("#D3869B"),placeholder:_chalk.default.hex("#FB4934"),punctuation:_chalk.default.hex("#928374")},monokai:{title:_chalk.default.bold.hex("#AE81FF"),description:_chalk.default.hex("#F8F8F2"),default:_chalk.default.italic.hex("#75715E"),optional:_chalk.default.italic.hex("#75715E"),exampleTitle:_chalk.default.hex("#FD971F"),example:_chalk.default.hex("#75715E"),command:_chalk.default.hex("#A6E22E"),option:_chalk.default.hex("#66D9EF"),argument:_chalk.default.hex("#F92672"),placeholder:_chalk.default.hex("#E6DB74"),punctuation:_chalk.default.hex("#75715E")},oneDark:{title:_chalk.default.bold.hex("#61AFEF"),description:_chalk.default.hex("#ABB2BF"),default:_chalk.default.italic.hex("#5C6370"),optional:_chalk.default.italic.hex("#5C6370"),exampleTitle:_chalk.default.hex("#E5C07B"),example:_chalk.default.hex("#5C6370"),command:_chalk.default.hex("#98C379"),option:_chalk.default.hex("#56B6C2"),argument:_chalk.default.hex("#E06C75"),placeholder:_chalk.default.hex("#C678DD"),punctuation:_chalk.default.hex("#5C6370")},get noColors(){return new Proxy(this.default,{get(){return(...string)=>string.join(" ")}})}});function escapeHTML(string){return string.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_chalk","_interopRequireDefault","require","e","__esModule","default","helpMessageStyles","exports","Object","freeze","title","chalk","bold","blue","description","white","dim","italic","optional","exampleTitle","yellow","example","command","option","cyan","argument","green","placeholder","hex","punctuation","dracula","solarizedDark","nord","html","string","escapeHTML","join","gruvboxDark","monokai","oneDark","noColors","Proxy","get","replace"],"sourceRoot":"../../../src/help-message","sources":["styles.ts"],"sourcesContent":["import chalk from \"chalk\";\nimport type { HelpMessageStyle } from \"../types.js\";\n\nexport const helpMessageStyles = Object.freeze({\n default: {\n title: chalk.bold.blue,\n description: chalk.white,\n default: chalk.dim.italic,\n optional: chalk.dim.italic,\n exampleTitle: chalk.yellow,\n example: chalk.dim,\n command: chalk.yellow,\n option: chalk.cyan,\n argument: chalk.green,\n placeholder: chalk.hex(\"#FF9800\"),\n punctuation: chalk.white.dim,\n },\n dracula: {\n title: chalk.bold.hex(\"#BD93F9\"),\n description: chalk.hex(\"#F8F8F2\"),\n default: chalk.italic.hex(\"#6272A4\"),\n optional: chalk.italic.hex(\"#6272A4\"),\n exampleTitle: chalk.hex(\"#FFB86C\"),\n example: chalk.hex(\"#6272A4\"),\n command: chalk.hex(\"#50FA7B\"),\n option: chalk.hex(\"#8BE9FD\"),\n argument: chalk.hex(\"#FF79C6\"),\n placeholder: chalk.hex(\"#F1FA8C\"),\n punctuation: chalk.hex(\"#6272A4\"),\n },\n solarizedDark: {\n title: chalk.bold.hex(\"#268BD2\"),\n description: chalk.hex(\"#93A1A1\"),\n default: chalk.italic.hex(\"#586E75\"),\n optional: chalk.italic.hex(\"#586E75\"),\n exampleTitle: chalk.hex(\"#B58900\"),\n example: chalk.hex(\"#586E75\"),\n command: chalk.hex(\"#2AA198\"),\n option: chalk.hex(\"#268BD2\"),\n argument: chalk.hex(\"#859900\"),\n placeholder: chalk.hex(\"#CB4B16\"),\n punctuation: chalk.hex(\"#657B83\"),\n },\n nord: {\n title: chalk.bold.hex(\"#81A1C1\"),\n description: chalk.hex(\"#D8DEE9\"),\n default: chalk.italic.hex(\"#4C566A\"),\n optional: chalk.italic.hex(\"#4C566A\"),\n exampleTitle: chalk.hex(\"#EBCB8B\"),\n example: chalk.hex(\"#4C566A\"),\n command: chalk.hex(\"#A3BE8C\"),\n option: chalk.hex(\"#88C0D0\"),\n argument: chalk.hex(\"#BF616A\"),\n placeholder: chalk.hex(\"#D08770\"),\n punctuation: chalk.hex(\"#4C566A\"),\n },\n html: {\n title: (...string) => `<span style=\"color: #89dceb; font-weight: bold;\">${escapeHTML(string.join(\" \"))}</span>`,\n description: (...string) => `<span style=\"color: #cdd6e8;\">${escapeHTML(string.join(\" \"))}</span>`,\n default: (...string) => `<span style=\"color: #6c7086; font-style: italic;\">${escapeHTML(string.join(\" \"))}</span>`,\n optional: (...string) => `<span style=\"color: #6c7086; font-style: italic;\">${escapeHTML(string.join(\" \"))}</span>`,\n exampleTitle: (...string) => `<span style=\"color: #f9e2af;\">${escapeHTML(string.join(\" \"))}</span>`,\n example: (...string) => `<span style=\"color: #6c7086;\">${escapeHTML(string.join(\" \"))}</span>`,\n command: (...string) => `<span style=\"color: #f9e2af;\">${escapeHTML(string.join(\" \"))}</span>`,\n option: (...string) => `<span style=\"color: #17b85d;\">${escapeHTML(string.join(\" \"))}</span>`,\n argument: (...string) => `<span style=\"color: #00ff00;\">${escapeHTML(string.join(\" \"))}</span>`,\n placeholder: (...string) => `<span style=\"color: #db9518;\">${escapeHTML(string.join(\" \"))}</span>`,\n punctuation: (...string) => `<span style=\"color: #6c7086;\">${escapeHTML(string.join(\" \"))}</span>`,\n },\n gruvboxDark: {\n title: chalk.bold.hex(\"#FABD2F\"),\n description: chalk.hex(\"#EBDBB2\"),\n default: chalk.italic.hex(\"#928374\"),\n optional: chalk.italic.hex(\"#928374\"),\n exampleTitle: chalk.hex(\"#FE8019\"),\n example: chalk.hex(\"#928374\"),\n command: chalk.hex(\"#B8BB26\"),\n option: chalk.hex(\"#83A598\"),\n argument: chalk.hex(\"#D3869B\"),\n placeholder: chalk.hex(\"#FB4934\"),\n punctuation: chalk.hex(\"#928374\"),\n },\n monokai: {\n title: chalk.bold.hex(\"#AE81FF\"),\n description: chalk.hex(\"#F8F8F2\"),\n default: chalk.italic.hex(\"#75715E\"),\n optional: chalk.italic.hex(\"#75715E\"),\n exampleTitle: chalk.hex(\"#FD971F\"),\n example: chalk.hex(\"#75715E\"),\n command: chalk.hex(\"#A6E22E\"),\n option: chalk.hex(\"#66D9EF\"),\n argument: chalk.hex(\"#F92672\"),\n placeholder: chalk.hex(\"#E6DB74\"),\n punctuation: chalk.hex(\"#75715E\"),\n },\n oneDark: {\n title: chalk.bold.hex(\"#61AFEF\"),\n description: chalk.hex(\"#ABB2BF\"),\n default: chalk.italic.hex(\"#5C6370\"),\n optional: chalk.italic.hex(\"#5C6370\"),\n exampleTitle: chalk.hex(\"#E5C07B\"),\n example: chalk.hex(\"#5C6370\"),\n command: chalk.hex(\"#98C379\"),\n option: chalk.hex(\"#56B6C2\"),\n argument: chalk.hex(\"#E06C75\"),\n placeholder: chalk.hex(\"#C678DD\"),\n punctuation: chalk.hex(\"#5C6370\"),\n },\n get noColors() {\n return new Proxy(this.default, {\n get() {\n return (...string: string[]) => string.join(\" \");\n },\n }) as HelpMessageStyle;\n },\n}) satisfies Record<string, HelpMessageStyle>;\n\nfunction escapeHTML(string: string) {\n return string.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\");\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.createArguments=createArguments;exports.createCli=createCli;exports.createOptions=createOptions;exports.createSubcommand=createSubcommand;Object.defineProperty(exports,"formatCliHelpMsg",{enumerable:true,get:function(){return _formatCli.formatCliHelpMessage}});Object.defineProperty(exports,"formatSubcommandHelpMsg",{enumerable:true,get:function(){return _formatCli.formatSubcommandHelpMessage}});Object.defineProperty(exports,"generateBashAutocompleteScript",{enumerable:true,get:function(){return _bashAutocompleteScript.generateBashAutocompleteScript}});Object.defineProperty(exports,"generateMarkdown",{enumerable:true,get:function(){return _generateMarkdown.generateMarkdown}});Object.defineProperty(exports,"generatePowerShellAutocompleteScript",{enumerable:true,get:function(){return _powershellAutocompleteScript.generatePowerShellAutocompleteScript}});Object.defineProperty(exports,"generateZshAutocompleteScript",{enumerable:true,get:function(){return _zshAutocompleteScript.generateZshAutocompleteScript}});Object.defineProperty(exports,"getArgumentsMetadata",{enumerable:true,get:function(){return _getArgumentsMetadata.getArgumentsMetadata}});Object.defineProperty(exports,"getCliMetadata",{enumerable:true,get:function(){return _getCliMetadata.getCliMetadata}});Object.defineProperty(exports,"getOptionsMetadata",{enumerable:true,get:function(){return _getOptionsMetadata.getOptionsMetadata}});Object.defineProperty(exports,"getSubcommandsMetadata",{enumerable:true,get:function(){return _getSubcommandsMetadata.getSubcommandsMetadata}});Object.defineProperty(exports,"helpMessageStyles",{enumerable:true,get:function(){return _styles.helpMessageStyles}});Object.defineProperty(exports,"isOptionalSchema",{enumerable:true,get:function(){return _zodUtilities.isOptionalSchema}});Object.defineProperty(exports,"parse",{enumerable:true,get:function(){return _unsafeParse.unsafeParse}});Object.defineProperty(exports,"parseAsync",{enumerable:true,get:function(){return _unsafeParse.unsafeParseAsync}});Object.defineProperty(exports,"printCliHelp",{enumerable:true,get:function(){return _formatCli.printCliHelp}});Object.defineProperty(exports,"printSubcommandHelp",{enumerable:true,get:function(){return _formatCli.printSubcommandHelp}});Object.defineProperty(exports,"safeParse",{enumerable:true,get:function(){return _safeParse.safeParse}});Object.defineProperty(exports,"safeParseAsync",{enumerable:true,get:function(){return _safeParse.safeParseAsync}});Object.defineProperty(exports,"schemaDefaultValue",{enumerable:true,get:function(){return _zodUtilities.schemaDefaultValue}});Object.defineProperty(exports,"stringToArray",{enumerable:true,get:function(){return _zodUtilities.stringToArray}});Object.defineProperty(exports,"stringToSet",{enumerable:true,get:function(){return _zodUtilities.stringToSet}});var _formatCli=require("./help-message/format-cli.cjs");var _styles=require("./help-message/styles.cjs");var _safeParse=require("./parser/safe-parse.cjs");var _unsafeParse=require("./parser/unsafe-parse.cjs");var _zodUtilities=require("./zod-utilities.cjs");var _bashAutocompleteScript=require("./autocomplete-scripts/bash-autocomplete-script.cjs");var _powershellAutocompleteScript=require("./autocomplete-scripts/powershell-autocomplete-script.cjs");var _zshAutocompleteScript=require("./autocomplete-scripts/zsh-autocomplete-script.cjs");var _getArgumentsMetadata=require("./metadata/get-arguments-metadata.cjs");var _getCliMetadata=require("./metadata/get-cli-metadata.cjs");var _getOptionsMetadata=require("./metadata/get-options-metadata.cjs");var _getSubcommandsMetadata=require("./metadata/get-subcommands-metadata.cjs");var _generateMarkdown=require("./markdown/generate-markdown.cjs");function createCli(input){const setAction=action=>{if(typeof input==="string")return;input.action=action};const setPreValidationHook=hook=>{if(typeof input==="string")return;input.preValidation=hook};return Object.assign(input,{setAction,setPreValidationHook})}function createSubcommand(input){const setAction=action=>{if(typeof input==="string")return;input.action=action};const setPreValidationHook=hook=>{if(typeof input==="string")return;input.preValidation=hook};return Object.assign(input,{setAction,setPreValidationHook})}function createOptions(options){return options}function createArguments(arguments_){return arguments_}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_formatCli","require","_styles","_safeParse","_unsafeParse","_zodUtilities","_bashAutocompleteScript","_powershellAutocompleteScript","_zshAutocompleteScript","_getArgumentsMetadata","_getCliMetadata","_getOptionsMetadata","_getSubcommandsMetadata","_generateMarkdown","createCli","input","setAction","action","setPreValidationHook","hook","preValidation","Object","assign","createSubcommand","createOptions","options","createArguments","arguments_"],"sourceRoot":"../../src","sources":["index.ts"],"sourcesContent":["import type {\n ActionsFunctions,\n Argument,\n CheckArgumentsOptional,\n CheckDuplicatedArguments,\n CheckDuplicatedOptions,\n Cli,\n Option,\n Prettify,\n Subcommand,\n} from \"./types.js\";\n\n/**\n * - Insures that there are no duplicated options\n * - Insures that there are no duplicated arguments\n * - Insures that only the last argument is optional\n * - Insures no optional arguments are allowed when `allowPositional` is enabled\n */\ntype CheckCliSubcommandInput<T extends Cli | Subcommand> =\n CheckDuplicatedOptions<T> extends infer Error extends string\n ? Error\n : CheckDuplicatedArguments<T> extends infer Error extends string\n ? Error\n : CheckArgumentsOptional<T> extends infer Error extends string\n ? Error\n : T;\n\nexport function createCli<const T extends Cli>(input: CheckCliSubcommandInput<T>) {\n const setAction = (action: (data: any) => any) => {\n if (typeof input === \"string\") return;\n input.action = action;\n };\n\n const setPreValidationHook = (hook: (context: any) => any) => {\n if (typeof input === \"string\") return;\n input.preValidation = hook;\n };\n\n return Object.assign(input, { setAction, setPreValidationHook }) as Prettify<typeof input & ActionsFunctions<T>>;\n}\n\nexport function createSubcommand<const T extends Subcommand>(input: CheckCliSubcommandInput<T>) {\n const setAction = (action: (data: any) => any) => {\n if (typeof input === \"string\") return;\n input.action = action as T[\"action\"];\n };\n\n const setPreValidationHook = (hook: (context: any) => any) => {\n if (typeof input === \"string\") return;\n input.preValidation = hook;\n };\n\n return Object.assign(input, { setAction, setPreValidationHook }) as Prettify<typeof input & ActionsFunctions<T>>;\n}\n\n/** - Insures that there are no duplicated options */\ntype CheckOptionsInput<T extends Option[]> =\n CheckDuplicatedOptions<{ options: T }> extends infer Error extends string ? Error : T;\n\nexport function createOptions<const T extends [Option, ...Option[]]>(options: CheckOptionsInput<T>) {\n return options;\n}\n\n/** - Insures that only the last argument is optional */\ntype CheckArgumentsInput<T extends Argument[]> =\n CheckArgumentsOptional<{ arguments: T }> extends infer Error extends string ? Error : T;\n\nexport function createArguments<const T extends [Argument, ...Argument[]]>(arguments_: CheckArgumentsInput<T>) {\n return arguments_;\n}\n\nexport {\n formatCliHelpMessage as formatCliHelpMsg,\n formatSubcommandHelpMessage as formatSubcommandHelpMsg,\n printCliHelp,\n printSubcommandHelp,\n} from \"./help-message/format-cli.js\";\nexport { helpMessageStyles } from \"./help-message/styles.js\";\n\nexport { safeParse, safeParseAsync } from \"./parser/safe-parse.js\";\nexport { unsafeParse as parse, unsafeParseAsync as parseAsync } from \"./parser/unsafe-parse.js\";\n\nexport { isOptionalSchema, schemaDefaultValue, stringToArray, stringToSet } from \"./zod-utilities.js\";\n\nexport { generateBashAutocompleteScript } from \"./autocomplete-scripts/bash-autocomplete-script.js\";\nexport { generatePowerShellAutocompleteScript } from \"./autocomplete-scripts/powershell-autocomplete-script.js\";\nexport { generateZshAutocompleteScript } from \"./autocomplete-scripts/zsh-autocomplete-script.js\";\n\nexport { getArgumentsMetadata } from \"./metadata/get-arguments-metadata.js\";\nexport { getCliMetadata } from \"./metadata/get-cli-metadata.js\";\nexport { getOptionsMetadata } from \"./metadata/get-options-metadata.js\";\nexport { getSubcommandsMetadata } from \"./metadata/get-subcommands-metadata.js\";\n\nexport { generateMarkdown } from \"./markdown/generate-markdown.js\";\n\nexport type * from \"./metadata/metadata-types.js\";\nexport type * from \"./types.js\";\n"],"mappings":"q1FAuEA,IAAAA,UAAA,CAAAC,OAAA,kCAMA,IAAAC,OAAA,CAAAD,OAAA,8BAEA,IAAAE,UAAA,CAAAF,OAAA,4BACA,IAAAG,YAAA,CAAAH,OAAA,8BAEA,IAAAI,aAAA,CAAAJ,OAAA,wBAEA,IAAAK,uBAAA,CAAAL,OAAA,wDACA,IAAAM,6BAAA,CAAAN,OAAA,8DACA,IAAAO,sBAAA,CAAAP,OAAA,uDAEA,IAAAQ,qBAAA,CAAAR,OAAA,0CACA,IAAAS,eAAA,CAAAT,OAAA,oCACA,IAAAU,mBAAA,CAAAV,OAAA,wCACA,IAAAW,uBAAA,CAAAX,OAAA,4CAEA,IAAAY,iBAAA,CAAAZ,OAAA,qCAlEO,QAAS,CAAAa,SAASA,CAAsBC,KAAiC,CAAE,CAChF,KAAM,CAAAC,SAAS,CAAIC,MAA0B,EAAK,CAChD,GAAI,MAAO,CAAAF,KAAK,GAAK,QAAQ,CAAE,OAC/BA,KAAK,CAACE,MAAM,CAAGA,MACjB,CAAC,CAED,KAAM,CAAAC,oBAAoB,CAAIC,IAA2B,EAAK,CAC5D,GAAI,MAAO,CAAAJ,KAAK,GAAK,QAAQ,CAAE,OAC/BA,KAAK,CAACK,aAAa,CAAGD,IACxB,CAAC,CAED,MAAO,CAAAE,MAAM,CAACC,MAAM,CAACP,KAAK,CAAE,CAAEC,SAAS,CAAEE,oBAAqB,CAAC,CACjE,CAEO,QAAS,CAAAK,gBAAgBA,CAA6BR,KAAiC,CAAE,CAC9F,KAAM,CAAAC,SAAS,CAAIC,MAA0B,EAAK,CAChD,GAAI,MAAO,CAAAF,KAAK,GAAK,QAAQ,CAAE,OAC/BA,KAAK,CAACE,MAAM,CAAGA,MACjB,CAAC,CAED,KAAM,CAAAC,oBAAoB,CAAIC,IAA2B,EAAK,CAC5D,GAAI,MAAO,CAAAJ,KAAK,GAAK,QAAQ,CAAE,OAC/BA,KAAK,CAACK,aAAa,CAAGD,IACxB,CAAC,CAED,MAAO,CAAAE,MAAM,CAACC,MAAM,CAACP,KAAK,CAAE,CAAEC,SAAS,CAAEE,oBAAqB,CAAC,CACjE,CAMO,QAAS,CAAAM,aAAaA,CAAwCC,OAA6B,CAAE,CAClG,MAAO,CAAAA,OACT,CAMO,QAAS,CAAAC,eAAeA,CAA4CC,UAAkC,CAAE,CAC7G,MAAO,CAAAA,UACT","ignoreList":[]}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.generateMarkdown=generateMarkdown;var _getCliMetadata=require("../metadata/get-cli-metadata.cjs");function generateMarkdown(...parameters){const metadata=(0,_getCliMetadata.getCliMetadata)(parameters);let md="<!-- Auto-generated by zod-args-parser -->\n\n";md+=`# ${metadata.name}\n\n`;if(metadata.description){md+=`${metadata.description}\n`}if(metadata.example){md+=renderExamples(metadata.example)}if(metadata.options.length>0){md+="\n## Options:\n\n";md+=renderOptions(metadata.options,3)}if(metadata.arguments.length>0){md+="\n## Arguments:\n\n";md+=renderArguments(metadata.arguments,3)}if(metadata.subcommands.length>0){md+="\n## Subcommands:\n\n";md+=renderSubcommands(metadata.subcommands)}md=stripAnsi(md);md=escapeHtmlTags(md);return md}function renderExamples(examples,list=false){let outString="";const lang="bash";const listIndent=" ".repeat(list?2:0);outString+="\n"+(list?"- ":"");outString+="```"+lang+"\n";outString+=listIndent+examples.replace(/\n/g,"\n"+listIndent);outString+="\n"+listIndent+"```\n";return outString}function renderOptions(optionsMetadata=[],h){let outString="";for(let index=0;index<optionsMetadata.length;index++){const metadata=optionsMetadata[index];const aliases=[metadata.nameAsArg].concat(metadata.aliasesAsArgs).join(", ");const placeholder=metadata.placeholder&&` ${metadata.placeholder}`;outString+=`${"#".repeat(h)} \`${aliases+placeholder}\``;if(metadata.optional){outString+=" **[optional]**"}outString+="\n\n";if(metadata.description){outString+=`- ${metadata.description.replace(/(\n+)/g," $1 ")}\n`}if(metadata.defaultValue!==undefined){outString+=`- **default:** \`${metadata.defaultValueAsString}\`\n`}if(metadata.example){outString+=renderExamples(metadata.example,true)}if(index<optionsMetadata.length-1){outString+="\n"}}return outString}function renderArguments(argumentsMetadata=[],h){let outString="";for(let index=0;index<argumentsMetadata.length;index++){const metadata=argumentsMetadata[index];outString+=`${"#".repeat(h)} \`${metadata.name}\``;if(metadata.optional){outString+=" **[optional]**"}outString+="\n\n";if(metadata.description){outString+=`- ${metadata.description.replace(/(\n+)/g," $1 ")}\n`}if(metadata.defaultValue!==undefined){outString+=`- **default:** \`${metadata.defaultValueAsString}\`\n`}if(metadata.example){outString+=renderExamples(metadata.example)}if(index<argumentsMetadata.length-1){outString+="\n"}}return outString}function renderSubcommands(subcommandsMetadata){let outString="";for(let index=0;index<subcommandsMetadata.length;index++){const metadata=subcommandsMetadata[index];const aliases=[metadata.name].concat(metadata.aliases).join(", ");const placeholder=metadata.placeholder&&` ${metadata.placeholder}`;outString+=`### ${aliases+placeholder}\n\n`;if(metadata.description){outString+=`${metadata.description}\n`}if(metadata.example){outString+=renderExamples(metadata.example)}if(metadata.options.length>0){outString+="\n#### Options:\n\n";outString+=renderOptions(metadata.options,4)}if(metadata.arguments.length>0){outString+="\n#### Arguments:\n\n";outString+=renderArguments(metadata.arguments,4)}if(index<subcommandsMetadata.length-1){outString+="\n---\n\n"}}return outString}function escapeHtmlTags(markdown){return markdown.replace(/(```[\s\S]*?```|`[^`]*`)|(<[^>]+>)/g,(_,code,html)=>{if(code){return code}return html.replace(/[&<>]/g,match=>{return{"&":"&amp;","<":"&lt;",">":"&gt;"}[match]})})}function ansiRegex({onlyFirst=false}={}){const ST=String.raw`(?:\u0007|\u001B\u005C|\u009C)`;const osc=`(?:\\u001B\\][\\s\\S]*?${ST})`;const csi=String.raw`[\u001B\u009B][[\]()#;?]*(?:\d{1,4}(?:[;:]\d{0,4})*)?[\dA-PR-TZcf-nq-uy=><~]`;const pattern=`${osc}|${csi}`;return new RegExp(pattern,onlyFirst?undefined:"g")}const regex=ansiRegex();function stripAnsi(string){return string.replace(regex,"")}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_getCliMetadata","require","generateMarkdown","parameters","metadata","getCliMetadata","md","name","description","example","renderExamples","options","length","renderOptions","arguments","renderArguments","subcommands","renderSubcommands","stripAnsi","escapeHtmlTags","examples","list","outString","lang","listIndent","repeat","replace","optionsMetadata","h","index","aliases","nameAsArg","concat","aliasesAsArgs","join","placeholder","optional","defaultValue","undefined","defaultValueAsString","argumentsMetadata","subcommandsMetadata","markdown","_","code","html","match","ansiRegex","onlyFirst","ST","String","raw","osc","csi","pattern","RegExp","regex","string"],"sourceRoot":"../../../src/markdown","sources":["generate-markdown.ts"],"sourcesContent":["import { getCliMetadata } from \"../metadata/get-cli-metadata.js\";\n\nimport type { ArgumentMetadata, OptionMetadata, SubcommandMetadata } from \"../metadata/metadata-types.js\";\nimport type { Cli, Subcommand } from \"../types.js\";\n\nexport function generateMarkdown(...parameters: [Cli, ...Subcommand[]]): string {\n const metadata = getCliMetadata(parameters);\n\n let md = \"<!-- Auto-generated by zod-args-parser -->\\n\\n\";\n\n // Title\n md += `# ${metadata.name}\\n\\n`;\n\n // Description\n if (metadata.description) {\n md += `${metadata.description}\\n`;\n }\n\n // Examples\n if (metadata.example) {\n md += renderExamples(metadata.example);\n }\n\n // Options\n if (metadata.options.length > 0) {\n md += \"\\n## Options:\\n\\n\";\n md += renderOptions(metadata.options, 3);\n }\n\n // Arguments\n if (metadata.arguments.length > 0) {\n md += \"\\n## Arguments:\\n\\n\";\n md += renderArguments(metadata.arguments, 3);\n }\n\n // Subcommands\n if (metadata.subcommands.length > 0) {\n md += \"\\n## Subcommands:\\n\\n\";\n md += renderSubcommands(metadata.subcommands);\n }\n\n md = stripAnsi(md);\n md = escapeHtmlTags(md);\n\n return md;\n}\n\nfunction renderExamples(examples: string, list = false) {\n let outString = \"\";\n\n const lang = \"bash\";\n\n const listIndent = \" \".repeat(list ? 2 : 0);\n\n outString += \"\\n\" + (list ? \"- \" : \"\");\n\n outString += \"```\" + lang + \"\\n\";\n outString += listIndent + examples.replace(/\\n/g, \"\\n\" + listIndent);\n outString += \"\\n\" + listIndent + \"```\\n\";\n\n return outString;\n}\n\nfunction renderOptions(optionsMetadata: OptionMetadata[] = [], h: number) {\n let outString = \"\";\n\n for (let index = 0; index < optionsMetadata.length; index++) {\n const metadata = optionsMetadata[index];\n\n const aliases = [metadata.nameAsArg].concat(metadata.aliasesAsArgs).join(\", \");\n\n const placeholder = metadata.placeholder && ` ${metadata.placeholder}`;\n\n outString += `${\"#\".repeat(h)} \\`${aliases + placeholder}\\``;\n\n if (metadata.optional) {\n outString += \" **[optional]**\";\n }\n\n outString += \"\\n\\n\";\n\n if (metadata.description) {\n outString += `- ${metadata.description.replace(/(\\n+)/g, \" $1 \")}\\n`;\n }\n\n if (metadata.defaultValue !== undefined) {\n outString += `- **default:** \\`${metadata.defaultValueAsString}\\`\\n`;\n }\n\n if (metadata.example) {\n outString += renderExamples(metadata.example, true);\n }\n\n if (index < optionsMetadata.length - 1) {\n outString += \"\\n\";\n }\n }\n\n return outString;\n}\n\nfunction renderArguments(argumentsMetadata: ArgumentMetadata[] = [], h: number) {\n let outString = \"\";\n\n for (let index = 0; index < argumentsMetadata.length; index++) {\n const metadata = argumentsMetadata[index];\n\n outString += `${\"#\".repeat(h)} \\`${metadata.name}\\``;\n\n if (metadata.optional) {\n outString += \" **[optional]**\";\n }\n\n outString += \"\\n\\n\";\n\n if (metadata.description) {\n outString += `- ${metadata.description.replace(/(\\n+)/g, \" $1 \")}\\n`;\n }\n\n if (metadata.defaultValue !== undefined) {\n outString += `- **default:** \\`${metadata.defaultValueAsString}\\`\\n`;\n }\n\n if (metadata.example) {\n outString += renderExamples(metadata.example);\n }\n\n if (index < argumentsMetadata.length - 1) {\n outString += \"\\n\";\n }\n }\n\n return outString;\n}\n\nfunction renderSubcommands(subcommandsMetadata: SubcommandMetadata[]) {\n let outString = \"\";\n\n for (let index = 0; index < subcommandsMetadata.length; index++) {\n const metadata = subcommandsMetadata[index];\n\n const aliases = [metadata.name].concat(metadata.aliases).join(\", \");\n\n const placeholder = metadata.placeholder && ` ${metadata.placeholder}`;\n\n outString += `### ${aliases + placeholder}\\n\\n`;\n\n if (metadata.description) {\n outString += `${metadata.description}\\n`;\n }\n\n if (metadata.example) {\n outString += renderExamples(metadata.example);\n }\n\n if (metadata.options.length > 0) {\n outString += \"\\n#### Options:\\n\\n\";\n outString += renderOptions(metadata.options, 4);\n }\n\n if (metadata.arguments.length > 0) {\n outString += \"\\n#### Arguments:\\n\\n\";\n outString += renderArguments(metadata.arguments, 4);\n }\n\n if (index < subcommandsMetadata.length - 1) {\n outString += \"\\n---\\n\\n\";\n }\n }\n\n return outString;\n}\n\nfunction escapeHtmlTags(markdown: string) {\n return markdown.replace(/(```[\\s\\S]*?```|`[^`]*`)|(<[^>]+>)/g, (_: string, code: string, html: string) => {\n if (code) {\n return code;\n }\n\n return html.replace(/[&<>]/g, match => {\n return { \"&\": \"&amp;\", \"<\": \"&lt;\", \">\": \"&gt;\" }[match as \"&\" | \"<\" | \">\"];\n });\n });\n}\n\n/** Credits: https://github.com/chalk/ansi-regex */\nfunction ansiRegex({ onlyFirst = false } = {}) {\n // Valid string terminator sequences are BEL, ESC\\, and 0x9c\n const ST = String.raw`(?:\\u0007|\\u001B\\u005C|\\u009C)`;\n\n // OSC sequences only: ESC ] ... ST (non-greedy until the first ST)\n const osc = `(?:\\\\u001B\\\\][\\\\s\\\\S]*?${ST})`;\n\n // CSI and related: ESC/C1, optional intermediates, optional params (supports ; and :) then final byte\n const csi = String.raw`[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]`;\n\n const pattern = `${osc}|${csi}`;\n\n return new RegExp(pattern, onlyFirst ? undefined : \"g\");\n}\n\nconst regex = ansiRegex();\n\nfunction stripAnsi(string: string): string {\n return string.replace(regex, \"\");\n}\n"],"mappings":"gHAAA,IAAAA,eAAA,CAAAC,OAAA,qCAKO,QAAS,CAAAC,gBAAgBA,CAAC,GAAGC,UAAkC,CAAU,CAC9E,KAAM,CAAAC,QAAQ,CAAG,GAAAC,8BAAc,EAACF,UAAU,CAAC,CAE3C,GAAI,CAAAG,EAAE,CAAG,gDAAgD,CAGzDA,EAAE,EAAI,KAAKF,QAAQ,CAACG,IAAI,MAAM,CAG9B,GAAIH,QAAQ,CAACI,WAAW,CAAE,CACxBF,EAAE,EAAI,GAAGF,QAAQ,CAACI,WAAW,IAC/B,CAGA,GAAIJ,QAAQ,CAACK,OAAO,CAAE,CACpBH,EAAE,EAAII,cAAc,CAACN,QAAQ,CAACK,OAAO,CACvC,CAGA,GAAIL,QAAQ,CAACO,OAAO,CAACC,MAAM,CAAG,CAAC,CAAE,CAC/BN,EAAE,EAAI,mBAAmB,CACzBA,EAAE,EAAIO,aAAa,CAACT,QAAQ,CAACO,OAAO,CAAE,CAAC,CACzC,CAGA,GAAIP,QAAQ,CAACU,SAAS,CAACF,MAAM,CAAG,CAAC,CAAE,CACjCN,EAAE,EAAI,qBAAqB,CAC3BA,EAAE,EAAIS,eAAe,CAACX,QAAQ,CAACU,SAAS,CAAE,CAAC,CAC7C,CAGA,GAAIV,QAAQ,CAACY,WAAW,CAACJ,MAAM,CAAG,CAAC,CAAE,CACnCN,EAAE,EAAI,uBAAuB,CAC7BA,EAAE,EAAIW,iBAAiB,CAACb,QAAQ,CAACY,WAAW,CAC9C,CAEAV,EAAE,CAAGY,SAAS,CAACZ,EAAE,CAAC,CAClBA,EAAE,CAAGa,cAAc,CAACb,EAAE,CAAC,CAEvB,MAAO,CAAAA,EACT,CAEA,QAAS,CAAAI,cAAcA,CAACU,QAAgB,CAAEC,IAAI,CAAG,KAAK,CAAE,CACtD,GAAI,CAAAC,SAAS,CAAG,EAAE,CAElB,KAAM,CAAAC,IAAI,CAAG,MAAM,CAEnB,KAAM,CAAAC,UAAU,CAAG,GAAG,CAACC,MAAM,CAACJ,IAAI,CAAG,CAAC,CAAG,CAAC,CAAC,CAE3CC,SAAS,EAAI,IAAI,EAAID,IAAI,CAAG,IAAI,CAAG,EAAE,CAAC,CAEtCC,SAAS,EAAI,KAAK,CAAGC,IAAI,CAAG,IAAI,CAChCD,SAAS,EAAIE,UAAU,CAAGJ,QAAQ,CAACM,OAAO,CAAC,KAAK,CAAE,IAAI,CAAGF,UAAU,CAAC,CACpEF,SAAS,EAAI,IAAI,CAAGE,UAAU,CAAG,OAAO,CAExC,MAAO,CAAAF,SACT,CAEA,QAAS,CAAAT,aAAaA,CAACc,eAAiC,CAAG,EAAE,CAAEC,CAAS,CAAE,CACxE,GAAI,CAAAN,SAAS,CAAG,EAAE,CAElB,IAAK,GAAI,CAAAO,KAAK,CAAG,CAAC,CAAEA,KAAK,CAAGF,eAAe,CAACf,MAAM,CAAEiB,KAAK,EAAE,CAAE,CAC3D,KAAM,CAAAzB,QAAQ,CAAGuB,eAAe,CAACE,KAAK,CAAC,CAEvC,KAAM,CAAAC,OAAO,CAAG,CAAC1B,QAAQ,CAAC2B,SAAS,CAAC,CAACC,MAAM,CAAC5B,QAAQ,CAAC6B,aAAa,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,CAE9E,KAAM,CAAAC,WAAW,CAAG/B,QAAQ,CAAC+B,WAAW,EAAI,IAAI/B,QAAQ,CAAC+B,WAAW,EAAE,CAEtEb,SAAS,EAAI,GAAG,GAAG,CAACG,MAAM,CAACG,CAAC,CAAC,MAAME,OAAO,CAAGK,WAAW,IAAI,CAE5D,GAAI/B,QAAQ,CAACgC,QAAQ,CAAE,CACrBd,SAAS,EAAI,iBACf,CAEAA,SAAS,EAAI,MAAM,CAEnB,GAAIlB,QAAQ,CAACI,WAAW,CAAE,CACxBc,SAAS,EAAI,KAAKlB,QAAQ,CAACI,WAAW,CAACkB,OAAO,CAAC,QAAQ,CAAE,QAAQ,CAAC,IACpE,CAEA,GAAItB,QAAQ,CAACiC,YAAY,GAAKC,SAAS,CAAE,CACvChB,SAAS,EAAI,oBAAoBlB,QAAQ,CAACmC,oBAAoB,MAChE,CAEA,GAAInC,QAAQ,CAACK,OAAO,CAAE,CACpBa,SAAS,EAAIZ,cAAc,CAACN,QAAQ,CAACK,OAAO,CAAE,IAAI,CACpD,CAEA,GAAIoB,KAAK,CAAGF,eAAe,CAACf,MAAM,CAAG,CAAC,CAAE,CACtCU,SAAS,EAAI,IACf,CACF,CAEA,MAAO,CAAAA,SACT,CAEA,QAAS,CAAAP,eAAeA,CAACyB,iBAAqC,CAAG,EAAE,CAAEZ,CAAS,CAAE,CAC9E,GAAI,CAAAN,SAAS,CAAG,EAAE,CAElB,IAAK,GAAI,CAAAO,KAAK,CAAG,CAAC,CAAEA,KAAK,CAAGW,iBAAiB,CAAC5B,MAAM,CAAEiB,KAAK,EAAE,CAAE,CAC7D,KAAM,CAAAzB,QAAQ,CAAGoC,iBAAiB,CAACX,KAAK,CAAC,CAEzCP,SAAS,EAAI,GAAG,GAAG,CAACG,MAAM,CAACG,CAAC,CAAC,MAAMxB,QAAQ,CAACG,IAAI,IAAI,CAEpD,GAAIH,QAAQ,CAACgC,QAAQ,CAAE,CACrBd,SAAS,EAAI,iBACf,CAEAA,SAAS,EAAI,MAAM,CAEnB,GAAIlB,QAAQ,CAACI,WAAW,CAAE,CACxBc,SAAS,EAAI,KAAKlB,QAAQ,CAACI,WAAW,CAACkB,OAAO,CAAC,QAAQ,CAAE,QAAQ,CAAC,IACpE,CAEA,GAAItB,QAAQ,CAACiC,YAAY,GAAKC,SAAS,CAAE,CACvChB,SAAS,EAAI,oBAAoBlB,QAAQ,CAACmC,oBAAoB,MAChE,CAEA,GAAInC,QAAQ,CAACK,OAAO,CAAE,CACpBa,SAAS,EAAIZ,cAAc,CAACN,QAAQ,CAACK,OAAO,CAC9C,CAEA,GAAIoB,KAAK,CAAGW,iBAAiB,CAAC5B,MAAM,CAAG,CAAC,CAAE,CACxCU,SAAS,EAAI,IACf,CACF,CAEA,MAAO,CAAAA,SACT,CAEA,QAAS,CAAAL,iBAAiBA,CAACwB,mBAAyC,CAAE,CACpE,GAAI,CAAAnB,SAAS,CAAG,EAAE,CAElB,IAAK,GAAI,CAAAO,KAAK,CAAG,CAAC,CAAEA,KAAK,CAAGY,mBAAmB,CAAC7B,MAAM,CAAEiB,KAAK,EAAE,CAAE,CAC/D,KAAM,CAAAzB,QAAQ,CAAGqC,mBAAmB,CAACZ,KAAK,CAAC,CAE3C,KAAM,CAAAC,OAAO,CAAG,CAAC1B,QAAQ,CAACG,IAAI,CAAC,CAACyB,MAAM,CAAC5B,QAAQ,CAAC0B,OAAO,CAAC,CAACI,IAAI,CAAC,IAAI,CAAC,CAEnE,KAAM,CAAAC,WAAW,CAAG/B,QAAQ,CAAC+B,WAAW,EAAI,IAAI/B,QAAQ,CAAC+B,WAAW,EAAE,CAEtEb,SAAS,EAAI,OAAOQ,OAAO,CAAGK,WAAW,MAAM,CAE/C,GAAI/B,QAAQ,CAACI,WAAW,CAAE,CACxBc,SAAS,EAAI,GAAGlB,QAAQ,CAACI,WAAW,IACtC,CAEA,GAAIJ,QAAQ,CAACK,OAAO,CAAE,CACpBa,SAAS,EAAIZ,cAAc,CAACN,QAAQ,CAACK,OAAO,CAC9C,CAEA,GAAIL,QAAQ,CAACO,OAAO,CAACC,MAAM,CAAG,CAAC,CAAE,CAC/BU,SAAS,EAAI,qBAAqB,CAClCA,SAAS,EAAIT,aAAa,CAACT,QAAQ,CAACO,OAAO,CAAE,CAAC,CAChD,CAEA,GAAIP,QAAQ,CAACU,SAAS,CAACF,MAAM,CAAG,CAAC,CAAE,CACjCU,SAAS,EAAI,uBAAuB,CACpCA,SAAS,EAAIP,eAAe,CAACX,QAAQ,CAACU,SAAS,CAAE,CAAC,CACpD,CAEA,GAAIe,KAAK,CAAGY,mBAAmB,CAAC7B,MAAM,CAAG,CAAC,CAAE,CAC1CU,SAAS,EAAI,WACf,CACF,CAEA,MAAO,CAAAA,SACT,CAEA,QAAS,CAAAH,cAAcA,CAACuB,QAAgB,CAAE,CACxC,MAAO,CAAAA,QAAQ,CAAChB,OAAO,CAAC,qCAAqC,CAAE,CAACiB,CAAS,CAAEC,IAAY,CAAEC,IAAY,GAAK,CACxG,GAAID,IAAI,CAAE,CACR,MAAO,CAAAA,IACT,CAEA,MAAO,CAAAC,IAAI,CAACnB,OAAO,CAAC,QAAQ,CAAEoB,KAAK,EAAI,CACrC,MAAO,CAAE,GAAG,CAAE,OAAO,CAAE,GAAG,CAAE,MAAM,CAAE,GAAG,CAAE,MAAO,CAAC,CAACA,KAAK,CACzD,CAAC,CACH,CAAC,CACH,CAGA,QAAS,CAAAC,SAASA,CAAC,CAAEC,SAAS,CAAG,KAAM,CAAC,CAAG,CAAC,CAAC,CAAE,CAE7C,KAAM,CAAAC,EAAE,CAAGC,MAAM,CAACC,GAAG,gCAAgC,CAGrD,KAAM,CAAAC,GAAG,CAAG,0BAA0BH,EAAE,GAAG,CAG3C,KAAM,CAAAI,GAAG,CAAGH,MAAM,CAACC,GAAG,8EAA8E,CAEpG,KAAM,CAAAG,OAAO,CAAG,GAAGF,GAAG,IAAIC,GAAG,EAAE,CAE/B,MAAO,IAAI,CAAAE,MAAM,CAACD,OAAO,CAAEN,SAAS,CAAGV,SAAS,CAAG,GAAG,CACxD,CAEA,KAAM,CAAAkB,KAAK,CAAGT,SAAS,CAAC,CAAC,CAEzB,QAAS,CAAA7B,SAASA,CAACuC,MAAc,CAAU,CACzC,MAAO,CAAAA,MAAM,CAAC/B,OAAO,CAAC8B,KAAK,CAAE,EAAE,CACjC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getArgumentsMetadata=getArgumentsMetadata;var _utilities=require("../utilities.cjs");var _zodUtilities=require("../zod-utilities.cjs");function getArgumentsMetadata(arguments_){const outputMetadata=[];for(const argument of arguments_){const defaultValue=(0,_zodUtilities.schemaDefaultValue)(argument.type);outputMetadata.push({name:argument.name,description:argument.description??(0,_zodUtilities.schemaDescription)(argument.type)??"",defaultValue,defaultValueAsString:(0,_utilities.stringifyValue)(defaultValue),optional:(0,_zodUtilities.isOptionalSchema)(argument.type),example:argument.example??"",type:argument.type})}return outputMetadata}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_utilities","require","_zodUtilities","getArgumentsMetadata","arguments_","outputMetadata","argument","defaultValue","schemaDefaultValue","type","push","name","description","schemaDescription","defaultValueAsString","stringifyValue","optional","isOptionalSchema","example"],"sourceRoot":"../../../src/metadata","sources":["get-arguments-metadata.ts"],"sourcesContent":["import { stringifyValue } from \"../utilities.js\";\nimport { isOptionalSchema, schemaDefaultValue, schemaDescription } from \"../zod-utilities.js\";\n\nimport type { Argument } from \"../types.js\";\nimport type { ArgumentMetadata } from \"./metadata-types.js\";\n\nexport function getArgumentsMetadata(arguments_: Argument[]): ArgumentMetadata[] {\n const outputMetadata: ArgumentMetadata[] = [];\n\n for (const argument of arguments_) {\n const defaultValue = schemaDefaultValue(argument.type);\n\n outputMetadata.push({\n name: argument.name,\n description: argument.description ?? schemaDescription(argument.type) ?? \"\",\n defaultValue,\n defaultValueAsString: stringifyValue(defaultValue),\n optional: isOptionalSchema(argument.type),\n example: argument.example ?? \"\",\n type: argument.type,\n });\n }\n\n return outputMetadata;\n}\n"],"mappings":"wHAAA,IAAAA,UAAA,CAAAC,OAAA,qBACA,IAAAC,aAAA,CAAAD,OAAA,yBAKO,QAAS,CAAAE,oBAAoBA,CAACC,UAAsB,CAAsB,CAC/E,KAAM,CAAAC,cAAkC,CAAG,EAAE,CAE7C,IAAK,KAAM,CAAAC,QAAQ,GAAI,CAAAF,UAAU,CAAE,CACjC,KAAM,CAAAG,YAAY,CAAG,GAAAC,gCAAkB,EAACF,QAAQ,CAACG,IAAI,CAAC,CAEtDJ,cAAc,CAACK,IAAI,CAAC,CAClBC,IAAI,CAAEL,QAAQ,CAACK,IAAI,CACnBC,WAAW,CAAEN,QAAQ,CAACM,WAAW,EAAI,GAAAC,+BAAiB,EAACP,QAAQ,CAACG,IAAI,CAAC,EAAI,EAAE,CAC3EF,YAAY,CACZO,oBAAoB,CAAE,GAAAC,yBAAc,EAACR,YAAY,CAAC,CAClDS,QAAQ,CAAE,GAAAC,8BAAgB,EAACX,QAAQ,CAACG,IAAI,CAAC,CACzCS,OAAO,CAAEZ,QAAQ,CAACY,OAAO,EAAI,EAAE,CAC/BT,IAAI,CAAEH,QAAQ,CAACG,IACjB,CAAC,CACH,CAEA,MAAO,CAAAJ,cACT","ignoreList":[]}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getCliMetadata=getCliMetadata;var _getArgumentsMetadata=require("./get-arguments-metadata.cjs");var _getOptionsMetadata=require("./get-options-metadata.cjs");var _getSubcommandsMetadata=require("./get-subcommands-metadata.cjs");function getCliMetadata(inputData){const[cli,...subcommands]=inputData;const outputMetadata={name:cli.cliName,description:cli.description??"",usage:cli.usage??"",example:cli.example??"",allowPositional:cli.allowPositional??false,options:cli.options?(0,_getOptionsMetadata.getOptionsMetadata)(cli.options):[],arguments:cli.arguments?(0,_getArgumentsMetadata.getArgumentsMetadata)(cli.arguments):[],subcommands:subcommands?(0,_getSubcommandsMetadata.getSubcommandsMetadata)(subcommands):[]};return outputMetadata}
@@ -1 +1 @@
1
- {"version":3,"names":["_getArgumentsMetadata","require","_getOptionsMetadata","_getSubcommandsMetadata","getCliMetadata","inputData","cli","subcommands","outputMetadata","name","cliName","description","usage","example","allowPositional","options","getOptionsMetadata","arguments","getArgumentsMetadata","getSubcommandsMetadata"],"sourceRoot":"../../../src/metadata","sources":["get-cli-metadata.ts"],"sourcesContent":["import { getArgumentsMetadata } from \"./get-arguments-metadata.js\";\nimport { getOptionsMetadata } from \"./get-options-metadata.js\";\nimport { getSubcommandsMetadata } from \"./get-subcommands-metadata.js\";\n\nimport type { Cli, Subcommand } from \"../types.js\";\nimport type { CliMetadata } from \"./metadata-types.js\";\n\nexport function getCliMetadata(inputData: readonly [Cli, ...Subcommand[]]): CliMetadata {\n const [cli, ...subcommands] = inputData;\n\n const outputMetadata: CliMetadata = {\n name: cli.cliName,\n description: cli.description ?? \"\",\n usage: cli.usage ?? \"\",\n example: cli.example ?? \"\",\n allowPositional: cli.allowPositional ?? false,\n options: cli.options ? getOptionsMetadata(cli.options) : [],\n arguments: cli.arguments ? getArgumentsMetadata(cli.arguments) : [],\n subcommands: subcommands ? getSubcommandsMetadata(subcommands) : [],\n };\n\n return outputMetadata;\n}\n"],"mappings":"4GAAA,IAAAA,qBAAA,CAAAC,OAAA,gCACA,IAAAC,mBAAA,CAAAD,OAAA,8BACA,IAAAE,uBAAA,CAAAF,OAAA,kCAKO,QAAS,CAAAG,cAAcA,CAACC,SAA0C,CAAe,CACtF,KAAM,CAACC,GAAG,CAAE,GAAGC,WAAW,CAAC,CAAGF,SAAS,CAEvC,KAAM,CAAAG,cAA2B,CAAG,CAClCC,IAAI,CAAEH,GAAG,CAACI,OAAO,CACjBC,WAAW,CAAEL,GAAG,CAACK,WAAW,EAAI,EAAE,CAClCC,KAAK,CAAEN,GAAG,CAACM,KAAK,EAAI,EAAE,CACtBC,OAAO,CAAEP,GAAG,CAACO,OAAO,EAAI,EAAE,CAC1BC,eAAe,CAAER,GAAG,CAACQ,eAAe,EAAI,KAAK,CAC7CC,OAAO,CAAET,GAAG,CAACS,OAAO,CAAG,GAAAC,sCAAkB,EAACV,GAAG,CAACS,OAAO,CAAC,CAAG,EAAE,CAC3DE,SAAS,CAAEX,GAAG,CAACW,SAAS,CAAG,GAAAC,0CAAoB,EAACZ,GAAG,CAACW,SAAS,CAAC,CAAG,EAAE,CACnEV,WAAW,CAAEA,WAAW,CAAG,GAAAY,8CAAsB,EAACZ,WAAW,CAAC,CAAG,EACnE,CAAC,CAED,MAAO,CAAAC,cAAc,CACvB","ignoreList":[]}
1
+ {"version":3,"names":["_getArgumentsMetadata","require","_getOptionsMetadata","_getSubcommandsMetadata","getCliMetadata","inputData","cli","subcommands","outputMetadata","name","cliName","description","usage","example","allowPositional","options","getOptionsMetadata","arguments","getArgumentsMetadata","getSubcommandsMetadata"],"sourceRoot":"../../../src/metadata","sources":["get-cli-metadata.ts"],"sourcesContent":["import { getArgumentsMetadata } from \"./get-arguments-metadata.js\";\nimport { getOptionsMetadata } from \"./get-options-metadata.js\";\nimport { getSubcommandsMetadata } from \"./get-subcommands-metadata.js\";\n\nimport type { Cli, Subcommand } from \"../types.js\";\nimport type { CliMetadata } from \"./metadata-types.js\";\n\nexport function getCliMetadata(inputData: readonly [Cli, ...Subcommand[]]): CliMetadata {\n const [cli, ...subcommands] = inputData;\n\n const outputMetadata: CliMetadata = {\n name: cli.cliName,\n description: cli.description ?? \"\",\n usage: cli.usage ?? \"\",\n example: cli.example ?? \"\",\n allowPositional: cli.allowPositional ?? false,\n options: cli.options ? getOptionsMetadata(cli.options) : [],\n arguments: cli.arguments ? getArgumentsMetadata(cli.arguments) : [],\n subcommands: subcommands ? getSubcommandsMetadata(subcommands) : [],\n };\n\n return outputMetadata;\n}\n"],"mappings":"4GAAA,IAAAA,qBAAA,CAAAC,OAAA,iCACA,IAAAC,mBAAA,CAAAD,OAAA,+BACA,IAAAE,uBAAA,CAAAF,OAAA,mCAKO,QAAS,CAAAG,cAAcA,CAACC,SAA0C,CAAe,CACtF,KAAM,CAACC,GAAG,CAAE,GAAGC,WAAW,CAAC,CAAGF,SAAS,CAEvC,KAAM,CAAAG,cAA2B,CAAG,CAClCC,IAAI,CAAEH,GAAG,CAACI,OAAO,CACjBC,WAAW,CAAEL,GAAG,CAACK,WAAW,EAAI,EAAE,CAClCC,KAAK,CAAEN,GAAG,CAACM,KAAK,EAAI,EAAE,CACtBC,OAAO,CAAEP,GAAG,CAACO,OAAO,EAAI,EAAE,CAC1BC,eAAe,CAAER,GAAG,CAACQ,eAAe,EAAI,KAAK,CAC7CC,OAAO,CAAET,GAAG,CAACS,OAAO,CAAG,GAAAC,sCAAkB,EAACV,GAAG,CAACS,OAAO,CAAC,CAAG,EAAE,CAC3DE,SAAS,CAAEX,GAAG,CAACW,SAAS,CAAG,GAAAC,0CAAoB,EAACZ,GAAG,CAACW,SAAS,CAAC,CAAG,EAAE,CACnEV,WAAW,CAAEA,WAAW,CAAG,GAAAY,8CAAsB,EAACZ,WAAW,CAAC,CAAG,EACnE,CAAC,CAED,MAAO,CAAAC,cACT","ignoreList":[]}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getOptionsMetadata=getOptionsMetadata;var _parserHelpers=require("../parser/parse/parser-helpers.cjs");var _utilities=require("../utilities.cjs");var _zodUtilities=require("../zod-utilities.cjs");function getOptionsMetadata(options){const outputMetadata=[];if(!options||options.length===0){return outputMetadata}for(const option of options){const defaultValue=(0,_zodUtilities.schemaDefaultValue)(option.type);const aliases=option.aliases??[];outputMetadata.push({name:option.name,nameAsArg:(0,_parserHelpers.transformOptionToArgument)(option.name),aliases,aliasesAsArgs:aliases.map(alias=>(0,_parserHelpers.transformOptionToArgument)(alias)),placeholder:option.placeholder??"",description:option.description??(0,_zodUtilities.schemaDescription)(option.type)??"",optional:(0,_zodUtilities.isOptionalSchema)(option.type),example:option.example??"",defaultValue,defaultValueAsString:(0,_utilities.stringifyValue)(defaultValue),type:option.type})}return outputMetadata}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_parserHelpers","require","_utilities","_zodUtilities","getOptionsMetadata","options","outputMetadata","length","option","defaultValue","schemaDefaultValue","type","aliases","push","name","nameAsArg","transformOptionToArgument","aliasesAsArgs","map","alias","placeholder","description","schemaDescription","optional","isOptionalSchema","example","defaultValueAsString","stringifyValue"],"sourceRoot":"../../../src/metadata","sources":["get-options-metadata.ts"],"sourcesContent":["import { transformOptionToArgument } from \"../parser/parse/parser-helpers.js\";\nimport { stringifyValue } from \"../utilities.js\";\nimport { isOptionalSchema, schemaDefaultValue, schemaDescription } from \"../zod-utilities.js\";\n\nimport type { Option } from \"../types.js\";\nimport type { OptionMetadata } from \"./metadata-types.js\";\n\nexport function getOptionsMetadata(options: Option[]): OptionMetadata[] {\n const outputMetadata: OptionMetadata[] = [];\n\n if (!options || options.length === 0) {\n return outputMetadata;\n }\n\n for (const option of options) {\n const defaultValue = schemaDefaultValue(option.type);\n const aliases = option.aliases ?? [];\n\n outputMetadata.push({\n name: option.name,\n nameAsArg: transformOptionToArgument(option.name),\n aliases,\n aliasesAsArgs: aliases.map(alias => transformOptionToArgument(alias)),\n placeholder: option.placeholder ?? \"\",\n description: option.description ?? schemaDescription(option.type) ?? \"\",\n optional: isOptionalSchema(option.type),\n example: option.example ?? \"\",\n defaultValue,\n defaultValueAsString: stringifyValue(defaultValue),\n type: option.type,\n });\n }\n\n return outputMetadata;\n}\n"],"mappings":"oHAAA,IAAAA,cAAA,CAAAC,OAAA,uCACA,IAAAC,UAAA,CAAAD,OAAA,qBACA,IAAAE,aAAA,CAAAF,OAAA,yBAKO,QAAS,CAAAG,kBAAkBA,CAACC,OAAiB,CAAoB,CACtE,KAAM,CAAAC,cAAgC,CAAG,EAAE,CAE3C,GAAI,CAACD,OAAO,EAAIA,OAAO,CAACE,MAAM,GAAK,CAAC,CAAE,CACpC,MAAO,CAAAD,cACT,CAEA,IAAK,KAAM,CAAAE,MAAM,GAAI,CAAAH,OAAO,CAAE,CAC5B,KAAM,CAAAI,YAAY,CAAG,GAAAC,gCAAkB,EAACF,MAAM,CAACG,IAAI,CAAC,CACpD,KAAM,CAAAC,OAAO,CAAGJ,MAAM,CAACI,OAAO,EAAI,EAAE,CAEpCN,cAAc,CAACO,IAAI,CAAC,CAClBC,IAAI,CAAEN,MAAM,CAACM,IAAI,CACjBC,SAAS,CAAE,GAAAC,wCAAyB,EAACR,MAAM,CAACM,IAAI,CAAC,CACjDF,OAAO,CACPK,aAAa,CAAEL,OAAO,CAACM,GAAG,CAACC,KAAK,EAAI,GAAAH,wCAAyB,EAACG,KAAK,CAAC,CAAC,CACrEC,WAAW,CAAEZ,MAAM,CAACY,WAAW,EAAI,EAAE,CACrCC,WAAW,CAAEb,MAAM,CAACa,WAAW,EAAI,GAAAC,+BAAiB,EAACd,MAAM,CAACG,IAAI,CAAC,EAAI,EAAE,CACvEY,QAAQ,CAAE,GAAAC,8BAAgB,EAAChB,MAAM,CAACG,IAAI,CAAC,CACvCc,OAAO,CAAEjB,MAAM,CAACiB,OAAO,EAAI,EAAE,CAC7BhB,YAAY,CACZiB,oBAAoB,CAAE,GAAAC,yBAAc,EAAClB,YAAY,CAAC,CAClDE,IAAI,CAAEH,MAAM,CAACG,IACf,CAAC,CACH,CAEA,MAAO,CAAAL,cACT","ignoreList":[]}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getSubcommandsMetadata=getSubcommandsMetadata;var _getArgumentsMetadata=require("./get-arguments-metadata.cjs");var _getOptionsMetadata=require("./get-options-metadata.cjs");function getSubcommandsMetadata(subcommands){const outputMetadata=[];if(!subcommands||subcommands.length===0){return outputMetadata}for(const subcommand of subcommands){const optionsMetadata=subcommand.options?(0,_getOptionsMetadata.getOptionsMetadata)(subcommand.options):[];const argumentsMetadata=subcommand.arguments?(0,_getArgumentsMetadata.getArgumentsMetadata)(subcommand.arguments):[];outputMetadata.push({name:subcommand.name,aliases:subcommand.aliases??[],description:subcommand.description??"",placeholder:subcommand.placeholder??"",usage:subcommand.usage??"",example:subcommand.example??"",allowPositional:subcommand.allowPositional??false,options:optionsMetadata,arguments:argumentsMetadata})}return outputMetadata}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_getArgumentsMetadata","require","_getOptionsMetadata","getSubcommandsMetadata","subcommands","outputMetadata","length","subcommand","optionsMetadata","options","getOptionsMetadata","argumentsMetadata","arguments","getArgumentsMetadata","push","name","aliases","description","placeholder","usage","example","allowPositional"],"sourceRoot":"../../../src/metadata","sources":["get-subcommands-metadata.ts"],"sourcesContent":["import { getArgumentsMetadata } from \"./get-arguments-metadata.js\";\nimport { getOptionsMetadata } from \"./get-options-metadata.js\";\n\nimport type { Subcommand } from \"../types.js\";\nimport type { SubcommandMetadata } from \"./metadata-types.js\";\n\nexport function getSubcommandsMetadata(subcommands: Subcommand[]): SubcommandMetadata[] {\n const outputMetadata: SubcommandMetadata[] = [];\n\n if (!subcommands || subcommands.length === 0) {\n return outputMetadata;\n }\n\n for (const subcommand of subcommands) {\n const optionsMetadata = subcommand.options ? getOptionsMetadata(subcommand.options) : [];\n const argumentsMetadata = subcommand.arguments ? getArgumentsMetadata(subcommand.arguments) : [];\n\n outputMetadata.push({\n name: subcommand.name,\n aliases: subcommand.aliases ?? [],\n description: subcommand.description ?? \"\",\n placeholder: subcommand.placeholder ?? \"\",\n usage: subcommand.usage ?? \"\",\n example: subcommand.example ?? \"\",\n allowPositional: subcommand.allowPositional ?? false,\n options: optionsMetadata,\n arguments: argumentsMetadata,\n });\n }\n\n return outputMetadata;\n}\n"],"mappings":"4HAAA,IAAAA,qBAAA,CAAAC,OAAA,iCACA,IAAAC,mBAAA,CAAAD,OAAA,+BAKO,QAAS,CAAAE,sBAAsBA,CAACC,WAAyB,CAAwB,CACtF,KAAM,CAAAC,cAAoC,CAAG,EAAE,CAE/C,GAAI,CAACD,WAAW,EAAIA,WAAW,CAACE,MAAM,GAAK,CAAC,CAAE,CAC5C,MAAO,CAAAD,cACT,CAEA,IAAK,KAAM,CAAAE,UAAU,GAAI,CAAAH,WAAW,CAAE,CACpC,KAAM,CAAAI,eAAe,CAAGD,UAAU,CAACE,OAAO,CAAG,GAAAC,sCAAkB,EAACH,UAAU,CAACE,OAAO,CAAC,CAAG,EAAE,CACxF,KAAM,CAAAE,iBAAiB,CAAGJ,UAAU,CAACK,SAAS,CAAG,GAAAC,0CAAoB,EAACN,UAAU,CAACK,SAAS,CAAC,CAAG,EAAE,CAEhGP,cAAc,CAACS,IAAI,CAAC,CAClBC,IAAI,CAAER,UAAU,CAACQ,IAAI,CACrBC,OAAO,CAAET,UAAU,CAACS,OAAO,EAAI,EAAE,CACjCC,WAAW,CAAEV,UAAU,CAACU,WAAW,EAAI,EAAE,CACzCC,WAAW,CAAEX,UAAU,CAACW,WAAW,EAAI,EAAE,CACzCC,KAAK,CAAEZ,UAAU,CAACY,KAAK,EAAI,EAAE,CAC7BC,OAAO,CAAEb,UAAU,CAACa,OAAO,EAAI,EAAE,CACjCC,eAAe,CAAEd,UAAU,CAACc,eAAe,EAAI,KAAK,CACpDZ,OAAO,CAAED,eAAe,CACxBI,SAAS,CAAED,iBACb,CAAC,CACH,CAEA,MAAO,CAAAN,cACT","ignoreList":[]}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.parse=parse;var _utilities=require("../../utilities.cjs");var _zodUtilities=require("../../zod-utilities.cjs");var _parserHelpers=require("./parser-helpers.cjs");function parse(argv,...parameters){const subcommandArray=parameters;const allSubcommands=new Set(subcommandArray.flatMap(c=>[c.name,...(c.aliases||[])]));argv=(0,_parserHelpers.decoupleFlags)(argv);const results={subcommand:undefined};const getSubcommandObject=()=>(0,_parserHelpers.findSubcommand)(results.subcommand,subcommandArray);for(let index=0;index<argv.length;index++){const argument_=argv[index];if(index===0){results.subcommand=allSubcommands.has(argument_)?argument_:undefined;if(results.subcommand)continue}const argumentAndValue=argument_.split("=").filter(Boolean);const argumentWithEquals=argument_.includes("=");const argument=argumentAndValue[0];const argumentValue=argumentAndValue[1];if((0,_parserHelpers.isOptionArgument)(argument)){if((0,_parserHelpers.isFlagArgument)(argument)&&argumentWithEquals){throw new Error(`Flag arguments cannot be assigned using "=": "${argument_}"`,{cause:"zod-args-parser"})}const subcommandObject=getSubcommandObject();if(!subcommandObject){throw new Error(`Unknown subcommand: "${results.subcommand}"`,{cause:"zod-args-parser"})}if(!subcommandObject.options){if(!results.subcommand){throw new Error(`Error: options are not allowed here: "${argument}"`,{cause:"zod-args-parser"})}throw new Error(`Error: subcommand "${results.subcommand}" does not allow options: "${argument}"`,{cause:"zod-args-parser"})}const option=(0,_parserHelpers.findOption)(argument,subcommandObject.options);if(!option){throw new Error(`Unknown option: "${argument}"`,{cause:"zod-args-parser"})}if(results.options&&option.name in results.options){throw new Error(`Duplicated option: "${argument}"`,{cause:"zod-args-parser"})}const isTypeBoolean=(0,_zodUtilities.isBooleanSchema)(option.type);const nextArgument=argv[index+1];let optionValue=argumentWithEquals?argumentValue:nextArgument;if(isTypeBoolean&&!argumentWithEquals){optionValue="true"}if(optionValue===undefined){throw new Error(`Expected a value for "${argument}" but got nothing`,{cause:"zod-args-parser"})}if(!argumentWithEquals&&(0,_parserHelpers.isOptionArgument)(optionValue)){throw new Error(`Expected a value for "${argument}" but got an argument "${nextArgument}"`,{cause:"zod-args-parser"})}if(!results.options){results.options={}}results.options[option.name]={name:option.name,schema:option.type,flag:argument,rawValue:optionValue.toString(),source:"cli"};if(!argumentWithEquals&&!isTypeBoolean){index++}continue}const subcommandObject=getSubcommandObject();if(subcommandObject?.arguments){if(!results.arguments){results.arguments=[]}const currentArgumentCount=results.arguments.length;if(currentArgumentCount<subcommandObject.arguments.length){const argumentType=subcommandObject.arguments[currentArgumentCount].type;results.arguments.push({schema:argumentType,rawValue:argument_,source:"cli"});continue}}if(subcommandObject?.allowPositional){if(!results.positional){results.positional=[]}results.positional.push(argument_);continue}if(!results.subcommand){throw new Error(`Unexpected argument "${argument_}": positional arguments are not allowed here`,{cause:"zod-args-parser"})}throw new Error(`Unexpected argument "${argument_}": positional arguments are not allowed for subcommand "${results.subcommand}"`,{cause:"zod-args-parser"})}const subcommandObject=getSubcommandObject();if(!subcommandObject){throw new Error(`Unknown subcommand: "${results.subcommand}"`,{cause:"zod-args-parser"})}if(subcommandObject.options){if(!results.options){results.options={}}for(const option of subcommandObject.options){if(results.options&&option.name in results.options)continue;const optional=(0,_zodUtilities.isOptionalSchema)(option.type);const defaultValue=(0,_zodUtilities.schemaDefaultValue)(option.type);if(optional){if(defaultValue===undefined){continue}results.options[option.name]={name:option.name,schema:option.type,source:"default"};continue}throw new Error(`Missing required option: ${(0,_parserHelpers.transformOptionToArgument)(option.name)}`,{cause:"zod-args-parser"})}}if(subcommandObject.arguments){if(!results.arguments){results.arguments=[]}const currentArgumentCount=results.arguments.length??0;const subcommandArgumentCount=subcommandObject.arguments.length;if(currentArgumentCount<subcommandArgumentCount){for(let index=currentArgumentCount;index<subcommandArgumentCount;index++){const argumentType=subcommandObject.arguments[index].type;const optional=(0,_zodUtilities.isOptionalSchema)(argumentType);const defaultValue=(0,_zodUtilities.schemaDefaultValue)(argumentType);if(optional){if(defaultValue===undefined){continue}if(!results.arguments)results.arguments=[];results.arguments.push({schema:argumentType,source:"default"});continue}throw new Error(`the ${(0,_utilities.generateOrdinalSuffix)(index)} argument is required: "${subcommandObject.arguments[index].name}"`,{cause:"zod-args-parser"})}}}if(subcommandObject.allowPositional&&!results.positional){results.positional=[]}return results}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_utilities","require","_zodUtilities","_parserHelpers","parse","argv","parameters","subcommandArray","allSubcommands","Set","flatMap","c","name","aliases","decoupleFlags","results","subcommand","undefined","getSubcommandObject","findSubcommand","index","length","argument_","has","argumentAndValue","split","filter","Boolean","argumentWithEquals","includes","argument","argumentValue","isOptionArgument","isFlagArgument","Error","cause","subcommandObject","options","option","findOption","isTypeBoolean","isBooleanSchema","type","nextArgument","optionValue","schema","flag","rawValue","toString","source","arguments","currentArgumentCount","argumentType","push","allowPositional","positional","optional","isOptionalSchema","defaultValue","schemaDefaultValue","transformOptionToArgument","subcommandArgumentCount","generateOrdinalSuffix"],"sourceRoot":"../../../../src/parser/parse","sources":["parse.ts"],"sourcesContent":["import { generateOrdinalSuffix } from \"../../utilities.js\";\nimport { isBooleanSchema, isOptionalSchema, schemaDefaultValue } from \"../../zod-utilities.js\";\nimport {\n decoupleFlags,\n findOption,\n findSubcommand,\n isFlagArgument,\n isOptionArgument,\n transformOptionToArgument,\n} from \"./parser-helpers.js\";\n\nimport type { Cli, Subcommand } from \"../../types.js\";\nimport type { ParsedContext } from \"./parse-types.js\";\n\nexport function parse(argv: string[], ...parameters: [Cli, ...Subcommand[]]) {\n const subcommandArray = parameters as Subcommand[];\n const allSubcommands = new Set<string>(subcommandArray.flatMap(c => [c.name, ...(c.aliases || [])]));\n\n argv = decoupleFlags(argv); // decouple flags E.g. `-rf` -> `-r, -f`\n\n const results: ParsedContext = {\n subcommand: undefined,\n };\n\n /** - Get current subcommand object */\n const getSubcommandObject = () => findSubcommand(results.subcommand, subcommandArray);\n\n for (let index = 0; index < argv.length; index++) {\n const argument_ = argv[index];\n\n // * Subcommand check\n if (index === 0) {\n results.subcommand = allSubcommands.has(argument_) ? argument_ : undefined;\n\n // First argument is a subcommand. Skip to the next argument\n if (results.subcommand) continue;\n }\n\n // * Option check\n\n // Check for `--option=value` or `--option value`\n const argumentAndValue = argument_.split(\"=\").filter(Boolean);\n const argumentWithEquals = argument_.includes(\"=\");\n const argument = argumentAndValue[0];\n const argumentValue: string | undefined = argumentAndValue[1];\n\n if (isOptionArgument(argument)) {\n if (isFlagArgument(argument) && argumentWithEquals) {\n throw new Error(`Flag arguments cannot be assigned using \"=\": \"${argument_}\"`, { cause: \"zod-args-parser\" });\n }\n\n const subcommandObject = getSubcommandObject();\n if (!subcommandObject) {\n throw new Error(`Unknown subcommand: \"${results.subcommand}\"`, { cause: \"zod-args-parser\" });\n }\n\n if (!subcommandObject.options) {\n if (!results.subcommand) {\n throw new Error(`Error: options are not allowed here: \"${argument}\"`, { cause: \"zod-args-parser\" });\n }\n\n throw new Error(`Error: subcommand \"${results.subcommand}\" does not allow options: \"${argument}\"`, {\n cause: \"zod-args-parser\",\n });\n }\n\n const option = findOption(argument, subcommandObject.options);\n if (!option) {\n throw new Error(`Unknown option: \"${argument}\"`, { cause: \"zod-args-parser\" });\n }\n\n if (results.options && option.name in results.options) {\n throw new Error(`Duplicated option: \"${argument}\"`, { cause: \"zod-args-parser\" });\n }\n\n const isTypeBoolean = isBooleanSchema(option.type);\n const nextArgument = argv[index + 1];\n\n let optionValue: string | boolean = argumentWithEquals ? argumentValue : nextArgument;\n\n // infer value for boolean options\n if (isTypeBoolean && !argumentWithEquals) {\n optionValue = \"true\";\n }\n\n if (optionValue === undefined) {\n throw new Error(`Expected a value for \"${argument}\" but got nothing`, { cause: \"zod-args-parser\" });\n }\n\n if (!argumentWithEquals && isOptionArgument(optionValue)) {\n throw new Error(`Expected a value for \"${argument}\" but got an argument \"${nextArgument}\"`, {\n cause: \"zod-args-parser\",\n });\n }\n\n if (!results.options) {\n results.options = {};\n }\n\n results.options[option.name] = {\n name: option.name,\n schema: option.type,\n flag: argument,\n rawValue: optionValue.toString(),\n source: \"cli\",\n };\n\n // Skip to the next argument if it is the current option’s value.\n if (!argumentWithEquals && !isTypeBoolean) {\n index++;\n }\n\n continue;\n }\n\n const subcommandObject = getSubcommandObject();\n\n // * Arguments check\n if (subcommandObject?.arguments) {\n if (!results.arguments) {\n results.arguments = [];\n }\n\n const currentArgumentCount = results.arguments.length;\n\n // Any extra arguments are possibly positional\n if (currentArgumentCount < subcommandObject.arguments.length) {\n const argumentType = subcommandObject.arguments[currentArgumentCount].type;\n results.arguments.push({\n schema: argumentType,\n rawValue: argument_,\n source: \"cli\",\n });\n continue;\n }\n }\n\n // * Positional check\n if (subcommandObject?.allowPositional) {\n if (!results.positional) {\n results.positional = [];\n }\n\n results.positional.push(argument_);\n continue;\n }\n\n // * Unexpected\n if (!results.subcommand) {\n throw new Error(`Unexpected argument \"${argument_}\": positional arguments are not allowed here`, {\n cause: \"zod-args-parser\",\n });\n }\n\n throw new Error(\n `Unexpected argument \"${argument_}\": positional arguments are not allowed for subcommand \"${results.subcommand}\"`,\n { cause: \"zod-args-parser\" },\n );\n }\n\n // * Check for missing options - set defaults - add `source`\n const subcommandObject = getSubcommandObject();\n if (!subcommandObject) {\n throw new Error(`Unknown subcommand: \"${results.subcommand}\"`, { cause: \"zod-args-parser\" });\n }\n\n // Options\n if (subcommandObject.options) {\n if (!results.options) {\n results.options = {};\n }\n\n for (const option of subcommandObject.options) {\n // option already exists\n if (results.options && option.name in results.options) continue;\n\n const optional = isOptionalSchema(option.type);\n const defaultValue = schemaDefaultValue(option.type);\n\n if (optional) {\n if (defaultValue === undefined) {\n continue;\n }\n\n results.options[option.name] = { name: option.name, schema: option.type, source: \"default\" };\n continue;\n }\n\n throw new Error(`Missing required option: ${transformOptionToArgument(option.name)}`, {\n cause: \"zod-args-parser\",\n });\n }\n }\n\n // Arguments\n if (subcommandObject.arguments) {\n if (!results.arguments) {\n results.arguments = [];\n }\n\n const currentArgumentCount = results.arguments.length ?? 0;\n const subcommandArgumentCount = subcommandObject.arguments.length;\n\n // missing arguments\n if (currentArgumentCount < subcommandArgumentCount) {\n for (let index = currentArgumentCount; index < subcommandArgumentCount; index++) {\n const argumentType = subcommandObject.arguments[index].type;\n const optional = isOptionalSchema(argumentType);\n const defaultValue = schemaDefaultValue(argumentType);\n\n if (optional) {\n if (defaultValue === undefined) {\n continue;\n }\n\n if (!results.arguments) results.arguments = [];\n\n results.arguments.push({ schema: argumentType, source: \"default\" });\n continue;\n }\n\n throw new Error(\n `the ${generateOrdinalSuffix(index)} argument is required: \"${subcommandObject.arguments[index].name}\"`,\n { cause: \"zod-args-parser\" },\n );\n }\n }\n }\n\n if (subcommandObject.allowPositional && !results.positional) {\n results.positional = [];\n }\n\n return results;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.decoupleFlags=decoupleFlags;exports.findOption=findOption;exports.findSubcommand=findSubcommand;exports.isFlagArgument=isFlagArgument;exports.isOptionArgument=isOptionArgument;exports.negateOption=negateOption;exports.optionArgumentToVariableNames=optionArgumentToVariableNames;exports.transformOptionToArgument=transformOptionToArgument;function findSubcommand(subCmdName,subcommandArray){return subcommandArray.find(c=>{if(c.name===subCmdName){return true}return subCmdName&&c.aliases&&c.aliases.includes(subCmdName)})}function findOption(optionArgument,options){const validVariableNames=optionArgumentToVariableNames(optionArgument);const isNegative=optionArgument.startsWith("--no-");const option=options.find(o=>{if(validVariableNames.has(o.name)){return true}if(isNegative&&validVariableNames.has(negateOption(o.name))){return true}if(!o.aliases){return false}if(o.aliases.some(a=>validVariableNames.has(a))){return true}if(isNegative&&o.aliases.map(alias=>negateOption(alias)).some(a=>validVariableNames.has(a))){return true}return false});return option}function decoupleFlags(arguments_){const flagsRe=/^-[a-z0-9]{2,}$/i;const result=[];for(const argument of arguments_){const isCoupled=flagsRe.test(argument);if(!isCoupled){result.push(argument);continue}const decoupledArray=argument.slice(1).split("").map(c=>"-"+c);result.push(...decoupledArray)}return result}function optionArgumentToVariableNames(name){if(!name.startsWith("-")){throw new Error(`[parseArgOptionName] Invalid arg name: ${name}`,{cause:"zod-args-parser"})}name=name.startsWith("--")?name.slice(2):name.slice(1);name=name.toLowerCase();const results=new Set;const camelCase=name.replace(/-(.)/g,m=>m[1].toUpperCase());results.add(camelCase);results.add(camelCase.replace(/^(.)/,m=>m.toUpperCase()));const snake_case=name.replace(/-(.)/g,g=>"_"+g[1]);results.add(snake_case);results.add(snake_case.toUpperCase());return results}function isFlagArgument(name){return /^-[A-Za-z]$/.test(name)}function isLongArgument(name){return /^--[A-Za-z-]+[A-Za-z0-9]$/.test(name)}function isOptionArgument(name){if(typeof name!=="string"){return false}return isFlagArgument(name)||isLongArgument(name)}function negateOption(name){if(name.length===1){return name}return"no"+name.replace(/^[a-z]/,g=>g.toUpperCase())}function transformOptionToArgument(name){if(name.length===1){return`-${name.toLowerCase()}`}if(name.includes("_")||/[A-Z]+$/.test(name)){name=name.replace(/_/g,"-");return`--${name.toLowerCase()}`}name=name.replace(/[A-Z]/g,(match,index)=>index>0?"-"+match:match);return`--${name.toLowerCase()}`}