@flowscripter/dynamic-cli-framework 1.2.2 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README/core-service-providers.md +2 -2
- package/README/development.md +3 -6
- package/README/implementation-details.md +17 -17
- package/README/key-concepts.md +17 -17
- package/README.md +4 -4
- package/bun.lock +0 -2
- package/index.ts +22 -30
- package/package.json +19 -19
- package/src/api/argument/Argument.ts +1 -1
- package/src/api/argument/ArgumentValueTypes.ts +3 -10
- package/src/api/argument/ComplexOption.ts +5 -9
- package/src/api/command/GlobalCommand.ts +1 -4
- package/src/api/service/core/ArgumentPrompterService.ts +1 -3
- package/src/api/service/core/AsciiBannerGeneratorService.ts +1 -4
- package/src/api/service/core/CompletionService.ts +2 -6
- package/src/api/service/core/ImagePrinterService.ts +1 -2
- package/src/api/service/core/KeyValueService.ts +1 -2
- package/src/api/service/core/PrettyPrinterService.ts +1 -4
- package/src/api/service/core/PrinterService.ts +8 -9
- package/src/api/service/core/PrompterService.ts +4 -11
- package/src/api/service/core/ShutdownService.ts +1 -2
- package/src/api/service/core/SyntaxHighlighterService.ts +1 -5
- package/src/api/service/core/Table.ts +7 -25
- package/src/api/service/core/TreePrinterService.ts +1 -2
- package/src/cli/BaseCLI.ts +17 -47
- package/src/cli/DefaultRuntimeCLI.ts +1 -4
- package/src/command/CompletionCommand.ts +19 -45
- package/src/command/MultiCommandCliHelpCommand.ts +45 -92
- package/src/command/SingleCommandCliHelpCommand.ts +17 -28
- package/src/command/UsageCommand.ts +6 -12
- package/src/command/VersionCommand.ts +2 -6
- package/src/launcher.ts +4 -2
- package/src/runtime/DefaultContext.ts +2 -5
- package/src/runtime/argument/ArgumentTypeGuards.ts +1 -3
- package/src/runtime/command/CommandTypeGuards.ts +5 -14
- package/src/runtime/command/CommandValidator.ts +56 -118
- package/src/runtime/parser.ts +13 -17
- package/src/runtime/registry/CommandRegistry.ts +2 -7
- package/src/runtime/registry/DefaultCommandRegistry.ts +32 -84
- package/src/runtime/registry/DefaultServiceProviderRegistry.ts +3 -9
- package/src/runtime/runner.ts +103 -142
- package/src/runtime/scanner.ts +28 -46
- package/src/runtime/values/ValuePopulationResult.ts +1 -2
- package/src/runtime/values/argumentValueMerge.ts +16 -28
- package/src/runtime/values/argumentValueValidation.ts +21 -67
- package/src/runtime/values/globalCommandValuePopulation.ts +9 -18
- package/src/runtime/values/subCommandValuePopulation.ts +42 -65
- package/src/service/argumentPrompter/ArgumentPrompterServiceProvider.ts +3 -10
- package/src/service/argumentPrompter/DefaultArgumentPrompterService.ts +22 -59
- package/src/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.ts +5 -14
- package/src/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.ts +59 -77
- package/src/service/banner/BannerServiceProvider.ts +13 -35
- package/src/service/banner/command/NoBannerCommand.ts +2 -8
- package/src/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.ts +5 -10
- package/src/service/completion/CompletionServiceProvider.ts +20 -48
- package/src/service/completion/DefaultCompletionService.ts +17 -56
- package/src/service/completion/shell/ShellHandler.ts +1 -3
- package/src/service/completion/shell/fish.ts +1 -1
- package/src/service/completion/shell/powershell.ts +2 -12
- package/src/service/completion/shell/zsh.ts +1 -1
- package/src/service/configuration/ConfigurationServiceProvider.ts +40 -133
- package/src/service/configuration/DefaultKeyValueService.ts +6 -20
- package/src/service/configuration/DefaultSecretService.ts +10 -14
- package/src/service/configuration/command/ConfigCommand.ts +1 -4
- package/src/service/configuration/command/DumpConfigCommand.ts +9 -21
- package/src/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.ts +5 -14
- package/src/service/dataDumpGenerator/DefaultDataDumpGeneratorService.ts +5 -12
- package/src/service/imagePrinter/DefaultImagePrinterService.ts +1 -5
- package/src/service/imagePrinter/ImagePrinterServiceProvider.ts +1 -4
- package/src/service/prettyPrinter/DefaultPrettyPrinterService.ts +4 -12
- package/src/service/prettyPrinter/PrettyPrinterServiceProvider.ts +3 -10
- package/src/service/printer/DefaultPrinterService.ts +20 -83
- package/src/service/printer/PrinterServiceProvider.ts +3 -11
- package/src/service/printer/command/DarkModeCommand.ts +3 -10
- package/src/service/printer/command/LogLevelCommand.ts +7 -26
- package/src/service/printer/command/NoColorCommand.ts +3 -10
- package/src/service/printer/command/NoHyperlinksCommand.ts +3 -10
- package/src/service/printer/terminal/Progress.ts +99 -90
- package/src/service/printer/terminal/Spinner.ts +7 -26
- package/src/service/prompter/DefaultPrompterService.ts +2 -6
- package/src/service/prompter/PrompterServiceProvider.ts +3 -11
- package/src/service/prompter/command/NoPromptCommand.ts +3 -10
- package/src/service/prompter/prompt/PromptContext.ts +5 -18
- package/src/service/prompter/prompt/promptMultiSelect.ts +6 -21
- package/src/service/prompter/prompt/promptOpenUrl.ts +7 -22
- package/src/service/prompter/prompt/promptSingleSelect.ts +6 -23
- package/src/service/prompter/prompt/promptText.ts +10 -27
- package/src/service/prompter/prompt/promptToggle.ts +8 -8
- package/src/service/shutdown/ShutdownServiceProvider.ts +3 -10
- package/src/service/syntaxHighlighter/DefaultSyntaxHighlighterService.ts +13 -26
- package/src/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.ts +8 -21
- package/src/service/tableGenerator/DefaultTableGeneratorService.ts +44 -68
- package/src/service/tableGenerator/TableGeneratorServiceProvider.ts +7 -16
- package/src/service/treePrinter/DefaultTreePrinterService.ts +2 -7
- package/src/service/treePrinter/TreePrinterServiceProvider.ts +4 -12
- package/src/terminal/ImageRenderer.ts +35 -54
- package/src/terminal/PngDecoder.ts +10 -19
- package/src/terminal/TtyStyler.ts +11 -9
- package/src/terminal/TtyTerminal.ts +2 -10
- package/src/terminal/supportsHyperlinks.ts +4 -10
- package/src/util/configHelper.ts +3 -10
- package/src/util/envVarHelper.ts +50 -88
- package/src/util/helpHelper.ts +123 -193
- package/src/util/logger.ts +12 -42
- package/src/util/runnerHelper.ts +20 -61
- package/tests/cli/BaseCLI.test.ts +23 -80
- package/tests/command/CompletionCommand.test.ts +1 -6
- package/tests/command/MultiCommandCliHelpCommand.test.ts +51 -205
- package/tests/command/SingleCommandCliHelpCommand.test.ts +21 -103
- package/tests/command/UsageCommand.test.ts +4 -10
- package/tests/fixtures/Command.ts +87 -68
- package/tests/fixtures/CommandRegistry.ts +1 -3
- package/tests/fixtures/Context.ts +3 -11
- package/tests/fixtures/ServiceProviderRegistry.ts +1 -1
- package/tests/fixtures/prettierPluginFoo.ts +1 -1
- package/tests/fixtures/util.ts +2 -8
- package/tests/runtime/argument/ArgumentTypeGuards.test.ts +1 -3
- package/tests/runtime/command/CommandValidator.test.ts +881 -604
- package/tests/runtime/parser.test.ts +222 -246
- package/tests/runtime/registry/DefaultCommandRegistry.test.ts +15 -37
- package/tests/runtime/registry/DefaultServiceProviderRegistry.test.ts +2 -8
- package/tests/runtime/runner.test.ts +231 -281
- package/tests/runtime/scanner.test.ts +277 -475
- package/tests/runtime/values/argumentValueMerge.test.ts +133 -81
- package/tests/runtime/values/argumentValueValidation.test.ts +444 -588
- package/tests/runtime/values/globalCommandValuePopulation.test.ts +71 -253
- package/tests/runtime/values/subCommandValuePopulation.test.ts +1342 -1570
- package/tests/service/argumentPrompter/ArgumentPrompterServiceProvider.test.ts +3 -12
- package/tests/service/argumentPrompter/DefaultArgumentPrompterService.test.ts +36 -45
- package/tests/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.test.ts +2 -8
- package/tests/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.test.ts +40 -62
- package/tests/service/banner/BannerServiceProvider.test.ts +5 -18
- package/tests/service/banner/command/NoBannerCommand.test.ts +1 -4
- package/tests/service/completion/CompletionServiceProvider.test.ts +145 -214
- package/tests/service/completion/DefaultCompletionService.test.ts +17 -79
- package/tests/service/completion/shell/fish.test.ts +1 -3
- package/tests/service/configuration/ConfigurationServiceProvider.test.ts +26 -75
- package/tests/service/configuration/DefaultKeyValueService.test.ts +9 -21
- package/tests/service/configuration/DefaultSecretService.test.ts +7 -15
- package/tests/service/configuration/command/DumpConfigCommand.test.ts +4 -13
- package/tests/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.test.ts +6 -12
- package/tests/service/dataDumpGenerator/DefaultDataDumpGeneratorService.test.ts +1 -10
- package/tests/service/imagePrinter/DefaultImagePrinterService.test.ts +5 -70
- package/tests/service/prettyPrinter/DefaultPrettyPrinterService.test.ts +4 -11
- package/tests/service/prettyPrinter/PrettyPrinterServiceProvider.test.ts +2 -6
- package/tests/service/printer/DefaultPrinterService.test.ts +57 -255
- package/tests/service/printer/PrinterServiceProvider.test.ts +2 -8
- package/tests/service/printer/command/DarkModeCommand.test.ts +4 -12
- package/tests/service/printer/command/LogLevelCommand.test.ts +4 -17
- package/tests/service/printer/command/NoColorCommand.test.ts +4 -12
- package/tests/service/printer/command/NoHyperlinksCommand.test.ts +7 -21
- package/tests/service/printer/terminal/Progress.test.ts +1 -3
- package/tests/service/printer/terminal/Spinner.test.ts +2 -8
- package/tests/service/prompter/DefaultPrompterService.test.ts +52 -69
- package/tests/service/prompter/PrompterServiceProvider.test.ts +2 -8
- package/tests/service/shutdown/ShutdownServiceProvider.test.ts +1 -3
- package/tests/service/syntaxHighlighter/DefaultSyntaxHighlighterService.test.ts +13 -99
- package/tests/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.test.ts +2 -7
- package/tests/service/tableGenerator/DefaultTableGeneratorService.test.ts +12 -33
- package/tests/service/tableGenerator/TableGeneratorServiceProvider.test.ts +2 -2
- package/tests/service/treePrinter/DefaultTreePrinterService.test.ts +4 -6
- package/tests/service/treePrinter/TreePrinterServiceProvider.test.ts +4 -8
- package/tests/terminal/ImageRenderer.test.ts +2 -11
- package/tests/terminal/PngDecoder.test.ts +2 -6
- package/tests/util/configHelper.test.ts +55 -137
- package/tests/util/envVarHelper.test.ts +46 -110
|
@@ -24,15 +24,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
24
24
|
argument: {
|
|
25
25
|
type: ArgumentValueTypeName.STRING,
|
|
26
26
|
},
|
|
27
|
-
execute: async (): Promise<void> => {
|
|
28
|
-
},
|
|
27
|
+
execute: async (): Promise<void> => {},
|
|
29
28
|
};
|
|
30
29
|
|
|
31
|
-
const result = populateGlobalCommandValue(
|
|
32
|
-
command,
|
|
33
|
-
["bar"],
|
|
34
|
-
undefined,
|
|
35
|
-
);
|
|
30
|
+
const result = populateGlobalCommandValue(command, ["bar"], undefined);
|
|
36
31
|
expectExtractResult(result, "bar", []);
|
|
37
32
|
expect(result.invalidArgument).toBeUndefined();
|
|
38
33
|
});
|
|
@@ -43,15 +38,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
43
38
|
argument: {
|
|
44
39
|
type: ArgumentValueTypeName.NUMBER,
|
|
45
40
|
},
|
|
46
|
-
execute: async (): Promise<void> => {
|
|
47
|
-
},
|
|
41
|
+
execute: async (): Promise<void> => {},
|
|
48
42
|
};
|
|
49
43
|
|
|
50
|
-
let result = populateGlobalCommandValue(
|
|
51
|
-
command,
|
|
52
|
-
["1.1"],
|
|
53
|
-
undefined,
|
|
54
|
-
);
|
|
44
|
+
let result = populateGlobalCommandValue(command, ["1.1"], undefined);
|
|
55
45
|
expectExtractResult(result, "1.1", []);
|
|
56
46
|
expect(result.invalidArgument).toBeUndefined();
|
|
57
47
|
|
|
@@ -60,15 +50,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
60
50
|
argument: {
|
|
61
51
|
type: ArgumentValueTypeName.INTEGER,
|
|
62
52
|
},
|
|
63
|
-
execute: async (): Promise<void> => {
|
|
64
|
-
},
|
|
53
|
+
execute: async (): Promise<void> => {},
|
|
65
54
|
};
|
|
66
55
|
|
|
67
|
-
result = populateGlobalCommandValue(
|
|
68
|
-
command,
|
|
69
|
-
["1"],
|
|
70
|
-
undefined,
|
|
71
|
-
);
|
|
56
|
+
result = populateGlobalCommandValue(command, ["1"], undefined);
|
|
72
57
|
expectExtractResult(result, "1", []);
|
|
73
58
|
expect(result.invalidArgument).toBeUndefined();
|
|
74
59
|
|
|
@@ -77,15 +62,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
77
62
|
argument: {
|
|
78
63
|
type: ArgumentValueTypeName.SECRET,
|
|
79
64
|
},
|
|
80
|
-
execute: async (): Promise<void> => {
|
|
81
|
-
},
|
|
65
|
+
execute: async (): Promise<void> => {},
|
|
82
66
|
};
|
|
83
67
|
|
|
84
|
-
result = populateGlobalCommandValue(
|
|
85
|
-
command,
|
|
86
|
-
["xxx"],
|
|
87
|
-
undefined,
|
|
88
|
-
);
|
|
68
|
+
result = populateGlobalCommandValue(command, ["xxx"], undefined);
|
|
89
69
|
expectExtractResult(result, "xxx", []);
|
|
90
70
|
expect(result.invalidArgument).toBeUndefined();
|
|
91
71
|
|
|
@@ -94,15 +74,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
94
74
|
argument: {
|
|
95
75
|
type: ArgumentValueTypeName.STRING,
|
|
96
76
|
},
|
|
97
|
-
execute: async (): Promise<void> => {
|
|
98
|
-
},
|
|
77
|
+
execute: async (): Promise<void> => {},
|
|
99
78
|
};
|
|
100
79
|
|
|
101
|
-
result = populateGlobalCommandValue(
|
|
102
|
-
command,
|
|
103
|
-
["bar"],
|
|
104
|
-
undefined,
|
|
105
|
-
);
|
|
80
|
+
result = populateGlobalCommandValue(command, ["bar"], undefined);
|
|
106
81
|
expectExtractResult(result, "bar", []);
|
|
107
82
|
expect(result.invalidArgument).toBeUndefined();
|
|
108
83
|
|
|
@@ -111,23 +86,14 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
111
86
|
argument: {
|
|
112
87
|
type: ArgumentValueTypeName.BOOLEAN,
|
|
113
88
|
},
|
|
114
|
-
execute: async (): Promise<void> => {
|
|
115
|
-
},
|
|
89
|
+
execute: async (): Promise<void> => {},
|
|
116
90
|
};
|
|
117
91
|
|
|
118
|
-
result = populateGlobalCommandValue(
|
|
119
|
-
command,
|
|
120
|
-
[],
|
|
121
|
-
undefined,
|
|
122
|
-
);
|
|
92
|
+
result = populateGlobalCommandValue(command, [], undefined);
|
|
123
93
|
expectExtractResult(result, "true", []);
|
|
124
94
|
expect(result.invalidArgument).toBeUndefined();
|
|
125
95
|
|
|
126
|
-
result = populateGlobalCommandValue(
|
|
127
|
-
command,
|
|
128
|
-
["false"],
|
|
129
|
-
undefined,
|
|
130
|
-
);
|
|
96
|
+
result = populateGlobalCommandValue(command, ["false"], undefined);
|
|
131
97
|
expectExtractResult(result, "false", []);
|
|
132
98
|
expect(result.invalidArgument).toBeUndefined();
|
|
133
99
|
});
|
|
@@ -138,15 +104,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
138
104
|
argument: {
|
|
139
105
|
type: ArgumentValueTypeName.BOOLEAN,
|
|
140
106
|
},
|
|
141
|
-
execute: async (): Promise<void> => {
|
|
142
|
-
},
|
|
107
|
+
execute: async (): Promise<void> => {},
|
|
143
108
|
};
|
|
144
109
|
|
|
145
|
-
let result = populateGlobalCommandValue(
|
|
146
|
-
command,
|
|
147
|
-
[],
|
|
148
|
-
undefined,
|
|
149
|
-
);
|
|
110
|
+
let result = populateGlobalCommandValue(command, [], undefined);
|
|
150
111
|
expectExtractResult(result, "true", []);
|
|
151
112
|
expect(result.invalidArgument).toBeUndefined();
|
|
152
113
|
|
|
@@ -155,15 +116,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
155
116
|
argument: {
|
|
156
117
|
type: ArgumentValueTypeName.BOOLEAN,
|
|
157
118
|
},
|
|
158
|
-
execute: async (): Promise<void> => {
|
|
159
|
-
},
|
|
119
|
+
execute: async (): Promise<void> => {},
|
|
160
120
|
};
|
|
161
121
|
|
|
162
|
-
result = populateGlobalCommandValue(
|
|
163
|
-
command,
|
|
164
|
-
["true"],
|
|
165
|
-
undefined,
|
|
166
|
-
);
|
|
122
|
+
result = populateGlobalCommandValue(command, ["true"], undefined);
|
|
167
123
|
expectExtractResult(result, "true", []);
|
|
168
124
|
expect(result.invalidArgument).toBeUndefined();
|
|
169
125
|
|
|
@@ -172,15 +128,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
172
128
|
argument: {
|
|
173
129
|
type: ArgumentValueTypeName.BOOLEAN,
|
|
174
130
|
},
|
|
175
|
-
execute: async (): Promise<void> => {
|
|
176
|
-
},
|
|
131
|
+
execute: async (): Promise<void> => {},
|
|
177
132
|
};
|
|
178
133
|
|
|
179
|
-
result = populateGlobalCommandValue(
|
|
180
|
-
command,
|
|
181
|
-
["false"],
|
|
182
|
-
undefined,
|
|
183
|
-
);
|
|
134
|
+
result = populateGlobalCommandValue(command, ["false"], undefined);
|
|
184
135
|
expectExtractResult(result, "false", []);
|
|
185
136
|
expect(result.invalidArgument).toBeUndefined();
|
|
186
137
|
|
|
@@ -190,15 +141,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
190
141
|
type: ArgumentValueTypeName.BOOLEAN,
|
|
191
142
|
defaultValue: true,
|
|
192
143
|
},
|
|
193
|
-
execute: async (): Promise<void> => {
|
|
194
|
-
},
|
|
144
|
+
execute: async (): Promise<void> => {},
|
|
195
145
|
};
|
|
196
146
|
|
|
197
|
-
result = populateGlobalCommandValue(
|
|
198
|
-
command,
|
|
199
|
-
[],
|
|
200
|
-
undefined,
|
|
201
|
-
);
|
|
147
|
+
result = populateGlobalCommandValue(command, [], undefined);
|
|
202
148
|
expectExtractResult(result, true, []);
|
|
203
149
|
expect(result.invalidArgument).toBeUndefined();
|
|
204
150
|
|
|
@@ -208,15 +154,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
208
154
|
type: ArgumentValueTypeName.BOOLEAN,
|
|
209
155
|
defaultValue: true,
|
|
210
156
|
},
|
|
211
|
-
execute: async (): Promise<void> => {
|
|
212
|
-
},
|
|
157
|
+
execute: async (): Promise<void> => {},
|
|
213
158
|
};
|
|
214
159
|
|
|
215
|
-
result = populateGlobalCommandValue(
|
|
216
|
-
command,
|
|
217
|
-
["false"],
|
|
218
|
-
undefined,
|
|
219
|
-
);
|
|
160
|
+
result = populateGlobalCommandValue(command, ["false"], undefined);
|
|
220
161
|
expectExtractResult(result, "false", []);
|
|
221
162
|
expect(result.invalidArgument).toBeUndefined();
|
|
222
163
|
|
|
@@ -226,15 +167,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
226
167
|
type: ArgumentValueTypeName.BOOLEAN,
|
|
227
168
|
defaultValue: false,
|
|
228
169
|
},
|
|
229
|
-
execute: async (): Promise<void> => {
|
|
230
|
-
},
|
|
170
|
+
execute: async (): Promise<void> => {},
|
|
231
171
|
};
|
|
232
172
|
|
|
233
|
-
result = populateGlobalCommandValue(
|
|
234
|
-
command,
|
|
235
|
-
[],
|
|
236
|
-
undefined,
|
|
237
|
-
);
|
|
173
|
+
result = populateGlobalCommandValue(command, [], undefined);
|
|
238
174
|
expectExtractResult(result, "true", []);
|
|
239
175
|
expect(result.invalidArgument).toBeUndefined();
|
|
240
176
|
|
|
@@ -244,15 +180,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
244
180
|
type: ArgumentValueTypeName.BOOLEAN,
|
|
245
181
|
defaultValue: false,
|
|
246
182
|
},
|
|
247
|
-
execute: async (): Promise<void> => {
|
|
248
|
-
},
|
|
183
|
+
execute: async (): Promise<void> => {},
|
|
249
184
|
};
|
|
250
185
|
|
|
251
|
-
result = populateGlobalCommandValue(
|
|
252
|
-
command,
|
|
253
|
-
["false"],
|
|
254
|
-
undefined,
|
|
255
|
-
);
|
|
186
|
+
result = populateGlobalCommandValue(command, ["false"], undefined);
|
|
256
187
|
expectExtractResult(result, "false", []);
|
|
257
188
|
expect(result.invalidArgument).toBeUndefined();
|
|
258
189
|
|
|
@@ -262,15 +193,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
262
193
|
type: ArgumentValueTypeName.BOOLEAN,
|
|
263
194
|
defaultValue: false,
|
|
264
195
|
},
|
|
265
|
-
execute: async (): Promise<void> => {
|
|
266
|
-
},
|
|
196
|
+
execute: async (): Promise<void> => {},
|
|
267
197
|
};
|
|
268
198
|
|
|
269
|
-
result = populateGlobalCommandValue(
|
|
270
|
-
command,
|
|
271
|
-
["true"],
|
|
272
|
-
undefined,
|
|
273
|
-
);
|
|
199
|
+
result = populateGlobalCommandValue(command, ["true"], undefined);
|
|
274
200
|
expectExtractResult(result, "true", []);
|
|
275
201
|
expect(result.invalidArgument).toBeUndefined();
|
|
276
202
|
});
|
|
@@ -281,31 +207,18 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
281
207
|
argument: {
|
|
282
208
|
type: ArgumentValueTypeName.BOOLEAN,
|
|
283
209
|
},
|
|
284
|
-
execute: async (): Promise<void> => {
|
|
285
|
-
},
|
|
210
|
+
execute: async (): Promise<void> => {},
|
|
286
211
|
};
|
|
287
212
|
|
|
288
|
-
let result = populateGlobalCommandValue(
|
|
289
|
-
command,
|
|
290
|
-
["--bar"],
|
|
291
|
-
undefined,
|
|
292
|
-
);
|
|
213
|
+
let result = populateGlobalCommandValue(command, ["--bar"], undefined);
|
|
293
214
|
expectExtractResult(result, "true", ["--bar"]);
|
|
294
215
|
expect(result.invalidArgument).toBeUndefined();
|
|
295
216
|
|
|
296
|
-
result = populateGlobalCommandValue(
|
|
297
|
-
command,
|
|
298
|
-
["True"],
|
|
299
|
-
undefined,
|
|
300
|
-
);
|
|
217
|
+
result = populateGlobalCommandValue(command, ["True"], undefined);
|
|
301
218
|
expectExtractResult(result, "True", []);
|
|
302
219
|
expect(result.invalidArgument).toBeUndefined();
|
|
303
220
|
|
|
304
|
-
result = populateGlobalCommandValue(
|
|
305
|
-
command,
|
|
306
|
-
["FALSE"],
|
|
307
|
-
undefined,
|
|
308
|
-
);
|
|
221
|
+
result = populateGlobalCommandValue(command, ["FALSE"], undefined);
|
|
309
222
|
expectExtractResult(result, "FALSE", []);
|
|
310
223
|
expect(result.invalidArgument).toBeUndefined();
|
|
311
224
|
});
|
|
@@ -316,15 +229,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
316
229
|
argument: {
|
|
317
230
|
type: ArgumentValueTypeName.STRING,
|
|
318
231
|
},
|
|
319
|
-
execute: async (): Promise<void> => {
|
|
320
|
-
},
|
|
232
|
+
execute: async (): Promise<void> => {},
|
|
321
233
|
};
|
|
322
234
|
|
|
323
|
-
let result = populateGlobalCommandValue(
|
|
324
|
-
command,
|
|
325
|
-
[],
|
|
326
|
-
undefined,
|
|
327
|
-
);
|
|
235
|
+
let result = populateGlobalCommandValue(command, [], undefined);
|
|
328
236
|
expectExtractResult(result, undefined, []);
|
|
329
237
|
expect(result.invalidArgument).toEqual({
|
|
330
238
|
name: "foo",
|
|
@@ -337,15 +245,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
337
245
|
type: ArgumentValueTypeName.STRING,
|
|
338
246
|
isOptional: true,
|
|
339
247
|
},
|
|
340
|
-
execute: async (): Promise<void> => {
|
|
341
|
-
},
|
|
248
|
+
execute: async (): Promise<void> => {},
|
|
342
249
|
};
|
|
343
250
|
|
|
344
|
-
result = populateGlobalCommandValue(
|
|
345
|
-
command,
|
|
346
|
-
[],
|
|
347
|
-
undefined,
|
|
348
|
-
);
|
|
251
|
+
result = populateGlobalCommandValue(command, [], undefined);
|
|
349
252
|
expectExtractResult(result, undefined, []);
|
|
350
253
|
expect(result.invalidArgument).toBeUndefined();
|
|
351
254
|
|
|
@@ -355,15 +258,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
355
258
|
type: ArgumentValueTypeName.STRING,
|
|
356
259
|
defaultValue: "bar",
|
|
357
260
|
},
|
|
358
|
-
execute: async (): Promise<void> => {
|
|
359
|
-
},
|
|
261
|
+
execute: async (): Promise<void> => {},
|
|
360
262
|
};
|
|
361
263
|
|
|
362
|
-
result = populateGlobalCommandValue(
|
|
363
|
-
command,
|
|
364
|
-
[],
|
|
365
|
-
undefined,
|
|
366
|
-
);
|
|
264
|
+
result = populateGlobalCommandValue(command, [], undefined);
|
|
367
265
|
expectExtractResult(result, "bar", []);
|
|
368
266
|
expect(result.invalidArgument).toBeUndefined();
|
|
369
267
|
});
|
|
@@ -374,15 +272,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
374
272
|
argument: {
|
|
375
273
|
type: ArgumentValueTypeName.STRING,
|
|
376
274
|
},
|
|
377
|
-
execute: async (): Promise<void> => {
|
|
378
|
-
},
|
|
275
|
+
execute: async (): Promise<void> => {},
|
|
379
276
|
};
|
|
380
277
|
|
|
381
|
-
const result = populateGlobalCommandValue(
|
|
382
|
-
command,
|
|
383
|
-
["bar", "--goo", "gar"],
|
|
384
|
-
undefined,
|
|
385
|
-
);
|
|
278
|
+
const result = populateGlobalCommandValue(command, ["bar", "--goo", "gar"], undefined);
|
|
386
279
|
expectExtractResult(result, "bar", ["--goo", "gar"]);
|
|
387
280
|
expect(result.invalidArgument).toBeUndefined();
|
|
388
281
|
});
|
|
@@ -393,15 +286,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
393
286
|
argument: {
|
|
394
287
|
type: ArgumentValueTypeName.STRING,
|
|
395
288
|
},
|
|
396
|
-
execute: async (): Promise<void> => {
|
|
397
|
-
},
|
|
289
|
+
execute: async (): Promise<void> => {},
|
|
398
290
|
};
|
|
399
291
|
|
|
400
|
-
const result = populateGlobalCommandValue(
|
|
401
|
-
command,
|
|
402
|
-
["bar", "goo"],
|
|
403
|
-
undefined,
|
|
404
|
-
);
|
|
292
|
+
const result = populateGlobalCommandValue(command, ["bar", "goo"], undefined);
|
|
405
293
|
expectExtractResult(result, "bar", ["goo"]);
|
|
406
294
|
expect(result.invalidArgument).toBeUndefined();
|
|
407
295
|
});
|
|
@@ -413,14 +301,9 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
413
301
|
type: ArgumentValueTypeName.NUMBER,
|
|
414
302
|
defaultValue: 0,
|
|
415
303
|
},
|
|
416
|
-
execute: async (): Promise<void> => {
|
|
417
|
-
},
|
|
304
|
+
execute: async (): Promise<void> => {},
|
|
418
305
|
};
|
|
419
|
-
let result = populateGlobalCommandValue(
|
|
420
|
-
command,
|
|
421
|
-
["1"],
|
|
422
|
-
undefined,
|
|
423
|
-
);
|
|
306
|
+
let result = populateGlobalCommandValue(command, ["1"], undefined);
|
|
424
307
|
expectExtractResult(result, "1", []);
|
|
425
308
|
expect(result.invalidArgument).toBeUndefined();
|
|
426
309
|
|
|
@@ -430,15 +313,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
430
313
|
type: ArgumentValueTypeName.STRING,
|
|
431
314
|
defaultValue: "foo",
|
|
432
315
|
},
|
|
433
|
-
execute: async (): Promise<void> => {
|
|
434
|
-
},
|
|
316
|
+
execute: async (): Promise<void> => {},
|
|
435
317
|
};
|
|
436
318
|
|
|
437
|
-
result = populateGlobalCommandValue(
|
|
438
|
-
command,
|
|
439
|
-
["bar"],
|
|
440
|
-
undefined,
|
|
441
|
-
);
|
|
319
|
+
result = populateGlobalCommandValue(command, ["bar"], undefined);
|
|
442
320
|
expectExtractResult(result, "bar", []);
|
|
443
321
|
expect(result.invalidArgument).toBeUndefined();
|
|
444
322
|
|
|
@@ -448,15 +326,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
448
326
|
type: ArgumentValueTypeName.BOOLEAN,
|
|
449
327
|
defaultValue: false,
|
|
450
328
|
},
|
|
451
|
-
execute: async (): Promise<void> => {
|
|
452
|
-
},
|
|
329
|
+
execute: async (): Promise<void> => {},
|
|
453
330
|
};
|
|
454
331
|
|
|
455
|
-
result = populateGlobalCommandValue(
|
|
456
|
-
command,
|
|
457
|
-
["false"],
|
|
458
|
-
undefined,
|
|
459
|
-
);
|
|
332
|
+
result = populateGlobalCommandValue(command, ["false"], undefined);
|
|
460
333
|
expectExtractResult(result, "false", []);
|
|
461
334
|
expect(result.invalidArgument).toBeUndefined();
|
|
462
335
|
});
|
|
@@ -467,15 +340,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
467
340
|
argument: {
|
|
468
341
|
type: ArgumentValueTypeName.NUMBER,
|
|
469
342
|
},
|
|
470
|
-
execute: async (): Promise<void> => {
|
|
471
|
-
},
|
|
343
|
+
execute: async (): Promise<void> => {},
|
|
472
344
|
};
|
|
473
345
|
|
|
474
|
-
let result = populateGlobalCommandValue(
|
|
475
|
-
command,
|
|
476
|
-
["1"],
|
|
477
|
-
0,
|
|
478
|
-
);
|
|
346
|
+
let result = populateGlobalCommandValue(command, ["1"], 0);
|
|
479
347
|
expectExtractResult(result, "1", []);
|
|
480
348
|
expect(result.invalidArgument).toBeUndefined();
|
|
481
349
|
|
|
@@ -484,15 +352,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
484
352
|
argument: {
|
|
485
353
|
type: ArgumentValueTypeName.STRING,
|
|
486
354
|
},
|
|
487
|
-
execute: async (): Promise<void> => {
|
|
488
|
-
},
|
|
355
|
+
execute: async (): Promise<void> => {},
|
|
489
356
|
};
|
|
490
357
|
|
|
491
|
-
result = populateGlobalCommandValue(
|
|
492
|
-
command,
|
|
493
|
-
["bar"],
|
|
494
|
-
"foo",
|
|
495
|
-
);
|
|
358
|
+
result = populateGlobalCommandValue(command, ["bar"], "foo");
|
|
496
359
|
expectExtractResult(result, "bar", []);
|
|
497
360
|
expect(result.invalidArgument).toBeUndefined();
|
|
498
361
|
|
|
@@ -501,15 +364,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
501
364
|
argument: {
|
|
502
365
|
type: ArgumentValueTypeName.BOOLEAN,
|
|
503
366
|
},
|
|
504
|
-
execute: async (): Promise<void> => {
|
|
505
|
-
},
|
|
367
|
+
execute: async (): Promise<void> => {},
|
|
506
368
|
};
|
|
507
369
|
|
|
508
|
-
result = populateGlobalCommandValue(
|
|
509
|
-
command,
|
|
510
|
-
["true"],
|
|
511
|
-
"false",
|
|
512
|
-
);
|
|
370
|
+
result = populateGlobalCommandValue(command, ["true"], "false");
|
|
513
371
|
expectExtractResult(result, "true", []);
|
|
514
372
|
expect(result.invalidArgument).toBeUndefined();
|
|
515
373
|
|
|
@@ -518,15 +376,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
518
376
|
argument: {
|
|
519
377
|
type: ArgumentValueTypeName.BOOLEAN,
|
|
520
378
|
},
|
|
521
|
-
execute: async (): Promise<void> => {
|
|
522
|
-
},
|
|
379
|
+
execute: async (): Promise<void> => {},
|
|
523
380
|
};
|
|
524
381
|
|
|
525
|
-
result = populateGlobalCommandValue(
|
|
526
|
-
command,
|
|
527
|
-
["false"],
|
|
528
|
-
"true",
|
|
529
|
-
);
|
|
382
|
+
result = populateGlobalCommandValue(command, ["false"], "true");
|
|
530
383
|
expectExtractResult(result, "false", []);
|
|
531
384
|
expect(result.invalidArgument).toBeUndefined();
|
|
532
385
|
});
|
|
@@ -538,15 +391,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
538
391
|
type: ArgumentValueTypeName.NUMBER,
|
|
539
392
|
defaultValue: 0,
|
|
540
393
|
},
|
|
541
|
-
execute: async (): Promise<void> => {
|
|
542
|
-
},
|
|
394
|
+
execute: async (): Promise<void> => {},
|
|
543
395
|
};
|
|
544
396
|
|
|
545
|
-
let result = populateGlobalCommandValue(
|
|
546
|
-
command,
|
|
547
|
-
[],
|
|
548
|
-
1,
|
|
549
|
-
);
|
|
397
|
+
let result = populateGlobalCommandValue(command, [], 1);
|
|
550
398
|
expectExtractResult(result, 1, []);
|
|
551
399
|
expect(result.invalidArgument).toBeUndefined();
|
|
552
400
|
|
|
@@ -556,15 +404,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
556
404
|
type: ArgumentValueTypeName.STRING,
|
|
557
405
|
defaultValue: "foo",
|
|
558
406
|
},
|
|
559
|
-
execute: async (): Promise<void> => {
|
|
560
|
-
},
|
|
407
|
+
execute: async (): Promise<void> => {},
|
|
561
408
|
};
|
|
562
409
|
|
|
563
|
-
result = populateGlobalCommandValue(
|
|
564
|
-
command,
|
|
565
|
-
[],
|
|
566
|
-
"bar",
|
|
567
|
-
);
|
|
410
|
+
result = populateGlobalCommandValue(command, [], "bar");
|
|
568
411
|
expectExtractResult(result, "bar", []);
|
|
569
412
|
expect(result.invalidArgument).toBeUndefined();
|
|
570
413
|
|
|
@@ -574,15 +417,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
574
417
|
type: ArgumentValueTypeName.BOOLEAN,
|
|
575
418
|
defaultValue: false,
|
|
576
419
|
},
|
|
577
|
-
execute: async (): Promise<void> => {
|
|
578
|
-
},
|
|
420
|
+
execute: async (): Promise<void> => {},
|
|
579
421
|
};
|
|
580
422
|
|
|
581
|
-
result = populateGlobalCommandValue(
|
|
582
|
-
command,
|
|
583
|
-
[],
|
|
584
|
-
"true",
|
|
585
|
-
);
|
|
423
|
+
result = populateGlobalCommandValue(command, [], "true");
|
|
586
424
|
expectExtractResult(result, "true", []);
|
|
587
425
|
expect(result.invalidArgument).toBeUndefined();
|
|
588
426
|
|
|
@@ -592,15 +430,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
592
430
|
type: ArgumentValueTypeName.BOOLEAN,
|
|
593
431
|
defaultValue: true,
|
|
594
432
|
},
|
|
595
|
-
execute: async (): Promise<void> => {
|
|
596
|
-
},
|
|
433
|
+
execute: async (): Promise<void> => {},
|
|
597
434
|
};
|
|
598
435
|
|
|
599
|
-
result = populateGlobalCommandValue(
|
|
600
|
-
command,
|
|
601
|
-
[],
|
|
602
|
-
"false",
|
|
603
|
-
);
|
|
436
|
+
result = populateGlobalCommandValue(command, [], "false");
|
|
604
437
|
expectExtractResult(result, "false", []);
|
|
605
438
|
expect(result.invalidArgument).toBeUndefined();
|
|
606
439
|
});
|
|
@@ -611,15 +444,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
611
444
|
argument: {
|
|
612
445
|
type: ArgumentValueTypeName.STRING,
|
|
613
446
|
},
|
|
614
|
-
execute: async (): Promise<void> => {
|
|
615
|
-
},
|
|
447
|
+
execute: async (): Promise<void> => {},
|
|
616
448
|
};
|
|
617
449
|
|
|
618
|
-
let result = populateGlobalCommandValue(
|
|
619
|
-
command,
|
|
620
|
-
[],
|
|
621
|
-
1,
|
|
622
|
-
);
|
|
450
|
+
let result = populateGlobalCommandValue(command, [], 1);
|
|
623
451
|
expectExtractResult(result, 1, []);
|
|
624
452
|
expect(result.invalidArgument).toBeUndefined();
|
|
625
453
|
|
|
@@ -629,15 +457,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
629
457
|
type: ArgumentValueTypeName.STRING,
|
|
630
458
|
isOptional: true,
|
|
631
459
|
},
|
|
632
|
-
execute: async (): Promise<void> => {
|
|
633
|
-
},
|
|
460
|
+
execute: async (): Promise<void> => {},
|
|
634
461
|
};
|
|
635
462
|
|
|
636
|
-
result = populateGlobalCommandValue(
|
|
637
|
-
command,
|
|
638
|
-
[],
|
|
639
|
-
"foo",
|
|
640
|
-
);
|
|
463
|
+
result = populateGlobalCommandValue(command, [], "foo");
|
|
641
464
|
expectExtractResult(result, "foo", []);
|
|
642
465
|
expect(result.invalidArgument).toBeUndefined();
|
|
643
466
|
|
|
@@ -647,15 +470,10 @@ describe("globalCommandValuePopulation tests", () => {
|
|
|
647
470
|
type: ArgumentValueTypeName.STRING,
|
|
648
471
|
defaultValue: "bar",
|
|
649
472
|
},
|
|
650
|
-
execute: async (): Promise<void> => {
|
|
651
|
-
},
|
|
473
|
+
execute: async (): Promise<void> => {},
|
|
652
474
|
};
|
|
653
475
|
|
|
654
|
-
result = populateGlobalCommandValue(
|
|
655
|
-
command,
|
|
656
|
-
[],
|
|
657
|
-
"foo",
|
|
658
|
-
);
|
|
476
|
+
result = populateGlobalCommandValue(command, [], "foo");
|
|
659
477
|
expectExtractResult(result, "foo", []);
|
|
660
478
|
expect(result.invalidArgument).toBeUndefined();
|
|
661
479
|
});
|