@shell-shock/core 0.12.0 → 0.12.2
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.
- package/dist/components/command-validation-logic.cjs +196 -0
- package/dist/components/command-validation-logic.cjs.map +1 -0
- package/dist/components/command-validation-logic.d.cts +15 -0
- package/dist/components/command-validation-logic.d.cts.map +1 -0
- package/dist/components/command-validation-logic.d.mts +15 -0
- package/dist/components/command-validation-logic.d.mts.map +1 -0
- package/dist/components/command-validation-logic.mjs +195 -0
- package/dist/components/command-validation-logic.mjs.map +1 -0
- package/dist/components/docs.d.cts +5 -5
- package/dist/components/docs.d.cts.map +1 -1
- package/dist/components/docs.d.mts +5 -5
- package/dist/components/docs.d.mts.map +1 -1
- package/dist/components/helpers.d.cts +7 -7
- package/dist/components/helpers.d.cts.map +1 -1
- package/dist/components/helpers.d.mts +7 -7
- package/dist/components/index.cjs +2 -0
- package/dist/components/index.d.cts +2 -1
- package/dist/components/index.d.mts +2 -1
- package/dist/components/index.mjs +2 -1
- package/dist/components/options-parser-logic.cjs.map +1 -1
- package/dist/components/options-parser-logic.d.cts +11 -11
- package/dist/components/options-parser-logic.d.mts +11 -11
- package/dist/components/options-parser-logic.mjs.map +1 -1
- package/dist/components/usage.d.cts +2 -2
- package/dist/components/usage.d.mts +2 -2
- package/dist/components/utils-builtin.cjs +5 -9
- package/dist/components/utils-builtin.cjs.map +1 -1
- package/dist/components/utils-builtin.d.cts +9 -9
- package/dist/components/utils-builtin.d.cts.map +1 -1
- package/dist/components/utils-builtin.d.mts +9 -9
- package/dist/components/utils-builtin.d.mts.map +1 -1
- package/dist/components/utils-builtin.mjs +5 -9
- package/dist/components/utils-builtin.mjs.map +1 -1
- package/dist/helpers/automd.cjs +1 -1
- package/dist/helpers/automd.cjs.map +1 -1
- package/dist/helpers/automd.mjs +1 -1
- package/dist/helpers/automd.mjs.map +1 -1
- package/dist/plugin-utils/get-command-tree.cjs +26 -0
- package/dist/plugin-utils/get-command-tree.cjs.map +1 -1
- package/dist/plugin-utils/get-command-tree.d.cts +8 -1
- package/dist/plugin-utils/get-command-tree.d.cts.map +1 -1
- package/dist/plugin-utils/get-command-tree.d.mts +8 -1
- package/dist/plugin-utils/get-command-tree.d.mts.map +1 -1
- package/dist/plugin-utils/get-command-tree.mjs +26 -1
- package/dist/plugin-utils/get-command-tree.mjs.map +1 -1
- package/dist/plugin-utils/index.cjs +2 -1
- package/dist/plugin-utils/index.d.cts +2 -2
- package/dist/plugin-utils/index.d.mts +2 -2
- package/dist/plugin-utils/index.mjs +2 -2
- package/dist/plugin-utils/type-checks.d.cts.map +1 -1
- package/dist/plugin.cjs +1 -1
- package/dist/plugin.mjs +1 -1
- package/dist/resolver/helpers.cjs +1 -1
- package/dist/resolver/helpers.cjs.map +1 -1
- package/dist/resolver/helpers.mjs +1 -1
- package/dist/resolver/helpers.mjs.map +1 -1
- package/dist/resolver/module.cjs +2 -2
- package/dist/resolver/module.cjs.map +1 -1
- package/dist/resolver/module.mjs +2 -2
- package/dist/resolver/module.mjs.map +1 -1
- package/package.json +35 -21
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_types_command = require('../types/command.cjs');
|
|
3
|
+
let __alloy_js_core_jsx_runtime = require("@alloy-js/core/jsx-runtime");
|
|
4
|
+
let __stryke_string_format_camel_case = require("@stryke/string-format/camel-case");
|
|
5
|
+
let __alloy_js_core = require("@alloy-js/core");
|
|
6
|
+
let __alloy_js_typescript = require("@alloy-js/typescript");
|
|
7
|
+
let __powerlines_plugin_alloy_dist_core_components_spacing_mjs = require("@powerlines/plugin-alloy/dist/core/components/spacing.mjs");
|
|
8
|
+
let __stryke_string_format_list = require("@stryke/string-format/list");
|
|
9
|
+
|
|
10
|
+
//#region src/components/command-validation-logic.tsx
|
|
11
|
+
/**
|
|
12
|
+
* A component that generates command validation logic for required options and arguments.
|
|
13
|
+
*/
|
|
14
|
+
function CommandValidationLogic(props) {
|
|
15
|
+
const { command } = props;
|
|
16
|
+
return [
|
|
17
|
+
(0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_typescript.VarDeclaration, {
|
|
18
|
+
name: "failures",
|
|
19
|
+
type: "string[]",
|
|
20
|
+
initializer: __alloy_js_core.code`[];`
|
|
21
|
+
}),
|
|
22
|
+
(0, __alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {}),
|
|
23
|
+
(0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_core.For, {
|
|
24
|
+
get each() {
|
|
25
|
+
return Object.values(command.options ?? {});
|
|
26
|
+
},
|
|
27
|
+
doubleHardline: true,
|
|
28
|
+
children: (option) => [
|
|
29
|
+
(0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_core.Show, {
|
|
30
|
+
get when() {
|
|
31
|
+
return !option.optional;
|
|
32
|
+
},
|
|
33
|
+
get children() {
|
|
34
|
+
return [(0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_typescript.IfStatement, {
|
|
35
|
+
get condition() {
|
|
36
|
+
return __alloy_js_core.code`!options${option.name.includes("?") ? `["${option.name}"]` : `.${(0, __stryke_string_format_camel_case.camelCase)(option.name)}`}`;
|
|
37
|
+
},
|
|
38
|
+
get children() {
|
|
39
|
+
return __alloy_js_core.code`failures.push("Missing required ${option.name} option");`;
|
|
40
|
+
}
|
|
41
|
+
}), (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_core.Show, {
|
|
42
|
+
get when() {
|
|
43
|
+
return (option.kind === require_types_command.CommandParameterKinds.string || option.kind === require_types_command.CommandParameterKinds.number) && option.variadic;
|
|
44
|
+
},
|
|
45
|
+
get children() {
|
|
46
|
+
return (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_typescript.ElseIfClause, {
|
|
47
|
+
get condition() {
|
|
48
|
+
return __alloy_js_core.code`options${option.name.includes("?") ? `["${option.name}"]` : `.${(0, __stryke_string_format_camel_case.camelCase)(option.name)}`}.length === 0`;
|
|
49
|
+
},
|
|
50
|
+
get children() {
|
|
51
|
+
return __alloy_js_core.code`failures.push("No values were provided to the required ${option.name} array option");`;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
})];
|
|
56
|
+
}
|
|
57
|
+
}),
|
|
58
|
+
(0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_core.Show, {
|
|
59
|
+
get when() {
|
|
60
|
+
return option.kind === require_types_command.CommandParameterKinds.number;
|
|
61
|
+
},
|
|
62
|
+
get children() {
|
|
63
|
+
return (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_core.Show, {
|
|
64
|
+
get when() {
|
|
65
|
+
return option.variadic;
|
|
66
|
+
},
|
|
67
|
+
get fallback() {
|
|
68
|
+
return (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_typescript.IfStatement, {
|
|
69
|
+
get condition() {
|
|
70
|
+
return __alloy_js_core.code`options${option.name.includes("?") ? `["${option.name}"]` : `.${(0, __stryke_string_format_camel_case.camelCase)(option.name)}`} && Number.isNaN(options${option.name.includes("?") ? `["${option.name}"]` : `.${(0, __stryke_string_format_camel_case.camelCase)(option.name)}`})`;
|
|
71
|
+
},
|
|
72
|
+
get children() {
|
|
73
|
+
return __alloy_js_core.code`failures.push("Invalid numeric value provided for the ${option.name} option");`;
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
},
|
|
77
|
+
get children() {
|
|
78
|
+
return (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_typescript.IfStatement, {
|
|
79
|
+
get condition() {
|
|
80
|
+
return __alloy_js_core.code`options${option.name.includes("?") ? `["${option.name}"]` : `.${(0, __stryke_string_format_camel_case.camelCase)(option.name)}`}.some(value => Number.isNaN(value))`;
|
|
81
|
+
},
|
|
82
|
+
get children() {
|
|
83
|
+
return __alloy_js_core.code`failures.push("Invalid numeric value provided in the ${option.name} array option");`;
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}),
|
|
90
|
+
(0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_core.Show, {
|
|
91
|
+
get when() {
|
|
92
|
+
return (option.kind === require_types_command.CommandParameterKinds.string || option.kind === require_types_command.CommandParameterKinds.number) && option.choices && option.choices.length > 0;
|
|
93
|
+
},
|
|
94
|
+
get children() {
|
|
95
|
+
return (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_core.Show, {
|
|
96
|
+
get when() {
|
|
97
|
+
return (option.kind === require_types_command.CommandParameterKinds.string || option.kind === require_types_command.CommandParameterKinds.number) && option.variadic;
|
|
98
|
+
},
|
|
99
|
+
get fallback() {
|
|
100
|
+
return (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_typescript.ElseIfClause, {
|
|
101
|
+
get condition() {
|
|
102
|
+
return __alloy_js_core.code`!options${option.name.includes("?") ? `["${option.name}"]` : `.${(0, __stryke_string_format_camel_case.camelCase)(option.name)}`}.every(value => [${option.choices?.map((choice) => option.kind === require_types_command.CommandParameterKinds.string ? `"${choice}"` : choice).join(", ")}].includes(value))`;
|
|
103
|
+
},
|
|
104
|
+
get children() {
|
|
105
|
+
return __alloy_js_core.code`failures.push(\`Invalid value provided for the ${option.name} option - valid values include: ${(0, __stryke_string_format_list.list)(option?.choices?.map((choice) => String(choice)) ?? [])}; provided: \${options${option.name.includes("?") ? `["${option.name}"]` : `.${(0, __stryke_string_format_camel_case.camelCase)(option.name)}`}}\`);`;
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
},
|
|
109
|
+
get children() {
|
|
110
|
+
return (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_typescript.ElseIfClause, {
|
|
111
|
+
get condition() {
|
|
112
|
+
return __alloy_js_core.code`![${option.choices?.map((choice) => option.kind === require_types_command.CommandParameterKinds.string ? `"${choice}"` : choice).join(", ")}].includes(options${option.name.includes("?") ? `["${option.name}"]` : `.${(0, __stryke_string_format_camel_case.camelCase)(option.name)}`})`;
|
|
113
|
+
},
|
|
114
|
+
get children() {
|
|
115
|
+
return __alloy_js_core.code`failures.push(\`Invalid value provided for the ${option.name} option - valid values include: ${(0, __stryke_string_format_list.list)(option?.choices?.map((choice) => String(choice)) ?? [])}; provided: \${options${option.name.includes("?") ? `["${option.name}"]` : `.${(0, __stryke_string_format_camel_case.camelCase)(option.name)}`}}\`);`;
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
})
|
|
122
|
+
]
|
|
123
|
+
}),
|
|
124
|
+
(0, __alloy_js_core_jsx_runtime.createComponent)(__powerlines_plugin_alloy_dist_core_components_spacing_mjs.Spacing, {}),
|
|
125
|
+
(0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_core.For, {
|
|
126
|
+
get each() {
|
|
127
|
+
return command.args;
|
|
128
|
+
},
|
|
129
|
+
doubleHardline: true,
|
|
130
|
+
children: (argument) => [(0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_core.Show, {
|
|
131
|
+
get when() {
|
|
132
|
+
return !argument.optional;
|
|
133
|
+
},
|
|
134
|
+
get children() {
|
|
135
|
+
return [(0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_typescript.IfStatement, {
|
|
136
|
+
get condition() {
|
|
137
|
+
return __alloy_js_core.code`!${(0, __stryke_string_format_camel_case.camelCase)(argument.name)}`;
|
|
138
|
+
},
|
|
139
|
+
get children() {
|
|
140
|
+
return __alloy_js_core.code`failures.push("Missing required \\"${argument.name}\\" positional argument");`;
|
|
141
|
+
}
|
|
142
|
+
}), (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_core.Show, {
|
|
143
|
+
get when() {
|
|
144
|
+
return (argument.kind === require_types_command.CommandParameterKinds.string || argument.kind === require_types_command.CommandParameterKinds.number) && argument.variadic;
|
|
145
|
+
},
|
|
146
|
+
get children() {
|
|
147
|
+
return (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_typescript.ElseIfClause, {
|
|
148
|
+
get condition() {
|
|
149
|
+
return __alloy_js_core.code`${(0, __stryke_string_format_camel_case.camelCase)(argument.name)}.length === 0`;
|
|
150
|
+
},
|
|
151
|
+
get children() {
|
|
152
|
+
return __alloy_js_core.code`failures.push("No values were provided to the required ${argument.name} array positional argument");`;
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
})];
|
|
157
|
+
}
|
|
158
|
+
}), (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_core.Show, {
|
|
159
|
+
get when() {
|
|
160
|
+
return argument.kind === require_types_command.CommandParameterKinds.number;
|
|
161
|
+
},
|
|
162
|
+
get children() {
|
|
163
|
+
return (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_core.Show, {
|
|
164
|
+
get when() {
|
|
165
|
+
return argument.variadic;
|
|
166
|
+
},
|
|
167
|
+
get fallback() {
|
|
168
|
+
return (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_typescript.IfStatement, {
|
|
169
|
+
get condition() {
|
|
170
|
+
return __alloy_js_core.code`${(0, __stryke_string_format_camel_case.camelCase)(argument.name)} && Number.isNaN(${(0, __stryke_string_format_camel_case.camelCase)(argument.name)})`;
|
|
171
|
+
},
|
|
172
|
+
get children() {
|
|
173
|
+
return __alloy_js_core.code`failures.push("Invalid numeric value provided for the ${argument.name} positional argument");`;
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
},
|
|
177
|
+
get children() {
|
|
178
|
+
return (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_typescript.IfStatement, {
|
|
179
|
+
get condition() {
|
|
180
|
+
return __alloy_js_core.code`${(0, __stryke_string_format_camel_case.camelCase)(argument.name)}.some(value => Number.isNaN(value))`;
|
|
181
|
+
},
|
|
182
|
+
get children() {
|
|
183
|
+
return __alloy_js_core.code`failures.push("Invalid numeric value provided in the ${argument.name} array positional argument");`;
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
})]
|
|
190
|
+
})
|
|
191
|
+
];
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
//#endregion
|
|
195
|
+
exports.CommandValidationLogic = CommandValidationLogic;
|
|
196
|
+
//# sourceMappingURL=command-validation-logic.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-validation-logic.cjs","names":["code","For","Show","ElseIfClause","IfStatement","VarDeclaration","Spacing","camelCase","list","CommandParameterKinds","CommandValidationLogic","props","command","_$createComponent","name","type","initializer","_$createIntrinsic","each","Object","values","options","doubleHardline","children","option","when","optional","condition","includes","kind","string","number","variadic","fallback","choices","length","map","choice","join","String","args","argument"],"sources":["../../src/components/command-validation-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, For, Show } from \"@alloy-js/core\";\nimport {\n ElseIfClause,\n IfStatement,\n VarDeclaration\n} from \"@alloy-js/typescript\";\nimport { Spacing } from \"@powerlines/plugin-alloy/dist/core/components/spacing.mjs\";\nimport { camelCase } from \"@stryke/string-format/camel-case\";\nimport { list } from \"@stryke/string-format/list\";\nimport type {\n CommandTree,\n NumberCommandParameter,\n StringCommandParameter\n} from \"../types\";\nimport { CommandParameterKinds } from \"../types\";\n\nexport interface CommandValidationLogicProps {\n command: CommandTree;\n}\n\n/**\n * A component that generates command validation logic for required options and arguments.\n */\nexport function CommandValidationLogic(props: CommandValidationLogicProps) {\n const { command } = props;\n\n return (\n <>\n <VarDeclaration name=\"failures\" type=\"string[]\" initializer={code`[];`} />\n <hbr />\n <For each={Object.values(command.options ?? {})} doubleHardline>\n {option => (\n <>\n <Show when={!option.optional}>\n <IfStatement\n condition={code`!options${\n option.name.includes(\"?\")\n ? `[\"${option.name}\"]`\n : `.${camelCase(option.name)}`\n }`}>\n {code`failures.push(\"Missing required ${option.name} option\");`}\n </IfStatement>\n <Show\n when={\n (option.kind === CommandParameterKinds.string ||\n option.kind === CommandParameterKinds.number) &&\n option.variadic\n }>\n <ElseIfClause\n condition={code`options${\n option.name.includes(\"?\")\n ? `[\"${option.name}\"]`\n : `.${camelCase(option.name)}`\n }.length === 0`}>\n {code`failures.push(\"No values were provided to the required ${\n option.name\n } array option\");`}\n </ElseIfClause>\n </Show>\n </Show>\n <Show when={option.kind === CommandParameterKinds.number}>\n <Show\n when={(option as NumberCommandParameter).variadic}\n fallback={\n <IfStatement\n condition={code`options${\n option.name.includes(\"?\")\n ? `[\"${option.name}\"]`\n : `.${camelCase(option.name)}`\n } && Number.isNaN(options${\n option.name.includes(\"?\")\n ? `[\"${option.name}\"]`\n : `.${camelCase(option.name)}`\n })`}>\n {code`failures.push(\"Invalid numeric value provided for the ${\n option.name\n } option\");`}\n </IfStatement>\n }>\n <IfStatement\n condition={code`options${\n option.name.includes(\"?\")\n ? `[\"${option.name}\"]`\n : `.${camelCase(option.name)}`\n }.some(value => Number.isNaN(value))`}>\n {code`failures.push(\"Invalid numeric value provided in the ${\n option.name\n } array option\");`}\n </IfStatement>\n </Show>\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 <Show\n when={\n (option.kind === CommandParameterKinds.string ||\n option.kind === CommandParameterKinds.number) &&\n option.variadic\n }\n fallback={\n <ElseIfClause\n condition={code`!options${\n option.name.includes(\"?\")\n ? `[\"${option.name}\"]`\n : `.${camelCase(option.name)}`\n }.every(value => [${(\n option as StringCommandParameter | NumberCommandParameter\n ).choices\n ?.map(choice =>\n option.kind === CommandParameterKinds.string\n ? `\"${choice}\"`\n : choice\n )\n .join(\", \")}].includes(value))`}>\n {code`failures.push(\\`Invalid value provided for the ${\n option.name\n } option - valid values include: ${list(\n (\n option as\n | StringCommandParameter\n | NumberCommandParameter\n )?.choices?.map(choice => String(choice)) ?? []\n )}; provided: \\${options${\n option.name.includes(\"?\")\n ? `[\"${option.name}\"]`\n : `.${camelCase(option.name)}`\n }}\\`);`}\n </ElseIfClause>\n }>\n <ElseIfClause\n condition={code`![${(\n option as StringCommandParameter | NumberCommandParameter\n ).choices\n ?.map(choice =>\n option.kind === CommandParameterKinds.string\n ? `\"${choice}\"`\n : choice\n )\n .join(\", \")}].includes(options${\n option.name.includes(\"?\")\n ? `[\"${option.name}\"]`\n : `.${camelCase(option.name)}`\n })`}>\n {code`failures.push(\\`Invalid value provided for the ${\n option.name\n } option - valid values include: ${list(\n (\n option as StringCommandParameter | NumberCommandParameter\n )?.choices?.map(choice => String(choice)) ?? []\n )}; provided: \\${options${\n option.name.includes(\"?\")\n ? `[\"${option.name}\"]`\n : `.${camelCase(option.name)}`\n }}\\`);`}\n </ElseIfClause>\n </Show>\n </Show>\n </>\n )}\n </For>\n <Spacing />\n <For each={command.args} doubleHardline>\n {argument => (\n <>\n <Show when={!argument.optional}>\n <IfStatement condition={code`!${camelCase(argument.name)}`}>\n {code`failures.push(\"Missing required \\\\\"${\n argument.name\n }\\\\\" positional argument\");`}\n </IfStatement>\n <Show\n when={\n (argument.kind === CommandParameterKinds.string ||\n argument.kind === CommandParameterKinds.number) &&\n argument.variadic\n }>\n <ElseIfClause\n condition={code`${camelCase(argument.name)}.length === 0`}>\n {code`failures.push(\"No values were provided to the required ${\n argument.name\n } array positional argument\");`}\n </ElseIfClause>\n </Show>\n </Show>\n <Show when={argument.kind === CommandParameterKinds.number}>\n <Show\n when={(argument as NumberCommandParameter).variadic}\n fallback={\n <IfStatement\n condition={code`${camelCase(\n argument.name\n )} && Number.isNaN(${camelCase(argument.name)})`}>\n {code`failures.push(\"Invalid numeric value provided for the ${\n argument.name\n } positional argument\");`}\n </IfStatement>\n }>\n <IfStatement\n condition={code`${camelCase(argument.name)}.some(value => Number.isNaN(value))`}>\n {code`failures.push(\"Invalid numeric value provided in the ${\n argument.name\n } array positional argument\");`}\n </IfStatement>\n </Show>\n </Show>\n </>\n )}\n </For>\n </>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CommandTree } from "../types/command.cjs";
|
|
2
|
+
import "../types/index.cjs";
|
|
3
|
+
import * as _alloy_js_core21 from "@alloy-js/core";
|
|
4
|
+
|
|
5
|
+
//#region src/components/command-validation-logic.d.ts
|
|
6
|
+
interface CommandValidationLogicProps {
|
|
7
|
+
command: CommandTree;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* A component that generates command validation logic for required options and arguments.
|
|
11
|
+
*/
|
|
12
|
+
declare function CommandValidationLogic(props: CommandValidationLogicProps): _alloy_js_core21.Children;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { CommandValidationLogic, CommandValidationLogicProps };
|
|
15
|
+
//# sourceMappingURL=command-validation-logic.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-validation-logic.d.cts","names":[],"sources":["../../src/components/command-validation-logic.tsx"],"sourcesContent":[],"mappings":";;;;;UAkCiB,2BAAA;WACN;;;AADX;AAOA;iBAAgB,sBAAA,QAA8B,8BAA2B,gBAAA,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CommandTree } from "../types/command.mjs";
|
|
2
|
+
import "../types/index.mjs";
|
|
3
|
+
import * as _alloy_js_core22 from "@alloy-js/core";
|
|
4
|
+
|
|
5
|
+
//#region src/components/command-validation-logic.d.ts
|
|
6
|
+
interface CommandValidationLogicProps {
|
|
7
|
+
command: CommandTree;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* A component that generates command validation logic for required options and arguments.
|
|
11
|
+
*/
|
|
12
|
+
declare function CommandValidationLogic(props: CommandValidationLogicProps): _alloy_js_core22.Children;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { CommandValidationLogic, CommandValidationLogicProps };
|
|
15
|
+
//# sourceMappingURL=command-validation-logic.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-validation-logic.d.mts","names":[],"sources":["../../src/components/command-validation-logic.tsx"],"sourcesContent":[],"mappings":";;;;;UAkCiB,2BAAA;WACN;;;AADX;AAOA;iBAAgB,sBAAA,QAA8B,8BAA2B,gBAAA,CAAA"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { CommandParameterKinds } from "../types/command.mjs";
|
|
2
|
+
import { createComponent, createIntrinsic, memo } from "@alloy-js/core/jsx-runtime";
|
|
3
|
+
import { camelCase } from "@stryke/string-format/camel-case";
|
|
4
|
+
import { For, Show, code } from "@alloy-js/core";
|
|
5
|
+
import { ElseIfClause, IfStatement, VarDeclaration } from "@alloy-js/typescript";
|
|
6
|
+
import { Spacing } from "@powerlines/plugin-alloy/dist/core/components/spacing.mjs";
|
|
7
|
+
import { list } from "@stryke/string-format/list";
|
|
8
|
+
|
|
9
|
+
//#region src/components/command-validation-logic.tsx
|
|
10
|
+
/**
|
|
11
|
+
* A component that generates command validation logic for required options and arguments.
|
|
12
|
+
*/
|
|
13
|
+
function CommandValidationLogic(props) {
|
|
14
|
+
const { command } = props;
|
|
15
|
+
return [
|
|
16
|
+
createComponent(VarDeclaration, {
|
|
17
|
+
name: "failures",
|
|
18
|
+
type: "string[]",
|
|
19
|
+
initializer: code`[];`
|
|
20
|
+
}),
|
|
21
|
+
createIntrinsic("hbr", {}),
|
|
22
|
+
createComponent(For, {
|
|
23
|
+
get each() {
|
|
24
|
+
return Object.values(command.options ?? {});
|
|
25
|
+
},
|
|
26
|
+
doubleHardline: true,
|
|
27
|
+
children: (option) => [
|
|
28
|
+
createComponent(Show, {
|
|
29
|
+
get when() {
|
|
30
|
+
return !option.optional;
|
|
31
|
+
},
|
|
32
|
+
get children() {
|
|
33
|
+
return [createComponent(IfStatement, {
|
|
34
|
+
get condition() {
|
|
35
|
+
return code`!options${option.name.includes("?") ? `["${option.name}"]` : `.${camelCase(option.name)}`}`;
|
|
36
|
+
},
|
|
37
|
+
get children() {
|
|
38
|
+
return code`failures.push("Missing required ${option.name} option");`;
|
|
39
|
+
}
|
|
40
|
+
}), createComponent(Show, {
|
|
41
|
+
get when() {
|
|
42
|
+
return (option.kind === CommandParameterKinds.string || option.kind === CommandParameterKinds.number) && option.variadic;
|
|
43
|
+
},
|
|
44
|
+
get children() {
|
|
45
|
+
return createComponent(ElseIfClause, {
|
|
46
|
+
get condition() {
|
|
47
|
+
return code`options${option.name.includes("?") ? `["${option.name}"]` : `.${camelCase(option.name)}`}.length === 0`;
|
|
48
|
+
},
|
|
49
|
+
get children() {
|
|
50
|
+
return code`failures.push("No values were provided to the required ${option.name} array option");`;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
})];
|
|
55
|
+
}
|
|
56
|
+
}),
|
|
57
|
+
createComponent(Show, {
|
|
58
|
+
get when() {
|
|
59
|
+
return option.kind === CommandParameterKinds.number;
|
|
60
|
+
},
|
|
61
|
+
get children() {
|
|
62
|
+
return createComponent(Show, {
|
|
63
|
+
get when() {
|
|
64
|
+
return option.variadic;
|
|
65
|
+
},
|
|
66
|
+
get fallback() {
|
|
67
|
+
return createComponent(IfStatement, {
|
|
68
|
+
get condition() {
|
|
69
|
+
return code`options${option.name.includes("?") ? `["${option.name}"]` : `.${camelCase(option.name)}`} && Number.isNaN(options${option.name.includes("?") ? `["${option.name}"]` : `.${camelCase(option.name)}`})`;
|
|
70
|
+
},
|
|
71
|
+
get children() {
|
|
72
|
+
return code`failures.push("Invalid numeric value provided for the ${option.name} option");`;
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
},
|
|
76
|
+
get children() {
|
|
77
|
+
return createComponent(IfStatement, {
|
|
78
|
+
get condition() {
|
|
79
|
+
return code`options${option.name.includes("?") ? `["${option.name}"]` : `.${camelCase(option.name)}`}.some(value => Number.isNaN(value))`;
|
|
80
|
+
},
|
|
81
|
+
get children() {
|
|
82
|
+
return code`failures.push("Invalid numeric value provided in the ${option.name} array option");`;
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}),
|
|
89
|
+
createComponent(Show, {
|
|
90
|
+
get when() {
|
|
91
|
+
return (option.kind === CommandParameterKinds.string || option.kind === CommandParameterKinds.number) && option.choices && option.choices.length > 0;
|
|
92
|
+
},
|
|
93
|
+
get children() {
|
|
94
|
+
return createComponent(Show, {
|
|
95
|
+
get when() {
|
|
96
|
+
return (option.kind === CommandParameterKinds.string || option.kind === CommandParameterKinds.number) && option.variadic;
|
|
97
|
+
},
|
|
98
|
+
get fallback() {
|
|
99
|
+
return createComponent(ElseIfClause, {
|
|
100
|
+
get condition() {
|
|
101
|
+
return code`!options${option.name.includes("?") ? `["${option.name}"]` : `.${camelCase(option.name)}`}.every(value => [${option.choices?.map((choice) => option.kind === CommandParameterKinds.string ? `"${choice}"` : choice).join(", ")}].includes(value))`;
|
|
102
|
+
},
|
|
103
|
+
get children() {
|
|
104
|
+
return code`failures.push(\`Invalid value provided for the ${option.name} option - valid values include: ${list(option?.choices?.map((choice) => String(choice)) ?? [])}; provided: \${options${option.name.includes("?") ? `["${option.name}"]` : `.${camelCase(option.name)}`}}\`);`;
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
},
|
|
108
|
+
get children() {
|
|
109
|
+
return createComponent(ElseIfClause, {
|
|
110
|
+
get condition() {
|
|
111
|
+
return code`![${option.choices?.map((choice) => option.kind === CommandParameterKinds.string ? `"${choice}"` : choice).join(", ")}].includes(options${option.name.includes("?") ? `["${option.name}"]` : `.${camelCase(option.name)}`})`;
|
|
112
|
+
},
|
|
113
|
+
get children() {
|
|
114
|
+
return code`failures.push(\`Invalid value provided for the ${option.name} option - valid values include: ${list(option?.choices?.map((choice) => String(choice)) ?? [])}; provided: \${options${option.name.includes("?") ? `["${option.name}"]` : `.${camelCase(option.name)}`}}\`);`;
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
})
|
|
121
|
+
]
|
|
122
|
+
}),
|
|
123
|
+
createComponent(Spacing, {}),
|
|
124
|
+
createComponent(For, {
|
|
125
|
+
get each() {
|
|
126
|
+
return command.args;
|
|
127
|
+
},
|
|
128
|
+
doubleHardline: true,
|
|
129
|
+
children: (argument) => [createComponent(Show, {
|
|
130
|
+
get when() {
|
|
131
|
+
return !argument.optional;
|
|
132
|
+
},
|
|
133
|
+
get children() {
|
|
134
|
+
return [createComponent(IfStatement, {
|
|
135
|
+
get condition() {
|
|
136
|
+
return code`!${camelCase(argument.name)}`;
|
|
137
|
+
},
|
|
138
|
+
get children() {
|
|
139
|
+
return code`failures.push("Missing required \\"${argument.name}\\" positional argument");`;
|
|
140
|
+
}
|
|
141
|
+
}), createComponent(Show, {
|
|
142
|
+
get when() {
|
|
143
|
+
return (argument.kind === CommandParameterKinds.string || argument.kind === CommandParameterKinds.number) && argument.variadic;
|
|
144
|
+
},
|
|
145
|
+
get children() {
|
|
146
|
+
return createComponent(ElseIfClause, {
|
|
147
|
+
get condition() {
|
|
148
|
+
return code`${camelCase(argument.name)}.length === 0`;
|
|
149
|
+
},
|
|
150
|
+
get children() {
|
|
151
|
+
return code`failures.push("No values were provided to the required ${argument.name} array positional argument");`;
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
})];
|
|
156
|
+
}
|
|
157
|
+
}), createComponent(Show, {
|
|
158
|
+
get when() {
|
|
159
|
+
return argument.kind === CommandParameterKinds.number;
|
|
160
|
+
},
|
|
161
|
+
get children() {
|
|
162
|
+
return createComponent(Show, {
|
|
163
|
+
get when() {
|
|
164
|
+
return argument.variadic;
|
|
165
|
+
},
|
|
166
|
+
get fallback() {
|
|
167
|
+
return createComponent(IfStatement, {
|
|
168
|
+
get condition() {
|
|
169
|
+
return code`${camelCase(argument.name)} && Number.isNaN(${camelCase(argument.name)})`;
|
|
170
|
+
},
|
|
171
|
+
get children() {
|
|
172
|
+
return code`failures.push("Invalid numeric value provided for the ${argument.name} positional argument");`;
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
},
|
|
176
|
+
get children() {
|
|
177
|
+
return createComponent(IfStatement, {
|
|
178
|
+
get condition() {
|
|
179
|
+
return code`${camelCase(argument.name)}.some(value => Number.isNaN(value))`;
|
|
180
|
+
},
|
|
181
|
+
get children() {
|
|
182
|
+
return code`failures.push("Invalid numeric value provided in the ${argument.name} array positional argument");`;
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
})]
|
|
189
|
+
})
|
|
190
|
+
];
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
//#endregion
|
|
194
|
+
export { CommandValidationLogic };
|
|
195
|
+
//# sourceMappingURL=command-validation-logic.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-validation-logic.mjs","names":["code","For","Show","ElseIfClause","IfStatement","VarDeclaration","Spacing","camelCase","list","CommandParameterKinds","CommandValidationLogic","props","command","_$createComponent","name","type","initializer","_$createIntrinsic","each","Object","values","options","doubleHardline","children","option","when","optional","condition","includes","kind","string","number","variadic","fallback","choices","length","map","choice","join","String","args","argument"],"sources":["../../src/components/command-validation-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, For, Show } from \"@alloy-js/core\";\nimport {\n ElseIfClause,\n IfStatement,\n VarDeclaration\n} from \"@alloy-js/typescript\";\nimport { Spacing } from \"@powerlines/plugin-alloy/dist/core/components/spacing.mjs\";\nimport { camelCase } from \"@stryke/string-format/camel-case\";\nimport { list } from \"@stryke/string-format/list\";\nimport type {\n CommandTree,\n NumberCommandParameter,\n StringCommandParameter\n} from \"../types\";\nimport { CommandParameterKinds } from \"../types\";\n\nexport interface CommandValidationLogicProps {\n command: CommandTree;\n}\n\n/**\n * A component that generates command validation logic for required options and arguments.\n */\nexport function CommandValidationLogic(props: CommandValidationLogicProps) {\n const { command } = props;\n\n return (\n <>\n <VarDeclaration name=\"failures\" type=\"string[]\" initializer={code`[];`} />\n <hbr />\n <For each={Object.values(command.options ?? {})} doubleHardline>\n {option => (\n <>\n <Show when={!option.optional}>\n <IfStatement\n condition={code`!options${\n option.name.includes(\"?\")\n ? `[\"${option.name}\"]`\n : `.${camelCase(option.name)}`\n }`}>\n {code`failures.push(\"Missing required ${option.name} option\");`}\n </IfStatement>\n <Show\n when={\n (option.kind === CommandParameterKinds.string ||\n option.kind === CommandParameterKinds.number) &&\n option.variadic\n }>\n <ElseIfClause\n condition={code`options${\n option.name.includes(\"?\")\n ? `[\"${option.name}\"]`\n : `.${camelCase(option.name)}`\n }.length === 0`}>\n {code`failures.push(\"No values were provided to the required ${\n option.name\n } array option\");`}\n </ElseIfClause>\n </Show>\n </Show>\n <Show when={option.kind === CommandParameterKinds.number}>\n <Show\n when={(option as NumberCommandParameter).variadic}\n fallback={\n <IfStatement\n condition={code`options${\n option.name.includes(\"?\")\n ? `[\"${option.name}\"]`\n : `.${camelCase(option.name)}`\n } && Number.isNaN(options${\n option.name.includes(\"?\")\n ? `[\"${option.name}\"]`\n : `.${camelCase(option.name)}`\n })`}>\n {code`failures.push(\"Invalid numeric value provided for the ${\n option.name\n } option\");`}\n </IfStatement>\n }>\n <IfStatement\n condition={code`options${\n option.name.includes(\"?\")\n ? `[\"${option.name}\"]`\n : `.${camelCase(option.name)}`\n }.some(value => Number.isNaN(value))`}>\n {code`failures.push(\"Invalid numeric value provided in the ${\n option.name\n } array option\");`}\n </IfStatement>\n </Show>\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 <Show\n when={\n (option.kind === CommandParameterKinds.string ||\n option.kind === CommandParameterKinds.number) &&\n option.variadic\n }\n fallback={\n <ElseIfClause\n condition={code`!options${\n option.name.includes(\"?\")\n ? `[\"${option.name}\"]`\n : `.${camelCase(option.name)}`\n }.every(value => [${(\n option as StringCommandParameter | NumberCommandParameter\n ).choices\n ?.map(choice =>\n option.kind === CommandParameterKinds.string\n ? `\"${choice}\"`\n : choice\n )\n .join(\", \")}].includes(value))`}>\n {code`failures.push(\\`Invalid value provided for the ${\n option.name\n } option - valid values include: ${list(\n (\n option as\n | StringCommandParameter\n | NumberCommandParameter\n )?.choices?.map(choice => String(choice)) ?? []\n )}; provided: \\${options${\n option.name.includes(\"?\")\n ? `[\"${option.name}\"]`\n : `.${camelCase(option.name)}`\n }}\\`);`}\n </ElseIfClause>\n }>\n <ElseIfClause\n condition={code`![${(\n option as StringCommandParameter | NumberCommandParameter\n ).choices\n ?.map(choice =>\n option.kind === CommandParameterKinds.string\n ? `\"${choice}\"`\n : choice\n )\n .join(\", \")}].includes(options${\n option.name.includes(\"?\")\n ? `[\"${option.name}\"]`\n : `.${camelCase(option.name)}`\n })`}>\n {code`failures.push(\\`Invalid value provided for the ${\n option.name\n } option - valid values include: ${list(\n (\n option as StringCommandParameter | NumberCommandParameter\n )?.choices?.map(choice => String(choice)) ?? []\n )}; provided: \\${options${\n option.name.includes(\"?\")\n ? `[\"${option.name}\"]`\n : `.${camelCase(option.name)}`\n }}\\`);`}\n </ElseIfClause>\n </Show>\n </Show>\n </>\n )}\n </For>\n <Spacing />\n <For each={command.args} doubleHardline>\n {argument => (\n <>\n <Show when={!argument.optional}>\n <IfStatement condition={code`!${camelCase(argument.name)}`}>\n {code`failures.push(\"Missing required \\\\\"${\n argument.name\n }\\\\\" positional argument\");`}\n </IfStatement>\n <Show\n when={\n (argument.kind === CommandParameterKinds.string ||\n argument.kind === CommandParameterKinds.number) &&\n argument.variadic\n }>\n <ElseIfClause\n condition={code`${camelCase(argument.name)}.length === 0`}>\n {code`failures.push(\"No values were provided to the required ${\n argument.name\n } array positional argument\");`}\n </ElseIfClause>\n </Show>\n </Show>\n <Show when={argument.kind === CommandParameterKinds.number}>\n <Show\n when={(argument as NumberCommandParameter).variadic}\n fallback={\n <IfStatement\n condition={code`${camelCase(\n argument.name\n )} && Number.isNaN(${camelCase(argument.name)})`}>\n {code`failures.push(\"Invalid numeric value provided for the ${\n argument.name\n } positional argument\");`}\n </IfStatement>\n }>\n <IfStatement\n condition={code`${camelCase(argument.name)}.some(value => Number.isNaN(value))`}>\n {code`failures.push(\"Invalid numeric value provided in the ${\n argument.name\n } array positional argument\");`}\n </IfStatement>\n </Show>\n </Show>\n </>\n )}\n </For>\n </>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CommandTree } from "../types/command.cjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as _alloy_js_core22 from "@alloy-js/core";
|
|
3
3
|
import { MarkdownFileProps } from "@powerlines/plugin-alloy/markdown/components/markdown-file";
|
|
4
4
|
|
|
5
5
|
//#region src/components/docs.d.ts
|
|
@@ -12,7 +12,7 @@ interface CommandOptionsDocsProps {
|
|
|
12
12
|
/**
|
|
13
13
|
* Generates the options markdown documentation for a command.
|
|
14
14
|
*/
|
|
15
|
-
declare function CommandOptionsDocs(props: CommandOptionsDocsProps):
|
|
15
|
+
declare function CommandOptionsDocs(props: CommandOptionsDocsProps): _alloy_js_core22.Children;
|
|
16
16
|
interface CommandDocsUsageExampleProps {
|
|
17
17
|
/**
|
|
18
18
|
* The package manager to generate the usage example for.
|
|
@@ -31,7 +31,7 @@ interface CommandDocsUsageExampleProps {
|
|
|
31
31
|
/**
|
|
32
32
|
* Generates the markdown documentation for a command.
|
|
33
33
|
*/
|
|
34
|
-
declare function CommandDocsUsageExample(props: CommandDocsUsageExampleProps):
|
|
34
|
+
declare function CommandDocsUsageExample(props: CommandDocsUsageExampleProps): _alloy_js_core22.Children;
|
|
35
35
|
interface CommandDocsProps {
|
|
36
36
|
/**
|
|
37
37
|
* The heading level offset to apply to the generated documentation.
|
|
@@ -56,7 +56,7 @@ interface CommandDocsProps {
|
|
|
56
56
|
/**
|
|
57
57
|
* Generates the markdown documentation for a command.
|
|
58
58
|
*/
|
|
59
|
-
declare function CommandDocs(props: CommandDocsProps):
|
|
59
|
+
declare function CommandDocs(props: CommandDocsProps): _alloy_js_core22.Children;
|
|
60
60
|
interface CommandDocsFileProps extends Partial<MarkdownFileProps> {
|
|
61
61
|
/**
|
|
62
62
|
* The heading level offset to apply to the generated documentation.
|
|
@@ -75,7 +75,7 @@ interface CommandDocsFileProps extends Partial<MarkdownFileProps> {
|
|
|
75
75
|
/**
|
|
76
76
|
* Generates the markdown documentation file for a command.
|
|
77
77
|
*/
|
|
78
|
-
declare function CommandDocsFile(props: CommandDocsFileProps):
|
|
78
|
+
declare function CommandDocsFile(props: CommandDocsFileProps): _alloy_js_core22.Children;
|
|
79
79
|
//#endregion
|
|
80
80
|
export { CommandDocs, CommandDocsFile, CommandDocsFileProps, CommandDocsProps, CommandDocsUsageExample, CommandDocsUsageExampleProps, CommandOptionsDocs, CommandOptionsDocsProps };
|
|
81
81
|
//# sourceMappingURL=docs.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.d.cts","names":[],"sources":["../../src/components/docs.tsx"],"sourcesContent":[],"mappings":";;;;;UAkCiB,uBAAA;;;AAAjB;EAUgB,OAAA,EANL,WAMK;AAwBhB;AAoBA;AAsBA;;AAqB2B,iBAvFX,kBAAA,CAuFW,KAAA,EAvFe,uBAuFf,CAAA,EAvFsC,
|
|
1
|
+
{"version":3,"file":"docs.d.cts","names":[],"sources":["../../src/components/docs.tsx"],"sourcesContent":[],"mappings":";;;;;UAkCiB,uBAAA;;;AAAjB;EAUgB,OAAA,EANL,WAMK;AAwBhB;AAoBA;AAsBA;;AAqB2B,iBAvFX,kBAAA,CAuFW,KAAA,EAvFe,uBAuFf,CAAA,EAvFsC,gBAAA,CAAA,QAuFtC;AAAT,UA/DD,4BAAA,CA+DC;EAAQ;AAM1B;AAwCA;;;;;AAoBA;;;;;WAnHW;;;;;iBAMK,uBAAA,QAA+B,+BAA4B,gBAAA,CAAA;UAsB1D,gBAAA;;;;;;;;;;;;;WAcN;;;;;;kBAOO,SAAS;;;;;iBAMX,WAAA,QAAmB,mBAAgB,gBAAA,CAAA;UAwClC,oBAAA,SAA6B,QAAQ;;;;;;;;;;;;;WAc3C;;;;;iBAMK,eAAA,QAAuB,uBAAoB,gBAAA,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CommandTree } from "../types/command.mjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as _alloy_js_core23 from "@alloy-js/core";
|
|
3
3
|
import { MarkdownFileProps } from "@powerlines/plugin-alloy/markdown/components/markdown-file";
|
|
4
4
|
|
|
5
5
|
//#region src/components/docs.d.ts
|
|
@@ -12,7 +12,7 @@ interface CommandOptionsDocsProps {
|
|
|
12
12
|
/**
|
|
13
13
|
* Generates the options markdown documentation for a command.
|
|
14
14
|
*/
|
|
15
|
-
declare function CommandOptionsDocs(props: CommandOptionsDocsProps):
|
|
15
|
+
declare function CommandOptionsDocs(props: CommandOptionsDocsProps): _alloy_js_core23.Children;
|
|
16
16
|
interface CommandDocsUsageExampleProps {
|
|
17
17
|
/**
|
|
18
18
|
* The package manager to generate the usage example for.
|
|
@@ -31,7 +31,7 @@ interface CommandDocsUsageExampleProps {
|
|
|
31
31
|
/**
|
|
32
32
|
* Generates the markdown documentation for a command.
|
|
33
33
|
*/
|
|
34
|
-
declare function CommandDocsUsageExample(props: CommandDocsUsageExampleProps):
|
|
34
|
+
declare function CommandDocsUsageExample(props: CommandDocsUsageExampleProps): _alloy_js_core23.Children;
|
|
35
35
|
interface CommandDocsProps {
|
|
36
36
|
/**
|
|
37
37
|
* The heading level offset to apply to the generated documentation.
|
|
@@ -56,7 +56,7 @@ interface CommandDocsProps {
|
|
|
56
56
|
/**
|
|
57
57
|
* Generates the markdown documentation for a command.
|
|
58
58
|
*/
|
|
59
|
-
declare function CommandDocs(props: CommandDocsProps):
|
|
59
|
+
declare function CommandDocs(props: CommandDocsProps): _alloy_js_core23.Children;
|
|
60
60
|
interface CommandDocsFileProps extends Partial<MarkdownFileProps> {
|
|
61
61
|
/**
|
|
62
62
|
* The heading level offset to apply to the generated documentation.
|
|
@@ -75,7 +75,7 @@ interface CommandDocsFileProps extends Partial<MarkdownFileProps> {
|
|
|
75
75
|
/**
|
|
76
76
|
* Generates the markdown documentation file for a command.
|
|
77
77
|
*/
|
|
78
|
-
declare function CommandDocsFile(props: CommandDocsFileProps):
|
|
78
|
+
declare function CommandDocsFile(props: CommandDocsFileProps): _alloy_js_core23.Children;
|
|
79
79
|
//#endregion
|
|
80
80
|
export { CommandDocs, CommandDocsFile, CommandDocsFileProps, CommandDocsProps, CommandDocsUsageExample, CommandDocsUsageExampleProps, CommandOptionsDocs, CommandOptionsDocsProps };
|
|
81
81
|
//# sourceMappingURL=docs.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.d.mts","names":[],"sources":["../../src/components/docs.tsx"],"sourcesContent":[],"mappings":";;;;;UAkCiB,uBAAA;;;AAAjB;EAUgB,OAAA,EANL,WAMK;AAwBhB;AAoBA;AAsBA;;AAqB2B,iBAvFX,kBAAA,CAuFW,KAAA,EAvFe,uBAuFf,CAAA,EAvFsC,
|
|
1
|
+
{"version":3,"file":"docs.d.mts","names":[],"sources":["../../src/components/docs.tsx"],"sourcesContent":[],"mappings":";;;;;UAkCiB,uBAAA;;;AAAjB;EAUgB,OAAA,EANL,WAMK;AAwBhB;AAoBA;AAsBA;;AAqB2B,iBAvFX,kBAAA,CAuFW,KAAA,EAvFe,uBAuFf,CAAA,EAvFsC,gBAAA,CAAA,QAuFtC;AAAT,UA/DD,4BAAA,CA+DC;EAAQ;AAM1B;AAwCA;;;;;AAoBA;;;;;WAnHW;;;;;iBAMK,uBAAA,QAA+B,+BAA4B,gBAAA,CAAA;UAsB1D,gBAAA;;;;;;;;;;;;;WAcN;;;;;;kBAOO,SAAS;;;;;iBAMX,WAAA,QAAmB,mBAAgB,gBAAA,CAAA;UAwClC,oBAAA,SAA6B,QAAQ;;;;;;;;;;;;;WAc3C;;;;;iBAMK,eAAA,QAAuB,uBAAoB,gBAAA,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CommandParameter } from "../types/command.cjs";
|
|
2
2
|
import "../types/index.cjs";
|
|
3
|
-
import * as
|
|
3
|
+
import * as _alloy_js_core15 from "@alloy-js/core";
|
|
4
4
|
|
|
5
5
|
//#region src/components/helpers.d.ts
|
|
6
6
|
interface BooleanInputParserLogicProps {
|
|
@@ -9,35 +9,35 @@ interface BooleanInputParserLogicProps {
|
|
|
9
9
|
/**
|
|
10
10
|
* Parses a string input into a boolean value, interpreting common truthy and falsy string representations.
|
|
11
11
|
*/
|
|
12
|
-
declare function BooleanInputParserLogic(props: BooleanInputParserLogicProps):
|
|
12
|
+
declare function BooleanInputParserLogic(props: BooleanInputParserLogicProps): _alloy_js_core15.Children;
|
|
13
13
|
/**
|
|
14
14
|
* Write the logic to determine if the application is running in debug mode.
|
|
15
15
|
*
|
|
16
16
|
* @remarks
|
|
17
17
|
* This is used to conditionally include debug-only logic in the generated application, such as additional logging or development tools. The logic should check for common indicators of debug mode, such as environment variables or the presence of a debugger.
|
|
18
18
|
*/
|
|
19
|
-
declare function IsDebug():
|
|
19
|
+
declare function IsDebug(): _alloy_js_core15.Children;
|
|
20
20
|
/**
|
|
21
21
|
* Write the logic to determine if the application is **not** running in debug mode.
|
|
22
22
|
*/
|
|
23
|
-
declare function IsNotDebug():
|
|
23
|
+
declare function IsNotDebug(): _alloy_js_core15.Children;
|
|
24
24
|
/**
|
|
25
25
|
* Write the logic to determine if the application is running in verbose mode.
|
|
26
26
|
*
|
|
27
27
|
* @remarks
|
|
28
28
|
* This is used to conditionally include verbose-only logic in the generated application, such as additional logging or detailed output. The logic should check for common indicators of verbose mode, such as environment variables or command-line flags.
|
|
29
29
|
*/
|
|
30
|
-
declare function IsVerbose():
|
|
30
|
+
declare function IsVerbose(): _alloy_js_core15.Children;
|
|
31
31
|
/**
|
|
32
32
|
* Write the logic to determine if the application is **not** running in verbose mode.
|
|
33
33
|
*/
|
|
34
|
-
declare function IsNotVerbose():
|
|
34
|
+
declare function IsNotVerbose(): _alloy_js_core15.Children;
|
|
35
35
|
/**
|
|
36
36
|
* Write the type declaration for a command parameter based on its configuration.
|
|
37
37
|
*/
|
|
38
38
|
declare function CommandParameterType(props: {
|
|
39
39
|
parameter: CommandParameter;
|
|
40
|
-
}):
|
|
40
|
+
}): _alloy_js_core15.Children;
|
|
41
41
|
//#endregion
|
|
42
42
|
export { BooleanInputParserLogic, BooleanInputParserLogicProps, CommandParameterType, IsDebug, IsNotDebug, IsNotVerbose, IsVerbose };
|
|
43
43
|
//# sourceMappingURL=helpers.d.cts.map
|