zod-args-parser 1.2.6 → 1.2.8

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 (239) hide show
  1. package/README.md +19 -19
  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 +5 -5
  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 +4 -4
  123. package/lib/typescript/parser/validate/validate-type.d.ts.map +1 -1
  124. package/lib/typescript/parser/validate/validate.d.ts +4 -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} +11 -10
  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 +5 -5
  147. package/src/parser/parse/parse.ts +67 -64
  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 +4 -4
  152. package/src/parser/validate/validate.ts +17 -17
  153. package/src/types.ts +21 -17
  154. package/src/{utils.ts → utilities.ts} +44 -28
  155. package/src/zod-utilities.ts +214 -0
  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/src/zod-utils.ts +0 -199
  238. /package/lib/commonjs/parser/validate/{validate-type.js → validate-type.cjs} +0 -0
  239. /package/lib/module/parser/validate/{validate-type.js → validate-type.mjs} +0 -0
@@ -3,48 +3,58 @@ import { SubcommandMetadata } from "./metadata/metadata-types.js";
3
3
  /**
4
4
  * Converts a string to its corresponding boolean value if the string is "true" or "false" (case-insensitive).
5
5
  *
6
- * @param str - The input string to convert.
6
+ * @param string - The input string to convert.
7
7
  * @returns `true` if the input is "true", `false` if the input is "false", or the original string otherwise.
8
8
  */
9
- export function stringToBoolean(str: string): boolean | string {
10
- if (str.toLowerCase() === "true") {
9
+ export function stringToBoolean(string: string): boolean | string {
10
+ if (string.toLowerCase() === "true") {
11
11
  return true;
12
12
  }
13
13
 
14
- if (str.toLowerCase() === "false") {
14
+ if (string.toLowerCase() === "false") {
15
15
  return false;
16
16
  }
17
17
 
18
- return str;
18
+ return string;
19
19
  }
20
20
 
21
21
  /**
22
- * Returns the ordinal representation of a given zero-based index.
22
+ * Converts a zero-based index into its human-readable ordinal form.
23
23
  *
24
- * For example, passing `0` returns `"1st"`, `1` returns `"2nd"`, and so on.
24
+ * Examples: 0 "1st" 1 "2nd" 2 "3rd" 3 → "4th" 10 → "11th"
25
25
  *
26
- * Handles special cases for numbers ending in 11, 12, or 13 (e.g., `10` returns `"11th"`).
26
+ * Handles special cases for 11, 12, and 13.
27
27
  *
28
- * @param index - The zero-based index to convert to an ordinal string.
29
- * @returns The ordinal string representation (e.g., `"1st"`, `"2nd"`, `"3rd"`, `"4th"`, ...).
28
+ * @param index - The zero-based index to convert.
29
+ * @returns The ordinal string (e.g., "1st", "2nd", "3rd", "4th", ...).
30
30
  */
31
31
  export function generateOrdinalSuffix(index: number): string {
32
32
  if (index < 0) return "";
33
33
 
34
- const suffixes = ["th", "st", "nd", "rd"];
35
- const lastDigit = index % 10;
36
- const lastTwoDigits = index % 100;
37
-
38
- const suffix =
39
- lastDigit === 1 && lastTwoDigits !== 11
40
- ? suffixes[1]
41
- : lastDigit === 2 && lastTwoDigits !== 12
42
- ? suffixes[2]
43
- : lastDigit === 3 && lastTwoDigits !== 13
44
- ? suffixes[3]
45
- : suffixes[0];
34
+ const number = index + 1;
35
+ const lastDigit = number % 10;
36
+ const lastTwoDigits = number % 100;
37
+
38
+ let suffix = "th";
39
+
40
+ if (lastTwoDigits < 11 || lastTwoDigits > 13) {
41
+ switch (lastDigit) {
42
+ case 1: {
43
+ suffix = "st";
44
+ break;
45
+ }
46
+ case 2: {
47
+ suffix = "nd";
48
+ break;
49
+ }
50
+ case 3: {
51
+ suffix = "rd";
52
+ break;
53
+ }
54
+ }
55
+ }
46
56
 
47
- return `${index + 1}${suffix}`;
57
+ return `${number}${suffix}`;
48
58
  }
49
59
 
50
60
  /** New line */
@@ -67,7 +77,13 @@ export function concat(...messages: string[]) {
67
77
  export function stringifyValue(value: unknown): string {
68
78
  // Set
69
79
  if (value instanceof Set) {
70
- return "new Set([" + Array.from(value).map(stringifyValue).join(", ") + "])";
80
+ return (
81
+ "new Set([" +
82
+ Array.from(value)
83
+ .map(element => stringifyValue(element))
84
+ .join(", ") +
85
+ "])"
86
+ );
71
87
  }
72
88
 
73
89
  // unknown
@@ -75,8 +91,8 @@ export function stringifyValue(value: unknown): string {
75
91
  }
76
92
 
77
93
  /** Insert text at the end of the first line */
78
- export function insertAtEndOfFirstLine(str: string, insert: string) {
79
- const lines = str.split("\n");
94
+ export function insertAtEndOfFirstLine(string: string, insert: string) {
95
+ const lines = string.split("\n");
80
96
  lines[0] += " " + insert;
81
97
  return lines.join("\n");
82
98
  }
@@ -85,11 +101,11 @@ export function insertAtEndOfFirstLine(str: string, insert: string) {
85
101
  export function subcommandPlaceholder(metadata: SubcommandMetadata): string {
86
102
  let placeholder = metadata.placeholder;
87
103
 
88
- if (!placeholder && metadata.options.length) {
104
+ if (!placeholder && metadata.options.length > 0) {
89
105
  placeholder = "[options]";
90
106
  }
91
107
 
92
- if (!placeholder && metadata.arguments.length) {
108
+ if (!placeholder && metadata.arguments.length > 0) {
93
109
  placeholder = "<arguments>";
94
110
  }
95
111
 
@@ -0,0 +1,214 @@
1
+ import { ZodBoolean, ZodDefault, ZodEffects } from "zod/v3";
2
+ import { safeParse } from "zod/v4/core";
3
+
4
+ import type * as Z3 from "zod/v3";
5
+ import type * as Z4 from "zod/v4/core";
6
+ import type { Schema, SchemaV3, SchemaV4 } from "./types.ts";
7
+
8
+ function isV4Schema(schema: Schema): schema is SchemaV4 {
9
+ return "_zod" in schema;
10
+ }
11
+
12
+ /** - Safe parse a value against a schema */
13
+ export function safeParseSchema(schema: Schema, value: unknown) {
14
+ if (isV4Schema(schema)) {
15
+ return safeParse(schema, value);
16
+ }
17
+
18
+ return schema.safeParse(value);
19
+ }
20
+
21
+ /** - Check if a schema is a boolean */
22
+ export function isBooleanSchema(schema: Schema): boolean {
23
+ if (isV4Schema(schema)) {
24
+ return isBooleanV4Schema(schema);
25
+ }
26
+
27
+ return isBooleanV3Schema(schema);
28
+ }
29
+
30
+ function isBooleanV4Schema(schema: SchemaV4): boolean {
31
+ let schemaDefinition = schema._zod.def;
32
+
33
+ while (schemaDefinition) {
34
+ if (schemaDefinition.type === "boolean") {
35
+ return true;
36
+ }
37
+
38
+ if (isV4SchemaDefinitionPipe(schemaDefinition)) {
39
+ return isBooleanV4Schema(schemaDefinition.out);
40
+ }
41
+
42
+ if (!isV4SchemaDefinitionHasInnerType(schemaDefinition)) {
43
+ return false;
44
+ }
45
+
46
+ schemaDefinition = schemaDefinition.innerType._zod.def;
47
+ }
48
+
49
+ return false;
50
+ }
51
+
52
+ function isBooleanV3Schema(schema: SchemaV3): boolean {
53
+ let type = schema;
54
+
55
+ while (type) {
56
+ if (type instanceof ZodBoolean) {
57
+ return true;
58
+ }
59
+
60
+ if (type instanceof ZodEffects) {
61
+ return isBooleanV3Schema(type._def.schema as SchemaV3);
62
+ }
63
+
64
+ const definition = type._def as Z3.ZodTypeDef;
65
+
66
+ if ("innerType" in definition) {
67
+ type = definition.innerType as Z3.ZodTypeAny;
68
+ }
69
+
70
+ return false;
71
+ }
72
+
73
+ return false;
74
+ }
75
+
76
+ /** - Get the default value of a schema */
77
+ export function schemaDefaultValue(schema: Schema): unknown {
78
+ if (isV4Schema(schema)) {
79
+ return schemaV4DefaultValue(schema);
80
+ }
81
+
82
+ return schemaV3DefaultValue(schema);
83
+ }
84
+
85
+ function schemaV4DefaultValue(schema: SchemaV4): unknown {
86
+ let schemaDefinition = schema._zod.def;
87
+
88
+ while (schemaDefinition) {
89
+ if (isSchemaDefinitionDefaultV4(schemaDefinition)) {
90
+ return schemaDefinition.defaultValue;
91
+ }
92
+
93
+ if (isV4SchemaDefinitionPipe(schemaDefinition)) {
94
+ return schemaV4DefaultValue(schemaDefinition.out);
95
+ }
96
+
97
+ if (!isV4SchemaDefinitionHasInnerType(schemaDefinition)) {
98
+ return undefined;
99
+ }
100
+
101
+ schemaDefinition = schemaDefinition.innerType._zod.def;
102
+ }
103
+
104
+ return undefined;
105
+ }
106
+
107
+ function schemaV3DefaultValue(schema: SchemaV3): unknown {
108
+ let type = schema;
109
+ while (type) {
110
+ if (type instanceof ZodDefault) {
111
+ return type._def.defaultValue();
112
+ }
113
+
114
+ if (type instanceof ZodEffects) {
115
+ return schemaV3DefaultValue(type._def.schema as SchemaV3);
116
+ }
117
+
118
+ const definition = type._def as Z3.ZodTypeDef;
119
+
120
+ if ("innerType" in definition) {
121
+ type = definition.innerType as Z3.ZodTypeAny;
122
+ }
123
+
124
+ return;
125
+ }
126
+
127
+ return;
128
+ }
129
+
130
+ /** - Get the description of a schema */
131
+ export function schemaDescription(schema: Schema): string | undefined {
132
+ if (isV4Schema(schema)) {
133
+ if (!("meta" in schema) || typeof schema.meta !== "function") {
134
+ return;
135
+ }
136
+
137
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
138
+ const metaResult = schema.meta() as { description?: string } | undefined;
139
+
140
+ if (!metaResult || typeof metaResult !== "object" || !("description" in metaResult)) {
141
+ return;
142
+ }
143
+
144
+ return metaResult.description;
145
+ }
146
+
147
+ return schema.description;
148
+ }
149
+
150
+ /** - Check if a schema is optional */
151
+ export function isOptionalSchema(schema: Schema): schema is Z4.$ZodOptional {
152
+ if (isV4Schema(schema)) {
153
+ return schema._zod.def.type === "optional" || schema._zod.def.type === "default";
154
+ }
155
+
156
+ return schema.isOptional();
157
+ }
158
+
159
+ function isSchemaDefinitionDefaultV4(schemaDefinition: Z4.$ZodTypeDef): schemaDefinition is Z4.$ZodDefaultDef {
160
+ return schemaDefinition.type === "default";
161
+ }
162
+
163
+ type SchemaWithInnerType =
164
+ | Z4.$ZodDefaultDef
165
+ | Z4.$ZodPrefaultDef
166
+ | Z4.$ZodOptionalDef
167
+ | Z4.$ZodNonOptionalDef
168
+ | Z4.$ZodNullableDef
169
+ | Z4.$ZodSuccessDef
170
+ | Z4.$ZodCatchDef
171
+ | Z4.$ZodReadonlyDef
172
+ | Z4.$ZodPromiseDef;
173
+
174
+ function isV4SchemaDefinitionHasInnerType(schemaDefinition: Z4.$ZodTypeDef): schemaDefinition is SchemaWithInnerType {
175
+ return new Set([
176
+ "default",
177
+ "prefault",
178
+ "optional",
179
+ "nonoptional",
180
+ "nullable",
181
+ "success",
182
+ "catch",
183
+ "readonly",
184
+ "promise",
185
+ ]).has(schemaDefinition.type);
186
+ }
187
+
188
+ function isV4SchemaDefinitionPipe(schemaDefinition: Z4.$ZodTypeDef): schemaDefinition is Z4.$ZodPipeDef {
189
+ return schemaDefinition.type === "pipe";
190
+ }
191
+
192
+ /**
193
+ * A preprocessing function for Zod that converts a string to an array of strings.
194
+ *
195
+ * @param stringValue - The string value given by zod.
196
+ * @param separator - The separator to use when splitting the string. Defaults to ",".
197
+ */
198
+ export function stringToArray(stringValue: string, separator: string = ","): string[] {
199
+ return stringValue
200
+ .split(separator)
201
+ .map(s => s.trim())
202
+ .filter(Boolean);
203
+ }
204
+
205
+ /**
206
+ * A preprocessing function for Zod that converts a string to a `Set` of strings.
207
+ *
208
+ * @param stringValue - The string value given by zod.
209
+ * @param separator - The separator to use when splitting the string. Defaults to ",".
210
+ */
211
+ export function stringToSet(stringValue: string, separator: string = ","): Set<string> {
212
+ const maybeArray = stringToArray(stringValue, separator);
213
+ return new Set(maybeArray);
214
+ }
@@ -1 +0,0 @@
1
- {"version":3,"names":["_parserHelpers","require","generateBashAutocompleteScript","params","cli","subcommands","mappedCommands","reduce","acc","subcommand","name","options","map","option","transformOptionToArg","aliases","switchCase","key","Object","entries","length","join","cliName","keys"],"sourceRoot":"../../../src/autocomplete-scripts","sources":["bash-autocomplete-script.ts"],"sourcesContent":["import { transformOptionToArg } 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(...params: [Cli, ...Subcommand[]]): string {\n const [cli, ...subcommands] = params;\n\n type MappedCommands = Record<string, { options: string[]; aliases: string[] }>;\n\n const mappedCommands = subcommands.reduce((acc: MappedCommands, subcommand) => {\n acc[subcommand.name] = {\n options: subcommand.options?.map(option => transformOptionToArg(option.name)) ?? [],\n aliases: subcommand.aliases ?? [],\n };\n return acc;\n }, {});\n\n let switchCase = \"\";\n for (const [key, { options, aliases }] of Object.entries(mappedCommands)) {\n switchCase += ` ${key}${aliases.length ? \"|\" : \"\"}${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 => transformOptionToArg(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,sCAYO,QAAS,CAAAC,8BAA8BA,CAAC,GAAGC,MAA8B,CAAU,CACxF,KAAM,CAACC,GAAG,CAAE,GAAGC,WAAW,CAAC,CAAGF,MAAM,CAIpC,KAAM,CAAAG,cAAc,CAAGD,WAAW,CAACE,MAAM,CAAC,CAACC,GAAmB,CAAEC,UAAU,GAAK,CAC7ED,GAAG,CAACC,UAAU,CAACC,IAAI,CAAC,CAAG,CACrBC,OAAO,CAAEF,UAAU,CAACE,OAAO,EAAEC,GAAG,CAACC,MAAM,EAAI,GAAAC,mCAAoB,EAACD,MAAM,CAACH,IAAI,CAAC,CAAC,EAAI,EAAE,CACnFK,OAAO,CAAEN,UAAU,CAACM,OAAO,EAAI,EACjC,CAAC,CACD,MAAO,CAAAP,GAAG,CACZ,CAAC,CAAE,CAAC,CAAC,CAAC,CAEN,GAAI,CAAAQ,UAAU,CAAG,EAAE,CACnB,IAAK,KAAM,CAACC,GAAG,CAAE,CAAEN,OAAO,CAAEI,OAAQ,CAAC,CAAC,EAAI,CAAAG,MAAM,CAACC,OAAO,CAACb,cAAc,CAAC,CAAE,CACxEU,UAAU,EAAI,OAAOC,GAAG,GAAGF,OAAO,CAACK,MAAM,CAAG,GAAG,CAAG,EAAE,GAAGL,OAAO,CAACM,IAAI,CAAC,GAAG,CAAC,KAAK,CAC7EL,UAAU,EAAI,eAAeL,OAAO,CAACU,IAAI,CAAC,GAAG,CAAC,KAAK,CACnDL,UAAU,EAAI,YAAY,CAC5B,CAEA,GAAIZ,GAAG,CAACO,OAAO,EAAES,MAAM,CAAE,CACvBJ,UAAU,EAAI,aAAa,CAC3BA,UAAU,EAAI,eAAeZ,GAAG,CAACO,OAAO,CAACC,GAAG,CAACC,MAAM,EAAI,GAAAC,mCAAoB,EAACD,MAAM,CAACH,IAAI,CAAC,CAAC,CAACW,IAAI,CAAC,GAAG,CAAC,KAAK,CACxGL,UAAU,EAAI,YAAY,CAC5B,CAEA,MAAO;AACT;AACA,GAAGZ,GAAG,CAACkB,OAAO;AACd;AACA;AACA;AACA;AACA;AACA;AACA,cAAcJ,MAAM,CAACK,IAAI,CAACjB,cAAc,CAAC,CAACe,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,eAAeZ,GAAG,CAACkB,OAAO,iBAAiBlB,GAAG,CAACkB,OAAO;AACtD,CAAC,CACD","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_parserHelpers","require","generatePowerShellAutocompleteScript","params","cli","subcommands","mappedCommands","reduce","acc","subcommand","name","options","map","option","transformOptionToArg","aliases","subcommandsStr","Object","keys","key","join","cliOptionsStr","switchCase","entries","optionsStr","forEach","a","functionInfo","description","example","cliName"],"sourceRoot":"../../../src/autocomplete-scripts","sources":["powershell-autocomplete-script.ts"],"sourcesContent":["import { transformOptionToArg } 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(...params: [Cli, ...Subcommand[]]): string {\n const [cli, ...subcommands] = params;\n\n type MappedCommands = Record<string, { options: string[]; aliases: string[] }>;\n\n const mappedCommands = subcommands.reduce((acc: MappedCommands, subcommand) => {\n acc[subcommand.name] = {\n options: subcommand.options?.map(option => transformOptionToArg(option.name)) ?? [],\n aliases: subcommand.aliases ?? [],\n };\n return acc;\n }, {});\n\n const subcommandsStr = Object.keys(mappedCommands)\n .map(key => `'${key}'`)\n .join(\", \");\n const cliOptionsStr = cli.options?.map(option => `'${transformOptionToArg(option.name)}'`).join(\", \") || \"\";\n\n let switchCase = \"switch ($subcommand) {\\n\";\n for (const [key, { options, aliases }] of Object.entries(mappedCommands)) {\n const optionsStr = options.map(option => `'${option}'`).join(\", \");\n switchCase += ` '${key}' { @(${optionsStr}) }\\n`;\n aliases.forEach(a => (switchCase += ` '${a}' { @(${optionsStr}) }\\n`));\n }\n switchCase += ` default { @(${cliOptionsStr}) }\\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 = @(${subcommandsStr}${subcommandsStr && cliOptionsStr ? \", \" : \"\"}${cliOptionsStr})\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,sCAeO,QAAS,CAAAC,oCAAoCA,CAAC,GAAGC,MAA8B,CAAU,CAC9F,KAAM,CAACC,GAAG,CAAE,GAAGC,WAAW,CAAC,CAAGF,MAAM,CAIpC,KAAM,CAAAG,cAAc,CAAGD,WAAW,CAACE,MAAM,CAAC,CAACC,GAAmB,CAAEC,UAAU,GAAK,CAC7ED,GAAG,CAACC,UAAU,CAACC,IAAI,CAAC,CAAG,CACrBC,OAAO,CAAEF,UAAU,CAACE,OAAO,EAAEC,GAAG,CAACC,MAAM,EAAI,GAAAC,mCAAoB,EAACD,MAAM,CAACH,IAAI,CAAC,CAAC,EAAI,EAAE,CACnFK,OAAO,CAAEN,UAAU,CAACM,OAAO,EAAI,EACjC,CAAC,CACD,MAAO,CAAAP,GAAG,CACZ,CAAC,CAAE,CAAC,CAAC,CAAC,CAEN,KAAM,CAAAQ,cAAc,CAAGC,MAAM,CAACC,IAAI,CAACZ,cAAc,CAAC,CAC/CM,GAAG,CAACO,GAAG,EAAI,IAAIA,GAAG,GAAG,CAAC,CACtBC,IAAI,CAAC,IAAI,CAAC,CACb,KAAM,CAAAC,aAAa,CAAGjB,GAAG,CAACO,OAAO,EAAEC,GAAG,CAACC,MAAM,EAAI,IAAI,GAAAC,mCAAoB,EAACD,MAAM,CAACH,IAAI,CAAC,GAAG,CAAC,CAACU,IAAI,CAAC,IAAI,CAAC,EAAI,EAAE,CAE3G,GAAI,CAAAE,UAAU,CAAG,0BAA0B,CAC3C,IAAK,KAAM,CAACH,GAAG,CAAE,CAAER,OAAO,CAAEI,OAAQ,CAAC,CAAC,EAAI,CAAAE,MAAM,CAACM,OAAO,CAACjB,cAAc,CAAC,CAAE,CACxE,KAAM,CAAAkB,UAAU,CAAGb,OAAO,CAACC,GAAG,CAACC,MAAM,EAAI,IAAIA,MAAM,GAAG,CAAC,CAACO,IAAI,CAAC,IAAI,CAAC,CAClEE,UAAU,EAAI,YAAYH,GAAG,SAASK,UAAU,OAAO,CACvDT,OAAO,CAACU,OAAO,CAACC,CAAC,EAAKJ,UAAU,EAAI,YAAYI,CAAC,SAASF,UAAU,OAAQ,CAAC,CAC/E,CACAF,UAAU,EAAI,uBAAuBD,aAAa,YAAY,CAE9D,GAAI,CAAAM,YAAY,CAAG,EAAE,CACrB,GAAIvB,GAAG,CAACwB,WAAW,CAAE,CACnBD,YAAY,CAAG,qBAAqBvB,GAAG,CAACwB,WAAW,KAAKxB,GAAG,CAACyB,OAAO,CAAG,eAAezB,GAAG,CAACyB,OAAO,EAAE,CAAG,EAAE,MAAM,CAC/G,CAEA,MAAO;AACT;AACA,EAAEF,YAAY;AACd,WAAWvB,GAAG,CAAC0B,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC1B,GAAG,CAAC0B,OAAO;AAC7C;AACA;AACA;AACA;AACA;AACA,mCAAmC1B,GAAG,CAAC0B,OAAO;AAC9C;AACA;AACA,2CAA2C1B,GAAG,CAAC0B,OAAO;AACtD;AACA,uBAAuBd,cAAc,GAAGA,cAAc,EAAIK,aAAa,CAAG,IAAI,CAAG,EAAE,GAAGA,aAAa;AACnG;AACA;AACA;AACA,2CAA2CjB,GAAG,CAAC0B,OAAO;AACtD;AACA;AACA,mBAAmBR,UAAU;AAC7B;AACA,EAAE,CACF","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_parserHelpers","require","generateZshAutocompleteScript","params","cli","subcommands","genArguments","options","map","option","transformOptionToArg","name","description","join","genSubCommand","subcommand","length","cliName","filter","Boolean"],"sourceRoot":"../../../src/autocomplete-scripts","sources":["zsh-autocomplete-script.ts"],"sourcesContent":["import { transformOptionToArg } 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(...params: [Cli, ...Subcommand[]]): string {\n const [cli, ...subcommands] = params;\n\n const genArguments = (options: Option[]) => {\n return options\n ?.map(option => `'${transformOptionToArg(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.map(genSubCommand).filter(Boolean).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,sCAYO,QAAS,CAAAC,6BAA6BA,CAAC,GAAGC,MAA8B,CAAU,CACvF,KAAM,CAACC,GAAG,CAAE,GAAGC,WAAW,CAAC,CAAGF,MAAM,CAEpC,KAAM,CAAAG,YAAY,CAAIC,OAAiB,EAAK,CAC1C,MAAO,CAAAA,OAAO,EACVC,GAAG,CAACC,MAAM,EAAI,IAAI,GAAAC,mCAAoB,EAACD,MAAM,CAACE,IAAI,CAAC,IAAIF,MAAM,CAACG,WAAW,EAAI,EAAE,IAAI,CAAC,CACrFC,IAAI,CAAC,mBAAmB,CAAC,CAC9B,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,aAAa,CACX,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,CAACG,GAAG,CAACM,aAAa,CAAC,CAACI,MAAM,CAACC,OAAO,CAAC,CAACN,IAAI,CAAC,YAAY,CAAC;AAC3E;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,CAAC,CACD","ignoreList":[]}
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.formatHelpMsgArguments=formatHelpMsgArguments;var _utils=require("../utils.js");function formatHelpMsgArguments(argsMetadata,c,longest){if(!argsMetadata.length)return"";let msg=c.title(" ARGUMENTS")+(0,_utils.ln)(1);for(const metadata of argsMetadata){const defaultStr=typeof metadata.defaultValue!=="undefined"?`(default: ${metadata.defaultValueAsString})`:"";const spacing=longest+2-metadata.name.length;const normalizeDesc=metadata.description.replace(/\n+/g,"\n"+(0,_utils.indent)(longest+6)+c.punctuation("└"));const defaultOrOptional=defaultStr?c.default(defaultStr):metadata.optional?c.optional("(optional)"):"";msg+=(0,_utils.concat)((0,_utils.indent)(2)+c.argument(metadata.name),(0,_utils.indent)(spacing),(0,_utils.insertAtEndOfFirstLine)(c.description(normalizeDesc),defaultOrOptional),(0,_utils.ln)(1));if(metadata.example){const normalizeExample=metadata.example.replace(/\n+/g,"\n"+(0,_utils.indent)(longest+16));msg+=(0,_utils.concat)((0,_utils.indent)(longest+5),c.punctuation("└")+c.exampleTitle("Example:"),c.example(normalizeExample)+(0,_utils.ln)(1));}}msg+=(0,_utils.ln)(1);return msg;}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_utils","require","formatHelpMsgArguments","argsMetadata","c","longest","length","msg","title","ln","metadata","defaultStr","defaultValue","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 \"../utils.js\";\n\nimport type { ArgumentMetadata } from \"../metadata/metadata-types.js\";\nimport type { HelpMsgStyle } from \"../types.js\";\n\nexport function formatHelpMsgArguments(argsMetadata: ArgumentMetadata[], c: HelpMsgStyle, longest: number): string {\n if (!argsMetadata.length) return \"\";\n\n let msg = c.title(\" ARGUMENTS\") + ln(1);\n\n for (const metadata of argsMetadata) {\n const defaultStr =\n typeof 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 = defaultStr ? c.default(defaultStr) : metadata.optional ? c.optional(\"(optional)\") : \"\";\n\n msg += 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 msg += concat(\n indent(longest + 5),\n c.punctuation(\"└\") + c.exampleTitle(\"Example:\"),\n c.example(normalizeExample) + ln(1),\n );\n }\n }\n\n msg += ln(1);\n\n return msg;\n}\n"],"mappings":"4HAAA,IAAAA,MAAA,CAAAC,OAAA,gBAKO,QAAS,CAAAC,sBAAsBA,CAACC,YAAgC,CAAEC,CAAe,CAAEC,OAAe,CAAU,CACjH,GAAI,CAACF,YAAY,CAACG,MAAM,CAAE,MAAO,EAAE,CAEnC,GAAI,CAAAC,GAAG,CAAGH,CAAC,CAACI,KAAK,CAAC,YAAY,CAAC,CAAG,GAAAC,SAAE,EAAC,CAAC,CAAC,CAEvC,IAAK,KAAM,CAAAC,QAAQ,GAAI,CAAAP,YAAY,CAAE,CACnC,KAAM,CAAAQ,UAAU,CACd,MAAO,CAAAD,QAAQ,CAACE,YAAY,GAAK,WAAW,CAAG,aAAaF,QAAQ,CAACG,oBAAoB,GAAG,CAAG,EAAE,CAEnG,KAAM,CAAAC,OAAO,CAAGT,OAAO,CAAG,CAAC,CAAGK,QAAQ,CAACK,IAAI,CAACT,MAAM,CAClD,KAAM,CAAAU,aAAa,CAAGN,QAAQ,CAACO,WAAW,CAACC,OAAO,CAAC,MAAM,CAAE,IAAI,CAAG,GAAAC,aAAM,EAACd,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACgB,WAAW,CAAC,GAAG,CAAC,CAAC,CAC3G,KAAM,CAAAC,iBAAiB,CAAGV,UAAU,CAAGP,CAAC,CAACkB,OAAO,CAACX,UAAU,CAAC,CAAGD,QAAQ,CAACa,QAAQ,CAAGnB,CAAC,CAACmB,QAAQ,CAAC,YAAY,CAAC,CAAG,EAAE,CAEhHhB,GAAG,EAAI,GAAAiB,aAAM,EACX,GAAAL,aAAM,EAAC,CAAC,CAAC,CAAGf,CAAC,CAACqB,QAAQ,CAACf,QAAQ,CAACK,IAAI,CAAC,CACrC,GAAAI,aAAM,EAACL,OAAO,CAAC,CACf,GAAAY,6BAAsB,EAACtB,CAAC,CAACa,WAAW,CAACD,aAAa,CAAC,CAAEK,iBAAiB,CAAC,CACvE,GAAAZ,SAAE,EAAC,CAAC,CACN,CAAC,CAED,GAAIC,QAAQ,CAACiB,OAAO,CAAE,CACpB,KAAM,CAAAC,gBAAgB,CAAGlB,QAAQ,CAACiB,OAAO,CAACT,OAAO,CAAC,MAAM,CAAE,IAAI,CAAG,GAAAC,aAAM,EAACd,OAAO,CAAG,EAAE,CAAC,CAAC,CACtFE,GAAG,EAAI,GAAAiB,aAAM,EACX,GAAAL,aAAM,EAACd,OAAO,CAAG,CAAC,CAAC,CACnBD,CAAC,CAACgB,WAAW,CAAC,GAAG,CAAC,CAAGhB,CAAC,CAACyB,YAAY,CAAC,UAAU,CAAC,CAC/CzB,CAAC,CAACuB,OAAO,CAACC,gBAAgB,CAAC,CAAG,GAAAnB,SAAE,EAAC,CAAC,CACpC,CAAC,CACH,CACF,CAEAF,GAAG,EAAI,GAAAE,SAAE,EAAC,CAAC,CAAC,CAEZ,MAAO,CAAAF,GAAG,CACZ","ignoreList":[]}
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.formatCliHelpMsg=formatCliHelpMsg;exports.formatSubcommandHelpMsg=formatSubcommandHelpMsg;exports.printCliHelp=printCliHelp;exports.printSubcommandHelp=printSubcommandHelp;var _getCliMetadata=require("../metadata/get-cli-metadata.js");var _utils=require("../utils.js");var _formatArguments=require("./format-arguments.js");var _formatOptions=require("./format-options.js");var _formatSubcommands=require("./format-subcommands.js");var _styles=require("./styles.js");function formatCliHelpMsg(params,style){const c=_styles.helpMsgStyles.default;if(style)Object.assign(c,style);const metadata=(0,_getCliMetadata.getCliMetadata)(params);const formatTitle=title=>c.title(` ${title.toUpperCase()}`);let msg="";const usage=metadata.usage||(0,_utils.concat)(c.punctuation("$"),c.description(metadata.name),metadata.subcommands.length?c.command("[command]"):"",metadata.options.length?c.option("[options]"):"",metadata.arguments.length?c.argument("<arguments>"):"",metadata.allowPositional?c.argument("<positionals>"):"");msg+=formatTitle("Usage")+(0,_utils.ln)(1);msg+=(0,_utils.indent)(2)+usage+(0,_utils.ln)(2);if(metadata.description){msg+=formatTitle("Description")+(0,_utils.ln)(1);msg+=(0,_utils.indent)(2)+c.description(metadata.description).replace(/\n+/g,"\n"+(0,_utils.indent)(2))+(0,_utils.ln)(2);}let longest=0;const optionsMetadata=metadata.options;const longestOptionTitle=optionsMetadata.reduce((acc,metadata)=>{const names=metadata.aliasesAsArgs.concat([metadata.nameAsArg]).join(", ");const optLength=names.length+metadata.placeholder.length;return optLength>acc?optLength:acc;},0);if(longestOptionTitle>longest){longest=longestOptionTitle;}const subcommandsMetadata=metadata.subcommands;const longestSubcommandTitle=subcommandsMetadata.reduce((acc,metadata)=>{const names=metadata.aliases.concat([metadata.name]).join(", ");const placeholder=(0,_utils.subcommandPlaceholder)(metadata);const optLength=names.length+placeholder.length;return optLength>acc?optLength:acc;},0);if(longestSubcommandTitle>longest){longest=longestSubcommandTitle;}const argsMetadata=metadata.arguments;const longestArgTitle=argsMetadata.reduce((acc,arg)=>arg.name.length>acc?arg.name.length:acc,0);if(longestArgTitle>longest){longest=longestArgTitle;}msg+=(0,_formatOptions.formatHelpMsgOptions)(optionsMetadata,c,longest);msg+=(0,_formatSubcommands.formatHelpMsgCommands)(subcommandsMetadata,c,longest);msg+=(0,_formatArguments.formatHelpMsgArguments)(argsMetadata,c,longest);if(metadata.example){msg+=formatTitle("Example");msg+=(0,_utils.ln)(1);const normalizeExample=metadata.example.replace(/\n+/g,"\n"+(0,_utils.indent)(3));msg+=(0,_utils.concat)((0,_utils.indent)(2),c.example(normalizeExample),(0,_utils.ln)(2));}return msg;}function formatSubcommandHelpMsg(subcommand,printStyle,cliName=""){const c=_styles.helpMsgStyles.default;if(printStyle)Object.assign(c,printStyle);const usage=subcommand.usage||(0,_utils.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 formatCliHelpMsg([asCli],c);}function printCliHelp(params,style){console.log(formatCliHelpMsg(params,style));}function printSubcommandHelp(subcommand,style,cliName=""){console.log(formatSubcommandHelpMsg(subcommand,style,cliName));}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_getCliMetadata","require","_utils","_formatArguments","_formatOptions","_formatSubcommands","_styles","formatCliHelpMsg","params","style","c","helpMsgStyles","default","Object","assign","metadata","getCliMetadata","formatTitle","title","toUpperCase","msg","usage","concat","punctuation","description","name","subcommands","length","command","options","option","arguments","argument","allowPositional","ln","indent","replace","longest","optionsMetadata","longestOptionTitle","reduce","acc","names","aliasesAsArgs","nameAsArg","join","optLength","placeholder","subcommandsMetadata","longestSubcommandTitle","aliases","subcommandPlaceholder","argsMetadata","longestArgTitle","arg","formatHelpMsgOptions","formatHelpMsgCommands","formatHelpMsgArguments","example","normalizeExample","formatSubcommandHelpMsg","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 \"../utils.js\";\nimport { formatHelpMsgArguments } from \"./format-arguments.js\";\nimport { formatHelpMsgOptions } from \"./format-options.js\";\nimport { formatHelpMsgCommands } from \"./format-subcommands.js\";\nimport { helpMsgStyles } from \"./styles.js\";\n\nimport type { Cli, HelpMsgStyle, Subcommand } from \"../types.js\";\n\nexport function formatCliHelpMsg(params: readonly [Cli, ...Subcommand[]], style?: Partial<HelpMsgStyle>): string {\n const c = helpMsgStyles.default;\n if (style) Object.assign(c, style);\n\n const metadata = getCliMetadata(params);\n\n const formatTitle = (title: string) => c.title(` ${title.toUpperCase()}`);\n\n let msg = \"\";\n\n // CLI usage\n const usage =\n metadata.usage ||\n concat(\n c.punctuation(\"$\"),\n c.description(metadata.name),\n metadata.subcommands.length ? c.command(\"[command]\") : \"\",\n metadata.options.length ? c.option(\"[options]\") : \"\",\n metadata.arguments.length ? c.argument(\"<arguments>\") : \"\",\n metadata.allowPositional ? c.argument(\"<positionals>\") : \"\",\n );\n msg += formatTitle(\"Usage\") + ln(1);\n msg += indent(2) + usage + ln(2);\n\n // CLI description\n if (metadata.description) {\n msg += formatTitle(\"Description\") + ln(1);\n msg += 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 const longestOptionTitle = optionsMetadata.reduce((acc, metadata) => {\n const names = metadata.aliasesAsArgs.concat([metadata.nameAsArg]).join(\", \");\n const optLength = names.length + metadata.placeholder.length;\n return optLength > acc ? optLength : acc;\n }, 0);\n\n if (longestOptionTitle > longest) {\n longest = longestOptionTitle;\n }\n\n // Prepare CLI commands\n const subcommandsMetadata = metadata.subcommands;\n\n const longestSubcommandTitle = subcommandsMetadata.reduce((acc, metadata) => {\n const names = metadata.aliases.concat([metadata.name]).join(\", \");\n const placeholder = subcommandPlaceholder(metadata);\n const optLength = names.length + placeholder.length;\n return optLength > acc ? optLength : acc;\n }, 0);\n\n if (longestSubcommandTitle > longest) {\n longest = longestSubcommandTitle;\n }\n\n // Prepare CLI arguments\n const argsMetadata = metadata.arguments;\n const longestArgTitle = argsMetadata.reduce((acc, arg) => (arg.name.length > acc ? arg.name.length : acc), 0);\n if (longestArgTitle > longest) {\n longest = longestArgTitle;\n }\n\n // CLI options\n msg += formatHelpMsgOptions(optionsMetadata, c, longest);\n\n // CLI commands\n msg += formatHelpMsgCommands(subcommandsMetadata, c, longest);\n\n // CLI arguments\n msg += formatHelpMsgArguments(argsMetadata, c, longest);\n\n // CLI example\n if (metadata.example) {\n msg += formatTitle(\"Example\");\n msg += ln(1);\n const normalizeExample = metadata.example.replace(/\\n+/g, \"\\n\" + indent(3));\n msg += concat(indent(2), c.example(normalizeExample), ln(2));\n }\n\n return msg;\n}\n\nexport function formatSubcommandHelpMsg(subcommand: Subcommand, printStyle?: Partial<HelpMsgStyle>, cliName = \"\") {\n const c = helpMsgStyles.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 formatCliHelpMsg([asCli], c);\n}\n\nexport function printCliHelp(params: readonly [Cli, ...Subcommand[]], style?: Partial<HelpMsgStyle>) {\n console.log(formatCliHelpMsg(params, style));\n}\n\nexport function printSubcommandHelp(subcommand: Subcommand, style?: Partial<HelpMsgStyle>, cliName = \"\") {\n console.log(formatSubcommandHelpMsg(subcommand, style, cliName));\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.formatHelpMsgOptions=formatHelpMsgOptions;var _utils=require("../utils.js");function formatHelpMsgOptions(optionsMetadata,c,longest){if(!optionsMetadata.length)return"";let msg=c.title(" OPTIONS")+(0,_utils.ln)(1);for(const metadata of optionsMetadata){const names=metadata.aliasesAsArgs.concat([metadata.nameAsArg]);const normalizeDesc=metadata.description.replace(/\n+/g,"\n"+(0,_utils.indent)(longest+6)+c.punctuation("└"));const defaultStr=typeof 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=defaultStr?c.default(defaultStr):metadata.optional?c.optional("(optional)"):"";msg+=(0,_utils.concat)((0,_utils.indent)(2)+coloredNames,c.placeholder(metadata.placeholder),(0,_utils.indent)(spacing),(0,_utils.insertAtEndOfFirstLine)(c.description(normalizeDesc),defaultOrOptional),(0,_utils.ln)(1));if(metadata.example){const normalizeExample=metadata.example.replace(/\n+/g,"\n"+(0,_utils.indent)(longest+16));msg+=(0,_utils.concat)((0,_utils.indent)(longest+6)+c.punctuation("└")+c.exampleTitle("Example:"),c.example(normalizeExample)+(0,_utils.ln)(1));}}msg+=(0,_utils.ln)(1);return msg;}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_utils","require","formatHelpMsgOptions","optionsMetadata","c","longest","length","msg","title","ln","metadata","names","aliasesAsArgs","concat","nameAsArg","normalizeDesc","description","replace","indent","punctuation","defaultStr","defaultValue","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 \"../utils.js\";\n\nimport type { OptionMetadata } from \"../metadata/metadata-types.js\";\nimport type { HelpMsgStyle } from \"../types.js\";\n\nexport function formatHelpMsgOptions(optionsMetadata: OptionMetadata[], c: HelpMsgStyle, longest: number): string {\n if (!optionsMetadata.length) return \"\";\n\n let msg = 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 defaultStr =\n typeof 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 = defaultStr ? c.default(defaultStr) : metadata.optional ? c.optional(\"(optional)\") : \"\";\n\n msg += 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 msg += concat(\n indent(longest + 6) + c.punctuation(\"└\") + c.exampleTitle(\"Example:\"),\n c.example(normalizeExample) + ln(1),\n );\n }\n }\n\n msg += ln(1);\n\n return msg;\n}\n"],"mappings":"wHAAA,IAAAA,MAAA,CAAAC,OAAA,gBAKO,QAAS,CAAAC,oBAAoBA,CAACC,eAAiC,CAAEC,CAAe,CAAEC,OAAe,CAAU,CAChH,GAAI,CAACF,eAAe,CAACG,MAAM,CAAE,MAAO,EAAE,CAEtC,GAAI,CAAAC,GAAG,CAAGH,CAAC,CAACI,KAAK,CAAC,UAAU,CAAC,CAAG,GAAAC,SAAE,EAAC,CAAC,CAAC,CAErC,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,aAAM,EAACb,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACe,WAAW,CAAC,GAAG,CAAC,CAAC,CAC3G,KAAM,CAAAC,UAAU,CACd,MAAO,CAAAV,QAAQ,CAACW,YAAY,GAAK,WAAW,CAAG,aAAaX,QAAQ,CAACY,oBAAoB,GAAG,CAAG,EAAE,CAEnG,KAAM,CAAAC,SAAS,CAAGZ,KAAK,CAACa,IAAI,CAAC,IAAI,CAAC,CAAClB,MAAM,CAAGI,QAAQ,CAACe,WAAW,CAACnB,MAAM,CACvE,KAAM,CAAAoB,OAAO,CAAGrB,OAAO,CAAG,CAAC,CAAGkB,SAAS,CAEvC,KAAM,CAAAI,YAAY,CAAGhB,KAAK,CAACiB,GAAG,CAACC,IAAI,EAAIzB,CAAC,CAAC0B,MAAM,CAACD,IAAI,CAAC,CAAC,CAACL,IAAI,CAACpB,CAAC,CAACe,WAAW,CAAC,IAAI,CAAC,CAAC,CAEhF,KAAM,CAAAY,iBAAiB,CAAGX,UAAU,CAAGhB,CAAC,CAAC4B,OAAO,CAACZ,UAAU,CAAC,CAAGV,QAAQ,CAACuB,QAAQ,CAAG7B,CAAC,CAAC6B,QAAQ,CAAC,YAAY,CAAC,CAAG,EAAE,CAEhH1B,GAAG,EAAI,GAAAM,aAAM,EACX,GAAAK,aAAM,EAAC,CAAC,CAAC,CAAGS,YAAY,CACxBvB,CAAC,CAACqB,WAAW,CAACf,QAAQ,CAACe,WAAW,CAAC,CACnC,GAAAP,aAAM,EAACQ,OAAO,CAAC,CACf,GAAAQ,6BAAsB,EAAC9B,CAAC,CAACY,WAAW,CAACD,aAAa,CAAC,CAAEgB,iBAAiB,CAAC,CACvE,GAAAtB,SAAE,EAAC,CAAC,CACN,CAAC,CAED,GAAIC,QAAQ,CAACyB,OAAO,CAAE,CACpB,KAAM,CAAAC,gBAAgB,CAAG1B,QAAQ,CAACyB,OAAO,CAAClB,OAAO,CAAC,MAAM,CAAE,IAAI,CAAG,GAAAC,aAAM,EAACb,OAAO,CAAG,EAAE,CAAC,CAAC,CACtFE,GAAG,EAAI,GAAAM,aAAM,EACX,GAAAK,aAAM,EAACb,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACe,WAAW,CAAC,GAAG,CAAC,CAAGf,CAAC,CAACiC,YAAY,CAAC,UAAU,CAAC,CACrEjC,CAAC,CAAC+B,OAAO,CAACC,gBAAgB,CAAC,CAAG,GAAA3B,SAAE,EAAC,CAAC,CACpC,CAAC,CACH,CACF,CAEAF,GAAG,EAAI,GAAAE,SAAE,EAAC,CAAC,CAAC,CAEZ,MAAO,CAAAF,GAAG,CACZ","ignoreList":[]}
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.formatHelpMsgCommands=formatHelpMsgCommands;var _utils=require("../utils.js");function formatHelpMsgCommands(subcommandsMetadata,c,longest){if(!subcommandsMetadata.length)return"";let msg=c.title(" COMMANDS")+(0,_utils.ln)(1);for(const metadata of subcommandsMetadata){const names=metadata.aliases.concat([metadata.name]);const placeholder=(0,_utils.subcommandPlaceholder)(metadata);const normalizeDesc=metadata.description.replace(/\n+/g,"\n"+(0,_utils.indent)(longest+6)+c.punctuation("└"));const optLength=names.join(", ").length+placeholder.length;const spacing=longest+1-optLength;const coloredNames=names.map(name=>c.command(name)).join(c.punctuation(", "));msg+=(0,_utils.concat)((0,_utils.indent)(2)+coloredNames,c.placeholder(placeholder),(0,_utils.indent)(spacing),c.description(normalizeDesc)+(0,_utils.ln)(1));}msg+=(0,_utils.ln)(1);return msg;}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_utils","require","formatHelpMsgCommands","subcommandsMetadata","c","longest","length","msg","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 \"../utils.js\";\n\nimport type { SubcommandMetadata } from \"../metadata/metadata-types.js\";\nimport type { HelpMsgStyle } from \"../types.js\";\n\nexport function formatHelpMsgCommands(\n subcommandsMetadata: SubcommandMetadata[],\n c: HelpMsgStyle,\n longest: number,\n): string {\n if (!subcommandsMetadata.length) return \"\";\n\n let msg = 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 msg += concat(\n indent(2) + coloredNames,\n c.placeholder(placeholder),\n indent(spacing),\n c.description(normalizeDesc) + ln(1),\n );\n }\n\n msg += ln(1);\n\n return msg;\n}\n"],"mappings":"0HAAA,IAAAA,MAAA,CAAAC,OAAA,gBAKO,QAAS,CAAAC,qBAAqBA,CACnCC,mBAAyC,CACzCC,CAAe,CACfC,OAAe,CACP,CACR,GAAI,CAACF,mBAAmB,CAACG,MAAM,CAAE,MAAO,EAAE,CAE1C,GAAI,CAAAC,GAAG,CAAGH,CAAC,CAACI,KAAK,CAAC,WAAW,CAAC,CAAG,GAAAC,SAAE,EAAC,CAAC,CAAC,CAEtC,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,4BAAqB,EAACN,QAAQ,CAAC,CACnD,KAAM,CAAAO,aAAa,CAAGP,QAAQ,CAACQ,WAAW,CAACC,OAAO,CAAC,MAAM,CAAE,IAAI,CAAG,GAAAC,aAAM,EAACf,OAAO,CAAG,CAAC,CAAC,CAAGD,CAAC,CAACiB,WAAW,CAAC,GAAG,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,GAAG,EAAI,GAAAM,aAAM,EACX,GAAAO,aAAM,EAAC,CAAC,CAAC,CAAGK,YAAY,CACxBrB,CAAC,CAACW,WAAW,CAACA,WAAW,CAAC,CAC1B,GAAAK,aAAM,EAACI,OAAO,CAAC,CACfpB,CAAC,CAACc,WAAW,CAACD,aAAa,CAAC,CAAG,GAAAR,SAAE,EAAC,CAAC,CACrC,CAAC,CACH,CAEAF,GAAG,EAAI,GAAAE,SAAE,EAAC,CAAC,CAAC,CAEZ,MAAO,CAAAF,GAAG,CACZ","ignoreList":[]}
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.helpMsgStyles=void 0;var _chalk=_interopRequireDefault(require("chalk"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e};}const helpMsgStyles=exports.helpMsgStyles=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:(...str)=>`<span style="color: #89dceb; font-weight: bold;">${escapeHTML(str.join(" "))}</span>`,description:(...str)=>`<span style="color: #cdd6e8;">${escapeHTML(str.join(" "))}</span>`,default:(...str)=>`<span style="color: #6c7086; font-style: italic;">${escapeHTML(str.join(" "))}</span>`,optional:(...str)=>`<span style="color: #6c7086; font-style: italic;">${escapeHTML(str.join(" "))}</span>`,exampleTitle:(...str)=>`<span style="color: #f9e2af;">${escapeHTML(str.join(" "))}</span>`,example:(...str)=>`<span style="color: #6c7086;">${escapeHTML(str.join(" "))}</span>`,command:(...str)=>`<span style="color: #f9e2af;">${escapeHTML(str.join(" "))}</span>`,option:(...str)=>`<span style="color: #17b85d;">${escapeHTML(str.join(" "))}</span>`,argument:(...str)=>`<span style="color: #00ff00;">${escapeHTML(str.join(" "))}</span>`,placeholder:(...str)=>`<span style="color: #db9518;">${escapeHTML(str.join(" "))}</span>`,punctuation:(...str)=>`<span style="color: #6c7086;">${escapeHTML(str.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(...str)=>str.join(" ");}});}});function escapeHTML(str){return str.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_chalk","_interopRequireDefault","require","e","__esModule","default","helpMsgStyles","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","str","escapeHTML","join","gruvboxDark","monokai","oneDark","noColors","Proxy","get","replace"],"sourceRoot":"../../../src/help-message","sources":["styles.ts"],"sourcesContent":["import chalk from \"chalk\";\nimport type { HelpMsgStyle } from \"../types.js\";\n\nexport const helpMsgStyles = 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: (...str) => `<span style=\"color: #89dceb; font-weight: bold;\">${escapeHTML(str.join(\" \"))}</span>`,\n description: (...str) => `<span style=\"color: #cdd6e8;\">${escapeHTML(str.join(\" \"))}</span>`,\n default: (...str) => `<span style=\"color: #6c7086; font-style: italic;\">${escapeHTML(str.join(\" \"))}</span>`,\n optional: (...str) => `<span style=\"color: #6c7086; font-style: italic;\">${escapeHTML(str.join(\" \"))}</span>`,\n exampleTitle: (...str) => `<span style=\"color: #f9e2af;\">${escapeHTML(str.join(\" \"))}</span>`,\n example: (...str) => `<span style=\"color: #6c7086;\">${escapeHTML(str.join(\" \"))}</span>`,\n command: (...str) => `<span style=\"color: #f9e2af;\">${escapeHTML(str.join(\" \"))}</span>`,\n option: (...str) => `<span style=\"color: #17b85d;\">${escapeHTML(str.join(\" \"))}</span>`,\n argument: (...str) => `<span style=\"color: #00ff00;\">${escapeHTML(str.join(\" \"))}</span>`,\n placeholder: (...str) => `<span style=\"color: #db9518;\">${escapeHTML(str.join(\" \"))}</span>`,\n punctuation: (...str) => `<span style=\"color: #6c7086;\">${escapeHTML(str.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 (...str: string[]) => str.join(\" \");\n },\n });\n },\n}) satisfies Record<string, HelpMsgStyle>;\n\nfunction escapeHTML(str: string) {\n return str.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\");\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
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.formatCliHelpMsg;}});Object.defineProperty(exports,"formatSubcommandHelpMsg",{enumerable:true,get:function(){return _formatCli.formatSubcommandHelpMsg;}});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,"helpMsgStyles",{enumerable:true,get:function(){return _styles.helpMsgStyles;}});Object.defineProperty(exports,"isOptionalSchema",{enumerable:true,get:function(){return _zodUtils.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 _zodUtils.schemaDefaultValue;}});Object.defineProperty(exports,"stringToArray",{enumerable:true,get:function(){return _zodUtils.stringToArray;}});Object.defineProperty(exports,"stringToSet",{enumerable:true,get:function(){return _zodUtils.stringToSet;}});var _formatCli=require("./help-message/format-cli.js");var _styles=require("./help-message/styles.js");var _safeParse=require("./parser/safe-parse.js");var _unsafeParse=require("./parser/unsafe-parse.js");var _zodUtils=require("./zod-utils.js");var _bashAutocompleteScript=require("./autocomplete-scripts/bash-autocomplete-script.js");var _powershellAutocompleteScript=require("./autocomplete-scripts/powershell-autocomplete-script.js");var _zshAutocompleteScript=require("./autocomplete-scripts/zsh-autocomplete-script.js");var _getArgumentsMetadata=require("./metadata/get-arguments-metadata.js");var _getCliMetadata=require("./metadata/get-cli-metadata.js");var _getOptionsMetadata=require("./metadata/get-options-metadata.js");var _getSubcommandsMetadata=require("./metadata/get-subcommands-metadata.js");var _generateMarkdown=require("./markdown/generate-markdown.js");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(args){return args;}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_formatCli","require","_styles","_safeParse","_unsafeParse","_zodUtils","_bashAutocompleteScript","_powershellAutocompleteScript","_zshAutocompleteScript","_getArgumentsMetadata","_getCliMetadata","_getOptionsMetadata","_getSubcommandsMetadata","_generateMarkdown","createCli","input","setAction","action","setPreValidationHook","hook","preValidation","Object","assign","createSubcommand","createOptions","options","createArguments","args"],"sourceRoot":"../../src","sources":["index.ts"],"sourcesContent":["import type {\n ActionsFn,\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 Err extends string\n ? Err\n : CheckDuplicatedArguments<T> extends infer Err extends string\n ? Err\n : CheckArgumentsOptional<T> extends infer Err extends string\n ? Err\n : T;\n\nexport function createCli<const T extends Cli>(input: CheckCliSubcommandInput<T>) {\n const setAction = (action: (res: any) => any) => {\n if (typeof input === \"string\") return;\n input.action = action;\n };\n\n const setPreValidationHook = (hook: (ctx: 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 & ActionsFn<T>>;\n}\n\nexport function createSubcommand<const T extends Subcommand>(input: CheckCliSubcommandInput<T>) {\n const setAction = (action: (res: any) => any) => {\n if (typeof input === \"string\") return;\n input.action = action as T[\"action\"];\n };\n\n const setPreValidationHook = (hook: (ctx: 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 & ActionsFn<T>>;\n}\n\n/** - Insures that there are no duplicated options */\ntype CheckOptionsInput<T extends Option[]> =\n CheckDuplicatedOptions<{ options: T }> extends infer Err extends string ? Err : 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 Err extends string ? Err : T;\n\nexport function createArguments<const T extends [Argument, ...Argument[]]>(args: CheckArgumentsInput<T>) {\n return args;\n}\n\nexport {\n formatCliHelpMsg,\n formatSubcommandHelpMsg,\n printCliHelp,\n printSubcommandHelp,\n} from \"./help-message/format-cli.js\";\nexport { helpMsgStyles } 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-utils.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":"00FAuEA,IAAAA,UAAA,CAAAC,OAAA,iCAMA,IAAAC,OAAA,CAAAD,OAAA,6BAEA,IAAAE,UAAA,CAAAF,OAAA,2BACA,IAAAG,YAAA,CAAAH,OAAA,6BAEA,IAAAI,SAAA,CAAAJ,OAAA,mBAEA,IAAAK,uBAAA,CAAAL,OAAA,uDACA,IAAAM,6BAAA,CAAAN,OAAA,6DACA,IAAAO,sBAAA,CAAAP,OAAA,sDAEA,IAAAQ,qBAAA,CAAAR,OAAA,yCACA,IAAAS,eAAA,CAAAT,OAAA,mCACA,IAAAU,mBAAA,CAAAV,OAAA,uCACA,IAAAW,uBAAA,CAAAX,OAAA,2CAEA,IAAAY,iBAAA,CAAAZ,OAAA,oCAlEO,QAAS,CAAAa,SAASA,CAAsBC,KAAiC,CAAE,CAChF,KAAM,CAAAC,SAAS,CAAIC,MAAyB,EAAK,CAC/C,GAAI,MAAO,CAAAF,KAAK,GAAK,QAAQ,CAAE,OAC/BA,KAAK,CAACE,MAAM,CAAGA,MAAM,CACvB,CAAC,CAED,KAAM,CAAAC,oBAAoB,CAAIC,IAAuB,EAAK,CACxD,GAAI,MAAO,CAAAJ,KAAK,GAAK,QAAQ,CAAE,OAC/BA,KAAK,CAACK,aAAa,CAAGD,IAAI,CAC5B,CAAC,CAED,MAAO,CAAAE,MAAM,CAACC,MAAM,CAACP,KAAK,CAAE,CAAEC,SAAS,CAAEE,oBAAqB,CAAC,CAAC,CAClE,CAEO,QAAS,CAAAK,gBAAgBA,CAA6BR,KAAiC,CAAE,CAC9F,KAAM,CAAAC,SAAS,CAAIC,MAAyB,EAAK,CAC/C,GAAI,MAAO,CAAAF,KAAK,GAAK,QAAQ,CAAE,OAC/BA,KAAK,CAACE,MAAM,CAAGA,MAAqB,CACtC,CAAC,CAED,KAAM,CAAAC,oBAAoB,CAAIC,IAAuB,EAAK,CACxD,GAAI,MAAO,CAAAJ,KAAK,GAAK,QAAQ,CAAE,OAC/BA,KAAK,CAACK,aAAa,CAAGD,IAAI,CAC5B,CAAC,CAED,MAAO,CAAAE,MAAM,CAACC,MAAM,CAACP,KAAK,CAAE,CAAEC,SAAS,CAAEE,oBAAqB,CAAC,CAAC,CAClE,CAMO,QAAS,CAAAM,aAAaA,CAAwCC,OAA6B,CAAE,CAClG,MAAO,CAAAA,OAAO,CAChB,CAMO,QAAS,CAAAC,eAAeA,CAA4CC,IAA4B,CAAE,CACvG,MAAO,CAAAA,IAAI,CACb","ignoreList":[]}
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.generateMarkdown=generateMarkdown;var _getCliMetadata=require("../metadata/get-cli-metadata.js");function generateMarkdown(...params){const metadata=(0,_getCliMetadata.getCliMetadata)(params);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){md+="\n## Options:\n\n";md+=renderOptions(metadata.options,3);}if(metadata.arguments.length){md+="\n## Arguments:\n\n";md+=renderArguments(metadata.arguments,3);}if(metadata.subcommands.length){md+="\n## Subcommands:\n\n";md+=renderSubcommands(metadata.subcommands);}md=stripAnsi(md);md=escapeHtmlTags(md);return md;}function renderExamples(examples,list=false){let outStr="";const lang="bash";const listIndent=" ".repeat(list?2:0);outStr+="\n"+(list?"- ":"");outStr+="```"+lang+"\n";outStr+=listIndent+examples.replace(/\n/g,"\n"+listIndent);outStr+="\n"+listIndent+"```\n";return outStr;}function renderOptions(optionsMetadata=[],h){let outStr="";for(let i=0;i<optionsMetadata.length;i++){const metadata=optionsMetadata[i];const aliases=[metadata.nameAsArg].concat(metadata.aliasesAsArgs).join(", ");const placeholder=metadata.placeholder&&` ${metadata.placeholder}`;outStr+=`${"#".repeat(h)} \`${aliases+placeholder}\``;if(metadata.optional){outStr+=" **[optional]**";}outStr+="\n\n";if(metadata.description){outStr+=`- ${metadata.description.replace(/(\n+)/g," $1 ")}\n`;}if(typeof metadata.defaultValue!=="undefined"){outStr+=`- **default:** \`${metadata.defaultValueAsString}\`\n`;}if(metadata.example){outStr+=renderExamples(metadata.example,true);}if(i<optionsMetadata.length-1){outStr+="\n";}}return outStr;}function renderArguments(argsMetadata=[],h){let outStr="";for(let i=0;i<argsMetadata.length;i++){const metadata=argsMetadata[i];outStr+=`${"#".repeat(h)} \`${metadata.name}\``;if(metadata.optional){outStr+=" **[optional]**";}outStr+="\n\n";if(metadata.description){outStr+=`- ${metadata.description.replace(/(\n+)/g," $1 ")}\n`;}if(typeof metadata.defaultValue!=="undefined"){outStr+=`- **default:** \`${metadata.defaultValueAsString}\`\n`;}if(metadata.example){outStr+=renderExamples(metadata.example);}if(i<argsMetadata.length-1){outStr+="\n";}}return outStr;}function renderSubcommands(subcommandsMetadata){let outStr="";for(let i=0;i<subcommandsMetadata.length;i++){const metadata=subcommandsMetadata[i];const aliases=[metadata.name].concat(metadata.aliases).join(", ");const placeholder=metadata.placeholder&&` ${metadata.placeholder}`;outStr+=`### ${aliases+placeholder}\n\n`;if(metadata.description){outStr+=`${metadata.description}\n`;}if(metadata.example){outStr+=renderExamples(metadata.example);}if(metadata.options.length){outStr+="\n#### Options:\n\n";outStr+=renderOptions(metadata.options,4);}if(metadata.arguments.length){outStr+="\n#### Arguments:\n\n";outStr+=renderArguments(metadata.arguments,4);}if(i<subcommandsMetadata.length-1){outStr+="\n---\n\n";}}return outStr;}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="(?:\\u0007|\\u001B\\u005C|\\u009C)";const osc=`(?:\\u001B\\][\\s\\S]*?${ST})`;const csi="[\\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,"");}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_getCliMetadata","require","generateMarkdown","params","metadata","getCliMetadata","md","name","description","example","renderExamples","options","length","renderOptions","arguments","renderArguments","subcommands","renderSubcommands","stripAnsi","escapeHtmlTags","examples","list","outStr","lang","listIndent","repeat","replace","optionsMetadata","h","i","aliases","nameAsArg","concat","aliasesAsArgs","join","placeholder","optional","defaultValue","defaultValueAsString","argsMetadata","subcommandsMetadata","markdown","_","code","html","match","ansiRegex","onlyFirst","ST","osc","csi","pattern","RegExp","undefined","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(...params: [Cli, ...Subcommand[]]): string {\n const metadata = getCliMetadata(params);\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) {\n md += \"\\n## Options:\\n\\n\";\n md += renderOptions(metadata.options, 3);\n }\n\n // Arguments\n if (metadata.arguments.length) {\n md += \"\\n## Arguments:\\n\\n\";\n md += renderArguments(metadata.arguments, 3);\n }\n\n // Subcommands\n if (metadata.subcommands.length) {\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 outStr = \"\";\n\n const lang = \"bash\";\n\n const listIndent = \" \".repeat(list ? 2 : 0);\n\n outStr += \"\\n\" + (list ? \"- \" : \"\");\n\n outStr += \"```\" + lang + \"\\n\";\n outStr += listIndent + examples.replace(/\\n/g, \"\\n\" + listIndent);\n outStr += \"\\n\" + listIndent + \"```\\n\";\n\n return outStr;\n}\n\nfunction renderOptions(optionsMetadata: OptionMetadata[] = [], h: number) {\n let outStr = \"\";\n\n for (let i = 0; i < optionsMetadata.length; i++) {\n const metadata = optionsMetadata[i];\n\n const aliases = [metadata.nameAsArg].concat(metadata.aliasesAsArgs).join(\", \");\n\n const placeholder = metadata.placeholder && ` ${metadata.placeholder}`;\n\n outStr += `${\"#\".repeat(h)} \\`${aliases + placeholder}\\``;\n\n if (metadata.optional) {\n outStr += \" **[optional]**\";\n }\n\n outStr += \"\\n\\n\";\n\n if (metadata.description) {\n outStr += `- ${metadata.description.replace(/(\\n+)/g, \" $1 \")}\\n`;\n }\n\n if (typeof metadata.defaultValue !== \"undefined\") {\n outStr += `- **default:** \\`${metadata.defaultValueAsString}\\`\\n`;\n }\n\n if (metadata.example) {\n outStr += renderExamples(metadata.example, true);\n }\n\n if (i < optionsMetadata.length - 1) {\n outStr += \"\\n\";\n }\n }\n\n return outStr;\n}\n\nfunction renderArguments(argsMetadata: ArgumentMetadata[] = [], h: number) {\n let outStr = \"\";\n\n for (let i = 0; i < argsMetadata.length; i++) {\n const metadata = argsMetadata[i];\n\n outStr += `${\"#\".repeat(h)} \\`${metadata.name}\\``;\n\n if (metadata.optional) {\n outStr += \" **[optional]**\";\n }\n\n outStr += \"\\n\\n\";\n\n if (metadata.description) {\n outStr += `- ${metadata.description.replace(/(\\n+)/g, \" $1 \")}\\n`;\n }\n\n if (typeof metadata.defaultValue !== \"undefined\") {\n outStr += `- **default:** \\`${metadata.defaultValueAsString}\\`\\n`;\n }\n\n if (metadata.example) {\n outStr += renderExamples(metadata.example);\n }\n\n if (i < argsMetadata.length - 1) {\n outStr += \"\\n\";\n }\n }\n\n return outStr;\n}\n\nfunction renderSubcommands(subcommandsMetadata: SubcommandMetadata[]) {\n let outStr = \"\";\n\n for (let i = 0; i < subcommandsMetadata.length; i++) {\n const metadata = subcommandsMetadata[i];\n\n const aliases = [metadata.name].concat(metadata.aliases).join(\", \");\n\n const placeholder = metadata.placeholder && ` ${metadata.placeholder}`;\n\n outStr += `### ${aliases + placeholder}\\n\\n`;\n\n if (metadata.description) {\n outStr += `${metadata.description}\\n`;\n }\n\n if (metadata.example) {\n outStr += renderExamples(metadata.example);\n }\n\n if (metadata.options.length) {\n outStr += \"\\n#### Options:\\n\\n\";\n outStr += renderOptions(metadata.options, 4);\n }\n\n if (metadata.arguments.length) {\n outStr += \"\\n#### Arguments:\\n\\n\";\n outStr += renderArguments(metadata.arguments, 4);\n }\n\n if (i < subcommandsMetadata.length - 1) {\n outStr += \"\\n---\\n\\n\";\n }\n }\n\n return outStr;\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 = \"(?:\\\\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 = \"[\\\\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":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getArgumentsMetadata=getArgumentsMetadata;var _utils=require("../utils.js");var _zodUtils=require("../zod-utils.js");function getArgumentsMetadata(args){const outputMetadata=[];for(const arg of args){const defaultValue=(0,_zodUtils.schemaDefaultValue)(arg.type);outputMetadata.push({name:arg.name,description:arg.description??(0,_zodUtils.schemaDescription)(arg.type)??"",defaultValue,defaultValueAsString:(0,_utils.stringifyValue)(defaultValue),optional:(0,_zodUtils.isOptionalSchema)(arg.type),example:arg.example??"",type:arg.type});}return outputMetadata;}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_utils","require","_zodUtils","getArgumentsMetadata","args","outputMetadata","arg","defaultValue","schemaDefaultValue","type","push","name","description","schemaDescription","defaultValueAsString","stringifyValue","optional","isOptionalSchema","example"],"sourceRoot":"../../../src/metadata","sources":["get-arguments-metadata.ts"],"sourcesContent":["import { stringifyValue } from \"../utils.js\";\nimport { isOptionalSchema, schemaDefaultValue, schemaDescription } from \"../zod-utils.js\";\n\nimport type { Argument } from \"../types.js\";\nimport type { ArgumentMetadata } from \"./metadata-types.js\";\n\nexport function getArgumentsMetadata(args: Argument[]): ArgumentMetadata[] {\n const outputMetadata: ArgumentMetadata[] = [];\n\n for (const arg of args) {\n const defaultValue = schemaDefaultValue(arg.type);\n\n outputMetadata.push({\n name: arg.name,\n description: arg.description ?? schemaDescription(arg.type) ?? \"\",\n defaultValue,\n defaultValueAsString: stringifyValue(defaultValue),\n optional: isOptionalSchema(arg.type),\n example: arg.example ?? \"\",\n type: arg.type,\n });\n }\n\n return outputMetadata;\n}\n"],"mappings":"wHAAA,IAAAA,MAAA,CAAAC,OAAA,gBACA,IAAAC,SAAA,CAAAD,OAAA,oBAKO,QAAS,CAAAE,oBAAoBA,CAACC,IAAgB,CAAsB,CACzE,KAAM,CAAAC,cAAkC,CAAG,EAAE,CAE7C,IAAK,KAAM,CAAAC,GAAG,GAAI,CAAAF,IAAI,CAAE,CACtB,KAAM,CAAAG,YAAY,CAAG,GAAAC,4BAAkB,EAACF,GAAG,CAACG,IAAI,CAAC,CAEjDJ,cAAc,CAACK,IAAI,CAAC,CAClBC,IAAI,CAAEL,GAAG,CAACK,IAAI,CACdC,WAAW,CAAEN,GAAG,CAACM,WAAW,EAAI,GAAAC,2BAAiB,EAACP,GAAG,CAACG,IAAI,CAAC,EAAI,EAAE,CACjEF,YAAY,CACZO,oBAAoB,CAAE,GAAAC,qBAAc,EAACR,YAAY,CAAC,CAClDS,QAAQ,CAAE,GAAAC,0BAAgB,EAACX,GAAG,CAACG,IAAI,CAAC,CACpCS,OAAO,CAAEZ,GAAG,CAACY,OAAO,EAAI,EAAE,CAC1BT,IAAI,CAAEH,GAAG,CAACG,IACZ,CAAC,CAAC,CACJ,CAEA,MAAO,CAAAJ,cAAc,CACvB","ignoreList":[]}
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getCliMetadata=getCliMetadata;var _getArgumentsMetadata=require("./get-arguments-metadata.js");var _getOptionsMetadata=require("./get-options-metadata.js");var _getSubcommandsMetadata=require("./get-subcommands-metadata.js");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 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getOptionsMetadata=getOptionsMetadata;var _parserHelpers=require("../parser/parse/parser-helpers.js");var _utils=require("../utils.js");var _zodUtils=require("../zod-utils.js");function getOptionsMetadata(options){const outputMetadata=[];if(!options||!options.length)return outputMetadata;for(const option of options){const defaultValue=(0,_zodUtils.schemaDefaultValue)(option.type);const aliases=option.aliases??[];outputMetadata.push({name:option.name,nameAsArg:(0,_parserHelpers.transformOptionToArg)(option.name),aliases,aliasesAsArgs:aliases.map(_parserHelpers.transformOptionToArg),placeholder:option.placeholder??"",description:option.description??(0,_zodUtils.schemaDescription)(option.type)??"",optional:(0,_zodUtils.isOptionalSchema)(option.type),example:option.example??"",defaultValue,defaultValueAsString:(0,_utils.stringifyValue)(defaultValue),type:option.type});}return outputMetadata;}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_parserHelpers","require","_utils","_zodUtils","getOptionsMetadata","options","outputMetadata","length","option","defaultValue","schemaDefaultValue","type","aliases","push","name","nameAsArg","transformOptionToArg","aliasesAsArgs","map","placeholder","description","schemaDescription","optional","isOptionalSchema","example","defaultValueAsString","stringifyValue"],"sourceRoot":"../../../src/metadata","sources":["get-options-metadata.ts"],"sourcesContent":["import { transformOptionToArg } from \"../parser/parse/parser-helpers.js\";\nimport { stringifyValue } from \"../utils.js\";\nimport { isOptionalSchema, schemaDefaultValue, schemaDescription } from \"../zod-utils.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) return outputMetadata;\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: transformOptionToArg(option.name),\n aliases,\n aliasesAsArgs: aliases.map(transformOptionToArg),\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,sCACA,IAAAC,MAAA,CAAAD,OAAA,gBACA,IAAAE,SAAA,CAAAF,OAAA,oBAKO,QAAS,CAAAG,kBAAkBA,CAACC,OAAiB,CAAoB,CACtE,KAAM,CAAAC,cAAgC,CAAG,EAAE,CAE3C,GAAI,CAACD,OAAO,EAAI,CAACA,OAAO,CAACE,MAAM,CAAE,MAAO,CAAAD,cAAc,CAEtD,IAAK,KAAM,CAAAE,MAAM,GAAI,CAAAH,OAAO,CAAE,CAC5B,KAAM,CAAAI,YAAY,CAAG,GAAAC,4BAAkB,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,mCAAoB,EAACR,MAAM,CAACM,IAAI,CAAC,CAC5CF,OAAO,CACPK,aAAa,CAAEL,OAAO,CAACM,GAAG,CAACF,mCAAoB,CAAC,CAChDG,WAAW,CAAEX,MAAM,CAACW,WAAW,EAAI,EAAE,CACrCC,WAAW,CAAEZ,MAAM,CAACY,WAAW,EAAI,GAAAC,2BAAiB,EAACb,MAAM,CAACG,IAAI,CAAC,EAAI,EAAE,CACvEW,QAAQ,CAAE,GAAAC,0BAAgB,EAACf,MAAM,CAACG,IAAI,CAAC,CACvCa,OAAO,CAAEhB,MAAM,CAACgB,OAAO,EAAI,EAAE,CAC7Bf,YAAY,CACZgB,oBAAoB,CAAE,GAAAC,qBAAc,EAACjB,YAAY,CAAC,CAClDE,IAAI,CAAEH,MAAM,CAACG,IACf,CAAC,CAAC,CACJ,CAEA,MAAO,CAAAL,cAAc,CACvB","ignoreList":[]}