zod-args-parser 2.0.0-alpha.0 → 2.0.0-beta.1

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 (510) hide show
  1. package/README.md +525 -588
  2. package/lib/cjs/autocomplete-scripts/bash-autocomplete-script.cjs +2 -0
  3. package/lib/cjs/autocomplete-scripts/bash-autocomplete-script.cjs.map +1 -0
  4. package/lib/cjs/autocomplete-scripts/powershell-autocomplete-script.cjs +2 -0
  5. package/lib/cjs/autocomplete-scripts/powershell-autocomplete-script.cjs.map +1 -0
  6. package/lib/cjs/autocomplete-scripts/zsh-autocomplete-script.cjs +42 -0
  7. package/lib/cjs/autocomplete-scripts/zsh-autocomplete-script.cjs.map +1 -0
  8. package/lib/cjs/coerce/coerce-methods.cjs +2 -0
  9. package/lib/cjs/coerce/coerce-methods.cjs.map +1 -0
  10. package/lib/cjs/coerce/string-to-array.cjs +2 -0
  11. package/lib/cjs/coerce/string-to-array.cjs.map +1 -0
  12. package/lib/cjs/coerce/string-to-primitive.cjs +2 -0
  13. package/lib/cjs/coerce/string-to-primitive.cjs.map +1 -0
  14. package/lib/cjs/coerce/string-to-set.cjs +2 -0
  15. package/lib/cjs/coerce/string-to-set.cjs.map +1 -0
  16. package/lib/cjs/definitions/define-arguments.cjs +2 -0
  17. package/lib/cjs/definitions/define-arguments.cjs.map +1 -0
  18. package/lib/cjs/definitions/define-cli.cjs +2 -0
  19. package/lib/cjs/definitions/define-cli.cjs.map +1 -0
  20. package/lib/cjs/definitions/define-options.cjs +2 -0
  21. package/lib/cjs/definitions/define-options.cjs.map +1 -0
  22. package/lib/cjs/definitions/define-subcommand.cjs +2 -0
  23. package/lib/cjs/definitions/define-subcommand.cjs.map +1 -0
  24. package/lib/cjs/definitions/validate-cli-definition.cjs +2 -0
  25. package/lib/cjs/definitions/validate-cli-definition.cjs.map +1 -0
  26. package/lib/cjs/help-message/format-arguments.cjs +2 -0
  27. package/lib/cjs/help-message/format-arguments.cjs.map +1 -0
  28. package/lib/cjs/help-message/format-options.cjs +2 -0
  29. package/lib/cjs/help-message/format-options.cjs.map +1 -0
  30. package/lib/cjs/help-message/format-subcommands.cjs +2 -0
  31. package/lib/cjs/help-message/format-subcommands.cjs.map +1 -0
  32. package/lib/cjs/help-message/generate-for-cli.cjs +2 -0
  33. package/lib/cjs/help-message/generate-for-cli.cjs.map +1 -0
  34. package/lib/cjs/help-message/generate-for-subcommand.cjs +2 -0
  35. package/lib/cjs/help-message/generate-for-subcommand.cjs.map +1 -0
  36. package/lib/cjs/help-message/print-help.cjs +2 -0
  37. package/lib/cjs/help-message/print-help.cjs.map +1 -0
  38. package/lib/cjs/help-message/set-defaults.cjs +2 -0
  39. package/lib/cjs/help-message/set-defaults.cjs.map +1 -0
  40. package/lib/cjs/help-message/styles.cjs +2 -0
  41. package/lib/cjs/help-message/styles.cjs.map +1 -0
  42. package/lib/cjs/help-message/terminal-markdown.cjs +2 -0
  43. package/lib/cjs/help-message/terminal-markdown.cjs.map +1 -0
  44. package/lib/cjs/index.cjs +2 -0
  45. package/lib/cjs/index.cjs.map +1 -0
  46. package/lib/cjs/markdown/generate-markdown.cjs +2 -0
  47. package/lib/cjs/markdown/generate-markdown.cjs.map +1 -0
  48. package/lib/cjs/metadata/arguments-metadata.cjs +2 -0
  49. package/lib/cjs/metadata/arguments-metadata.cjs.map +1 -0
  50. package/lib/cjs/metadata/cli-metadata.cjs +2 -0
  51. package/lib/cjs/metadata/cli-metadata.cjs.map +1 -0
  52. package/lib/cjs/metadata/options-metadata.cjs +2 -0
  53. package/lib/cjs/metadata/options-metadata.cjs.map +1 -0
  54. package/lib/cjs/metadata/subcommands-metadata.cjs +2 -0
  55. package/lib/cjs/metadata/subcommands-metadata.cjs.map +1 -0
  56. package/lib/cjs/parse/context/cli-context-builder.cjs +2 -0
  57. package/lib/cjs/parse/context/cli-context-builder.cjs.map +1 -0
  58. package/lib/cjs/parse/context/object-context-builder.cjs +2 -0
  59. package/lib/cjs/parse/context/object-context-builder.cjs.map +1 -0
  60. package/lib/cjs/parse/parser-utilities.cjs +2 -0
  61. package/lib/cjs/parse/parser-utilities.cjs.map +1 -0
  62. package/lib/cjs/parse/safe-parse.cjs +2 -0
  63. package/lib/cjs/parse/safe-parse.cjs.map +1 -0
  64. package/lib/cjs/parse/validation/validate-context.cjs +2 -0
  65. package/lib/cjs/parse/validation/validate-context.cjs.map +1 -0
  66. package/lib/cjs/parse/validation/validators/arguments.cjs +2 -0
  67. package/lib/cjs/parse/validation/validators/arguments.cjs.map +1 -0
  68. package/lib/cjs/parse/validation/validators/conflict.cjs +2 -0
  69. package/lib/cjs/parse/validation/validators/conflict.cjs.map +1 -0
  70. package/lib/cjs/parse/validation/validators/exclusive.cjs +2 -0
  71. package/lib/cjs/parse/validation/validators/exclusive.cjs.map +1 -0
  72. package/lib/cjs/parse/validation/validators/explicitly-passed.cjs +2 -0
  73. package/lib/cjs/parse/validation/validators/explicitly-passed.cjs.map +1 -0
  74. package/lib/cjs/parse/validation/validators/options.cjs +2 -0
  75. package/lib/cjs/parse/validation/validators/options.cjs.map +1 -0
  76. package/lib/cjs/parse/validation/validators/requires.cjs +2 -0
  77. package/lib/cjs/parse/validation/validators/requires.cjs.map +1 -0
  78. package/lib/cjs/utilities.cjs +2 -0
  79. package/lib/cjs/utilities.cjs.map +1 -0
  80. package/lib/esm/autocomplete-scripts/bash-autocomplete-script.js +2 -0
  81. package/lib/esm/autocomplete-scripts/bash-autocomplete-script.js.map +1 -0
  82. package/lib/esm/autocomplete-scripts/powershell-autocomplete-script.js +2 -0
  83. package/lib/esm/autocomplete-scripts/powershell-autocomplete-script.js.map +1 -0
  84. package/lib/esm/autocomplete-scripts/zsh-autocomplete-script.js +42 -0
  85. package/lib/esm/autocomplete-scripts/zsh-autocomplete-script.js.map +1 -0
  86. package/lib/esm/coerce/coerce-methods.js +2 -0
  87. package/lib/esm/coerce/coerce-methods.js.map +1 -0
  88. package/lib/esm/coerce/string-to-array.js +2 -0
  89. package/lib/esm/coerce/string-to-array.js.map +1 -0
  90. package/lib/esm/coerce/string-to-primitive.js +2 -0
  91. package/lib/esm/coerce/string-to-primitive.js.map +1 -0
  92. package/lib/esm/coerce/string-to-set.js +2 -0
  93. package/lib/esm/coerce/string-to-set.js.map +1 -0
  94. package/lib/esm/definitions/define-arguments.js +2 -0
  95. package/lib/esm/definitions/define-arguments.js.map +1 -0
  96. package/lib/esm/definitions/define-cli.js +2 -0
  97. package/lib/esm/definitions/define-cli.js.map +1 -0
  98. package/lib/esm/definitions/define-options.js +2 -0
  99. package/lib/esm/definitions/define-options.js.map +1 -0
  100. package/lib/esm/definitions/define-subcommand.js +2 -0
  101. package/lib/esm/definitions/define-subcommand.js.map +1 -0
  102. package/lib/esm/definitions/validate-cli-definition.js +2 -0
  103. package/lib/esm/definitions/validate-cli-definition.js.map +1 -0
  104. package/lib/esm/help-message/format-arguments.js +2 -0
  105. package/lib/esm/help-message/format-arguments.js.map +1 -0
  106. package/lib/esm/help-message/format-options.js +2 -0
  107. package/lib/esm/help-message/format-options.js.map +1 -0
  108. package/lib/esm/help-message/format-subcommands.js +2 -0
  109. package/lib/esm/help-message/format-subcommands.js.map +1 -0
  110. package/lib/esm/help-message/generate-for-cli.js +2 -0
  111. package/lib/esm/help-message/generate-for-cli.js.map +1 -0
  112. package/lib/esm/help-message/generate-for-subcommand.js +2 -0
  113. package/lib/esm/help-message/generate-for-subcommand.js.map +1 -0
  114. package/lib/esm/help-message/print-help.js +2 -0
  115. package/lib/esm/help-message/print-help.js.map +1 -0
  116. package/lib/esm/help-message/set-defaults.js +2 -0
  117. package/lib/esm/help-message/set-defaults.js.map +1 -0
  118. package/lib/esm/help-message/styles.js +2 -0
  119. package/lib/esm/help-message/styles.js.map +1 -0
  120. package/lib/esm/help-message/terminal-markdown.js +2 -0
  121. package/lib/esm/help-message/terminal-markdown.js.map +1 -0
  122. package/lib/esm/index.js +2 -0
  123. package/lib/esm/index.js.map +1 -0
  124. package/lib/esm/markdown/generate-markdown.js +2 -0
  125. package/lib/esm/markdown/generate-markdown.js.map +1 -0
  126. package/lib/esm/metadata/arguments-metadata.js +2 -0
  127. package/lib/esm/metadata/arguments-metadata.js.map +1 -0
  128. package/lib/esm/metadata/cli-metadata.js +2 -0
  129. package/lib/esm/metadata/cli-metadata.js.map +1 -0
  130. package/lib/esm/metadata/options-metadata.js +2 -0
  131. package/lib/esm/metadata/options-metadata.js.map +1 -0
  132. package/lib/esm/metadata/subcommands-metadata.js +2 -0
  133. package/lib/esm/metadata/subcommands-metadata.js.map +1 -0
  134. package/lib/esm/parse/context/cli-context-builder.js +2 -0
  135. package/lib/esm/parse/context/cli-context-builder.js.map +1 -0
  136. package/lib/esm/parse/context/object-context-builder.js +2 -0
  137. package/lib/esm/parse/context/object-context-builder.js.map +1 -0
  138. package/lib/esm/parse/parser-utilities.js +2 -0
  139. package/lib/esm/parse/parser-utilities.js.map +1 -0
  140. package/lib/esm/parse/safe-parse.js +2 -0
  141. package/lib/esm/parse/safe-parse.js.map +1 -0
  142. package/lib/esm/parse/validation/validate-context.js +2 -0
  143. package/lib/esm/parse/validation/validate-context.js.map +1 -0
  144. package/lib/esm/parse/validation/validators/arguments.js +2 -0
  145. package/lib/esm/parse/validation/validators/arguments.js.map +1 -0
  146. package/lib/esm/parse/validation/validators/conflict.js +2 -0
  147. package/lib/esm/parse/validation/validators/conflict.js.map +1 -0
  148. package/lib/esm/parse/validation/validators/exclusive.js +2 -0
  149. package/lib/esm/parse/validation/validators/exclusive.js.map +1 -0
  150. package/lib/esm/parse/validation/validators/explicitly-passed.js +2 -0
  151. package/lib/esm/parse/validation/validators/explicitly-passed.js.map +1 -0
  152. package/lib/esm/parse/validation/validators/options.js +2 -0
  153. package/lib/esm/parse/validation/validators/options.js.map +1 -0
  154. package/lib/esm/parse/validation/validators/requires.js +2 -0
  155. package/lib/esm/parse/validation/validators/requires.js.map +1 -0
  156. package/lib/esm/utilities.js +2 -0
  157. package/lib/esm/utilities.js.map +1 -0
  158. package/lib/iife/index.js +2 -0
  159. package/lib/iife/index.js.map +1 -0
  160. package/lib/mjs/autocomplete-scripts/bash-autocomplete-script.mjs +2 -0
  161. package/lib/mjs/autocomplete-scripts/bash-autocomplete-script.mjs.map +1 -0
  162. package/lib/mjs/autocomplete-scripts/powershell-autocomplete-script.mjs +2 -0
  163. package/lib/mjs/autocomplete-scripts/powershell-autocomplete-script.mjs.map +1 -0
  164. package/lib/mjs/autocomplete-scripts/zsh-autocomplete-script.mjs +42 -0
  165. package/lib/mjs/autocomplete-scripts/zsh-autocomplete-script.mjs.map +1 -0
  166. package/lib/mjs/coerce/coerce-methods.mjs +2 -0
  167. package/lib/mjs/coerce/coerce-methods.mjs.map +1 -0
  168. package/lib/mjs/coerce/string-to-array.mjs +2 -0
  169. package/lib/mjs/coerce/string-to-array.mjs.map +1 -0
  170. package/lib/mjs/coerce/string-to-primitive.mjs +2 -0
  171. package/lib/mjs/coerce/string-to-primitive.mjs.map +1 -0
  172. package/lib/mjs/coerce/string-to-set.mjs +2 -0
  173. package/lib/mjs/coerce/string-to-set.mjs.map +1 -0
  174. package/lib/mjs/definitions/define-arguments.mjs +2 -0
  175. package/lib/mjs/definitions/define-arguments.mjs.map +1 -0
  176. package/lib/mjs/definitions/define-cli.mjs +2 -0
  177. package/lib/mjs/definitions/define-cli.mjs.map +1 -0
  178. package/lib/mjs/definitions/define-options.mjs +2 -0
  179. package/lib/mjs/definitions/define-options.mjs.map +1 -0
  180. package/lib/mjs/definitions/define-subcommand.mjs +2 -0
  181. package/lib/mjs/definitions/define-subcommand.mjs.map +1 -0
  182. package/lib/mjs/definitions/validate-cli-definition.mjs +2 -0
  183. package/lib/mjs/definitions/validate-cli-definition.mjs.map +1 -0
  184. package/lib/mjs/help-message/format-arguments.mjs +2 -0
  185. package/lib/mjs/help-message/format-arguments.mjs.map +1 -0
  186. package/lib/mjs/help-message/format-options.mjs +2 -0
  187. package/lib/mjs/help-message/format-options.mjs.map +1 -0
  188. package/lib/mjs/help-message/format-subcommands.mjs +2 -0
  189. package/lib/mjs/help-message/format-subcommands.mjs.map +1 -0
  190. package/lib/mjs/help-message/generate-for-cli.mjs +2 -0
  191. package/lib/mjs/help-message/generate-for-cli.mjs.map +1 -0
  192. package/lib/mjs/help-message/generate-for-subcommand.mjs +2 -0
  193. package/lib/mjs/help-message/generate-for-subcommand.mjs.map +1 -0
  194. package/lib/mjs/help-message/print-help.mjs +2 -0
  195. package/lib/mjs/help-message/print-help.mjs.map +1 -0
  196. package/lib/mjs/help-message/set-defaults.mjs +2 -0
  197. package/lib/mjs/help-message/set-defaults.mjs.map +1 -0
  198. package/lib/mjs/help-message/styles.mjs +2 -0
  199. package/lib/mjs/help-message/styles.mjs.map +1 -0
  200. package/lib/mjs/help-message/terminal-markdown.mjs +2 -0
  201. package/lib/mjs/help-message/terminal-markdown.mjs.map +1 -0
  202. package/lib/mjs/index.mjs +2 -0
  203. package/lib/mjs/index.mjs.map +1 -0
  204. package/lib/mjs/markdown/generate-markdown.mjs +2 -0
  205. package/lib/mjs/markdown/generate-markdown.mjs.map +1 -0
  206. package/lib/mjs/metadata/arguments-metadata.mjs +2 -0
  207. package/lib/mjs/metadata/arguments-metadata.mjs.map +1 -0
  208. package/lib/mjs/metadata/cli-metadata.mjs +2 -0
  209. package/lib/mjs/metadata/cli-metadata.mjs.map +1 -0
  210. package/lib/mjs/metadata/options-metadata.mjs +2 -0
  211. package/lib/mjs/metadata/options-metadata.mjs.map +1 -0
  212. package/lib/mjs/metadata/subcommands-metadata.mjs +2 -0
  213. package/lib/mjs/metadata/subcommands-metadata.mjs.map +1 -0
  214. package/lib/mjs/parse/context/cli-context-builder.mjs +2 -0
  215. package/lib/mjs/parse/context/cli-context-builder.mjs.map +1 -0
  216. package/lib/mjs/parse/context/object-context-builder.mjs +2 -0
  217. package/lib/mjs/parse/context/object-context-builder.mjs.map +1 -0
  218. package/lib/mjs/parse/parser-utilities.mjs +2 -0
  219. package/lib/mjs/parse/parser-utilities.mjs.map +1 -0
  220. package/lib/mjs/parse/safe-parse.mjs +2 -0
  221. package/lib/mjs/parse/safe-parse.mjs.map +1 -0
  222. package/lib/mjs/parse/validation/validate-context.mjs +2 -0
  223. package/lib/mjs/parse/validation/validate-context.mjs.map +1 -0
  224. package/lib/mjs/parse/validation/validators/arguments.mjs +2 -0
  225. package/lib/mjs/parse/validation/validators/arguments.mjs.map +1 -0
  226. package/lib/mjs/parse/validation/validators/conflict.mjs +2 -0
  227. package/lib/mjs/parse/validation/validators/conflict.mjs.map +1 -0
  228. package/lib/mjs/parse/validation/validators/exclusive.mjs +2 -0
  229. package/lib/mjs/parse/validation/validators/exclusive.mjs.map +1 -0
  230. package/lib/mjs/parse/validation/validators/explicitly-passed.mjs +2 -0
  231. package/lib/mjs/parse/validation/validators/explicitly-passed.mjs.map +1 -0
  232. package/lib/mjs/parse/validation/validators/options.mjs +2 -0
  233. package/lib/mjs/parse/validation/validators/options.mjs.map +1 -0
  234. package/lib/mjs/parse/validation/validators/requires.mjs +2 -0
  235. package/lib/mjs/parse/validation/validators/requires.mjs.map +1 -0
  236. package/lib/mjs/utilities.mjs +2 -0
  237. package/lib/mjs/utilities.mjs.map +1 -0
  238. package/lib/typescript/autocomplete-scripts/bash-autocomplete-script.d.ts +2 -2
  239. package/lib/typescript/autocomplete-scripts/bash-autocomplete-script.d.ts.map +1 -1
  240. package/lib/typescript/autocomplete-scripts/powershell-autocomplete-script.d.ts +2 -2
  241. package/lib/typescript/autocomplete-scripts/powershell-autocomplete-script.d.ts.map +1 -1
  242. package/lib/typescript/autocomplete-scripts/zsh-autocomplete-script.d.ts +2 -2
  243. package/lib/typescript/autocomplete-scripts/zsh-autocomplete-script.d.ts.map +1 -1
  244. package/lib/typescript/coerce/coerce-methods.d.ts +20 -0
  245. package/lib/typescript/coerce/coerce-methods.d.ts.map +1 -0
  246. package/lib/typescript/coerce/string-to-array.d.ts +6 -0
  247. package/lib/typescript/coerce/string-to-array.d.ts.map +1 -0
  248. package/lib/typescript/coerce/string-to-primitive.d.ts +5 -0
  249. package/lib/typescript/coerce/string-to-primitive.d.ts.map +1 -0
  250. package/lib/typescript/coerce/string-to-set.d.ts +6 -0
  251. package/lib/typescript/coerce/string-to-set.d.ts.map +1 -0
  252. package/lib/typescript/definitions/define-arguments.d.ts +7 -0
  253. package/lib/typescript/definitions/define-arguments.d.ts.map +1 -0
  254. package/lib/typescript/definitions/define-cli.d.ts +24 -0
  255. package/lib/typescript/definitions/define-cli.d.ts.map +1 -0
  256. package/lib/typescript/definitions/define-options.d.ts +7 -0
  257. package/lib/typescript/definitions/define-options.d.ts.map +1 -0
  258. package/lib/typescript/definitions/define-subcommand.d.ts +17 -0
  259. package/lib/typescript/definitions/define-subcommand.d.ts.map +1 -0
  260. package/lib/typescript/definitions/validate-cli-definition.d.ts +4 -0
  261. package/lib/typescript/definitions/validate-cli-definition.d.ts.map +1 -0
  262. package/lib/typescript/help-message/format-arguments.d.ts +3 -3
  263. package/lib/typescript/help-message/format-arguments.d.ts.map +1 -1
  264. package/lib/typescript/help-message/format-options.d.ts +3 -3
  265. package/lib/typescript/help-message/format-options.d.ts.map +1 -1
  266. package/lib/typescript/help-message/format-subcommands.d.ts +3 -3
  267. package/lib/typescript/help-message/format-subcommands.d.ts.map +1 -1
  268. package/lib/typescript/help-message/generate-for-cli.d.ts +8 -0
  269. package/lib/typescript/help-message/generate-for-cli.d.ts.map +1 -0
  270. package/lib/typescript/help-message/generate-for-subcommand.d.ts +4 -0
  271. package/lib/typescript/help-message/generate-for-subcommand.d.ts.map +1 -0
  272. package/lib/typescript/help-message/print-help.d.ts +5 -0
  273. package/lib/typescript/help-message/print-help.d.ts.map +1 -0
  274. package/lib/typescript/help-message/set-defaults.d.ts +4 -0
  275. package/lib/typescript/help-message/set-defaults.d.ts.map +1 -0
  276. package/lib/typescript/help-message/styles.d.ts +30 -106
  277. package/lib/typescript/help-message/styles.d.ts.map +1 -1
  278. package/lib/typescript/help-message/terminal-markdown.d.ts +3 -0
  279. package/lib/typescript/help-message/terminal-markdown.d.ts.map +1 -0
  280. package/lib/typescript/index.d.ts +23 -35
  281. package/lib/typescript/index.d.ts.map +1 -1
  282. package/lib/typescript/markdown/generate-markdown.d.ts +2 -2
  283. package/lib/typescript/markdown/generate-markdown.d.ts.map +1 -1
  284. package/lib/typescript/metadata/arguments-metadata.d.ts +4 -0
  285. package/lib/typescript/metadata/arguments-metadata.d.ts.map +1 -0
  286. package/lib/typescript/metadata/cli-metadata.d.ts +4 -0
  287. package/lib/typescript/metadata/cli-metadata.d.ts.map +1 -0
  288. package/lib/typescript/metadata/options-metadata.d.ts +4 -0
  289. package/lib/typescript/metadata/options-metadata.d.ts.map +1 -0
  290. package/lib/typescript/metadata/subcommands-metadata.d.ts +4 -0
  291. package/lib/typescript/metadata/subcommands-metadata.d.ts.map +1 -0
  292. package/lib/typescript/parse/context/cli-context-builder.d.ts +9 -0
  293. package/lib/typescript/parse/context/cli-context-builder.d.ts.map +1 -0
  294. package/lib/typescript/parse/context/object-context-builder.d.ts +6 -0
  295. package/lib/typescript/parse/context/object-context-builder.d.ts.map +1 -0
  296. package/lib/typescript/{parser/parse/parser-helpers.d.ts → parse/parser-utilities.d.ts} +18 -9
  297. package/lib/typescript/parse/parser-utilities.d.ts.map +1 -0
  298. package/lib/typescript/parse/safe-parse.d.ts +5 -0
  299. package/lib/typescript/parse/safe-parse.d.ts.map +1 -0
  300. package/lib/typescript/parse/validation/validate-context.d.ts +6 -0
  301. package/lib/typescript/parse/validation/validate-context.d.ts.map +1 -0
  302. package/lib/typescript/parse/validation/validators/arguments.d.ts +12 -0
  303. package/lib/typescript/parse/validation/validators/arguments.d.ts.map +1 -0
  304. package/lib/typescript/parse/validation/validators/conflict.d.ts +16 -0
  305. package/lib/typescript/parse/validation/validators/conflict.d.ts.map +1 -0
  306. package/lib/typescript/parse/validation/validators/exclusive.d.ts +16 -0
  307. package/lib/typescript/parse/validation/validators/exclusive.d.ts.map +1 -0
  308. package/lib/typescript/parse/validation/validators/explicitly-passed.d.ts +5 -0
  309. package/lib/typescript/parse/validation/validators/explicitly-passed.d.ts.map +1 -0
  310. package/lib/typescript/parse/validation/validators/options.d.ts +12 -0
  311. package/lib/typescript/parse/validation/validators/options.d.ts.map +1 -0
  312. package/lib/typescript/parse/validation/validators/requires.d.ts +18 -0
  313. package/lib/typescript/parse/validation/validators/requires.d.ts.map +1 -0
  314. package/lib/typescript/types/context-types.d.ts +135 -0
  315. package/lib/typescript/types/context-types.d.ts.map +1 -0
  316. package/lib/typescript/types/definitions-types.d.ts +294 -0
  317. package/lib/typescript/types/definitions-types.d.ts.map +1 -0
  318. package/lib/typescript/types/help-message-types.d.ts +134 -0
  319. package/lib/typescript/types/help-message-types.d.ts.map +1 -0
  320. package/lib/typescript/types/io-types.d.ts +96 -0
  321. package/lib/typescript/types/io-types.d.ts.map +1 -0
  322. package/lib/typescript/types/metadata-types.d.ts +75 -0
  323. package/lib/typescript/types/metadata-types.d.ts.map +1 -0
  324. package/lib/typescript/types/schema-types.d.ts +6 -0
  325. package/lib/typescript/types/schema-types.d.ts.map +1 -0
  326. package/lib/typescript/types/types.d.ts +61 -0
  327. package/lib/typescript/types/types.d.ts.map +1 -0
  328. package/lib/typescript/types/utilities-types.d.ts +17 -0
  329. package/lib/typescript/types/utilities-types.d.ts.map +1 -0
  330. package/lib/typescript/utilities.d.ts +24 -10
  331. package/lib/typescript/utilities.d.ts.map +1 -1
  332. package/package.json +29 -26
  333. package/src/autocomplete-scripts/bash-autocomplete-script.ts +13 -9
  334. package/src/autocomplete-scripts/powershell-autocomplete-script.ts +21 -13
  335. package/src/autocomplete-scripts/zsh-autocomplete-script.ts +27 -23
  336. package/src/coerce/coerce-methods.ts +75 -0
  337. package/src/coerce/string-to-array.ts +18 -0
  338. package/src/coerce/string-to-primitive.ts +31 -0
  339. package/src/coerce/string-to-set.ts +15 -0
  340. package/src/definitions/define-arguments.ts +10 -0
  341. package/src/definitions/define-cli.ts +105 -0
  342. package/src/definitions/define-options.ts +12 -0
  343. package/src/definitions/define-subcommand.ts +57 -0
  344. package/src/definitions/validate-cli-definition.ts +331 -0
  345. package/src/help-message/format-arguments.ts +57 -33
  346. package/src/help-message/format-options.ts +59 -34
  347. package/src/help-message/format-subcommands.ts +43 -21
  348. package/src/help-message/generate-for-cli.ts +114 -0
  349. package/src/help-message/generate-for-subcommand.ts +32 -0
  350. package/src/help-message/print-help.ts +13 -0
  351. package/src/help-message/set-defaults.ts +34 -0
  352. package/src/help-message/styles.ts +148 -103
  353. package/src/help-message/terminal-markdown.ts +147 -0
  354. package/src/index.ts +28 -97
  355. package/src/markdown/generate-markdown.ts +47 -58
  356. package/src/metadata/arguments-metadata.ts +28 -0
  357. package/src/metadata/cli-metadata.ts +26 -0
  358. package/src/metadata/options-metadata.ts +38 -0
  359. package/src/metadata/subcommands-metadata.ts +35 -0
  360. package/src/parse/context/cli-context-builder.ts +246 -0
  361. package/src/parse/context/object-context-builder.ts +63 -0
  362. package/src/{parser/parse/parser-helpers.ts → parse/parser-utilities.ts} +46 -25
  363. package/src/parse/safe-parse.ts +76 -0
  364. package/src/parse/validation/validate-context.ts +23 -0
  365. package/src/parse/validation/validators/arguments.ts +59 -0
  366. package/src/parse/validation/validators/conflict.ts +68 -0
  367. package/src/parse/validation/validators/exclusive.ts +70 -0
  368. package/src/parse/validation/validators/explicitly-passed.ts +15 -0
  369. package/src/parse/validation/validators/options.ts +59 -0
  370. package/src/parse/validation/validators/requires.ts +82 -0
  371. package/src/types/context-types.ts +171 -0
  372. package/src/types/definitions-types.ts +340 -0
  373. package/src/types/help-message-types.ts +153 -0
  374. package/src/types/io-types.ts +131 -0
  375. package/src/types/metadata-types.ts +104 -0
  376. package/src/types/schema-types.ts +9 -0
  377. package/src/types/types.ts +72 -0
  378. package/src/types/utilities-types.ts +26 -0
  379. package/src/utilities.ts +200 -23
  380. package/lib/commonjs/autocomplete-scripts/bash-autocomplete-script.cjs +0 -42
  381. package/lib/commonjs/autocomplete-scripts/bash-autocomplete-script.cjs.map +0 -1
  382. package/lib/commonjs/autocomplete-scripts/powershell-autocomplete-script.cjs +0 -31
  383. package/lib/commonjs/autocomplete-scripts/powershell-autocomplete-script.cjs.map +0 -1
  384. package/lib/commonjs/autocomplete-scripts/zsh-autocomplete-script.cjs +0 -41
  385. package/lib/commonjs/autocomplete-scripts/zsh-autocomplete-script.cjs.map +0 -1
  386. package/lib/commonjs/help-message/format-arguments.cjs +0 -1
  387. package/lib/commonjs/help-message/format-arguments.cjs.map +0 -1
  388. package/lib/commonjs/help-message/format-cli.cjs +0 -1
  389. package/lib/commonjs/help-message/format-cli.cjs.map +0 -1
  390. package/lib/commonjs/help-message/format-options.cjs +0 -1
  391. package/lib/commonjs/help-message/format-options.cjs.map +0 -1
  392. package/lib/commonjs/help-message/format-subcommands.cjs +0 -1
  393. package/lib/commonjs/help-message/format-subcommands.cjs.map +0 -1
  394. package/lib/commonjs/help-message/styles.cjs +0 -1
  395. package/lib/commonjs/help-message/styles.cjs.map +0 -1
  396. package/lib/commonjs/index.cjs +0 -1
  397. package/lib/commonjs/index.cjs.map +0 -1
  398. package/lib/commonjs/markdown/generate-markdown.cjs +0 -1
  399. package/lib/commonjs/markdown/generate-markdown.cjs.map +0 -1
  400. package/lib/commonjs/metadata/get-arguments-metadata.cjs +0 -1
  401. package/lib/commonjs/metadata/get-arguments-metadata.cjs.map +0 -1
  402. package/lib/commonjs/metadata/get-cli-metadata.cjs +0 -1
  403. package/lib/commonjs/metadata/get-cli-metadata.cjs.map +0 -1
  404. package/lib/commonjs/metadata/get-options-metadata.cjs +0 -1
  405. package/lib/commonjs/metadata/get-options-metadata.cjs.map +0 -1
  406. package/lib/commonjs/metadata/get-subcommands-metadata.cjs +0 -1
  407. package/lib/commonjs/metadata/get-subcommands-metadata.cjs.map +0 -1
  408. package/lib/commonjs/parser/parse/parse.cjs +0 -1
  409. package/lib/commonjs/parser/parse/parse.cjs.map +0 -1
  410. package/lib/commonjs/parser/parse/parser-helpers.cjs +0 -1
  411. package/lib/commonjs/parser/parse/parser-helpers.cjs.map +0 -1
  412. package/lib/commonjs/parser/safe-parse.cjs +0 -1
  413. package/lib/commonjs/parser/safe-parse.cjs.map +0 -1
  414. package/lib/commonjs/parser/unsafe-parse.cjs +0 -1
  415. package/lib/commonjs/parser/unsafe-parse.cjs.map +0 -1
  416. package/lib/commonjs/parser/validate/validate-type.cjs +0 -1
  417. package/lib/commonjs/parser/validate/validate-type.cjs.map +0 -1
  418. package/lib/commonjs/parser/validate/validate.cjs +0 -1
  419. package/lib/commonjs/parser/validate/validate.cjs.map +0 -1
  420. package/lib/commonjs/utilities.cjs +0 -1
  421. package/lib/commonjs/utilities.cjs.map +0 -1
  422. package/lib/commonjs/zod-utilities.cjs +0 -1
  423. package/lib/commonjs/zod-utilities.cjs.map +0 -1
  424. package/lib/module/autocomplete-scripts/bash-autocomplete-script.mjs +0 -42
  425. package/lib/module/autocomplete-scripts/bash-autocomplete-script.mjs.map +0 -1
  426. package/lib/module/autocomplete-scripts/powershell-autocomplete-script.mjs +0 -31
  427. package/lib/module/autocomplete-scripts/powershell-autocomplete-script.mjs.map +0 -1
  428. package/lib/module/autocomplete-scripts/zsh-autocomplete-script.mjs +0 -41
  429. package/lib/module/autocomplete-scripts/zsh-autocomplete-script.mjs.map +0 -1
  430. package/lib/module/help-message/format-arguments.mjs +0 -1
  431. package/lib/module/help-message/format-arguments.mjs.map +0 -1
  432. package/lib/module/help-message/format-cli.mjs +0 -1
  433. package/lib/module/help-message/format-cli.mjs.map +0 -1
  434. package/lib/module/help-message/format-options.mjs +0 -1
  435. package/lib/module/help-message/format-options.mjs.map +0 -1
  436. package/lib/module/help-message/format-subcommands.mjs +0 -1
  437. package/lib/module/help-message/format-subcommands.mjs.map +0 -1
  438. package/lib/module/help-message/styles.mjs +0 -1
  439. package/lib/module/help-message/styles.mjs.map +0 -1
  440. package/lib/module/index.mjs +0 -1
  441. package/lib/module/index.mjs.map +0 -1
  442. package/lib/module/markdown/generate-markdown.mjs +0 -1
  443. package/lib/module/markdown/generate-markdown.mjs.map +0 -1
  444. package/lib/module/metadata/get-arguments-metadata.mjs +0 -1
  445. package/lib/module/metadata/get-arguments-metadata.mjs.map +0 -1
  446. package/lib/module/metadata/get-cli-metadata.mjs +0 -1
  447. package/lib/module/metadata/get-cli-metadata.mjs.map +0 -1
  448. package/lib/module/metadata/get-options-metadata.mjs +0 -1
  449. package/lib/module/metadata/get-options-metadata.mjs.map +0 -1
  450. package/lib/module/metadata/get-subcommands-metadata.mjs +0 -1
  451. package/lib/module/metadata/get-subcommands-metadata.mjs.map +0 -1
  452. package/lib/module/parser/parse/parse.mjs +0 -1
  453. package/lib/module/parser/parse/parse.mjs.map +0 -1
  454. package/lib/module/parser/parse/parser-helpers.mjs +0 -1
  455. package/lib/module/parser/parse/parser-helpers.mjs.map +0 -1
  456. package/lib/module/parser/safe-parse.mjs +0 -1
  457. package/lib/module/parser/safe-parse.mjs.map +0 -1
  458. package/lib/module/parser/unsafe-parse.mjs +0 -1
  459. package/lib/module/parser/unsafe-parse.mjs.map +0 -1
  460. package/lib/module/parser/validate/validate-type.mjs +0 -1
  461. package/lib/module/parser/validate/validate-type.mjs.map +0 -1
  462. package/lib/module/parser/validate/validate.mjs +0 -1
  463. package/lib/module/parser/validate/validate.mjs.map +0 -1
  464. package/lib/module/utilities.mjs +0 -1
  465. package/lib/module/utilities.mjs.map +0 -1
  466. package/lib/module/zod-utilities.mjs +0 -1
  467. package/lib/module/zod-utilities.mjs.map +0 -1
  468. package/lib/typescript/help-message/format-cli.d.ts +0 -6
  469. package/lib/typescript/help-message/format-cli.d.ts.map +0 -1
  470. package/lib/typescript/metadata/get-arguments-metadata.d.ts +0 -4
  471. package/lib/typescript/metadata/get-arguments-metadata.d.ts.map +0 -1
  472. package/lib/typescript/metadata/get-cli-metadata.d.ts +0 -4
  473. package/lib/typescript/metadata/get-cli-metadata.d.ts.map +0 -1
  474. package/lib/typescript/metadata/get-options-metadata.d.ts +0 -4
  475. package/lib/typescript/metadata/get-options-metadata.d.ts.map +0 -1
  476. package/lib/typescript/metadata/get-subcommands-metadata.d.ts +0 -4
  477. package/lib/typescript/metadata/get-subcommands-metadata.d.ts.map +0 -1
  478. package/lib/typescript/metadata/metadata-types.d.ts +0 -80
  479. package/lib/typescript/metadata/metadata-types.d.ts.map +0 -1
  480. package/lib/typescript/parser/parse/parse-types.d.ts +0 -85
  481. package/lib/typescript/parser/parse/parse-types.d.ts.map +0 -1
  482. package/lib/typescript/parser/parse/parse.d.ts +0 -4
  483. package/lib/typescript/parser/parse/parse.d.ts.map +0 -1
  484. package/lib/typescript/parser/parse/parser-helpers.d.ts.map +0 -1
  485. package/lib/typescript/parser/safe-parse.d.ts +0 -4
  486. package/lib/typescript/parser/safe-parse.d.ts.map +0 -1
  487. package/lib/typescript/parser/unsafe-parse.d.ts +0 -4
  488. package/lib/typescript/parser/unsafe-parse.d.ts.map +0 -1
  489. package/lib/typescript/parser/validate/validate-type.d.ts +0 -23
  490. package/lib/typescript/parser/validate/validate-type.d.ts.map +0 -1
  491. package/lib/typescript/parser/validate/validate.d.ts +0 -12
  492. package/lib/typescript/parser/validate/validate.d.ts.map +0 -1
  493. package/lib/typescript/types.d.ts +0 -294
  494. package/lib/typescript/types.d.ts.map +0 -1
  495. package/lib/typescript/zod-utilities.d.ts +0 -28
  496. package/lib/typescript/zod-utilities.d.ts.map +0 -1
  497. package/src/help-message/format-cli.ts +0 -141
  498. package/src/metadata/get-arguments-metadata.ts +0 -25
  499. package/src/metadata/get-cli-metadata.ts +0 -23
  500. package/src/metadata/get-options-metadata.ts +0 -35
  501. package/src/metadata/get-subcommands-metadata.ts +0 -32
  502. package/src/metadata/metadata-types.ts +0 -114
  503. package/src/parser/parse/parse-types.ts +0 -89
  504. package/src/parser/parse/parse.ts +0 -235
  505. package/src/parser/safe-parse.ts +0 -103
  506. package/src/parser/unsafe-parse.ts +0 -98
  507. package/src/parser/validate/validate-type.ts +0 -20
  508. package/src/parser/validate/validate.ts +0 -71
  509. package/src/types.ts +0 -365
  510. package/src/zod-utilities.ts +0 -214
@@ -1 +0,0 @@
1
- {"version":3,"names":["help","findSubcommand","unsafeParse","unsafeParseAsync","safeParse","argsv","parameters","cliOptions","subcommandArray","printCliHelp","style","printSubcommandHelp","subCmdName","subcommand","console","error","cliName","data","success","Error","cause","safeParseAsync"],"sourceRoot":"../../../src/parser","sources":["safe-parse.ts"],"sourcesContent":["import * as help from \"../help-message/format-cli.js\";\nimport { findSubcommand } from \"./parse/parser-helpers.js\";\nimport { unsafeParse, unsafeParseAsync } from \"./unsafe-parse.js\";\n\nimport type { Cli, NoSubcommand, PrintMethods, SafeParseResult, Subcommand } from \"../types.js\";\n\nexport function safeParse<T extends Subcommand[], U extends Cli>(\n argsv: string[],\n ...parameters: [U, ...T]\n): SafeParseResult<[...T, NoSubcommand & U]> {\n const cliOptions = (\"cliName\" in parameters[0] ? parameters[0] : {}) as U;\n const subcommandArray = parameters as Subcommand[];\n\n type PrintTypes = PrintMethods<T[number][\"name\"]>;\n type PrintCli = PrintTypes[\"printCliHelp\"];\n type PrintSubcommand = PrintTypes[\"printSubcommandHelp\"];\n\n const printCliHelp: PrintCli = style => help.printCliHelp(parameters, style);\n\n const printSubcommandHelp: PrintSubcommand = (subCmdName, style) => {\n const subcommand = findSubcommand(subCmdName, subcommandArray);\n if (!subcommand) {\n return console.error(`Cannot print help for subcommand \"${subCmdName}\" as it does not exist`);\n }\n\n help.printSubcommandHelp(subcommand, style, cliOptions.cliName);\n };\n\n try {\n const data = unsafeParse(argsv, ...parameters);\n // @ts-expect-error The operand of a 'delete' operator must be optional.\n delete data.printCliHelp;\n // @ts-expect-errorThe operand of a 'delete' operator must be optional.\n delete data.printSubcommandHelp;\n\n return {\n success: true,\n data: data as Omit<typeof data, \"printCliHelp\" | \"printSubcommandHelp\">,\n printCliHelp,\n printSubcommandHelp,\n } as SafeParseResult<[...T, NoSubcommand & U]>;\n } catch (error) {\n if (!(error instanceof Error) || error.cause !== \"zod-args-parser\") {\n throw error;\n }\n\n return {\n success: false,\n error,\n printCliHelp,\n printSubcommandHelp,\n } as SafeParseResult<[...T, NoSubcommand & U]>;\n }\n}\n\nexport async function safeParseAsync<T extends Subcommand[], U extends Cli>(\n argsv: string[],\n ...parameters: [U, ...T]\n): Promise<SafeParseResult<[...T, NoSubcommand & U]>> {\n const cliOptions = (\"cliName\" in parameters[0] ? parameters[0] : {}) as U;\n const subcommandArray = parameters as Subcommand[];\n\n type PrintTypes = PrintMethods<T[number][\"name\"]>;\n type PrintCli = PrintTypes[\"printCliHelp\"];\n type PrintSubcommand = PrintTypes[\"printSubcommandHelp\"];\n\n const printCliHelp: PrintCli = style => help.printCliHelp(parameters, style);\n\n const printSubcommandHelp: PrintSubcommand = (subCmdName, style) => {\n const subcommand = findSubcommand(subCmdName, subcommandArray);\n if (!subcommand) {\n return console.error(`Cannot print help for subcommand \"${subCmdName}\" as it does not exist`);\n }\n\n help.printSubcommandHelp(subcommand, style, cliOptions.cliName);\n };\n\n try {\n const data = await unsafeParseAsync(argsv, ...parameters);\n // @ts-expect-error The operand of a 'delete' operator must be optional.\n delete data.printCliHelp;\n // @ts-expect-errorThe operand of a 'delete' operator must be optional.\n delete data.printSubcommandHelp;\n\n return {\n success: true,\n data: data as Omit<typeof data, \"printCliHelp\" | \"printSubcommandHelp\">,\n printCliHelp,\n printSubcommandHelp,\n } as SafeParseResult<[...T, NoSubcommand & U]>;\n } catch (error) {\n if (!(error instanceof Error) || error.cause !== \"zod-args-parser\") {\n throw error;\n }\n\n return {\n success: false,\n error,\n printCliHelp,\n printSubcommandHelp,\n } as SafeParseResult<[...T, NoSubcommand & U]>;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- import*as help from"../help-message/format-cli.mjs";import{parse}from"./parse/parse.mjs";import{findSubcommand}from"./parse/parser-helpers.mjs";import{validate}from"./validate/validate.mjs";export function unsafeParse(argv,...parameters){const cliOptions="cliName"in parameters[0]?parameters[0]:{};const subcommandArray=parameters;const parsedData=parse(argv,...parameters);const subcommandObject=findSubcommand(parsedData.subcommand,subcommandArray);if(!subcommandObject){throw new Error(`Subcommand "${parsedData.subcommand}" does not exist`,{cause:"zod-args-parser"})}if(subcommandObject.preValidation){subcommandObject.preValidation(parsedData)}const validateResult=validate(parsedData);Object.assign(validateResult,{printCliHelp(style){help.printCliHelp(parameters,style)},printSubcommandHelp(subCmdName,style){const subcommandObject=findSubcommand(subCmdName,subcommandArray);if(!subcommandObject){console.error(`Cannot print help for subcommand "${subCmdName}" as it does not exist`);return}help.printSubcommandHelp(subcommandObject,style,cliOptions.cliName)}});if(subcommandObject.action){subcommandObject.action(validateResult)}return validateResult}export async function unsafeParseAsync(argv,...parameters){const cliOptions="cliName"in parameters[0]?parameters[0]:{};const subcommandArray=parameters;const parsedData=parse(argv,...parameters);const subcommandObject=findSubcommand(parsedData.subcommand,subcommandArray);if(!subcommandObject){throw new Error(`Subcommand "${parsedData.subcommand}" does not exist`,{cause:"zod-args-parser"})}if(subcommandObject.preValidation){await subcommandObject.preValidation(parsedData)}const validateResult=validate(parsedData);Object.assign(validateResult,{printCliHelp(style){help.printCliHelp(parameters,style)},printSubcommandHelp(subCmdName,style){const subcommandObject=findSubcommand(subCmdName,subcommandArray);if(!subcommandObject){console.error(`Cannot print help for subcommand "${subCmdName}" as it does not exist`);return}help.printSubcommandHelp(subcommandObject,style,cliOptions.cliName)}});if(subcommandObject.action){await subcommandObject.action(validateResult)}return validateResult}
@@ -1 +0,0 @@
1
- {"version":3,"names":["help","parse","findSubcommand","validate","unsafeParse","argv","parameters","cliOptions","subcommandArray","parsedData","subcommandObject","subcommand","Error","cause","preValidation","validateResult","Object","assign","printCliHelp","style","printSubcommandHelp","subCmdName","console","error","cliName","action","unsafeParseAsync"],"sourceRoot":"../../../src/parser","sources":["unsafe-parse.ts"],"sourcesContent":["import * as help from \"../help-message/format-cli.js\";\nimport { parse } from \"./parse/parse.js\";\nimport { findSubcommand } from \"./parse/parser-helpers.js\";\nimport { validate } from \"./validate/validate.js\";\n\nimport type { Cli, HelpMessageStyle, NoSubcommand, Subcommand, UnsafeParseResult } from \"../types.js\";\n\nexport function unsafeParse<T extends Subcommand[], U extends Cli>(\n argv: string[],\n ...parameters: [U, ...T]\n): UnsafeParseResult<[...T, NoSubcommand & U]> {\n const cliOptions = (\"cliName\" in parameters[0] ? parameters[0] : {}) as U;\n const subcommandArray = parameters as unknown as T;\n\n // Parse\n const parsedData = parse(argv, ...parameters);\n\n const subcommandObject = findSubcommand(parsedData.subcommand, subcommandArray);\n if (!subcommandObject) {\n throw new Error(`Subcommand \"${parsedData.subcommand}\" does not exist`, { cause: \"zod-args-parser\" });\n }\n\n // Fire preValidation hook\n if (subcommandObject.preValidation) {\n subcommandObject.preValidation(parsedData);\n }\n\n // Validate\n const validateResult = validate(parsedData);\n\n Object.assign(validateResult, {\n printCliHelp(style?: Partial<HelpMessageStyle>) {\n help.printCliHelp(parameters, style);\n },\n printSubcommandHelp(subCmdName: string, style?: Partial<HelpMessageStyle>) {\n const subcommandObject = findSubcommand(subCmdName, subcommandArray);\n if (!subcommandObject) {\n console.error(`Cannot print help for subcommand \"${subCmdName}\" as it does not exist`);\n return;\n }\n\n help.printSubcommandHelp(subcommandObject, style, cliOptions.cliName);\n },\n });\n\n // Fire action\n if (subcommandObject.action) {\n subcommandObject.action(validateResult);\n }\n\n return validateResult as UnsafeParseResult<[...T, NoSubcommand & U]>;\n}\n\nexport async function unsafeParseAsync<T extends Subcommand[], U extends Cli>(\n argv: string[],\n ...parameters: [U, ...T]\n): Promise<UnsafeParseResult<[...T, NoSubcommand & U]>> {\n const cliOptions = (\"cliName\" in parameters[0] ? parameters[0] : {}) as U;\n const subcommandArray = parameters as unknown as T;\n\n // Parse\n const parsedData = parse(argv, ...parameters);\n\n const subcommandObject = findSubcommand(parsedData.subcommand, subcommandArray);\n if (!subcommandObject) {\n throw new Error(`Subcommand \"${parsedData.subcommand}\" does not exist`, { cause: \"zod-args-parser\" });\n }\n\n // Fire preValidation hook\n if (subcommandObject.preValidation) {\n await subcommandObject.preValidation(parsedData);\n }\n\n // Validate\n const validateResult = validate(parsedData);\n\n Object.assign(validateResult, {\n printCliHelp(style?: Partial<HelpMessageStyle>) {\n help.printCliHelp(parameters, style);\n },\n printSubcommandHelp(subCmdName: string, style?: Partial<HelpMessageStyle>) {\n const subcommandObject = findSubcommand(subCmdName, subcommandArray);\n if (!subcommandObject) {\n console.error(`Cannot print help for subcommand \"${subCmdName}\" as it does not exist`);\n return;\n }\n\n help.printSubcommandHelp(subcommandObject, style, cliOptions.cliName);\n },\n });\n\n // Fire action\n if (subcommandObject.action) {\n await subcommandObject.action(validateResult);\n }\n\n return validateResult as UnsafeParseResult<[...T, NoSubcommand & U]>;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- export{};
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../../src/parser/validate","sources":["validate-type.ts"],"sourcesContent":["import type { Argument, Option, Prettify, Schema, Subcommand, ToOptional, ZodInferOutput } from \"../../types.js\";\nimport type { ParseResult } from \"../parse/parse-types.js\";\n\ntype OptionsArray2RecordType<T extends Option[] | undefined> = T extends Option[]\n ? ToOptional<{ [K in T[number][\"name\"]]: ZodInferOutput<Extract<T[number], { name: K }>[\"type\"]> }>\n : object;\n\ntype ArgumentsArray2ArrayType<T extends Argument[] | undefined> = T extends Argument[]\n ? { [K in keyof T]: T[K] extends { type: Schema } ? ZodInferOutput<T[K][\"type\"]> : never }\n : never;\n\nexport type ValidateResult<S extends Partial<Subcommand>[]> = {\n [K in keyof S]: Prettify<{\n subcommand: S[K][\"name\"] extends string ? S[K][\"name\"] : undefined;\n arguments: ArgumentsArray2ArrayType<S[K][\"arguments\"]>;\n positional: S[K][\"allowPositional\"] extends true ? string[] : never;\n options: S[K][\"options\"] extends Option[] ? OptionsArray2RecordType<S[K][\"options\"]> : never;\n ctx: ParseResult<S>;\n }>;\n}[number];\n"],"mappings":"","ignoreList":[]}
@@ -1 +0,0 @@
1
- import{prettifyError}from"zod/v4/core";import{generateOrdinalSuffix,stringToBoolean}from"../../utilities.mjs";import{isBooleanSchema,safeParseSchema}from"../../zod-utilities.mjs";export function validate(parsedData){const results={subcommand:parsedData.subcommand,positional:parsedData.positional,ctx:parsedData};if(parsedData.options){if(!results.options)results.options={};for(const[optionName,{schema,rawValue,flag}]of Object.entries(parsedData.options)){let optionsValue=rawValue;if(flag&&rawValue&&isBooleanSchema(schema)){const booleanValue=stringToBoolean(rawValue);if(typeof booleanValue==="boolean"){const isNegated=flag.startsWith("--no");optionsValue=isNegated?!booleanValue:booleanValue}}const safeParseResult=safeParseSchema(schema,optionsValue);if(!safeParseResult.success){throw new Error(`Invalid value "${rawValue}" for "${flag}": ${prettifyError(safeParseResult.error)}`,{cause:"zod-args-parser"})}results.options[optionName]=safeParseResult.data}}if(parsedData.arguments){if(!results.arguments)results.arguments=[];for(const{schema,rawValue}of parsedData.arguments){const argumentValue=rawValue&&isBooleanSchema(schema)?stringToBoolean(rawValue):rawValue;const safeParseResult=safeParseSchema(schema,argumentValue);if(!safeParseResult.success){throw new Error(`The ${generateOrdinalSuffix(results.arguments.length)} argument "${rawValue}" is invalid: ${prettifyError(safeParseResult.error)}`,{cause:"zod-args-parser"})}results.arguments.push(safeParseResult.data)}}return results}
@@ -1 +0,0 @@
1
- {"version":3,"names":["prettifyError","generateOrdinalSuffix","stringToBoolean","isBooleanSchema","safeParseSchema","validate","parsedData","results","subcommand","positional","ctx","options","optionName","schema","rawValue","flag","Object","entries","optionsValue","booleanValue","isNegated","startsWith","safeParseResult","success","Error","error","cause","data","arguments","argumentValue","length","push"],"sourceRoot":"../../../../src/parser/validate","sources":["validate.ts"],"sourcesContent":["import { prettifyError } from \"zod/v4/core\";\n\nimport { generateOrdinalSuffix, stringToBoolean } from \"../../utilities.js\";\nimport { isBooleanSchema, safeParseSchema } from \"../../zod-utilities.js\";\n\nimport type { ParsedContext } from \"../parse/parse-types.js\";\n\n/** The return result object temporarily type. used inside the `parse` function */\ntype ResultsTemporaryType = Record<string, unknown> & {\n subcommand: string | undefined;\n positional?: string[];\n arguments?: unknown[];\n options?: Record<string, unknown>;\n ctx: ParsedContext;\n};\n\nexport function validate(parsedData: ParsedContext) {\n const results: ResultsTemporaryType = {\n subcommand: parsedData.subcommand,\n positional: parsedData.positional,\n ctx: parsedData,\n };\n\n // validate options\n if (parsedData.options) {\n if (!results.options) results.options = {};\n\n for (const [optionName, { schema, rawValue, flag }] of Object.entries(parsedData.options)) {\n let optionsValue: string | boolean | undefined = rawValue;\n\n // infer boolean value if possible\n if (flag && rawValue && isBooleanSchema(schema)) {\n const booleanValue = stringToBoolean(rawValue);\n if (typeof booleanValue === \"boolean\") {\n const isNegated = flag.startsWith(\"--no\");\n optionsValue = isNegated ? !booleanValue : booleanValue;\n }\n }\n\n const safeParseResult = safeParseSchema(schema, optionsValue);\n if (!safeParseResult.success) {\n throw new Error(`Invalid value \"${rawValue}\" for \"${flag}\": ${prettifyError(safeParseResult.error)}`, {\n cause: \"zod-args-parser\",\n });\n }\n\n results.options[optionName] = safeParseResult.data;\n }\n }\n\n // validate arguments\n if (parsedData.arguments) {\n if (!results.arguments) results.arguments = [];\n\n for (const { schema, rawValue } of parsedData.arguments) {\n const argumentValue = rawValue && isBooleanSchema(schema) ? stringToBoolean(rawValue) : rawValue;\n\n const safeParseResult = safeParseSchema(schema, argumentValue);\n if (!safeParseResult.success) {\n throw new Error(\n `The ${generateOrdinalSuffix(results.arguments.length)} argument \"${rawValue}\" is invalid: ${prettifyError(safeParseResult.error)}`,\n { cause: \"zod-args-parser\" },\n );\n }\n\n results.arguments.push(safeParseResult.data);\n }\n }\n\n return results;\n}\n"],"mappings":"AAAA,OAASA,aAAa,KAAQ,aAAa,CAE3C,OAASC,qBAAqB,CAAEC,eAAe,KAAQ,qBAAoB,CAC3E,OAASC,eAAe,CAAEC,eAAe,KAAQ,yBAAwB,CAazE,MAAO,SAAS,CAAAC,QAAQA,CAACC,UAAyB,CAAE,CAClD,KAAM,CAAAC,OAA6B,CAAG,CACpCC,UAAU,CAAEF,UAAU,CAACE,UAAU,CACjCC,UAAU,CAAEH,UAAU,CAACG,UAAU,CACjCC,GAAG,CAAEJ,UACP,CAAC,CAGD,GAAIA,UAAU,CAACK,OAAO,CAAE,CACtB,GAAI,CAACJ,OAAO,CAACI,OAAO,CAAEJ,OAAO,CAACI,OAAO,CAAG,CAAC,CAAC,CAE1C,IAAK,KAAM,CAACC,UAAU,CAAE,CAAEC,MAAM,CAAEC,QAAQ,CAAEC,IAAK,CAAC,CAAC,EAAI,CAAAC,MAAM,CAACC,OAAO,CAACX,UAAU,CAACK,OAAO,CAAC,CAAE,CACzF,GAAI,CAAAO,YAA0C,CAAGJ,QAAQ,CAGzD,GAAIC,IAAI,EAAID,QAAQ,EAAIX,eAAe,CAACU,MAAM,CAAC,CAAE,CAC/C,KAAM,CAAAM,YAAY,CAAGjB,eAAe,CAACY,QAAQ,CAAC,CAC9C,GAAI,MAAO,CAAAK,YAAY,GAAK,SAAS,CAAE,CACrC,KAAM,CAAAC,SAAS,CAAGL,IAAI,CAACM,UAAU,CAAC,MAAM,CAAC,CACzCH,YAAY,CAAGE,SAAS,CAAG,CAACD,YAAY,CAAGA,YAC7C,CACF,CAEA,KAAM,CAAAG,eAAe,CAAGlB,eAAe,CAACS,MAAM,CAAEK,YAAY,CAAC,CAC7D,GAAI,CAACI,eAAe,CAACC,OAAO,CAAE,CAC5B,KAAM,IAAI,CAAAC,KAAK,CAAC,kBAAkBV,QAAQ,UAAUC,IAAI,MAAMf,aAAa,CAACsB,eAAe,CAACG,KAAK,CAAC,EAAE,CAAE,CACpGC,KAAK,CAAE,iBACT,CAAC,CACH,CAEAnB,OAAO,CAACI,OAAO,CAACC,UAAU,CAAC,CAAGU,eAAe,CAACK,IAChD,CACF,CAGA,GAAIrB,UAAU,CAACsB,SAAS,CAAE,CACxB,GAAI,CAACrB,OAAO,CAACqB,SAAS,CAAErB,OAAO,CAACqB,SAAS,CAAG,EAAE,CAE9C,IAAK,KAAM,CAAEf,MAAM,CAAEC,QAAS,CAAC,EAAI,CAAAR,UAAU,CAACsB,SAAS,CAAE,CACvD,KAAM,CAAAC,aAAa,CAAGf,QAAQ,EAAIX,eAAe,CAACU,MAAM,CAAC,CAAGX,eAAe,CAACY,QAAQ,CAAC,CAAGA,QAAQ,CAEhG,KAAM,CAAAQ,eAAe,CAAGlB,eAAe,CAACS,MAAM,CAAEgB,aAAa,CAAC,CAC9D,GAAI,CAACP,eAAe,CAACC,OAAO,CAAE,CAC5B,KAAM,IAAI,CAAAC,KAAK,CACb,OAAOvB,qBAAqB,CAACM,OAAO,CAACqB,SAAS,CAACE,MAAM,CAAC,cAAchB,QAAQ,iBAAiBd,aAAa,CAACsB,eAAe,CAACG,KAAK,CAAC,EAAE,CACnI,CAAEC,KAAK,CAAE,iBAAkB,CAC7B,CACF,CAEAnB,OAAO,CAACqB,SAAS,CAACG,IAAI,CAACT,eAAe,CAACK,IAAI,CAC7C,CACF,CAEA,MAAO,CAAApB,OACT","ignoreList":[]}
@@ -1 +0,0 @@
1
- export function stringToBoolean(string){if(string.toLowerCase()==="true"){return true}if(string.toLowerCase()==="false"){return false}return string}export function generateOrdinalSuffix(index){if(index<0)return"";const number=index+1;const lastDigit=number%10;const lastTwoDigits=number%100;let suffix="th";if(lastTwoDigits<11||lastTwoDigits>13){switch(lastDigit){case 1:{suffix="st";break}case 2:{suffix="nd";break}case 3:{suffix="rd";break}}}return`${number}${suffix}`}export function ln(count){return"\n".repeat(count)}export function indent(count){if(count<=0)return"";return" ".repeat(count)}export function concat(...messages){return messages.join(" ")}export function stringifyValue(value){if(value instanceof Set){return"new Set(["+Array.from(value).map(element=>stringifyValue(element)).join(", ")+"])"}return JSON.stringify(value)}export function insertAtEndOfFirstLine(string,insert){const lines=string.split("\n");lines[0]+=" "+insert;return lines.join("\n")}export function subcommandPlaceholder(metadata){let placeholder=metadata.placeholder;if(!placeholder&&metadata.options.length>0){placeholder="[options]"}if(!placeholder&&metadata.arguments.length>0){placeholder="<arguments>"}if(metadata.allowPositional){placeholder+=(placeholder?" ":"")+"<positionals>"}if(!placeholder){placeholder=" "}return placeholder}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stringToBoolean","string","toLowerCase","generateOrdinalSuffix","index","number","lastDigit","lastTwoDigits","suffix","ln","count","repeat","indent","concat","messages","join","stringifyValue","value","Set","Array","from","map","element","JSON","stringify","insertAtEndOfFirstLine","insert","lines","split","subcommandPlaceholder","metadata","placeholder","options","length","arguments","allowPositional"],"sourceRoot":"../../src","sources":["utilities.ts"],"sourcesContent":["import { SubcommandMetadata } from \"./metadata/metadata-types.js\";\n\n/**\n * Converts a string to its corresponding boolean value if the string is \"true\" or \"false\" (case-insensitive).\n *\n * @param string - The input string to convert.\n * @returns `true` if the input is \"true\", `false` if the input is \"false\", or the original string otherwise.\n */\nexport function stringToBoolean(string: string): boolean | string {\n if (string.toLowerCase() === \"true\") {\n return true;\n }\n\n if (string.toLowerCase() === \"false\") {\n return false;\n }\n\n return string;\n}\n\n/**\n * Converts a zero-based index into its human-readable ordinal form.\n *\n * Examples: 0 → \"1st\" 1 → \"2nd\" 2 → \"3rd\" 3 → \"4th\" 10 → \"11th\"\n *\n * Handles special cases for 11, 12, and 13.\n *\n * @param index - The zero-based index to convert.\n * @returns The ordinal string (e.g., \"1st\", \"2nd\", \"3rd\", \"4th\", ...).\n */\nexport function generateOrdinalSuffix(index: number): string {\n if (index < 0) return \"\";\n\n const number = index + 1;\n const lastDigit = number % 10;\n const lastTwoDigits = number % 100;\n\n let suffix = \"th\";\n\n if (lastTwoDigits < 11 || lastTwoDigits > 13) {\n switch (lastDigit) {\n case 1: {\n suffix = \"st\";\n break;\n }\n case 2: {\n suffix = \"nd\";\n break;\n }\n case 3: {\n suffix = \"rd\";\n break;\n }\n }\n }\n\n return `${number}${suffix}`;\n}\n\n/** New line */\nexport function ln(count: number) {\n return \"\\n\".repeat(count);\n}\n\n/** Space */\nexport function indent(count: number) {\n if (count <= 0) return \"\";\n return \" \".repeat(count);\n}\n\n/** Concat strings */\nexport function concat(...messages: string[]) {\n // messages = messages.filter(Boolean);\n return messages.join(\" \");\n}\n\nexport function stringifyValue(value: unknown): string {\n // Set\n if (value instanceof Set) {\n return (\n \"new Set([\" +\n Array.from(value)\n .map(element => stringifyValue(element))\n .join(\", \") +\n \"])\"\n );\n }\n\n // unknown\n return JSON.stringify(value);\n}\n\n/** Insert text at the end of the first line */\nexport function insertAtEndOfFirstLine(string: string, insert: string) {\n const lines = string.split(\"\\n\");\n lines[0] += \" \" + insert;\n return lines.join(\"\\n\");\n}\n\n/** Get the placeholder for a subcommand */\nexport function subcommandPlaceholder(metadata: SubcommandMetadata): string {\n let placeholder = metadata.placeholder;\n\n if (!placeholder && metadata.options.length > 0) {\n placeholder = \"[options]\";\n }\n\n if (!placeholder && metadata.arguments.length > 0) {\n placeholder = \"<arguments>\";\n }\n\n if (metadata.allowPositional) {\n placeholder += (placeholder ? \" \" : \"\") + \"<positionals>\";\n }\n\n if (!placeholder) {\n placeholder = \" \";\n }\n\n return placeholder;\n}\n"],"mappings":"AAQA,MAAO,SAAS,CAAAA,eAAeA,CAACC,MAAc,CAAoB,CAChE,GAAIA,MAAM,CAACC,WAAW,CAAC,CAAC,GAAK,MAAM,CAAE,CACnC,MAAO,KACT,CAEA,GAAID,MAAM,CAACC,WAAW,CAAC,CAAC,GAAK,OAAO,CAAE,CACpC,MAAO,MACT,CAEA,MAAO,CAAAD,MACT,CAYA,MAAO,SAAS,CAAAE,qBAAqBA,CAACC,KAAa,CAAU,CAC3D,GAAIA,KAAK,CAAG,CAAC,CAAE,MAAO,EAAE,CAExB,KAAM,CAAAC,MAAM,CAAGD,KAAK,CAAG,CAAC,CACxB,KAAM,CAAAE,SAAS,CAAGD,MAAM,CAAG,EAAE,CAC7B,KAAM,CAAAE,aAAa,CAAGF,MAAM,CAAG,GAAG,CAElC,GAAI,CAAAG,MAAM,CAAG,IAAI,CAEjB,GAAID,aAAa,CAAG,EAAE,EAAIA,aAAa,CAAG,EAAE,CAAE,CAC5C,OAAQD,SAAS,EACf,IAAK,EAAC,CAAE,CACNE,MAAM,CAAG,IAAI,CACb,KACF,CACA,IAAK,EAAC,CAAE,CACNA,MAAM,CAAG,IAAI,CACb,KACF,CACA,IAAK,EAAC,CAAE,CACNA,MAAM,CAAG,IAAI,CACb,KACF,CACF,CACF,CAEA,MAAO,GAAGH,MAAM,GAAGG,MAAM,EAC3B,CAGA,MAAO,SAAS,CAAAC,EAAEA,CAACC,KAAa,CAAE,CAChC,MAAO,IAAI,CAACC,MAAM,CAACD,KAAK,CAC1B,CAGA,MAAO,SAAS,CAAAE,MAAMA,CAACF,KAAa,CAAE,CACpC,GAAIA,KAAK,EAAI,CAAC,CAAE,MAAO,EAAE,CACzB,MAAO,GAAG,CAACC,MAAM,CAACD,KAAK,CACzB,CAGA,MAAO,SAAS,CAAAG,MAAMA,CAAC,GAAGC,QAAkB,CAAE,CAE5C,MAAO,CAAAA,QAAQ,CAACC,IAAI,CAAC,GAAG,CAC1B,CAEA,MAAO,SAAS,CAAAC,cAAcA,CAACC,KAAc,CAAU,CAErD,GAAIA,KAAK,WAAY,CAAAC,GAAG,CAAE,CACxB,MACE,WAAW,CACXC,KAAK,CAACC,IAAI,CAACH,KAAK,CAAC,CACdI,GAAG,CAACC,OAAO,EAAIN,cAAc,CAACM,OAAO,CAAC,CAAC,CACvCP,IAAI,CAAC,IAAI,CAAC,CACb,IAEJ,CAGA,MAAO,CAAAQ,IAAI,CAACC,SAAS,CAACP,KAAK,CAC7B,CAGA,MAAO,SAAS,CAAAQ,sBAAsBA,CAACxB,MAAc,CAAEyB,MAAc,CAAE,CACrE,KAAM,CAAAC,KAAK,CAAG1B,MAAM,CAAC2B,KAAK,CAAC,IAAI,CAAC,CAChCD,KAAK,CAAC,CAAC,CAAC,EAAI,GAAG,CAAGD,MAAM,CACxB,MAAO,CAAAC,KAAK,CAACZ,IAAI,CAAC,IAAI,CACxB,CAGA,MAAO,SAAS,CAAAc,qBAAqBA,CAACC,QAA4B,CAAU,CAC1E,GAAI,CAAAC,WAAW,CAAGD,QAAQ,CAACC,WAAW,CAEtC,GAAI,CAACA,WAAW,EAAID,QAAQ,CAACE,OAAO,CAACC,MAAM,CAAG,CAAC,CAAE,CAC/CF,WAAW,CAAG,WAChB,CAEA,GAAI,CAACA,WAAW,EAAID,QAAQ,CAACI,SAAS,CAACD,MAAM,CAAG,CAAC,CAAE,CACjDF,WAAW,CAAG,aAChB,CAEA,GAAID,QAAQ,CAACK,eAAe,CAAE,CAC5BJ,WAAW,EAAI,CAACA,WAAW,CAAG,GAAG,CAAG,EAAE,EAAI,eAC5C,CAEA,GAAI,CAACA,WAAW,CAAE,CAChBA,WAAW,CAAG,GAChB,CAEA,MAAO,CAAAA,WACT","ignoreList":[]}
@@ -1 +0,0 @@
1
- import{ZodBoolean,ZodDefault,ZodEffects}from"zod/v3";import{safeParse}from"zod/v4/core";function isV4Schema(schema){return"_zod"in schema}export function safeParseSchema(schema,value){if(isV4Schema(schema)){return safeParse(schema,value)}return schema.safeParse(value)}export function isBooleanSchema(schema){if(isV4Schema(schema)){return isBooleanV4Schema(schema)}return isBooleanV3Schema(schema)}function isBooleanV4Schema(schema){let schemaDefinition=schema._zod.def;while(schemaDefinition){if(schemaDefinition.type==="boolean"){return true}if(isV4SchemaDefinitionPipe(schemaDefinition)){return isBooleanV4Schema(schemaDefinition.out)}if(!isV4SchemaDefinitionHasInnerType(schemaDefinition)){return false}schemaDefinition=schemaDefinition.innerType._zod.def}return false}function isBooleanV3Schema(schema){let type=schema;while(type){if(type instanceof ZodBoolean){return true}if(type instanceof ZodEffects){return isBooleanV3Schema(type._def.schema)}const definition=type._def;if("innerType"in definition){type=definition.innerType}return false}return false}export function schemaDefaultValue(schema){if(isV4Schema(schema)){return schemaV4DefaultValue(schema)}return schemaV3DefaultValue(schema)}function schemaV4DefaultValue(schema){let schemaDefinition=schema._zod.def;while(schemaDefinition){if(isSchemaDefinitionDefaultV4(schemaDefinition)){return schemaDefinition.defaultValue}if(isV4SchemaDefinitionPipe(schemaDefinition)){return schemaV4DefaultValue(schemaDefinition.out)}if(!isV4SchemaDefinitionHasInnerType(schemaDefinition)){return undefined}schemaDefinition=schemaDefinition.innerType._zod.def}return undefined}function schemaV3DefaultValue(schema){let type=schema;while(type){if(type instanceof ZodDefault){return type._def.defaultValue()}if(type instanceof ZodEffects){return schemaV3DefaultValue(type._def.schema)}const definition=type._def;if("innerType"in definition){type=definition.innerType}return}return}export function schemaDescription(schema){if(isV4Schema(schema)){if(!("meta"in schema)||typeof schema.meta!=="function"){return}const metaResult=schema.meta();if(!metaResult||typeof metaResult!=="object"||!("description"in metaResult)){return}return metaResult.description}return schema.description}export function isOptionalSchema(schema){if(isV4Schema(schema)){return schema._zod.def.type==="optional"||schema._zod.def.type==="default"}return schema.isOptional()}function isSchemaDefinitionDefaultV4(schemaDefinition){return schemaDefinition.type==="default"}function isV4SchemaDefinitionHasInnerType(schemaDefinition){return new Set(["default","prefault","optional","nonoptional","nullable","success","catch","readonly","promise"]).has(schemaDefinition.type)}function isV4SchemaDefinitionPipe(schemaDefinition){return schemaDefinition.type==="pipe"}export function stringToArray(stringValue,separator=","){return stringValue.split(separator).map(s=>s.trim()).filter(Boolean)}export function stringToSet(stringValue,separator=","){const maybeArray=stringToArray(stringValue,separator);return new Set(maybeArray)}
@@ -1 +0,0 @@
1
- {"version":3,"names":["ZodBoolean","ZodDefault","ZodEffects","safeParse","isV4Schema","schema","safeParseSchema","value","isBooleanSchema","isBooleanV4Schema","isBooleanV3Schema","schemaDefinition","_zod","def","type","isV4SchemaDefinitionPipe","out","isV4SchemaDefinitionHasInnerType","innerType","_def","definition","schemaDefaultValue","schemaV4DefaultValue","schemaV3DefaultValue","isSchemaDefinitionDefaultV4","defaultValue","undefined","schemaDescription","meta","metaResult","description","isOptionalSchema","isOptional","Set","has","stringToArray","stringValue","separator","split","map","s","trim","filter","Boolean","stringToSet","maybeArray"],"sourceRoot":"../../src","sources":["zod-utilities.ts"],"sourcesContent":["import { ZodBoolean, ZodDefault, ZodEffects } from \"zod/v3\";\nimport { safeParse } from \"zod/v4/core\";\n\nimport type * as Z3 from \"zod/v3\";\nimport type * as Z4 from \"zod/v4/core\";\nimport type { Schema, SchemaV3, SchemaV4 } from \"./types.ts\";\n\nfunction isV4Schema(schema: Schema): schema is SchemaV4 {\n return \"_zod\" in schema;\n}\n\n/** - Safe parse a value against a schema */\nexport function safeParseSchema(schema: Schema, value: unknown) {\n if (isV4Schema(schema)) {\n return safeParse(schema, value);\n }\n\n return schema.safeParse(value);\n}\n\n/** - Check if a schema is a boolean */\nexport function isBooleanSchema(schema: Schema): boolean {\n if (isV4Schema(schema)) {\n return isBooleanV4Schema(schema);\n }\n\n return isBooleanV3Schema(schema);\n}\n\nfunction isBooleanV4Schema(schema: SchemaV4): boolean {\n let schemaDefinition = schema._zod.def;\n\n while (schemaDefinition) {\n if (schemaDefinition.type === \"boolean\") {\n return true;\n }\n\n if (isV4SchemaDefinitionPipe(schemaDefinition)) {\n return isBooleanV4Schema(schemaDefinition.out);\n }\n\n if (!isV4SchemaDefinitionHasInnerType(schemaDefinition)) {\n return false;\n }\n\n schemaDefinition = schemaDefinition.innerType._zod.def;\n }\n\n return false;\n}\n\nfunction isBooleanV3Schema(schema: SchemaV3): boolean {\n let type = schema;\n\n while (type) {\n if (type instanceof ZodBoolean) {\n return true;\n }\n\n if (type instanceof ZodEffects) {\n return isBooleanV3Schema(type._def.schema as SchemaV3);\n }\n\n const definition = type._def as Z3.ZodTypeDef;\n\n if (\"innerType\" in definition) {\n type = definition.innerType as Z3.ZodTypeAny;\n }\n\n return false;\n }\n\n return false;\n}\n\n/** - Get the default value of a schema */\nexport function schemaDefaultValue(schema: Schema): unknown {\n if (isV4Schema(schema)) {\n return schemaV4DefaultValue(schema);\n }\n\n return schemaV3DefaultValue(schema);\n}\n\nfunction schemaV4DefaultValue(schema: SchemaV4): unknown {\n let schemaDefinition = schema._zod.def;\n\n while (schemaDefinition) {\n if (isSchemaDefinitionDefaultV4(schemaDefinition)) {\n return schemaDefinition.defaultValue;\n }\n\n if (isV4SchemaDefinitionPipe(schemaDefinition)) {\n return schemaV4DefaultValue(schemaDefinition.out);\n }\n\n if (!isV4SchemaDefinitionHasInnerType(schemaDefinition)) {\n return undefined;\n }\n\n schemaDefinition = schemaDefinition.innerType._zod.def;\n }\n\n return undefined;\n}\n\nfunction schemaV3DefaultValue(schema: SchemaV3): unknown {\n let type = schema;\n while (type) {\n if (type instanceof ZodDefault) {\n return type._def.defaultValue();\n }\n\n if (type instanceof ZodEffects) {\n return schemaV3DefaultValue(type._def.schema as SchemaV3);\n }\n\n const definition = type._def as Z3.ZodTypeDef;\n\n if (\"innerType\" in definition) {\n type = definition.innerType as Z3.ZodTypeAny;\n }\n\n return;\n }\n\n return;\n}\n\n/** - Get the description of a schema */\nexport function schemaDescription(schema: Schema): string | undefined {\n if (isV4Schema(schema)) {\n if (!(\"meta\" in schema) || typeof schema.meta !== \"function\") {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n const metaResult = schema.meta() as { description?: string } | undefined;\n\n if (!metaResult || typeof metaResult !== \"object\" || !(\"description\" in metaResult)) {\n return;\n }\n\n return metaResult.description;\n }\n\n return schema.description;\n}\n\n/** - Check if a schema is optional */\nexport function isOptionalSchema(schema: Schema): schema is Z4.$ZodOptional {\n if (isV4Schema(schema)) {\n return schema._zod.def.type === \"optional\" || schema._zod.def.type === \"default\";\n }\n\n return schema.isOptional();\n}\n\nfunction isSchemaDefinitionDefaultV4(schemaDefinition: Z4.$ZodTypeDef): schemaDefinition is Z4.$ZodDefaultDef {\n return schemaDefinition.type === \"default\";\n}\n\ntype SchemaWithInnerType =\n | Z4.$ZodDefaultDef\n | Z4.$ZodPrefaultDef\n | Z4.$ZodOptionalDef\n | Z4.$ZodNonOptionalDef\n | Z4.$ZodNullableDef\n | Z4.$ZodSuccessDef\n | Z4.$ZodCatchDef\n | Z4.$ZodReadonlyDef\n | Z4.$ZodPromiseDef;\n\nfunction isV4SchemaDefinitionHasInnerType(schemaDefinition: Z4.$ZodTypeDef): schemaDefinition is SchemaWithInnerType {\n return new Set([\n \"default\",\n \"prefault\",\n \"optional\",\n \"nonoptional\",\n \"nullable\",\n \"success\",\n \"catch\",\n \"readonly\",\n \"promise\",\n ]).has(schemaDefinition.type);\n}\n\nfunction isV4SchemaDefinitionPipe(schemaDefinition: Z4.$ZodTypeDef): schemaDefinition is Z4.$ZodPipeDef {\n return schemaDefinition.type === \"pipe\";\n}\n\n/**\n * A preprocessing function for Zod that converts a string to an array of strings.\n *\n * @param stringValue - The string value given by zod.\n * @param separator - The separator to use when splitting the string. Defaults to \",\".\n */\nexport function stringToArray(stringValue: string, separator: string = \",\"): string[] {\n return stringValue\n .split(separator)\n .map(s => s.trim())\n .filter(Boolean);\n}\n\n/**\n * A preprocessing function for Zod that converts a string to a `Set` of strings.\n *\n * @param stringValue - The string value given by zod.\n * @param separator - The separator to use when splitting the string. Defaults to \",\".\n */\nexport function stringToSet(stringValue: string, separator: string = \",\"): Set<string> {\n const maybeArray = stringToArray(stringValue, separator);\n return new Set(maybeArray);\n}\n"],"mappings":"AAAA,OAASA,UAAU,CAAEC,UAAU,CAAEC,UAAU,KAAQ,QAAQ,CAC3D,OAASC,SAAS,KAAQ,aAAa,CAMvC,QAAS,CAAAC,UAAUA,CAACC,MAAc,CAAsB,CACtD,MAAO,MAAM,EAAI,CAAAA,MACnB,CAGA,MAAO,SAAS,CAAAC,eAAeA,CAACD,MAAc,CAAEE,KAAc,CAAE,CAC9D,GAAIH,UAAU,CAACC,MAAM,CAAC,CAAE,CACtB,MAAO,CAAAF,SAAS,CAACE,MAAM,CAAEE,KAAK,CAChC,CAEA,MAAO,CAAAF,MAAM,CAACF,SAAS,CAACI,KAAK,CAC/B,CAGA,MAAO,SAAS,CAAAC,eAAeA,CAACH,MAAc,CAAW,CACvD,GAAID,UAAU,CAACC,MAAM,CAAC,CAAE,CACtB,MAAO,CAAAI,iBAAiB,CAACJ,MAAM,CACjC,CAEA,MAAO,CAAAK,iBAAiB,CAACL,MAAM,CACjC,CAEA,QAAS,CAAAI,iBAAiBA,CAACJ,MAAgB,CAAW,CACpD,GAAI,CAAAM,gBAAgB,CAAGN,MAAM,CAACO,IAAI,CAACC,GAAG,CAEtC,MAAOF,gBAAgB,CAAE,CACvB,GAAIA,gBAAgB,CAACG,IAAI,GAAK,SAAS,CAAE,CACvC,MAAO,KACT,CAEA,GAAIC,wBAAwB,CAACJ,gBAAgB,CAAC,CAAE,CAC9C,MAAO,CAAAF,iBAAiB,CAACE,gBAAgB,CAACK,GAAG,CAC/C,CAEA,GAAI,CAACC,gCAAgC,CAACN,gBAAgB,CAAC,CAAE,CACvD,MAAO,MACT,CAEAA,gBAAgB,CAAGA,gBAAgB,CAACO,SAAS,CAACN,IAAI,CAACC,GACrD,CAEA,MAAO,MACT,CAEA,QAAS,CAAAH,iBAAiBA,CAACL,MAAgB,CAAW,CACpD,GAAI,CAAAS,IAAI,CAAGT,MAAM,CAEjB,MAAOS,IAAI,CAAE,CACX,GAAIA,IAAI,WAAY,CAAAd,UAAU,CAAE,CAC9B,MAAO,KACT,CAEA,GAAIc,IAAI,WAAY,CAAAZ,UAAU,CAAE,CAC9B,MAAO,CAAAQ,iBAAiB,CAACI,IAAI,CAACK,IAAI,CAACd,MAAkB,CACvD,CAEA,KAAM,CAAAe,UAAU,CAAGN,IAAI,CAACK,IAAqB,CAE7C,GAAI,WAAW,EAAI,CAAAC,UAAU,CAAE,CAC7BN,IAAI,CAAGM,UAAU,CAACF,SACpB,CAEA,MAAO,MACT,CAEA,MAAO,MACT,CAGA,MAAO,SAAS,CAAAG,kBAAkBA,CAAChB,MAAc,CAAW,CAC1D,GAAID,UAAU,CAACC,MAAM,CAAC,CAAE,CACtB,MAAO,CAAAiB,oBAAoB,CAACjB,MAAM,CACpC,CAEA,MAAO,CAAAkB,oBAAoB,CAAClB,MAAM,CACpC,CAEA,QAAS,CAAAiB,oBAAoBA,CAACjB,MAAgB,CAAW,CACvD,GAAI,CAAAM,gBAAgB,CAAGN,MAAM,CAACO,IAAI,CAACC,GAAG,CAEtC,MAAOF,gBAAgB,CAAE,CACvB,GAAIa,2BAA2B,CAACb,gBAAgB,CAAC,CAAE,CACjD,MAAO,CAAAA,gBAAgB,CAACc,YAC1B,CAEA,GAAIV,wBAAwB,CAACJ,gBAAgB,CAAC,CAAE,CAC9C,MAAO,CAAAW,oBAAoB,CAACX,gBAAgB,CAACK,GAAG,CAClD,CAEA,GAAI,CAACC,gCAAgC,CAACN,gBAAgB,CAAC,CAAE,CACvD,MAAO,CAAAe,SACT,CAEAf,gBAAgB,CAAGA,gBAAgB,CAACO,SAAS,CAACN,IAAI,CAACC,GACrD,CAEA,MAAO,CAAAa,SACT,CAEA,QAAS,CAAAH,oBAAoBA,CAAClB,MAAgB,CAAW,CACvD,GAAI,CAAAS,IAAI,CAAGT,MAAM,CACjB,MAAOS,IAAI,CAAE,CACX,GAAIA,IAAI,WAAY,CAAAb,UAAU,CAAE,CAC9B,MAAO,CAAAa,IAAI,CAACK,IAAI,CAACM,YAAY,CAAC,CAChC,CAEA,GAAIX,IAAI,WAAY,CAAAZ,UAAU,CAAE,CAC9B,MAAO,CAAAqB,oBAAoB,CAACT,IAAI,CAACK,IAAI,CAACd,MAAkB,CAC1D,CAEA,KAAM,CAAAe,UAAU,CAAGN,IAAI,CAACK,IAAqB,CAE7C,GAAI,WAAW,EAAI,CAAAC,UAAU,CAAE,CAC7BN,IAAI,CAAGM,UAAU,CAACF,SACpB,CAEA,MACF,CAEA,MACF,CAGA,MAAO,SAAS,CAAAS,iBAAiBA,CAACtB,MAAc,CAAsB,CACpE,GAAID,UAAU,CAACC,MAAM,CAAC,CAAE,CACtB,GAAI,EAAE,MAAM,EAAI,CAAAA,MAAM,CAAC,EAAI,MAAO,CAAAA,MAAM,CAACuB,IAAI,GAAK,UAAU,CAAE,CAC5D,MACF,CAGA,KAAM,CAAAC,UAAU,CAAGxB,MAAM,CAACuB,IAAI,CAAC,CAAyC,CAExE,GAAI,CAACC,UAAU,EAAI,MAAO,CAAAA,UAAU,GAAK,QAAQ,EAAI,EAAE,aAAa,EAAI,CAAAA,UAAU,CAAC,CAAE,CACnF,MACF,CAEA,MAAO,CAAAA,UAAU,CAACC,WACpB,CAEA,MAAO,CAAAzB,MAAM,CAACyB,WAChB,CAGA,MAAO,SAAS,CAAAC,gBAAgBA,CAAC1B,MAAc,CAA6B,CAC1E,GAAID,UAAU,CAACC,MAAM,CAAC,CAAE,CACtB,MAAO,CAAAA,MAAM,CAACO,IAAI,CAACC,GAAG,CAACC,IAAI,GAAK,UAAU,EAAIT,MAAM,CAACO,IAAI,CAACC,GAAG,CAACC,IAAI,GAAK,SACzE,CAEA,MAAO,CAAAT,MAAM,CAAC2B,UAAU,CAAC,CAC3B,CAEA,QAAS,CAAAR,2BAA2BA,CAACb,gBAAgC,CAAyC,CAC5G,MAAO,CAAAA,gBAAgB,CAACG,IAAI,GAAK,SACnC,CAaA,QAAS,CAAAG,gCAAgCA,CAACN,gBAAgC,CAA2C,CACnH,MAAO,IAAI,CAAAsB,GAAG,CAAC,CACb,SAAS,CACT,UAAU,CACV,UAAU,CACV,aAAa,CACb,UAAU,CACV,SAAS,CACT,OAAO,CACP,UAAU,CACV,SAAS,CACV,CAAC,CAACC,GAAG,CAACvB,gBAAgB,CAACG,IAAI,CAC9B,CAEA,QAAS,CAAAC,wBAAwBA,CAACJ,gBAAgC,CAAsC,CACtG,MAAO,CAAAA,gBAAgB,CAACG,IAAI,GAAK,MACnC,CAQA,MAAO,SAAS,CAAAqB,aAAaA,CAACC,WAAmB,CAAEC,SAAiB,CAAG,GAAG,CAAY,CACpF,MAAO,CAAAD,WAAW,CACfE,KAAK,CAACD,SAAS,CAAC,CAChBE,GAAG,CAACC,CAAC,EAAIA,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC,CAClBC,MAAM,CAACC,OAAO,CACnB,CAQA,MAAO,SAAS,CAAAC,WAAWA,CAACR,WAAmB,CAAEC,SAAiB,CAAG,GAAG,CAAe,CACrF,KAAM,CAAAQ,UAAU,CAAGV,aAAa,CAACC,WAAW,CAAEC,SAAS,CAAC,CACxD,MAAO,IAAI,CAAAJ,GAAG,CAACY,UAAU,CAC3B","ignoreList":[]}
@@ -1,6 +0,0 @@
1
- import type { Cli, HelpMessageStyle, Subcommand } from "../types.js";
2
- export declare function formatCliHelpMessage(parameters: readonly [Cli, ...Subcommand[]], style?: Partial<HelpMessageStyle>): string;
3
- export declare function formatSubcommandHelpMessage(subcommand: Subcommand, printStyle?: Partial<HelpMessageStyle>, cliName?: string): string;
4
- export declare function printCliHelp(parameters: readonly [Cli, ...Subcommand[]], style?: Partial<HelpMessageStyle>): void;
5
- export declare function printSubcommandHelp(subcommand: Subcommand, style?: Partial<HelpMessageStyle>, cliName?: string): void;
6
- //# sourceMappingURL=format-cli.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"format-cli.d.ts","sourceRoot":"","sources":["../../../src/help-message/format-cli.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAErE,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC,EAC3C,KAAK,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAChC,MAAM,CAiGR;AAED,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,UAAU,EACtB,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,EACtC,OAAO,SAAK,UAkBb;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,QAE1G;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,OAAO,SAAK,QAE1G"}
@@ -1,4 +0,0 @@
1
- import type { Argument } from "../types.js";
2
- import type { ArgumentMetadata } from "./metadata-types.js";
3
- export declare function getArgumentsMetadata(arguments_: Argument[]): ArgumentMetadata[];
4
- //# sourceMappingURL=get-arguments-metadata.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-arguments-metadata.d.ts","sourceRoot":"","sources":["../../../src/metadata/get-arguments-metadata.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAkB/E"}
@@ -1,4 +0,0 @@
1
- import type { Cli, Subcommand } from "../types.js";
2
- import type { CliMetadata } from "./metadata-types.js";
3
- export declare function getCliMetadata(inputData: readonly [Cli, ...Subcommand[]]): CliMetadata;
4
- //# sourceMappingURL=get-cli-metadata.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-cli-metadata.d.ts","sourceRoot":"","sources":["../../../src/metadata/get-cli-metadata.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC,GAAG,WAAW,CAetF"}
@@ -1,4 +0,0 @@
1
- import type { Option } from "../types.js";
2
- import type { OptionMetadata } from "./metadata-types.js";
3
- export declare function getOptionsMetadata(options: Option[]): OptionMetadata[];
4
- //# sourceMappingURL=get-options-metadata.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-options-metadata.d.ts","sourceRoot":"","sources":["../../../src/metadata/get-options-metadata.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,CA2BtE"}
@@ -1,4 +0,0 @@
1
- import type { Subcommand } from "../types.js";
2
- import type { SubcommandMetadata } from "./metadata-types.js";
3
- export declare function getSubcommandsMetadata(subcommands: Subcommand[]): SubcommandMetadata[];
4
- //# sourceMappingURL=get-subcommands-metadata.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-subcommands-metadata.d.ts","sourceRoot":"","sources":["../../../src/metadata/get-subcommands-metadata.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,EAAE,CAyBtF"}
@@ -1,80 +0,0 @@
1
- import type { Schema } from "../types.js";
2
- export interface CliMetadata {
3
- /** The name of the cli program. */
4
- readonly name: string;
5
- /** - The description of the cli program. Empty string if not provided */
6
- readonly description: string;
7
- /** - The usage of the cli program. Empty string if not provided */
8
- readonly usage: string;
9
- /** - The example of the cli program. Empty string if not provided */
10
- readonly example: string;
11
- /** - Whether the cli program allows positional arguments. */
12
- readonly allowPositional: boolean;
13
- /** - The options of the cli program. Empty array if not provided */
14
- readonly options: OptionMetadata[];
15
- /** - The arguments of the cli program. Empty array if not provided */
16
- readonly arguments: ArgumentMetadata[];
17
- /** - The subcommands of the cli program. Empty array if not provided */
18
- readonly subcommands: SubcommandMetadata[];
19
- }
20
- export interface SubcommandMetadata {
21
- /** The subcommand name. */
22
- readonly name: string;
23
- /** - The aliases of the subcommand. Empty array if not provided */
24
- readonly aliases: string[];
25
- /** - The description of the subcommand. Empty string if not provided */
26
- readonly description: string;
27
- /** - The placeholder of the subcommand. Empty string if not provided */
28
- readonly placeholder: string;
29
- /** - The usage of the subcommand. Empty string if not provided */
30
- readonly usage: string;
31
- /** - The example of the subcommand. Empty string if not provided */
32
- readonly example: string;
33
- /** - Whether the subcommand allows positional arguments. */
34
- readonly allowPositional: boolean;
35
- /** - The options of the subcommand. Empty array if not provided */
36
- readonly options: OptionMetadata[];
37
- /** - The arguments of the subcommand. Empty array if not provided */
38
- readonly arguments: ArgumentMetadata[];
39
- }
40
- export interface OptionMetadata {
41
- /** The option name in camelCase. E.g. `optionName` */
42
- readonly name: string;
43
- /** The option name in kebab-case. E.g. `--option-name` */
44
- readonly nameAsArg: string;
45
- /** - The aliases of the option in camelCase. Empty array if not provided. E.g. `[aliasName, ...]` */
46
- readonly aliases: string[];
47
- /** - The aliases of the option in kebab-case. Empty array if not provided. E.g. `[--alias-name, ...]` */
48
- readonly aliasesAsArgs: string[];
49
- /** - The description of the option. Empty string if not provided */
50
- readonly description: string;
51
- /** - The placeholder of the option. Empty string if not provided */
52
- readonly placeholder: string;
53
- /** - The example of the option. Empty string if not provided */
54
- readonly example: string;
55
- /** - The default value of the option. */
56
- readonly defaultValue: unknown;
57
- /** - The default value of the option as string. */
58
- readonly defaultValueAsString: string;
59
- /** - Whether the option is optional. */
60
- readonly optional: boolean;
61
- /** - The zod type of the option. */
62
- readonly type: Schema;
63
- }
64
- export interface ArgumentMetadata {
65
- /** The argument name. */
66
- readonly name: string;
67
- /** - The description of the argument. Empty string if not provided */
68
- readonly description: string;
69
- /** - The example of the argument. Empty string if not provided */
70
- readonly example: string;
71
- /** - The default value of the argument. */
72
- readonly defaultValue: unknown;
73
- /** - The default value of the argument as string. */
74
- readonly defaultValueAsString: string;
75
- /** - Whether the argument is optional. */
76
- readonly optional: boolean;
77
- /** - The zod type of the argument. */
78
- readonly type: Schema;
79
- }
80
- //# sourceMappingURL=metadata-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metadata-types.d.ts","sourceRoot":"","sources":["../../../src/metadata/metadata-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,WAAW;IAC1B,mCAAmC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,yEAAyE;IACzE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,qEAAqE;IACrE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,6DAA6D;IAC7D,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAElC,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC;IAEnC,sEAAsE;IACtE,QAAQ,CAAC,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAEvC,wEAAwE;IACxE,QAAQ,CAAC,WAAW,EAAE,kBAAkB,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,kBAAkB;IACjC,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAE3B,wEAAwE;IACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,wEAAwE;IACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,4DAA4D;IAC5D,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAElC,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC;IAEnC,qEAAqE;IACrE,QAAQ,CAAC,SAAS,EAAE,gBAAgB,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,qGAAqG;IACrG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAE3B,yGAAyG;IACzG,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;IAEjC,oEAAoE;IACpE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,oEAAoE;IACpE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,yCAAyC;IACzC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAE/B,mDAAmD;IACnD,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IAEtC,wCAAwC;IACxC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE3B,oCAAoC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,yBAAyB;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,2CAA2C;IAC3C,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAE/B,qDAAqD;IACrD,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IAEtC,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE3B,sCAAsC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB"}
@@ -1,85 +0,0 @@
1
- import type { Argument, Option, Prettify, Schema, Subcommand } from "../../types.js";
2
- type ParsedOption<S extends Schema = Schema, N extends string = string> = {
3
- /** The name of the option as provided by the user. */
4
- name: N;
5
- /** The CLI flag as provided by the user (e.g. `--foo` or `-f`). */
6
- flag: string;
7
- /** The schema that validates this option. */
8
- schema: S;
9
- /** The raw string value supplied for this option from the CLI. */
10
- rawValue: string;
11
- /**
12
- * The source of the option:
13
- *
14
- * - `cli`: provided explicitly in the CLI
15
- * - `default`: not provided, and the schema has a default.
16
- */
17
- source: "cli";
18
- } | {
19
- /** The name of the option as provided by the user. */
20
- name: N;
21
- /** Undefined when the source is `default`. */
22
- flag?: never;
23
- /** The schema that validates this option. */
24
- schema: S;
25
- /** Undefined when the source is `default`. */
26
- rawValue?: string | undefined;
27
- /**
28
- * The source of the option:
29
- *
30
- * - `cli`: provided explicitly in the CLI
31
- * - `default`: not provided, and the schema has a default.
32
- */
33
- source: "default";
34
- };
35
- type ParsedArgument<S extends Schema = Schema> = {
36
- /** The raw string value provided directly from the CLI. */
37
- rawValue: string;
38
- /** The schema that validates this argument. */
39
- schema: S;
40
- /**
41
- * The source of the option:
42
- *
43
- * - `cli`: provided explicitly in the CLI
44
- * - `default`: not provided, and the schema has a default.
45
- */
46
- source: "cli";
47
- } | {
48
- /** Undefined when the source is `default`. */
49
- rawValue?: never;
50
- /** The schema that validates this argument. */
51
- schema: S;
52
- /**
53
- * The source of the option:
54
- *
55
- * - `cli`: provided explicitly in the CLI
56
- * - `default`: not provided, and the schema has a default.
57
- */
58
- source: "default";
59
- };
60
- type OptionsArray2Record<T extends Option[] | undefined> = T extends Option[] ? {
61
- [K in T[number]["name"]]: ParsedOption<Extract<T[number], {
62
- name: K;
63
- }>["type"], K>;
64
- } : Record<never, never>;
65
- type ArgumentsArray2ArrayType<T extends Argument[] | undefined> = T extends Argument[] ? {
66
- [K in keyof T]: ParsedArgument<T[K] extends {
67
- type: Schema;
68
- } ? T[K]["type"] : never>;
69
- } : never;
70
- export type ParseResult<S extends Partial<Subcommand>[]> = {
71
- [K in keyof S]: Prettify<{
72
- subcommand: S[K]["name"] extends string ? S[K]["name"] : undefined;
73
- positional: S[K]["allowPositional"] extends true ? string[] : never;
74
- options: S[K]["options"] extends Option[] ? OptionsArray2Record<S[K]["options"]> : never;
75
- arguments: ArgumentsArray2ArrayType<S[K]["arguments"]>;
76
- }>;
77
- }[number];
78
- export type ParsedContext = {
79
- subcommand: string | undefined;
80
- options?: Record<string, ParsedOption>;
81
- arguments?: ParsedArgument[];
82
- positional?: string[];
83
- };
84
- export {};
85
- //# sourceMappingURL=parse-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse-types.d.ts","sourceRoot":"","sources":["../../../../src/parser/parse/parse-types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import type { Cli, Subcommand } from "../../types.js";
2
- import type { ParsedContext } from "./parse-types.js";
3
- export declare function parse(argv: string[], ...parameters: [Cli, ...Subcommand[]]): ParsedContext;
4
- //# sourceMappingURL=parse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/parser/parse/parse.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC,iBA4N1E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser-helpers.d.ts","sourceRoot":"","sources":["../../../../src/parser/parse/parser-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEzD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,UAAU,GAAG,SAAS,CAUpH;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,GAAG,SAAS,CA6BrG;AAED,8CAA8C;AAC9C,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAqB5D;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAyBvE;AAED,mEAAmE;AACnE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAOD,gGAAgG;AAChG,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAMhE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED,kFAAkF;AAClF,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAe9D"}
@@ -1,4 +0,0 @@
1
- import type { Cli, NoSubcommand, SafeParseResult, Subcommand } from "../types.js";
2
- export declare function safeParse<T extends Subcommand[], U extends Cli>(argsv: string[], ...parameters: [U, ...T]): SafeParseResult<[...T, NoSubcommand & U]>;
3
- export declare function safeParseAsync<T extends Subcommand[], U extends Cli>(argsv: string[], ...parameters: [U, ...T]): Promise<SafeParseResult<[...T, NoSubcommand & U]>>;
4
- //# sourceMappingURL=safe-parse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"safe-parse.d.ts","sourceRoot":"","sources":["../../../src/parser/safe-parse.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAgB,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEhG,wBAAgB,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,CAAC,SAAS,GAAG,EAC7D,KAAK,EAAE,MAAM,EAAE,EACf,GAAG,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GACvB,eAAe,CAAC,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC,CA4C3C;AAED,wBAAsB,cAAc,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,CAAC,SAAS,GAAG,EACxE,KAAK,EAAE,MAAM,EAAE,EACf,GAAG,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GACvB,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CA4CpD"}
@@ -1,4 +0,0 @@
1
- import type { Cli, NoSubcommand, Subcommand, UnsafeParseResult } from "../types.js";
2
- export declare function unsafeParse<T extends Subcommand[], U extends Cli>(argv: string[], ...parameters: [U, ...T]): UnsafeParseResult<[...T, NoSubcommand & U]>;
3
- export declare function unsafeParseAsync<T extends Subcommand[], U extends Cli>(argv: string[], ...parameters: [U, ...T]): Promise<UnsafeParseResult<[...T, NoSubcommand & U]>>;
4
- //# sourceMappingURL=unsafe-parse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unsafe-parse.d.ts","sourceRoot":"","sources":["../../../src/parser/unsafe-parse.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,GAAG,EAAoB,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEtG,wBAAgB,WAAW,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,CAAC,SAAS,GAAG,EAC/D,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GACvB,iBAAiB,CAAC,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC,CAyC7C;AAED,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,CAAC,SAAS,GAAG,EAC1E,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GACvB,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAyCtD"}
@@ -1,23 +0,0 @@
1
- import type { Argument, Option, Prettify, Schema, Subcommand, ToOptional, ZodInferOutput } from "../../types.js";
2
- import type { ParseResult } from "../parse/parse-types.js";
3
- type OptionsArray2RecordType<T extends Option[] | undefined> = T extends Option[] ? ToOptional<{
4
- [K in T[number]["name"]]: ZodInferOutput<Extract<T[number], {
5
- name: K;
6
- }>["type"]>;
7
- }> : object;
8
- type ArgumentsArray2ArrayType<T extends Argument[] | undefined> = T extends Argument[] ? {
9
- [K in keyof T]: T[K] extends {
10
- type: Schema;
11
- } ? ZodInferOutput<T[K]["type"]> : never;
12
- } : never;
13
- export type ValidateResult<S extends Partial<Subcommand>[]> = {
14
- [K in keyof S]: Prettify<{
15
- subcommand: S[K]["name"] extends string ? S[K]["name"] : undefined;
16
- arguments: ArgumentsArray2ArrayType<S[K]["arguments"]>;
17
- positional: S[K]["allowPositional"] extends true ? string[] : never;
18
- options: S[K]["options"] extends Option[] ? OptionsArray2RecordType<S[K]["options"]> : never;
19
- ctx: ParseResult<S>;
20
- }>;
21
- }[number];
22
- export {};
23
- //# sourceMappingURL=validate-type.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-type.d.ts","sourceRoot":"","sources":["../../../../src/parser/validate/validate-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACjH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,KAAK,uBAAuB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,SAAS,IAAI,CAAC,SAAS,MAAM,EAAE,GAC7E,UAAU,CAAC;KAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC,MAAM,CAAC,CAAC;CAAE,CAAC,GACjG,MAAM,CAAC;AAEX,KAAK,wBAAwB,CAAC,CAAC,SAAS,QAAQ,EAAE,GAAG,SAAS,IAAI,CAAC,SAAS,QAAQ,EAAE,GAClF;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK;CAAE,GACxF,KAAK,CAAC;AAEV,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI;KAC3D,CAAC,IAAI,MAAM,CAAC,GAAG,QAAQ,CAAC;QACvB,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;QACnE,SAAS,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QACvD,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,IAAI,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC;QACpE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,MAAM,EAAE,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC;QAC7F,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;KACrB,CAAC;CACH,CAAC,MAAM,CAAC,CAAC"}
@@ -1,12 +0,0 @@
1
- import type { ParsedContext } from "../parse/parse-types.js";
2
- /** The return result object temporarily type. used inside the `parse` function */
3
- type ResultsTemporaryType = Record<string, unknown> & {
4
- subcommand: string | undefined;
5
- positional?: string[];
6
- arguments?: unknown[];
7
- options?: Record<string, unknown>;
8
- ctx: ParsedContext;
9
- };
10
- export declare function validate(parsedData: ParsedContext): ResultsTemporaryType;
11
- export {};
12
- //# sourceMappingURL=validate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../../src/parser/validate/validate.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,kFAAkF;AAClF,KAAK,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACpD,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,GAAG,EAAE,aAAa,CAAC;CACpB,CAAC;AAEF,wBAAgB,QAAQ,CAAC,UAAU,EAAE,aAAa,wBAsDjD"}