@microsoft/teamsfx-api 0.22.4-alpha.9fd4f497a.0 → 0.22.4-alpha.a99162fe0.0

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 (75) hide show
  1. package/build/cli.d.ts +195 -0
  2. package/build/cli.d.ts.map +1 -0
  3. package/build/{bicep.js → cli.js} +1 -1
  4. package/build/cli.js.map +1 -0
  5. package/build/constants.d.ts +4 -9
  6. package/build/constants.d.ts.map +1 -1
  7. package/build/constants.js +4 -9
  8. package/build/constants.js.map +1 -1
  9. package/build/context.d.ts +9 -28
  10. package/build/context.d.ts.map +1 -1
  11. package/build/error.d.ts +4 -0
  12. package/build/error.d.ts.map +1 -1
  13. package/build/error.js +6 -4
  14. package/build/error.js.map +1 -1
  15. package/build/index.d.ts +5 -12
  16. package/build/index.d.ts.map +1 -1
  17. package/build/index.js +5 -13
  18. package/build/index.js.map +1 -1
  19. package/build/qm/question.d.ts +126 -15
  20. package/build/qm/question.d.ts.map +1 -1
  21. package/build/qm/question.js.map +1 -1
  22. package/build/qm/ui.d.ts +53 -3
  23. package/build/qm/ui.d.ts.map +1 -1
  24. package/build/qm/validation.d.ts +6 -1
  25. package/build/qm/validation.d.ts.map +1 -1
  26. package/build/qm/validation.js +48 -11
  27. package/build/qm/validation.js.map +1 -1
  28. package/build/types.d.ts +70 -144
  29. package/build/types.d.ts.map +1 -1
  30. package/build/types.js +8 -87
  31. package/build/types.js.map +1 -1
  32. package/build/utils/login.d.ts.map +1 -1
  33. package/build/utils/login.js +3 -3
  34. package/build/utils/login.js.map +1 -1
  35. package/build/utils/telemetry.d.ts.map +1 -1
  36. package/package.json +4 -4
  37. package/build/action.d.ts +0 -109
  38. package/build/action.d.ts.map +0 -1
  39. package/build/action.js +0 -5
  40. package/build/action.js.map +0 -1
  41. package/build/bicep.d.ts +0 -19
  42. package/build/bicep.d.ts.map +0 -1
  43. package/build/bicep.js.map +0 -1
  44. package/build/component.d.ts +0 -31
  45. package/build/component.d.ts.map +0 -1
  46. package/build/component.js +0 -3
  47. package/build/component.js.map +0 -1
  48. package/build/v2/index.d.ts +0 -2
  49. package/build/v2/index.d.ts.map +0 -1
  50. package/build/v2/index.js +0 -7
  51. package/build/v2/index.js.map +0 -1
  52. package/build/v2/types.d.ts +0 -32
  53. package/build/v2/types.d.ts.map +0 -1
  54. package/build/v2/types.js +0 -5
  55. package/build/v2/types.js.map +0 -1
  56. package/build/v3/AzureResourceStates.d.ts +0 -58
  57. package/build/v3/AzureResourceStates.d.ts.map +0 -1
  58. package/build/v3/AzureResourceStates.js +0 -3
  59. package/build/v3/AzureResourceStates.js.map +0 -1
  60. package/build/v3/index.d.ts +0 -5
  61. package/build/v3/index.d.ts.map +0 -1
  62. package/build/v3/index.js +0 -10
  63. package/build/v3/index.js.map +0 -1
  64. package/build/v3/plugins.d.ts +0 -12
  65. package/build/v3/plugins.d.ts.map +0 -1
  66. package/build/v3/plugins.js +0 -5
  67. package/build/v3/plugins.js.map +0 -1
  68. package/build/v3/resourceStates.d.ts +0 -66
  69. package/build/v3/resourceStates.d.ts.map +0 -1
  70. package/build/v3/resourceStates.js +0 -5
  71. package/build/v3/resourceStates.js.map +0 -1
  72. package/build/v3/types.d.ts +0 -28
  73. package/build/v3/types.d.ts.map +0 -1
  74. package/build/v3/types.js +0 -5
  75. package/build/v3/types.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { Inputs, OptionItem } from "../types";
2
- import { FuncValidation, StringArrayValidation, StringValidation, ValidationSchema } from "./validation";
2
+ import { ConditionFunc, FuncValidation, StringArrayValidation, StringValidation, ValidationSchema } from "./validation";
3
3
  export interface FunctionRouter {
4
4
  namespace: string;
5
5
  method: string;
@@ -38,6 +38,7 @@ export interface BaseQuestion {
38
38
  * the answer of the question
39
39
  */
40
40
  value?: unknown;
41
+ valueType?: "skip" | "success";
41
42
  /**
42
43
  * default input value
43
44
  */
@@ -75,7 +76,7 @@ export interface UserInputQuestion extends BaseQuestion {
75
76
  /**
76
77
  * question type
77
78
  */
78
- type: "singleSelect" | "multiSelect" | "singleFile" | "multiFile" | "folder" | "text";
79
+ type: "singleSelect" | "multiSelect" | "singleFile" | "multiFile" | "folder" | "text" | "singleFileOrText";
79
80
  /**
80
81
  * title is required for human input question
81
82
  */
@@ -102,6 +103,37 @@ export interface UserInputQuestion extends BaseQuestion {
102
103
  * An optional validation message indicating or explaining the problem with the current input value.
103
104
  */
104
105
  validationHelp?: string;
106
+ /**
107
+ * A flag to indicate whether the question is required for CLI non-interactive mode.
108
+ * Default value is false.
109
+ * If not explicitly defined, the framework will try to fillin this field.
110
+ */
111
+ required?: boolean;
112
+ /**
113
+ * alternative names of the question that use to map the input properties into final Input object
114
+ */
115
+ alternativeNames?: string[];
116
+ /**
117
+ * CLI option/argument name, if not specified, the question name will be used as the CLI option/argument name
118
+ */
119
+ cliName?: string;
120
+ /**
121
+ * the question is only for CLI option abbrevation
122
+ */
123
+ cliShortName?: string;
124
+ /**
125
+ * whether the value is a boolean string value, if true, it will support '--option', which is equivalant to '--option true'
126
+ */
127
+ isBoolean?: boolean;
128
+ /**
129
+ * whether the question is mapped to CLI option or argument, default is option
130
+ */
131
+ cliType?: "option" | "argument";
132
+ cliDescription?: string;
133
+ /**
134
+ * @description the question will converted to a hidden option in CLI
135
+ */
136
+ cliHidden?: boolean;
105
137
  }
106
138
  /**
107
139
  * Definition of single selection question
@@ -136,6 +168,14 @@ export interface SingleSelectQuestion extends UserInputQuestion {
136
168
  * if false: use still need to do the selection manually even there is no other choice.
137
169
  */
138
170
  skipSingleOption?: boolean;
171
+ /**
172
+ * the command is only for CLI option description
173
+ */
174
+ cliChoiceListCommand?: string;
175
+ /**
176
+ * whether to skip validation against allowed list in non-interactive mode, default false
177
+ */
178
+ skipValidation?: boolean;
139
179
  }
140
180
  /**
141
181
  * Definition of multiple selection question
@@ -181,6 +221,14 @@ export interface MultiSelectQuestion extends UserInputQuestion {
181
221
  * validation schema for the answer values
182
222
  */
183
223
  validation?: StringArrayValidation | FuncValidation<string[]>;
224
+ /**
225
+ * the command is only for CLI option description
226
+ */
227
+ cliChoiceListCommand?: string;
228
+ /**
229
+ * whether to skip validation against allowed list in non-interactive mode, default false
230
+ */
231
+ skipValidation?: boolean;
184
232
  }
185
233
  /**
186
234
  * Definition of text input question
@@ -204,6 +252,10 @@ export interface TextInputQuestion extends UserInputQuestion {
204
252
  * validation schema, which can be a dynamic function closure
205
253
  */
206
254
  validation?: StringValidation | FuncValidation<string>;
255
+ /**
256
+ * validation when user confirms the input.
257
+ */
258
+ additionalValidationOnAccept?: StringValidation | FuncValidation<string>;
207
259
  }
208
260
  /**
209
261
  * Definition of single file selection
@@ -222,6 +274,20 @@ export interface SingleFileQuestion extends UserInputQuestion {
222
274
  * validation function
223
275
  */
224
276
  validation?: FuncValidation<string>;
277
+ /**
278
+ * This will only take effect in VSC.
279
+ * A set of file filters that are used by the dialog. Each entry is a human-readable label,
280
+ * like "TypeScript", and an array of extensions, e.g.
281
+ * ```ts
282
+ * {
283
+ * 'Images': ['png', 'jpg']
284
+ * 'TypeScript': ['ts', 'tsx']
285
+ * }
286
+ * ```
287
+ */
288
+ filters?: {
289
+ [name: string]: string[];
290
+ };
225
291
  }
226
292
  export interface MultiFileQuestion extends UserInputQuestion {
227
293
  type: "multiFile";
@@ -253,16 +319,30 @@ export interface FolderQuestion extends UserInputQuestion {
253
319
  */
254
320
  validation?: FuncValidation<string>;
255
321
  }
256
- /**
257
- * `FuncQuestion` will not show any UI, but load some dynamic data in the question flow;
258
- * The dynamic data can be referred by the following question.
259
- */
260
- export interface FuncQuestion extends BaseQuestion {
261
- type: "func";
322
+ export interface SingleFileOrInputQuestion extends UserInputQuestion {
323
+ type: "singleFileOrText";
262
324
  /**
263
- * A function that will be called to when the question is activated.
325
+ * An item shown in the list in VSC that user can click to input text.
264
326
  */
265
- func: LocalFunc<any>;
327
+ inputOptionItem: OptionItem;
328
+ /**
329
+ * Config for the input box.
330
+ */
331
+ inputBoxConfig: TextInputQuestion;
332
+ /**
333
+ * This will only take effect in VSC.
334
+ * A set of file filters that are used by the dialog. Each entry is a human-readable label,
335
+ * like "TypeScript", and an array of extensions, e.g.
336
+ * ```ts
337
+ * {
338
+ * 'Images': ['png', 'jpg']
339
+ * 'TypeScript': ['ts', 'tsx']
340
+ * }
341
+ * ```
342
+ */
343
+ filters?: {
344
+ [name: string]: string[];
345
+ };
266
346
  }
267
347
  /**
268
348
  * `Group` is a virtual node in the question tree that wraps a group of questions, which share the same activation condition in this group.
@@ -271,19 +351,31 @@ export interface Group {
271
351
  type: "group";
272
352
  name?: string;
273
353
  }
274
- export declare type Question = SingleSelectQuestion | MultiSelectQuestion | TextInputQuestion | SingleFileQuestion | MultiFileQuestion | FolderQuestion | FuncQuestion | SingleFileQuestion;
354
+ export declare type Question = SingleSelectQuestion | MultiSelectQuestion | TextInputQuestion | SingleFileQuestion | MultiFileQuestion | FolderQuestion | SingleFileQuestion | SingleFileOrInputQuestion;
275
355
  /**
276
356
  * QTreeNode is the tree node data structure, which have three main properties:
277
357
  * - data: data is either a group or question. Questions can be organized into a group, which has the same trigger condition.
278
358
  * - condition: trigger condition for this node to be activated;
279
359
  * - children: child questions that will be activated according their trigger condition.
280
360
  */
281
- export declare class QTreeNode {
361
+ export declare class QTreeNode implements IQTreeNode {
282
362
  data: Question | Group;
283
- condition?: ValidationSchema & {
284
- target?: string;
285
- };
363
+ condition?: StringValidation | StringArrayValidation | ConditionFunc;
286
364
  children?: QTreeNode[];
365
+ /**
366
+ * @description the question node will be ignored as CLI option in non-interactive mode
367
+ * "self" - only ignore the question itself
368
+ * "children" - ignore all nodes in sub-tree
369
+ * "all" - ignore self and all nodes in sub-tree
370
+ */
371
+ cliOptionDisabled?: "self" | "children" | "all";
372
+ /**
373
+ * @description the question node will be ignored as an Inputs property
374
+ * "self" - only ignore the question itself
375
+ * "children" - ignore all nodes in sub-tree
376
+ * "all" - ignore self and all nodes in sub-tree
377
+ */
378
+ inputsDisabled?: "self" | "children" | "all";
287
379
  addChild(node: QTreeNode): QTreeNode;
288
380
  validate(): boolean;
289
381
  /**
@@ -292,4 +384,23 @@ export declare class QTreeNode {
292
384
  trim(): QTreeNode | undefined;
293
385
  constructor(data: Question | Group);
294
386
  }
387
+ export interface IQTreeNode {
388
+ data: Question | Group;
389
+ condition?: StringValidation | StringArrayValidation | ConditionFunc;
390
+ children?: IQTreeNode[];
391
+ /**
392
+ * @description the question node will be ignored as CLI option in non-interactive mode
393
+ * "self" - only ignore the question itself
394
+ * "children" - ignore all nodes in sub-tree
395
+ * "all" - ignore self and all nodes in sub-tree
396
+ */
397
+ cliOptionDisabled?: "self" | "children" | "all";
398
+ /**
399
+ * @description the question node will be ignored as an Inputs property
400
+ * "self" - only ignore the question itself
401
+ * "children" - ignore all nodes in sub-tree
402
+ * "all" - ignore self and all nodes in sub-tree
403
+ */
404
+ inputsDisabled?: "self" | "children" | "all";
405
+ }
295
406
  //# sourceMappingURL=question.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../src/qm/question.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"question.d.ts","sourceRoot":"","sources":["../../src/qm/question.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"question.js","sourceRoot":"","sources":["../../src/qm/question.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAqUlC;;;;;GAKG;AACH,MAAa,SAAS;IA2CpB,YAAY,IAAsB;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAzCD,QAAQ,CAAC,IAAe;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACpB;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,QAAQ;QACN,kCAAkC;QAClC,iCAAiC;QACjC,+BAA+B;QAC/B,yGAAyG;QACzG,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,WAAW,GAAgB,EAAE,CAAC;YACpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,OAAO;oBAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACxC;YACD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;SAC7B;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YACnE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE;oBACxC,KAAK,CAAC,SAAS,KAAf,KAAK,CAAC,SAAS,GAAK,IAAI,CAAC,SAAS,EAAC;oBACnC,OAAO,KAAK,CAAC;iBACd;aACF;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CAIF;AA9CD,8BA8CC"}
1
+ {"version":3,"file":"question.js","sourceRoot":"","sources":["../../src/qm/question.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AA0alC;;;;;GAKG;AACH,MAAa,SAAS;IAyDpB,YAAY,IAAsB;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAzCD,QAAQ,CAAC,IAAe;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACpB;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,QAAQ;QACN,kCAAkC;QAClC,iCAAiC;QACjC,+BAA+B;QAC/B,yGAAyG;QACzG,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,WAAW,GAAgB,EAAE,CAAC;YACpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,OAAO;oBAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACxC;YACD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;SAC7B;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YACnE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE;oBACxC,KAAK,CAAC,SAAS,KAAf,KAAK,CAAC,SAAS,GAAK,IAAI,CAAC,SAAS,EAAC;oBACnC,OAAO,KAAK,CAAC;iBACd;aACF;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CAIF;AA5DD,8BA4DC"}
package/build/qm/ui.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Result } from "neverthrow";
2
- import { LocalFunc } from ".";
2
+ import { LocalFunc, ValidateFunc } from ".";
3
3
  import { FxError } from "../error";
4
4
  import { OnSelectionChangeFunc, StaticOptions } from "../qm/question";
5
5
  import { Inputs, OptionItem } from "../types";
@@ -36,7 +36,7 @@ export interface UIConfig<T> {
36
36
  /**
37
37
  * default input value
38
38
  */
39
- default?: T;
39
+ default?: T | (() => Promise<T>);
40
40
  /**
41
41
  * A function that will be called to validate input and to give a hint to the user.
42
42
  *
@@ -66,6 +66,7 @@ export interface SingleSelectConfig extends UIConfig<string> {
66
66
  * option array or a callback function which returns option array
67
67
  */
68
68
  options: StaticOptions | (() => Promise<StaticOptions>);
69
+ default?: string | (() => Promise<string>);
69
70
  /**
70
71
  * This config only works for option items with `OptionItem[]` type. If `returnObject` is true, the answer value is an `OptionItem` object; otherwise, the answer value is the `id` string of the `OptionItem`.
71
72
  * In case of option items with `string[]` type, whether `returnObject` is true or false, the returned answer value is always a string.
@@ -84,6 +85,7 @@ export interface MultiSelectConfig extends UIConfig<string[]> {
84
85
  * option array or a callback function which returns option array
85
86
  */
86
87
  options: StaticOptions | (() => Promise<StaticOptions>);
88
+ default?: string[] | (() => Promise<string[]>);
87
89
  /**
88
90
  * This config only works for option items with `OptionItem[]` type. If `returnObject` is true, the answer value is an array of `OptionItem` objects; otherwise, the answer value is an array of `id` strings.
89
91
  * In case of option items with `string[]` type, whether `returnObject` is true or false, the returned answer value is always a string array.
@@ -109,12 +111,23 @@ export interface InputTextConfig extends UIConfig<string> {
109
111
  * If the input value should be hidden. Defaults to false.
110
112
  */
111
113
  password?: boolean;
114
+ default?: string | (() => Promise<string>);
115
+ /**
116
+ * A function that will be called to validate the input that user accepted.
117
+ *
118
+ * @param input The current value of the input to be validated.
119
+ * @param inputs The current values of all inputs.
120
+ * @return A human-readable string which is presented as diagnostic message.
121
+ * Return `undefined` when 'value' is valid.
122
+ */
123
+ additionalValidationOnAccept?: ValidateFunc<string>;
112
124
  }
113
125
  /**
114
126
  * single file selector config
115
127
  */
116
128
  export declare type SelectFileConfig = UIConfig<string> & {
117
129
  /**
130
+ * This will only take effect in VSC.
118
131
  * A set of file filters that are used by the dialog. Each entry is a human-readable label,
119
132
  * like "TypeScript", and an array of extensions, e.g.
120
133
  * ```ts
@@ -127,6 +140,7 @@ export declare type SelectFileConfig = UIConfig<string> & {
127
140
  filters?: {
128
141
  [name: string]: string[];
129
142
  };
143
+ default?: string | (() => Promise<string>);
130
144
  /**
131
145
  * Possible files that will be listed for users to select.
132
146
  * The id cannot be "default" or "browse" as they are reserved for default and browse options.
@@ -142,6 +156,7 @@ export declare type SelectFileConfig = UIConfig<string> & {
142
156
  */
143
157
  export declare type SelectFilesConfig = UIConfig<string[]> & {
144
158
  /**
159
+ * This will only take effect in VSC.
145
160
  * A set of file filters that are used by the dialog. Each entry is a human-readable label,
146
161
  * like "TypeScript", and an array of extensions, e.g.
147
162
  * ```ts
@@ -154,11 +169,14 @@ export declare type SelectFilesConfig = UIConfig<string[]> & {
154
169
  filters?: {
155
170
  [name: string]: string[];
156
171
  };
172
+ default?: string[] | (() => Promise<string[]>);
157
173
  };
158
174
  /**
159
175
  * folder selector config
160
176
  */
161
- export declare type SelectFolderConfig = UIConfig<string>;
177
+ export declare type SelectFolderConfig = UIConfig<string> & {
178
+ default?: string | (() => Promise<string>);
179
+ };
162
180
  /**
163
181
  * func execution config
164
182
  */
@@ -166,6 +184,30 @@ export interface ExecuteFuncConfig extends UIConfig<string> {
166
184
  func: LocalFunc<any>;
167
185
  inputs: Inputs;
168
186
  }
187
+ export interface SingleFileOrInputConfig extends UIConfig<string> {
188
+ /**
189
+ * An item shown in the list in VSC that user can click to input text.
190
+ */
191
+ inputOptionItem: OptionItem;
192
+ /**
193
+ * Config for the input box.
194
+ */
195
+ inputBoxConfig: InputTextConfig;
196
+ /**
197
+ * This will only take effect in VSC.
198
+ * A set of file filters that are used by the dialog. Each entry is a human-readable label,
199
+ * like "TypeScript", and an array of extensions, e.g.
200
+ * ```ts
201
+ * {
202
+ * 'Images': ['png', 'jpg']
203
+ * 'TypeScript': ['ts', 'tsx']
204
+ * }
205
+ * ```
206
+ */
207
+ filters?: {
208
+ [name: string]: string[];
209
+ };
210
+ }
169
211
  /**
170
212
  * a wrapper of user input result
171
213
  */
@@ -297,6 +339,14 @@ export interface UserInteraction {
297
339
  [k: string]: string;
298
340
  };
299
341
  }): Promise<Result<string, FxError>>;
342
+ /**
343
+ * In VSC, it shows two options to user, one will open a dialog to the user which allows to select a single file, another one will show an input box asking to enter a value.
344
+ * If CLI, it will directly asks user to enter a value.
345
+ * @param config config to select local file or enter a value
346
+ * @returns A promise that resolves to the local file path or the value entered by user or FxError
347
+ * @throws FxError
348
+ */
349
+ selectFileOrInput?(config: SingleFileOrInputConfig): Promise<Result<InputResult<string>, FxError>>;
300
350
  }
301
351
  export interface IProgressHandler {
302
352
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/qm/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/qm/ui.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,10 @@ export interface StringValidation extends StaticValidation {
54
54
  * An instance validates successfully against this keyword if its value is not equal to the value of the keyword.
55
55
  */
56
56
  notEquals?: string;
57
+ /**
58
+ * A string instance validates successfully against this keyword if its value does not equal to any of the elements in this keyword's array value.
59
+ */
60
+ excludesEnum?: string[];
57
61
  }
58
62
  /**
59
63
  * Validation for String Arrays
@@ -111,6 +115,7 @@ export interface FuncValidation<T extends string | string[] | OptionItem | Optio
111
115
  */
112
116
  validFunc: ValidateFunc<T>;
113
117
  }
118
+ export declare type ConditionFunc = (inputs: Inputs) => boolean | Promise<boolean>;
114
119
  /**
115
120
  * Definition of validation schema, which is a union of `StringValidation`, `StringArrayValidation` and `FuncValidation<any>`
116
121
  */
@@ -130,5 +135,5 @@ export declare function getValidationFunction<T extends string | string[] | unde
130
135
  * @returns A human-readable string which is presented as diagnostic message.
131
136
  * Return `undefined` when 'value' is valid.
132
137
  */
133
- export declare function validate<T extends string | string[] | OptionItem | OptionItem[] | undefined>(validSchema: ValidationSchema, value: T, inputs?: Inputs): Promise<string | undefined>;
138
+ export declare function validate<T extends string | string[] | OptionItem | OptionItem[] | undefined>(validSchema: ValidationSchema | ConditionFunc, value: T, inputs?: Inputs): Promise<string | undefined>;
134
139
  //# sourceMappingURL=validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/qm/validation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE9C,oBAAY,YAAY,CAAC,CAAC,IAAI,CAC5B,KAAK,EAAE,CAAC,EACR,MAAM,CAAC,EAAE,MAAM,KACZ,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAEtD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAC7B,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU,GAAG,UAAU,EAAE,GAAG,SAAS;IAEnE;;;;;;OAMG;IACH,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,oBAAY,gBAAgB,GAAG,gBAAgB,GAAG,qBAAqB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;AAE9F;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EAC3E,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,MAAM,GACb,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAIhE;AAED;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU,GAAG,UAAU,EAAE,GAAG,SAAS,EAChG,WAAW,EAAE,gBAAgB,EAC7B,KAAK,EAAE,CAAC,EACR,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAkI7B"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/qm/validation.ts"],"names":[],"mappings":"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"}
@@ -33,19 +33,51 @@ async function validate(validSchema, value, inputs) {
33
33
  const res = await funcValidation.validFunc(value, inputs);
34
34
  return res;
35
35
  }
36
+ else if (typeof funcValidation === "function") {
37
+ const res = await funcValidation(inputs);
38
+ if (res)
39
+ return undefined;
40
+ return "condition function is not met.";
41
+ }
36
42
  }
37
43
  if (!value) {
38
44
  if (validSchema.required === true)
39
45
  return `input value is required.`;
40
46
  }
47
+ const noneEmptyKeyNum = Object.keys(validSchema).filter((key) => validSchema[key] !== undefined).length;
48
+ if (noneEmptyKeyNum === 0) {
49
+ return undefined;
50
+ }
51
+ if (value === undefined &&
52
+ (validSchema.required ||
53
+ validSchema.equals ||
54
+ validSchema.maxLength ||
55
+ validSchema.minLength ||
56
+ validSchema.pattern ||
57
+ validSchema.enum ||
58
+ validSchema.startsWith ||
59
+ validSchema.endsWith ||
60
+ validSchema.includes ||
61
+ validSchema.maxItems ||
62
+ validSchema.minItems ||
63
+ validSchema.uniqueItems ||
64
+ validSchema.contains ||
65
+ validSchema.containsAll ||
66
+ validSchema.containsAny)) {
67
+ return `'undefined' does not meet condition:'${JSON.stringify(validSchema)}'`;
68
+ }
41
69
  {
42
70
  // StringValidation
43
71
  const stringValidation = validSchema;
44
72
  const strToValidate = value;
45
- if (typeof strToValidate === "string") {
73
+ if (strToValidate === undefined || typeof strToValidate === "string") {
46
74
  const schema = {};
47
- if (stringValidation.equals && typeof stringValidation.equals === "string")
75
+ if (stringValidation.equals && typeof stringValidation.equals === "string") {
76
+ if (strToValidate === undefined) {
77
+ return `'${strToValidate}' does not meet equals:'${stringValidation.equals}'`;
78
+ }
48
79
  schema.const = stringValidation.equals;
80
+ }
49
81
  if (stringValidation.enum &&
50
82
  stringValidation.enum.length > 0 &&
51
83
  typeof stringValidation.enum[0] === "string")
@@ -72,23 +104,28 @@ async function validate(validSchema, value, inputs) {
72
104
  return `'${strToValidate}' does not meet endsWith:'${stringValidation.endsWith}'`;
73
105
  }
74
106
  }
75
- if (stringValidation.includes && typeof strToValidate === "string") {
107
+ if (stringValidation.includes) {
76
108
  if (!strToValidate.includes(stringValidation.includes)) {
77
109
  return `'${strToValidate}' does not meet includes:'${stringValidation.includes}'`;
78
110
  }
79
111
  }
80
- if (stringValidation.notEquals && typeof strToValidate === "string") {
112
+ if (stringValidation.notEquals) {
81
113
  if (strToValidate === stringValidation.notEquals) {
82
114
  return `'${strToValidate}' does not meet notEquals:'${stringValidation.notEquals}'`;
83
115
  }
84
116
  }
117
+ if (stringValidation.excludesEnum) {
118
+ if (stringValidation.excludesEnum.includes(strToValidate)) {
119
+ return `'${strToValidate}' does not meet excludesEnum:'${stringValidation.excludesEnum}'`;
120
+ }
121
+ }
85
122
  }
86
123
  }
87
124
  //StringArrayValidation
88
125
  {
89
126
  const stringArrayValidation = validSchema;
90
127
  const arrayToValidate = value;
91
- if (arrayToValidate instanceof Array) {
128
+ if (arrayToValidate === undefined || arrayToValidate instanceof Array) {
92
129
  const schema = {};
93
130
  if (stringArrayValidation.maxItems)
94
131
  schema.maxItems = stringArrayValidation.maxItems;
@@ -108,10 +145,10 @@ async function validate(validSchema, value, inputs) {
108
145
  stringArrayValidation.containsAll = stringArrayValidation.equals;
109
146
  }
110
147
  else {
111
- return `Array '${arrayToValidate}' does not equals to string:'${stringArrayValidation.equals}'`;
148
+ return `'${arrayToValidate}' does not equals to:'${stringArrayValidation.equals}'`;
112
149
  }
113
150
  }
114
- if (stringArrayValidation.enum) {
151
+ if (stringArrayValidation.enum && arrayToValidate) {
115
152
  for (const item of arrayToValidate) {
116
153
  if (!stringArrayValidation.enum.includes(item)) {
117
154
  return `'${arrayToValidate}' does not meet with enum:'${stringArrayValidation.enum}'`;
@@ -119,12 +156,12 @@ async function validate(validSchema, value, inputs) {
119
156
  }
120
157
  }
121
158
  if (stringArrayValidation.excludes) {
122
- if (arrayToValidate.includes(stringArrayValidation.excludes)) {
159
+ if (arrayToValidate && arrayToValidate.includes(stringArrayValidation.excludes)) {
123
160
  return `'${arrayToValidate}' does not meet with excludes:'${stringArrayValidation.excludes}'`;
124
161
  }
125
162
  }
126
163
  if (stringArrayValidation.contains) {
127
- if (!arrayToValidate.includes(stringArrayValidation.contains)) {
164
+ if (arrayToValidate && !arrayToValidate.includes(stringArrayValidation.contains)) {
128
165
  return `'${arrayToValidate}' does not meet with contains:'${stringArrayValidation.contains}'`;
129
166
  }
130
167
  }
@@ -132,7 +169,7 @@ async function validate(validSchema, value, inputs) {
132
169
  const containsAll = stringArrayValidation.containsAll;
133
170
  if (containsAll.length > 0) {
134
171
  for (const i of containsAll) {
135
- if (!arrayToValidate.includes(i)) {
172
+ if (arrayToValidate && !arrayToValidate.includes(i)) {
136
173
  return `'${arrayToValidate}' does not meet with containsAll:'${containsAll}'`;
137
174
  }
138
175
  }
@@ -144,7 +181,7 @@ async function validate(validSchema, value, inputs) {
144
181
  // let array = valueToValidate as string[];
145
182
  let found = false;
146
183
  for (const i of containsAny) {
147
- if (arrayToValidate.includes(i)) {
184
+ if (arrayToValidate && arrayToValidate.includes(i)) {
148
185
  found = true;
149
186
  break;
150
187
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/qm/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/qm/validation.ts"],"names":[],"mappings":"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"}