@shell-shock/core 0.17.8 → 0.17.11

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 (272) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +29 -1
  2. package/dist/api.cjs +36 -1
  3. package/dist/api.cjs.map +1 -0
  4. package/dist/api.d.cts +2 -77
  5. package/dist/api.d.cts.map +1 -1
  6. package/dist/api.d.mts +2 -76
  7. package/dist/api.d.mts.map +1 -1
  8. package/dist/api.mjs +35 -1
  9. package/dist/api.mjs.map +1 -1
  10. package/dist/components/command-validation-logic.cjs +291 -1
  11. package/dist/components/command-validation-logic.cjs.map +1 -0
  12. package/dist/components/command-validation-logic.d.cts +1 -3
  13. package/dist/components/command-validation-logic.d.cts.map +1 -1
  14. package/dist/components/command-validation-logic.d.mts +1 -3
  15. package/dist/components/command-validation-logic.d.mts.map +1 -1
  16. package/dist/components/command-validation-logic.mjs +288 -1
  17. package/dist/components/command-validation-logic.mjs.map +1 -1
  18. package/dist/components/docs.cjs +265 -1
  19. package/dist/components/docs.cjs.map +1 -0
  20. package/dist/components/docs.d.cts +4 -5
  21. package/dist/components/docs.d.cts.map +1 -1
  22. package/dist/components/docs.d.mts +4 -5
  23. package/dist/components/docs.d.mts.map +1 -1
  24. package/dist/components/docs.mjs +256 -1
  25. package/dist/components/docs.mjs.map +1 -1
  26. package/dist/components/exec-builtin.cjs +429 -15
  27. package/dist/components/exec-builtin.cjs.map +1 -0
  28. package/dist/components/exec-builtin.d.cts +1 -2
  29. package/dist/components/exec-builtin.d.cts.map +1 -1
  30. package/dist/components/exec-builtin.d.mts +1 -2
  31. package/dist/components/exec-builtin.d.mts.map +1 -1
  32. package/dist/components/exec-builtin.mjs +424 -15
  33. package/dist/components/exec-builtin.mjs.map +1 -1
  34. package/dist/components/helpers.cjs +119 -1
  35. package/dist/components/helpers.cjs.map +1 -0
  36. package/dist/components/helpers.d.cts +6 -8
  37. package/dist/components/helpers.d.cts.map +1 -1
  38. package/dist/components/helpers.d.mts +6 -8
  39. package/dist/components/helpers.d.mts.map +1 -1
  40. package/dist/components/helpers.mjs +111 -1
  41. package/dist/components/helpers.mjs.map +1 -1
  42. package/dist/components/index.cjs +58 -1
  43. package/dist/components/index.mjs +10 -1
  44. package/dist/components/options-parser-logic.cjs +959 -5
  45. package/dist/components/options-parser-logic.cjs.map +1 -0
  46. package/dist/components/options-parser-logic.d.cts +8 -9
  47. package/dist/components/options-parser-logic.d.cts.map +1 -1
  48. package/dist/components/options-parser-logic.d.mts +8 -9
  49. package/dist/components/options-parser-logic.d.mts.map +1 -1
  50. package/dist/components/options-parser-logic.mjs +944 -5
  51. package/dist/components/options-parser-logic.mjs.map +1 -1
  52. package/dist/components/state-builtin.cjs +630 -8
  53. package/dist/components/state-builtin.cjs.map +1 -0
  54. package/dist/components/state-builtin.d.cts +4 -5
  55. package/dist/components/state-builtin.d.cts.map +1 -1
  56. package/dist/components/state-builtin.d.mts +4 -5
  57. package/dist/components/state-builtin.d.mts.map +1 -1
  58. package/dist/components/state-builtin.mjs +622 -8
  59. package/dist/components/state-builtin.mjs.map +1 -1
  60. package/dist/components/usage.cjs +116 -1
  61. package/dist/components/usage.cjs.map +1 -0
  62. package/dist/components/usage.d.cts +1 -2
  63. package/dist/components/usage.d.cts.map +1 -1
  64. package/dist/components/usage.d.mts +1 -2
  65. package/dist/components/usage.d.mts.map +1 -1
  66. package/dist/components/usage.mjs +113 -1
  67. package/dist/components/usage.mjs.map +1 -1
  68. package/dist/components/utils-builtin.cjs +839 -33
  69. package/dist/components/utils-builtin.cjs.map +1 -0
  70. package/dist/components/utils-builtin.d.cts +7 -8
  71. package/dist/components/utils-builtin.d.cts.map +1 -1
  72. package/dist/components/utils-builtin.d.mts +7 -8
  73. package/dist/components/utils-builtin.d.mts.map +1 -1
  74. package/dist/components/utils-builtin.mjs +828 -33
  75. package/dist/components/utils-builtin.mjs.map +1 -1
  76. package/dist/config.cjs +65 -1
  77. package/dist/config.cjs.map +1 -0
  78. package/dist/config.d.cts +29 -8
  79. package/dist/config.d.cts.map +1 -1
  80. package/dist/config.d.mts +29 -8
  81. package/dist/config.d.mts.map +1 -1
  82. package/dist/config.mjs +62 -1
  83. package/dist/config.mjs.map +1 -1
  84. package/dist/contexts/command.cjs +26 -1
  85. package/dist/contexts/command.cjs.map +1 -0
  86. package/dist/contexts/command.d.cts.map +1 -1
  87. package/dist/contexts/command.d.mts.map +1 -1
  88. package/dist/contexts/command.mjs +23 -1
  89. package/dist/contexts/command.mjs.map +1 -1
  90. package/dist/contexts/index.cjs +9 -1
  91. package/dist/contexts/index.mjs +4 -1
  92. package/dist/contexts/options.cjs +63 -1
  93. package/dist/contexts/options.cjs.map +1 -0
  94. package/dist/contexts/options.d.cts.map +1 -1
  95. package/dist/contexts/options.d.mts.map +1 -1
  96. package/dist/contexts/options.mjs +57 -1
  97. package/dist/contexts/options.mjs.map +1 -1
  98. package/dist/engine.cjs +138 -0
  99. package/dist/engine.cjs.map +1 -0
  100. package/dist/engine.d.cts +79 -0
  101. package/dist/engine.d.cts.map +1 -0
  102. package/dist/engine.d.mts +79 -0
  103. package/dist/engine.d.mts.map +1 -0
  104. package/dist/engine.mjs +136 -0
  105. package/dist/engine.mjs.map +1 -0
  106. package/dist/helpers/automd.cjs +70 -1
  107. package/dist/helpers/automd.cjs.map +1 -0
  108. package/dist/helpers/automd.mjs +69 -1
  109. package/dist/helpers/automd.mjs.map +1 -1
  110. package/dist/helpers/docs-helpers.cjs +23 -1
  111. package/dist/helpers/docs-helpers.cjs.map +1 -0
  112. package/dist/helpers/docs-helpers.mjs +22 -1
  113. package/dist/helpers/docs-helpers.mjs.map +1 -1
  114. package/dist/helpers/get-framework.cjs +24 -0
  115. package/dist/helpers/get-framework.cjs.map +1 -0
  116. package/dist/helpers/get-framework.mjs +24 -0
  117. package/dist/helpers/get-framework.mjs.map +1 -0
  118. package/dist/helpers/paths.cjs +137 -1
  119. package/dist/helpers/paths.cjs.map +1 -0
  120. package/dist/helpers/paths.mjs +133 -1
  121. package/dist/helpers/paths.mjs.map +1 -1
  122. package/dist/helpers/persistence.cjs +113 -1
  123. package/dist/helpers/persistence.cjs.map +1 -0
  124. package/dist/helpers/persistence.mjs +112 -1
  125. package/dist/helpers/persistence.mjs.map +1 -1
  126. package/dist/helpers/update-package-json.cjs +65 -1
  127. package/dist/helpers/update-package-json.cjs.map +1 -0
  128. package/dist/helpers/update-package-json.mjs +63 -1
  129. package/dist/helpers/update-package-json.mjs.map +1 -1
  130. package/dist/helpers/utilities.cjs +95 -1
  131. package/dist/helpers/utilities.cjs.map +1 -0
  132. package/dist/helpers/utilities.mjs +93 -1
  133. package/dist/helpers/utilities.mjs.map +1 -1
  134. package/dist/helpers/validations.cjs +71 -1
  135. package/dist/helpers/validations.cjs.map +1 -0
  136. package/dist/helpers/validations.mjs +69 -1
  137. package/dist/helpers/validations.mjs.map +1 -1
  138. package/dist/index.cjs +123 -1
  139. package/dist/index.cjs.map +1 -0
  140. package/dist/index.d.cts +80 -5
  141. package/dist/index.d.cts.map +1 -0
  142. package/dist/index.d.mts +80 -5
  143. package/dist/index.d.mts.map +1 -0
  144. package/dist/index.mjs +119 -1
  145. package/dist/index.mjs.map +1 -0
  146. package/dist/package.cjs +12 -0
  147. package/dist/package.cjs.map +1 -0
  148. package/dist/package.mjs +6 -0
  149. package/dist/package.mjs.map +1 -0
  150. package/dist/plugin-utils/compute-bin.cjs +48 -1
  151. package/dist/plugin-utils/compute-bin.cjs.map +1 -0
  152. package/dist/plugin-utils/compute-bin.d.cts +2 -2
  153. package/dist/plugin-utils/compute-bin.d.cts.map +1 -1
  154. package/dist/plugin-utils/compute-bin.d.mts +2 -2
  155. package/dist/plugin-utils/compute-bin.d.mts.map +1 -1
  156. package/dist/plugin-utils/compute-bin.mjs +47 -1
  157. package/dist/plugin-utils/compute-bin.mjs.map +1 -1
  158. package/dist/plugin-utils/context-helpers.cjs +224 -1
  159. package/dist/plugin-utils/context-helpers.cjs.map +1 -0
  160. package/dist/plugin-utils/context-helpers.d.cts +4 -4
  161. package/dist/plugin-utils/context-helpers.d.cts.map +1 -1
  162. package/dist/plugin-utils/context-helpers.d.mts +4 -4
  163. package/dist/plugin-utils/context-helpers.d.mts.map +1 -1
  164. package/dist/plugin-utils/context-helpers.mjs +214 -1
  165. package/dist/plugin-utils/context-helpers.mjs.map +1 -1
  166. package/dist/plugin-utils/deepkit.cjs +70 -1
  167. package/dist/plugin-utils/deepkit.cjs.map +1 -0
  168. package/dist/plugin-utils/deepkit.d.cts +5 -5
  169. package/dist/plugin-utils/deepkit.d.cts.map +1 -1
  170. package/dist/plugin-utils/deepkit.d.mts +5 -5
  171. package/dist/plugin-utils/deepkit.d.mts.map +1 -1
  172. package/dist/plugin-utils/deepkit.mjs +68 -1
  173. package/dist/plugin-utils/deepkit.mjs.map +1 -1
  174. package/dist/plugin-utils/description-helpers.cjs +112 -2
  175. package/dist/plugin-utils/description-helpers.cjs.map +1 -0
  176. package/dist/plugin-utils/description-helpers.d.cts.map +1 -1
  177. package/dist/plugin-utils/description-helpers.d.mts.map +1 -1
  178. package/dist/plugin-utils/description-helpers.mjs +107 -2
  179. package/dist/plugin-utils/description-helpers.mjs.map +1 -1
  180. package/dist/plugin-utils/get-command-tree.cjs +118 -1
  181. package/dist/plugin-utils/get-command-tree.cjs.map +1 -0
  182. package/dist/plugin-utils/get-command-tree.d.cts.map +1 -1
  183. package/dist/plugin-utils/get-command-tree.d.mts.map +1 -1
  184. package/dist/plugin-utils/get-command-tree.mjs +114 -1
  185. package/dist/plugin-utils/get-command-tree.mjs.map +1 -1
  186. package/dist/plugin-utils/index.cjs +39 -1
  187. package/dist/plugin-utils/index.d.cts +2 -2
  188. package/dist/plugin-utils/index.d.mts +2 -2
  189. package/dist/plugin-utils/index.mjs +10 -1
  190. package/dist/plugin-utils/reflect.cjs +52 -1
  191. package/dist/plugin-utils/reflect.cjs.map +1 -0
  192. package/dist/plugin-utils/reflect.d.cts.map +1 -1
  193. package/dist/plugin-utils/reflect.d.mts.map +1 -1
  194. package/dist/plugin-utils/reflect.mjs +50 -1
  195. package/dist/plugin-utils/reflect.mjs.map +1 -1
  196. package/dist/plugin-utils/traverse-command-tree.cjs +65 -1
  197. package/dist/plugin-utils/traverse-command-tree.cjs.map +1 -0
  198. package/dist/plugin-utils/traverse-command-tree.d.cts.map +1 -1
  199. package/dist/plugin-utils/traverse-command-tree.d.mts.map +1 -1
  200. package/dist/plugin-utils/traverse-command-tree.mjs +62 -1
  201. package/dist/plugin-utils/traverse-command-tree.mjs.map +1 -1
  202. package/dist/plugin-utils/type-checks.cjs +222 -1
  203. package/dist/plugin-utils/type-checks.cjs.map +1 -0
  204. package/dist/plugin-utils/type-checks.d.cts +5 -5
  205. package/dist/plugin-utils/type-checks.d.cts.map +1 -1
  206. package/dist/plugin-utils/type-checks.d.mts +5 -5
  207. package/dist/plugin-utils/type-checks.d.mts.map +1 -1
  208. package/dist/plugin-utils/type-checks.mjs +217 -1
  209. package/dist/plugin-utils/type-checks.mjs.map +1 -1
  210. package/dist/plugin.cjs +495 -4
  211. package/dist/plugin.cjs.map +1 -0
  212. package/dist/plugin.d.cts.map +1 -1
  213. package/dist/plugin.d.mts.map +1 -1
  214. package/dist/plugin.mjs +488 -4
  215. package/dist/plugin.mjs.map +1 -1
  216. package/dist/resolver/helpers.cjs +182 -1
  217. package/dist/resolver/helpers.cjs.map +1 -0
  218. package/dist/resolver/helpers.mjs +178 -1
  219. package/dist/resolver/helpers.mjs.map +1 -1
  220. package/dist/resolver/resolve.cjs +479 -1
  221. package/dist/resolver/resolve.cjs.map +1 -0
  222. package/dist/resolver/resolve.mjs +478 -1
  223. package/dist/resolver/resolve.mjs.map +1 -1
  224. package/dist/types/command.cjs +402 -1
  225. package/dist/types/command.cjs.map +1 -0
  226. package/dist/types/command.d.cts +61 -119
  227. package/dist/types/command.d.cts.map +1 -1
  228. package/dist/types/command.d.mts +61 -119
  229. package/dist/types/command.d.mts.map +1 -1
  230. package/dist/types/command.mjs +367 -1
  231. package/dist/types/command.mjs.map +1 -1
  232. package/dist/types/config.cjs +175 -1
  233. package/dist/types/config.cjs.map +1 -0
  234. package/dist/types/config.d.cts +19 -12
  235. package/dist/types/config.d.cts.map +1 -1
  236. package/dist/types/config.d.mts +19 -12
  237. package/dist/types/config.d.mts.map +1 -1
  238. package/dist/types/config.mjs +163 -1
  239. package/dist/types/config.mjs.map +1 -1
  240. package/dist/types/context.cjs +45 -1
  241. package/dist/types/context.cjs.map +1 -0
  242. package/dist/types/context.d.cts +3 -2
  243. package/dist/types/context.d.cts.map +1 -1
  244. package/dist/types/context.d.mts +3 -2
  245. package/dist/types/context.d.mts.map +1 -1
  246. package/dist/types/context.mjs +40 -1
  247. package/dist/types/context.mjs.map +1 -1
  248. package/dist/types/env.cjs +53 -1
  249. package/dist/types/env.cjs.map +1 -0
  250. package/dist/types/env.d.cts +1 -1
  251. package/dist/types/env.d.cts.map +1 -1
  252. package/dist/types/env.d.mts +1 -1
  253. package/dist/types/env.d.mts.map +1 -1
  254. package/dist/types/env.mjs +50 -1
  255. package/dist/types/env.mjs.map +1 -1
  256. package/dist/types/index.cjs +53 -1
  257. package/dist/types/index.d.cts +4 -4
  258. package/dist/types/index.d.mts +4 -4
  259. package/dist/types/index.mjs +6 -1
  260. package/dist/types/options.cjs +13 -1
  261. package/dist/types/options.cjs.map +1 -0
  262. package/dist/types/options.d.cts.map +1 -1
  263. package/dist/types/options.d.mts.map +1 -1
  264. package/dist/types/options.mjs +10 -1
  265. package/dist/types/options.mjs.map +1 -1
  266. package/package.json +43 -34
  267. package/dist/resolver/deepkit.cjs +0 -1
  268. package/dist/resolver/deepkit.mjs +0 -2
  269. package/dist/resolver/deepkit.mjs.map +0 -1
  270. package/dist/resolver/module.cjs +0 -1
  271. package/dist/resolver/module.mjs +0 -2
  272. package/dist/resolver/module.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"options-parser-logic.mjs","names":[],"sources":["../../src/components/options-parser-logic.tsx"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { code, computed, For, Show } from \"@alloy-js/core\";\nimport {\n ElseClause,\n ElseIfClause,\n IfStatement,\n InterfaceDeclaration,\n InterfaceMember,\n VarDeclaration\n} from \"@alloy-js/typescript\";\nimport { Spacing } from \"@powerlines/plugin-alloy/core/components/spacing\";\nimport { camelCase } from \"@stryke/string-format/camel-case\";\nimport { constantCase } from \"@stryke/string-format/constant-case\";\nimport { pascalCase } from \"@stryke/string-format/pascal-case\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport type { PartialKeys } from \"@stryke/types/base\";\nimport { computedOptions } from \"../contexts/options\";\nimport {\n getDynamicPathSegmentName,\n isDynamicPathSegment\n} from \"../plugin-utils/context-helpers\";\nimport type {\n BaseVariadicCommandParameter,\n BooleanCommandOption,\n CommandOption,\n CommandTree,\n NumberCommandParameter,\n StringCommandParameter\n} from \"../types/command\";\nimport { CommandParameterKinds } from \"../types/command\";\nimport { BooleanInputParserLogic, CommandParameterType } from \"./helpers\";\n\nexport interface DynamicSegmentsParserLogicProps {\n /**\n * The command to generate the dynamic path segments parser logic for. This is used to access the command options and parameters when generating the parser logic for dynamic path segments.\n */\n command: CommandTree;\n\n /**\n * Whether the command options should be parsed in a case-sensitive manner. This will affect how the generated code compares command-line arguments to option names and aliases.\n */\n isCaseSensitive: boolean;\n}\n\nexport function DynamicSegmentsParserLogic(\n props: DynamicSegmentsParserLogicProps\n) {\n const { command } = props;\n\n return (\n <For each={command.segments ?? []}>\n {(segment, index) => (\n <Show when={isDynamicPathSegment(segment)}>\n <VarDeclaration\n let\n name={camelCase(getDynamicPathSegmentName(segment))}\n type=\"string | undefined\"\n />\n <hbr />\n <IfStatement\n condition={code`args.length > ${2 + index} && args[${2 + index}]`}>\n {code`${camelCase(\n getDynamicPathSegmentName(segment)\n )} = args[${2 + index}];`}\n </IfStatement>\n <hbr />\n <hbr />\n </Show>\n )}\n </For>\n );\n}\n\nexport interface ArgumentsParserLogicProps {\n /**\n * The command to generate the positional parameters parser logic for.\n */\n command: CommandTree;\n\n /**\n * The environment variable prefix to use for options that have an associated environment variable. This prefix will be used in the generated code to access the environment variables (e.g., `env.${appSpecificEnvPrefix}_OPTION_NAME`).\n */\n appSpecificEnvPrefix: string;\n\n /**\n * Whether the command options should be parsed in a case-sensitive manner. This will affect how the generated code compares command-line arguments to option names and aliases.\n */\n isCaseSensitive: boolean;\n}\n\nexport function ArgumentsParserLogic(props: ArgumentsParserLogicProps) {\n const { command, appSpecificEnvPrefix, isCaseSensitive } = props;\n\n return (\n <Show when={command.args && command.args.length > 0}>\n <VarDeclaration\n let\n name=\"optionsIndex\"\n type=\"number\"\n initializer={code`Math.max(0, args.slice(${\n command.segments.length + 1\n }).findIndex(arg => arg.startsWith(\"-\") && /^(${Object.values(\n command.options ?? {}\n )\n .map(\n option =>\n `${\n isCaseSensitive || option.name.length === 1\n ? option.name\n : option.name\n .toLowerCase()\n .replaceAll(\"-\", \"\")\n .replaceAll(\"_\", \"\")\n }${option.alias && option.alias.length > 0 ? \"|\" : \"\"}${option.alias\n ?.map(a =>\n (isCaseSensitive || option.name.length === 1\n ? a\n : a\n .toLowerCase()\n .replaceAll(\"-\", \"\")\n .replaceAll(\"_\", \"\")) === \"?\"\n ? \"\\\\?\"\n : isCaseSensitive || option.name.length === 1\n ? a\n : a.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\")\n )\n .join(\"|\")}`\n )\n .join(\"|\")})=?.*$/.test(arg${\n isCaseSensitive\n ? \"\"\n : '.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\")'\n }))) + ${command.segments.length + 1};`}\n />\n <Spacing />\n <VarDeclaration\n let\n name=\"argsIndex\"\n type=\"number\"\n initializer={code`optionsIndex > ${\n command.segments.length + 1\n } ? ${command.segments.length + 1} : (Math.max(0, args.slice(optionsIndex).findLastIndex(arg => arg.startsWith(\"-\") && /^(${Object.values(\n command.options ?? {}\n )\n .map(\n option =>\n `${\n isCaseSensitive || option.name.length === 1\n ? option.name\n : option.name\n .toLowerCase()\n .replaceAll(\"-\", \"\")\n .replaceAll(\"_\", \"\")\n }${option.alias && option.alias.length > 0 ? \"|\" : \"\"}${option.alias\n ?.map(a =>\n (isCaseSensitive || option.name.length === 1\n ? a\n : a\n .toLowerCase()\n .replaceAll(\"-\", \"\")\n .replaceAll(\"_\", \"\")) === \"?\"\n ? \"\\\\?\"\n : isCaseSensitive || option.name.length === 1\n ? a\n : a.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\")\n )\n .join(\"|\")}`\n )\n .join(\"|\")})=?.*$/.test(arg${\n isCaseSensitive\n ? \"\"\n : '.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\")'\n }))) + ${command.segments.length + 1});`}\n />\n <Spacing />\n <For each={command.args ?? []} hardline>\n {(arg, index) => (\n <>\n <Show\n when={\n isSetString(arg.env) ||\n arg.default !== undefined ||\n arg.variadic\n }\n fallback={\n <>\n {code`let ${camelCase(arg.name)}!: `}\n <CommandParameterType parameter={arg} />\n {code`; `}\n </>\n }>\n <VarDeclaration\n let\n name={camelCase(arg.name)}\n type={<CommandParameterType parameter={arg} />}\n initializer={\n <>\n {code` ( `}\n <Show when={isSetString(arg.env)}>\n {code`env.${appSpecificEnvPrefix}_${constantCase(String(arg.env))} ?? `}\n </Show>\n <Show\n when={\n arg.default !== undefined &&\n (!arg.variadic ||\n (arg as BaseVariadicCommandParameter).default!\n .length > 0)\n }\n fallback={\n <Show when={arg.variadic} fallback={code`undefined`}>\n {code`[]`}\n </Show>\n }>\n <Show\n when={arg.variadic}\n fallback={\n arg.kind === CommandParameterKinds.string\n ? code`\"${arg.default}\"`\n : code`${arg.default}`\n }>\n {code`[${(arg as BaseVariadicCommandParameter).default\n ?.map(value =>\n arg.kind === CommandParameterKinds.string\n ? `\"${value}\"`\n : value\n )\n .join(\", \")}]`}\n </Show>\n </Show>\n {code`) as `}\n <CommandParameterType parameter={arg} />\n {code`; `}\n </>\n }\n />\n </Show>\n <Spacing />\n <IfStatement\n condition={code`argsIndex + ${index} < args.length && argsIndex + ${index} !== optionsIndex`}>\n {code`${camelCase(arg.name)} = `}\n <Show\n when={\n arg.kind === CommandParameterKinds.string ||\n arg.kind === CommandParameterKinds.number\n }\n fallback={\n <BooleanInputParserLogic\n name={`args[argsIndex + ${index}] `}\n />\n }>\n <Show\n when={arg.variadic}\n fallback={\n <Show\n when={arg.kind === CommandParameterKinds.number}\n fallback={code`args[argsIndex + ${index}] `}>\n {code`Number(args[argsIndex + ${index}]) `}\n </Show>\n }>\n {code`args.slice(argsIndex + ${\n index\n }, (optionsIndex > argsIndex ? optionsIndex : args.length) - ${\n command.args.length - index\n }).join(\" \").split(\",\").map(item => item.trim().replace(/^(\"|')/, \"\").replace(/(\"|')$/, \"\")).filter(Boolean)`}\n </Show>\n </Show>\n {code` as `}\n <CommandParameterType parameter={arg} />\n {code`; `}\n </IfStatement>\n <Spacing />\n </>\n )}\n </For>\n </Show>\n );\n}\n\n/**\n * The command option interface property.\n */\nexport function OptionsMember({ option }: { option: CommandOption }) {\n const doc = option.description || `The ${option.title} command option.`;\n\n return (\n <>\n <Show when={Boolean(option.name)}>\n <Show when={option.kind === CommandParameterKinds.string}>\n <InterfaceMember\n name={option.name}\n doc={doc}\n type={<CommandParameterType parameter={option} />}\n optional={option.optional}\n />\n </Show>\n <Show when={option.kind === CommandParameterKinds.number}>\n <InterfaceMember\n name={option.name}\n doc={doc}\n type={<CommandParameterType parameter={option} />}\n optional={option.optional}\n />\n </Show>\n <Show when={option.kind === CommandParameterKinds.boolean}>\n <InterfaceMember\n name={option.name}\n doc={doc}\n type={<CommandParameterType parameter={option} />}\n optional={option.optional}\n />\n </Show>\n </Show>\n </>\n );\n}\n\nexport interface OptionsMemberParserLogicProps {\n /**\n * The option name to generate the parser logic for.\n */\n name: string;\n\n /**\n * The command option to generate the parser logic for.\n */\n option: CommandOption;\n\n /**\n * Whether the command options should be parsed in a case-sensitive manner. This will affect how the generated code compares command-line arguments to option names and aliases.\n *\n * @defaultValue false\n */\n isCaseSensitive: boolean;\n}\n\n/**\n * The command option property parser logic.\n */\nexport function OptionsMemberParserLogic(props: OptionsMemberParserLogicProps) {\n const { name, option, isCaseSensitive } = props;\n\n const equalsRegex = `/^--?(${\n isCaseSensitive || name.length === 1\n ? name\n : name.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\")\n }${option.alias && option.alias.length > 0 ? \"|\" : \"\"}${option.alias\n ?.map(a =>\n (isCaseSensitive || name.length === 1\n ? a\n : a.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\")) === \"?\"\n ? \"\\\\?\"\n : isCaseSensitive || name.length === 1\n ? a\n : a.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\")\n )\n .join(\"|\")})=/`;\n\n return (\n <>\n <Show\n when={\n option.kind === CommandParameterKinds.string ||\n option.kind === CommandParameterKinds.number\n }>\n <Show\n when={\n (option as StringCommandParameter | NumberCommandParameter).variadic\n }>\n <Show\n when={name.includes(\"?\") || name.includes(\"-\")}\n fallback={code`options.${name} ??= []; `}>\n {code`options[\"${name}\"] ??= []; `}\n </Show>\n <hbr />\n <IfStatement\n condition={`${equalsRegex}.test(${\n isCaseSensitive\n ? \"arg\"\n : '\"-\" + arg.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\")'\n })`}>\n <Show\n when={name.includes(\"?\") || name.includes(\"-\")}\n fallback={code`options.${name}.push(`}>\n {code`options[\"${name}\"].push(`}\n </Show>\n <Show when={option.kind === CommandParameterKinds.string}>\n {code`...arg.replace(${equalsRegex}, \"\").split(\",\").map(item => item.trim().replace(/^(\"|')/, \"\").replace(/(\"|')$/, \"\")).filter(Boolean) `}\n </Show>\n <Show when={option.kind === CommandParameterKinds.number}>\n {code`...arg.replace(${equalsRegex}, \"\").split(\",\").map(item => item.trim().replace(/^(\"|')/, \"\").replace(/(\"|')$/, \"\")).filter(Boolean).map(Number).filter(value => !Number.isNaN(value)) `}\n </Show>\n <Show\n when={\n (option.kind === CommandParameterKinds.string ||\n option.kind === CommandParameterKinds.number) &&\n option.choices &&\n option.choices.length > 0\n }>\n {code` as ${(\n option as StringCommandParameter | NumberCommandParameter\n ).choices\n ?.map(choice => (isSetString(choice) ? `\"${choice}\"` : choice))\n .join(\" | \")} `}\n </Show>\n {code`); `}\n </IfStatement>\n <ElseIfClause condition={`args.length > i + 1`}>\n <Show\n when={name.includes(\"?\") || name.includes(\"-\")}\n fallback={code`options.${name}.push(`}>\n {code`options[\"${name}\"].push(`}\n </Show>\n <Show when={option.kind === CommandParameterKinds.string}>\n {code`...args[++i].split(\",\").map(item => item.trim().replace(/^(\"|')/, \"\").replace(/(\"|')$/, \"\")).filter(Boolean) `}\n </Show>\n <Show when={option.kind === CommandParameterKinds.number}>\n {code`...args[++i].split(\",\").map(item => item.trim().replace(/^(\"|')/, \"\").replace(/(\"|')$/, \"\")).filter(Boolean).map(Number).filter(value => !Number.isNaN(value)) `}\n </Show>\n <Show\n when={\n (option.kind === CommandParameterKinds.string ||\n option.kind === CommandParameterKinds.number) &&\n option.choices &&\n option.choices.length > 0\n }>\n {code` as ${(\n option as StringCommandParameter | NumberCommandParameter\n ).choices\n ?.map(choice => (isSetString(choice) ? `\"${choice}\"` : choice))\n .join(\" | \")} `}\n </Show>\n {code`); `}\n </ElseIfClause>\n </Show>\n <Show\n when={\n !(option as StringCommandParameter | NumberCommandParameter)\n .variadic\n }>\n <IfStatement\n condition={`${equalsRegex}.test(${\n isCaseSensitive\n ? \"arg\"\n : '\"-\" + arg.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\")'\n })`}>\n <Show when={option.kind === CommandParameterKinds.string}>\n <Show\n when={name.includes(\"?\") || name.includes(\"-\")}\n fallback={code`options.${name}`}>\n {code`options[\"${name}\"]`}\n </Show>\n {code` = arg.replace(${equalsRegex}, \"\").trim().replace(/^(\"|')/, \"\").replace(/(\"|')$/, \"\")`}\n <Show\n when={\n (option as StringCommandParameter).choices &&\n (option as StringCommandParameter).choices!.length > 0\n }>\n {code` as ${(option as StringCommandParameter).choices\n ?.map(choice => `\"${choice}\"`)\n .join(\" | \")}`}\n </Show>\n {code`; `}\n </Show>\n <Show when={option.kind === CommandParameterKinds.number}>\n <VarDeclaration\n const\n name=\"value\"\n initializer={code` Number(arg.replace(${equalsRegex}, \"\").trim().replace(/^(\"|')/, \"\").replace(/(\"|')$/, \"\")); `}\n />\n <hbr />\n <IfStatement condition={`!Number.isNaN(value)`}>\n <Show\n when={name.includes(\"?\") || name.includes(\"-\")}\n fallback={code`options.${name}`}>\n {code`options[\"${name}\"]`}\n </Show>\n {code` = value`}\n <Show\n when={\n (option as NumberCommandParameter).choices &&\n (option as NumberCommandParameter).choices!.length > 0\n }>\n {code` as ${(option as NumberCommandParameter).choices?.join(\" | \")}`}\n </Show>\n {code`; `}\n </IfStatement>\n </Show>\n </IfStatement>\n <ElseIfClause condition={`args.length > i + 1`}>\n <Show when={option.kind === CommandParameterKinds.string}>\n <Show\n when={name.includes(\"?\") || name.includes(\"-\")}\n fallback={code`options.${name}`}>\n {code`options[\"${name}\"]`}\n </Show>\n {code` = args[++i].trim().replace(/^(\"|')/, \"\").replace(/(\"|')$/, \"\")`}\n <Show\n when={\n (option as StringCommandParameter).choices &&\n (option as StringCommandParameter).choices!.length > 0\n }>\n {code` as ${(option as StringCommandParameter).choices?.map(choice => `\"${choice}\"`).join(\" | \")}`}\n </Show>\n {code`; `}\n </Show>\n <Show when={option.kind === CommandParameterKinds.number}>\n <VarDeclaration\n const\n name=\"value\"\n initializer={code` Number(args[++i].trim().replace(/^(\"|')/, \"\").replace(/(\"|')$/, \"\")); `}\n />\n <hbr />\n <IfStatement condition={`!Number.isNaN(value)`}>\n <Show\n when={name.includes(\"?\") || name.includes(\"-\")}\n fallback={code`options.${name}`}>\n {code`options[\"${name}\"]`}\n </Show>\n {code` = value`}\n <Show\n when={\n (option as NumberCommandParameter).choices &&\n (option as NumberCommandParameter).choices!.length > 0\n }>\n {code` as ${(option as NumberCommandParameter).choices?.join(\" | \")}`}\n </Show>\n {code`; `}\n </IfStatement>\n </Show>\n </ElseIfClause>\n <hbr />\n </Show>\n </Show>\n <Show when={option.kind === CommandParameterKinds.boolean}>\n <IfStatement\n condition={`${equalsRegex}.test(${isCaseSensitive ? \"arg\" : '\"-\" + arg.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\")'})`}>\n <VarDeclaration\n const\n name=\"value\"\n initializer={code` arg.replace(${equalsRegex}, \"\").trim().replace(/^(\"|')/, \"\").replace(/(\"|')$/, \"\").toLowerCase(); `}\n />\n <hbr />\n <Show\n when={name.includes(\"?\") || name.includes(\"-\")}\n fallback={code`options.${name} = `}>\n {code`options[\"${name}\"] = `}\n </Show>\n <BooleanInputParserLogic name=\"value\" />\n </IfStatement>\n <ElseClause>\n <Show\n when={name.includes(\"?\") || name.includes(\"-\")}\n fallback={code`options.${name} = true; `}>\n {code`options[\"${name}\"] = true; `}\n </Show>\n </ElseClause>\n <Show when={Boolean((option as BooleanCommandOption).isNegativeOf)}>\n <hbr />\n <Show\n when={\n (option as BooleanCommandOption).isNegativeOf!.includes(\"?\") ||\n (option as BooleanCommandOption).isNegativeOf!.includes(\"-\")\n }\n fallback={code`options.${(option as BooleanCommandOption).isNegativeOf} = false; `}>\n {code`options[\"${(option as BooleanCommandOption).isNegativeOf}\"] = false; `}\n </Show>\n </Show>\n </Show>\n </>\n );\n}\n\nexport interface OptionsMemberParserConditionProps {\n /**\n * The option name to generate the parser logic for.\n */\n name: string;\n\n /**\n * Aliases for the option, which will also be parsed in the generated code. This will affect how the generated code compares command-line arguments to option names and aliases.\n */\n alias?: string[];\n\n /**\n * Whether the command options should be parsed in a case-sensitive manner. This will affect how the generated code compares command-line arguments to option names and aliases.\n *\n * @defaultValue false\n */\n isCaseSensitive: boolean;\n}\n\nexport function OptionsMemberParserCondition(\n props: OptionsMemberParserConditionProps\n) {\n const { name, alias: aliasProp, isCaseSensitive } = props;\n\n return (\n <>\n {code`${\n isCaseSensitive\n ? 'arg.startsWith(\"--'\n : 'arg.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\").startsWith(\"'\n }${isCaseSensitive ? name : name.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\")}=\") || ${\n isCaseSensitive\n ? \"arg\"\n : 'arg.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\")'\n } === \"${\n isCaseSensitive\n ? name\n : name.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\")\n }\" || ${\n isCaseSensitive\n ? 'arg.startsWith(\"-'\n : 'arg.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\").startsWith(\"'\n }${isCaseSensitive ? name : name.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\")}=\") || ${\n isCaseSensitive\n ? \"arg\"\n : 'arg.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\")'\n } === \"${\n isCaseSensitive\n ? name\n : name.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\")\n }\"`}\n <Show when={aliasProp && aliasProp.length > 0}>\n <For each={aliasProp ?? []}>\n {alias =>\n code` || ${\n isCaseSensitive || alias.length === 1\n ? 'arg.startsWith(\"--'\n : 'arg.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\").startsWith(\"'\n }${isCaseSensitive || alias.length === 1 ? alias : alias.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\")}=\") || ${\n isCaseSensitive || alias.length === 1\n ? \"arg\"\n : 'arg.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\")'\n } === \"${\n isCaseSensitive || alias.length === 1\n ? alias\n : alias.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\")\n }\" || ${\n isCaseSensitive || alias.length === 1\n ? 'arg.startsWith(\"-'\n : 'arg.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\").startsWith(\"'\n }${isCaseSensitive || alias.length === 1 ? alias : alias.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\")}=\") || ${\n isCaseSensitive || alias.length === 1\n ? \"arg\"\n : 'arg.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\")'\n } === \"${\n isCaseSensitive || alias.length === 1\n ? alias\n : alias.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\")\n }\"`\n }\n </For>\n </Show>\n </>\n );\n}\n\nexport function OptionsInterfaceDeclaration(props: { command: CommandTree }) {\n const { command } = props;\n\n const options = computed(() =>\n computedOptions(\n Object.entries(command.options).map(([name, option]) => ({\n ...option,\n name\n }))\n )\n );\n\n return (\n <InterfaceDeclaration\n export\n name={`${pascalCase(command.name)}Options`}\n extends=\"GlobalOptions\">\n <For each={Object.values(options.value)} hardline>\n {option => <OptionsMember option={option} />}\n </For>\n </InterfaceDeclaration>\n );\n}\n\nexport interface OptionsParserLogicProps extends PartialKeys<\n Pick<CommandTree, \"segments\" | \"options\" | \"name\">,\n \"segments\" | \"name\"\n> {\n /**\n * The environment variable prefix to use for options that have an associated environment variable. This prefix will be used in the generated code to access the environment variables (e.g., `env.${appSpecificEnvPrefix}_OPTION_NAME`).\n */\n appSpecificEnvPrefix: string;\n\n /**\n * Whether the command options should be parsed in a case-sensitive manner. This will affect how the generated code compares command-line arguments to option names and aliases.\n *\n * @defaultValue false\n */\n isCaseSensitive?: boolean;\n}\n\n/**\n * The command options parser logic.\n */\nexport function OptionsParserLogic(props: OptionsParserLogicProps) {\n const {\n segments = [],\n options: _options,\n name: _name,\n appSpecificEnvPrefix,\n isCaseSensitive = false\n } = props;\n\n const options = computed(() =>\n computedOptions(\n Object.entries(_options).map(([name, option]) => ({\n ...option,\n name\n }))\n )\n );\n\n return (\n <>\n <VarDeclaration\n const\n name=\"options\"\n initializer={code` {\n ${\n segments.length > 0 ? \"...useGlobalOptions(), \" : \"\"\n }${Object.entries(options.value)\n .filter(\n ([, option]) =>\n option.env ||\n option.default !== undefined ||\n ((option.kind === CommandParameterKinds.string ||\n option.kind === CommandParameterKinds.number) &&\n option.variadic)\n )\n .map(([name, option]) => {\n if (option.kind === CommandParameterKinds.string) {\n return ` ${\n name.includes(\"?\") || name.includes(\"-\")\n ? `\"${name}\"`\n : `${name}`\n }: ${\n option.env ? `env.${appSpecificEnvPrefix}_${option.env}` : \"\"\n }${\n option.variadic\n ? option.default !== undefined\n ? `${\n option.env ? \" ?? \" : \"\"\n }${JSON.stringify(option.default)}`\n : option.env\n ? \" ?? []\"\n : \"[]\"\n : option.default !== undefined\n ? `${option.env ? \" ?? \" : \"\"}\"${option.default}\"`\n : \"\"\n }, `;\n } else if (option.kind === CommandParameterKinds.number) {\n return ` ${name.includes(\"?\") || name.includes(\"-\") ? `\"${name}\"` : `${name}`}: ${\n option.env ? `env.${appSpecificEnvPrefix}_${option.env}` : \"\"\n }${\n option.variadic\n ? option.default && Array.isArray(option.default)\n ? `${\n option.env ? \" ?? \" : \"\"\n }${JSON.stringify(option.default)}`\n : option.env\n ? \" ?? []\"\n : \"[]\"\n : option.default !== undefined\n ? `${option.env ? \" ?? \" : \"\"}${option.default}`\n : \"\"\n }, `;\n } else if (option.kind === CommandParameterKinds.boolean) {\n return ` ${name.includes(\"?\") || name.includes(\"-\") ? `\"${name}\"` : `${name}`}: ${\n option.env\n ? `env.${appSpecificEnvPrefix}_${option.env} ?? `\n : \"\"\n }${option.default ? \"true\" : \"false\"},`;\n }\n\n return \"\";\n })\n .join(\"\")}\n } as unknown as ${segments.length > 0 ? pascalCase(_name) : \"Global\"}Options;`}\n />\n <Spacing />\n {code`for (let i = 0; i < args.slice(${\n segments.filter(segment => isDynamicPathSegment(segment)).length\n }).length; i++) { `}\n <hbr />\n <VarDeclaration\n const\n name=\"arg\"\n type=\"string\"\n initializer={code` args[i].length > 3 && args[i].startsWith(\"--\")\n ? \\`--\\${args[i].slice(2).replaceAll(\"-\", \"\")${\n isCaseSensitive\n ? \"\"\n : '.toLowerCase().replaceAll(\"-\", \"\").replaceAll(\"_\", \"\")'\n }}\\`\n : args[i].length > 2 && args[i].startsWith(\"-\")\n ? \\`-\\${args[i].slice(1).replaceAll(\"-\", \"\")}\\`\n : args[i]; `}\n />\n <hbr />\n <For each={Object.entries(options.value)} hardline>\n {([name, option], i) => (\n <Show\n when={i === 0}\n fallback={\n <ElseIfClause\n condition={\n <>\n <OptionsMemberParserCondition\n name={name}\n alias={option.alias}\n isCaseSensitive={isCaseSensitive}\n />\n </>\n }>\n <OptionsMemberParserLogic\n name={name}\n option={option}\n isCaseSensitive={isCaseSensitive}\n />\n </ElseIfClause>\n }>\n <IfStatement\n condition={\n <OptionsMemberParserCondition\n name={name}\n alias={option.alias}\n isCaseSensitive={isCaseSensitive}\n />\n }>\n <OptionsMemberParserLogic\n name={name}\n option={option}\n isCaseSensitive={isCaseSensitive}\n />\n </IfStatement>\n </Show>\n )}\n </For>\n <hbr />\n {code` } `}\n <hbr />\n </>\n );\n}\n\nexport interface CommandParserLogicProps {\n /**\n * The command to generate the parser logic for.\n */\n command: CommandTree;\n\n /**\n * The environment variable prefix to use for options that have an associated environment variable. This prefix will be used in the generated code to access the environment variables (e.g., `env.${appSpecificEnvPrefix}_OPTION_NAME`).\n */\n appSpecificEnvPrefix: string;\n\n /**\n * Whether the command options should be parsed in a case-sensitive manner. This will affect how the generated code compares command-line arguments to option names and aliases.\n *\n * @defaultValue false\n */\n isCaseSensitive?: boolean;\n}\n\n/**\n * The command parser logic, which includes parsing dynamic path segments, positional parameters, and options.\n */\nexport function CommandParserLogic(props: CommandParserLogicProps) {\n const { command, appSpecificEnvPrefix, isCaseSensitive = false } = props;\n\n return (\n <>\n <DynamicSegmentsParserLogic\n command={command}\n isCaseSensitive={isCaseSensitive}\n />\n <Spacing />\n <OptionsParserLogic\n name={command.name}\n options={command.options}\n segments={command.segments}\n appSpecificEnvPrefix={appSpecificEnvPrefix}\n isCaseSensitive={isCaseSensitive}\n />\n <Spacing />\n <ArgumentsParserLogic\n command={command}\n appSpecificEnvPrefix={appSpecificEnvPrefix}\n isCaseSensitive={isCaseSensitive}\n />\n <Spacing />\n </>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"options-parser-logic.mjs","names":[],"sources":[],"mappings":""}