@microsoft/teamsfx-api 0.22.3 → 0.22.4-alpha.06f5ef6da.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 (123) hide show
  1. package/build/cli.d.ts +203 -0
  2. package/build/cli.d.ts.map +1 -0
  3. package/build/{v3/core.js → cli.js} +1 -1
  4. package/build/cli.js.map +1 -0
  5. package/build/constants.d.ts +4 -12
  6. package/build/constants.d.ts.map +1 -1
  7. package/build/constants.js +4 -12
  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 -47
  12. package/build/error.d.ts.map +1 -1
  13. package/build/error.js +9 -139
  14. package/build/error.js.map +1 -1
  15. package/build/index.d.ts +5 -16
  16. package/build/index.d.ts.map +1 -1
  17. package/build/index.js +5 -17
  18. package/build/index.js.map +1 -1
  19. package/build/qm/index.d.ts +0 -1
  20. package/build/qm/index.d.ts.map +1 -1
  21. package/build/qm/index.js +0 -1
  22. package/build/qm/index.js.map +1 -1
  23. package/build/qm/question.d.ts +134 -26
  24. package/build/qm/question.d.ts.map +1 -1
  25. package/build/qm/question.js +0 -53
  26. package/build/qm/question.js.map +1 -1
  27. package/build/qm/ui.d.ts +72 -99
  28. package/build/qm/ui.d.ts.map +1 -1
  29. package/build/qm/ui.js +0 -86
  30. package/build/qm/ui.js.map +1 -1
  31. package/build/qm/validation.d.ts +7 -18
  32. package/build/qm/validation.d.ts.map +1 -1
  33. package/build/qm/validation.js +0 -159
  34. package/build/qm/validation.js.map +1 -1
  35. package/build/types.d.ts +73 -149
  36. package/build/types.d.ts.map +1 -1
  37. package/build/types.js +8 -97
  38. package/build/types.js.map +1 -1
  39. package/build/utils/log.d.ts +23 -36
  40. package/build/utils/log.d.ts.map +1 -1
  41. package/build/utils/log.js +7 -11
  42. package/build/utils/log.js.map +1 -1
  43. package/build/utils/login.d.ts +4 -4
  44. package/build/utils/login.d.ts.map +1 -1
  45. package/build/utils/login.js +4 -4
  46. package/build/utils/login.js.map +1 -1
  47. package/build/utils/telemetry.d.ts.map +1 -1
  48. package/package.json +8 -6
  49. package/build/action.d.ts +0 -109
  50. package/build/action.d.ts.map +0 -1
  51. package/build/action.js +0 -5
  52. package/build/action.js.map +0 -1
  53. package/build/bicep.d.ts +0 -19
  54. package/build/bicep.d.ts.map +0 -1
  55. package/build/bicep.js +0 -5
  56. package/build/bicep.js.map +0 -1
  57. package/build/component.d.ts +0 -31
  58. package/build/component.d.ts.map +0 -1
  59. package/build/component.js +0 -3
  60. package/build/component.js.map +0 -1
  61. package/build/core.d.ts +0 -50
  62. package/build/core.d.ts.map +0 -1
  63. package/build/core.js +0 -5
  64. package/build/core.js.map +0 -1
  65. package/build/plugin.d.ts +0 -71
  66. package/build/plugin.d.ts.map +0 -1
  67. package/build/plugin.js +0 -5
  68. package/build/plugin.js.map +0 -1
  69. package/build/qm/visitor.d.ts +0 -15
  70. package/build/qm/visitor.d.ts.map +0 -1
  71. package/build/qm/visitor.js +0 -388
  72. package/build/qm/visitor.js.map +0 -1
  73. package/build/solution.d.ts +0 -29
  74. package/build/solution.d.ts.map +0 -1
  75. package/build/solution.js +0 -5
  76. package/build/solution.js.map +0 -1
  77. package/build/v2/index.d.ts +0 -4
  78. package/build/v2/index.d.ts.map +0 -1
  79. package/build/v2/index.js +0 -9
  80. package/build/v2/index.js.map +0 -1
  81. package/build/v2/resourcePlugin.d.ts +0 -180
  82. package/build/v2/resourcePlugin.d.ts.map +0 -1
  83. package/build/v2/resourcePlugin.js +0 -5
  84. package/build/v2/resourcePlugin.js.map +0 -1
  85. package/build/v2/solutionPlugin.d.ts +0 -100
  86. package/build/v2/solutionPlugin.d.ts.map +0 -1
  87. package/build/v2/solutionPlugin.js +0 -5
  88. package/build/v2/solutionPlugin.js.map +0 -1
  89. package/build/v2/types.d.ts +0 -67
  90. package/build/v2/types.d.ts.map +0 -1
  91. package/build/v2/types.js +0 -28
  92. package/build/v2/types.js.map +0 -1
  93. package/build/v3/AzureResourceStates.d.ts +0 -58
  94. package/build/v3/AzureResourceStates.d.ts.map +0 -1
  95. package/build/v3/AzureResourceStates.js +0 -3
  96. package/build/v3/AzureResourceStates.js.map +0 -1
  97. package/build/v3/core.d.ts +0 -22
  98. package/build/v3/core.d.ts.map +0 -1
  99. package/build/v3/core.js.map +0 -1
  100. package/build/v3/index.d.ts +0 -7
  101. package/build/v3/index.d.ts.map +0 -1
  102. package/build/v3/index.js +0 -12
  103. package/build/v3/index.js.map +0 -1
  104. package/build/v3/plugins.d.ts +0 -104
  105. package/build/v3/plugins.d.ts.map +0 -1
  106. package/build/v3/plugins.js +0 -5
  107. package/build/v3/plugins.js.map +0 -1
  108. package/build/v3/resourceStates.d.ts +0 -66
  109. package/build/v3/resourceStates.d.ts.map +0 -1
  110. package/build/v3/resourceStates.js +0 -5
  111. package/build/v3/resourceStates.js.map +0 -1
  112. package/build/v3/solution.d.ts +0 -40
  113. package/build/v3/solution.d.ts.map +0 -1
  114. package/build/v3/solution.js +0 -5
  115. package/build/v3/solution.js.map +0 -1
  116. package/build/v3/types.d.ts +0 -28
  117. package/build/v3/types.d.ts.map +0 -1
  118. package/build/v3/types.js +0 -5
  119. package/build/v3/types.js.map +0 -1
  120. package/build/vscode.d.ts +0 -22
  121. package/build/vscode.d.ts.map +0 -1
  122. package/build/vscode.js +0 -5
  123. package/build/vscode.js.map +0 -1
package/build/qm/ui.d.ts CHANGED
@@ -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
  *
@@ -63,23 +63,29 @@ export interface UIConfig<T> {
63
63
  */
64
64
  export interface SingleSelectConfig extends UIConfig<string> {
65
65
  /**
66
- * option array
66
+ * option array or a callback function which returns option array
67
67
  */
68
- options: StaticOptions;
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.
72
73
  */
73
74
  returnObject?: boolean;
75
+ /**
76
+ * whether skip selection if there is only one option, default is false
77
+ */
78
+ skipSingleOption?: boolean;
74
79
  }
75
80
  /**
76
81
  * multiple selection UI config
77
82
  */
78
83
  export interface MultiSelectConfig extends UIConfig<string[]> {
79
84
  /**
80
- * option array
85
+ * option array or a callback function which returns option array
81
86
  */
82
- options: StaticOptions;
87
+ options: StaticOptions | (() => Promise<StaticOptions>);
88
+ default?: string[] | (() => Promise<string[]>);
83
89
  /**
84
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.
85
91
  * In case of option items with `string[]` type, whether `returnObject` is true or false, the returned answer value is always a string array.
@@ -92,6 +98,10 @@ export interface MultiSelectConfig extends UIConfig<string[]> {
92
98
  * @returns the final selected option ids
93
99
  */
94
100
  onDidChangeSelection?: OnSelectionChangeFunc;
101
+ /**
102
+ * whether skip selection if there is only one option, default is false
103
+ */
104
+ skipSingleOption?: boolean;
95
105
  }
96
106
  /**
97
107
  * text input UI config
@@ -101,12 +111,22 @@ export interface InputTextConfig extends UIConfig<string> {
101
111
  * If the input value should be hidden. Defaults to false.
102
112
  */
103
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
+ * @return A human-readable string which is presented as diagnostic message.
120
+ * Return `undefined` when 'value' is valid.
121
+ */
122
+ additionalValidationOnAccept?: (input: string) => string | undefined | Promise<string | undefined>;
104
123
  }
105
124
  /**
106
125
  * single file selector config
107
126
  */
108
- export declare type SelectFileConfig = UIConfig<string> & {
127
+ export type SelectFileConfig = UIConfig<string> & {
109
128
  /**
129
+ * This will only take effect in VSC.
110
130
  * A set of file filters that are used by the dialog. Each entry is a human-readable label,
111
131
  * like "TypeScript", and an array of extensions, e.g.
112
132
  * ```ts
@@ -119,6 +139,7 @@ export declare type SelectFileConfig = UIConfig<string> & {
119
139
  filters?: {
120
140
  [name: string]: string[];
121
141
  };
142
+ default?: string | (() => Promise<string>);
122
143
  /**
123
144
  * Possible files that will be listed for users to select.
124
145
  * The id cannot be "default" or "browse" as they are reserved for default and browse options.
@@ -132,8 +153,9 @@ export declare type SelectFileConfig = UIConfig<string> & {
132
153
  /**
133
154
  * multiple files selector config
134
155
  */
135
- export declare type SelectFilesConfig = UIConfig<string[]> & {
156
+ export type SelectFilesConfig = UIConfig<string[]> & {
136
157
  /**
158
+ * This will only take effect in VSC.
137
159
  * A set of file filters that are used by the dialog. Each entry is a human-readable label,
138
160
  * like "TypeScript", and an array of extensions, e.g.
139
161
  * ```ts
@@ -146,11 +168,14 @@ export declare type SelectFilesConfig = UIConfig<string[]> & {
146
168
  filters?: {
147
169
  [name: string]: string[];
148
170
  };
171
+ default?: string[] | (() => Promise<string[]>);
149
172
  };
150
173
  /**
151
174
  * folder selector config
152
175
  */
153
- export declare type SelectFolderConfig = UIConfig<string>;
176
+ export type SelectFolderConfig = UIConfig<string> & {
177
+ default?: string | (() => Promise<string>);
178
+ };
154
179
  /**
155
180
  * func execution config
156
181
  */
@@ -158,6 +183,30 @@ export interface ExecuteFuncConfig extends UIConfig<string> {
158
183
  func: LocalFunc<any>;
159
184
  inputs: Inputs;
160
185
  }
186
+ export interface SingleFileOrInputConfig extends UIConfig<string> {
187
+ /**
188
+ * An item shown in the list in VSC that user can click to input text.
189
+ */
190
+ inputOptionItem: OptionItem;
191
+ /**
192
+ * Config for the input box.
193
+ */
194
+ inputBoxConfig: UIConfig<string>;
195
+ /**
196
+ * This will only take effect in VSC.
197
+ * A set of file filters that are used by the dialog. Each entry is a human-readable label,
198
+ * like "TypeScript", and an array of extensions, e.g.
199
+ * ```ts
200
+ * {
201
+ * 'Images': ['png', 'jpg']
202
+ * 'TypeScript': ['ts', 'tsx']
203
+ * }
204
+ * ```
205
+ */
206
+ filters?: {
207
+ [name: string]: string[];
208
+ };
209
+ }
161
210
  /**
162
211
  * a wrapper of user input result
163
212
  */
@@ -173,73 +222,12 @@ export interface InputResult<T> {
173
222
  */
174
223
  result?: T;
175
224
  }
176
- export declare type SingleSelectResult = InputResult<string | OptionItem>;
177
- export declare type MultiSelectResult = InputResult<StaticOptions>;
178
- export declare type InputTextResult = InputResult<string>;
179
- export declare type SelectFileResult = InputResult<string>;
180
- export declare type SelectFilesResult = InputResult<string[]>;
181
- export declare type SelectFolderResult = InputResult<string>;
182
- /**
183
- * Definition of a runnable task
184
- */
185
- export interface RunnableTask<T> {
186
- /**
187
- * task name
188
- */
189
- name?: string;
190
- /**
191
- * current progress
192
- */
193
- current?: number;
194
- /**
195
- * total progress
196
- */
197
- readonly total?: number;
198
- /**
199
- * status message
200
- */
201
- message?: string;
202
- /**
203
- * a function that realy implements the running of the task
204
- * @param args args
205
- */
206
- run(...args: any): Promise<Result<T, FxError>>;
207
- /**
208
- * a function that implements the cancelling of the task
209
- */
210
- cancel?(): void;
211
- /**
212
- * a state that indicate whether the task is cancelled or not
213
- */
214
- isCanceled?: boolean;
215
- }
216
- /**
217
- * task running configuration
218
- */
219
- export interface TaskConfig {
220
- /**
221
- * whether task can be cancelled or not
222
- */
223
- cancellable?: boolean;
224
- /**
225
- * whether to show the numeric progress of the task
226
- */
227
- showProgress?: boolean;
228
- }
229
- /**
230
- * task group configuration
231
- */
232
- export interface TaskGroupConfig {
233
- /**
234
- * if true, the tasks in the group are running in parallel
235
- * if false, the tasks are running in sequence.
236
- */
237
- sequential?: boolean;
238
- /**
239
- * whether to terminate all tasks if some task is failed or canceled
240
- */
241
- fastFail?: boolean;
242
- }
225
+ export type SingleSelectResult = InputResult<string | OptionItem>;
226
+ export type MultiSelectResult = InputResult<StaticOptions>;
227
+ export type InputTextResult = InputResult<string>;
228
+ export type SelectFileResult = InputResult<string>;
229
+ export type SelectFilesResult = InputResult<string[]>;
230
+ export type SelectFolderResult = InputResult<string>;
243
231
  /**
244
232
  * Definition of user interaction, which is platform independent
245
233
  */
@@ -321,14 +309,6 @@ export interface UserInteraction {
321
309
  * @returns the handler of a progress bar
322
310
  */
323
311
  createProgressBar: (title: string, totalSteps: number) => IProgressHandler;
324
- /**
325
- * A function to run a task with progress bar. (CLI and VS Code has different UI experience for progress bar)
326
- * @param task a runnable task with progress definition
327
- * @param config task running configuration
328
- * @param args args for task run() API
329
- * @returns A promise that resolves the wrapper of task running result or FxError
330
- */
331
- runWithProgress<T>(task: RunnableTask<T>, config: TaskConfig, ...args: any): Promise<Result<T, FxError>>;
332
312
  /**
333
313
  * Reload window to update user interface. (Only works for VS Code)
334
314
  * @returns A promise indicating if reload is successful.
@@ -358,6 +338,14 @@ export interface UserInteraction {
358
338
  [k: string]: string;
359
339
  };
360
340
  }): Promise<Result<string, FxError>>;
341
+ /**
342
+ * 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.
343
+ * If CLI, it will directly asks user to enter a value.
344
+ * @param config config to select local file or enter a value
345
+ * @returns A promise that resolves to the local file path or the value entered by user or FxError
346
+ * @throws FxError
347
+ */
348
+ selectFileOrInput?(config: SingleFileOrInputConfig): Promise<Result<InputResult<string>, FxError>>;
361
349
  }
362
350
  export interface IProgressHandler {
363
351
  /**
@@ -377,21 +365,6 @@ export interface IProgressHandler {
377
365
  * End the progress bar and tell if success. After calling it, the progress bar will disappear. This handler
378
366
  * can be reused after calling end().
379
367
  */
380
- end: (success: boolean) => Promise<void>;
381
- }
382
- /**
383
- * An implementation of task group that will define the progress when all tasks are running
384
- */
385
- export declare class GroupOfTasks<T> implements RunnableTask<Result<T, FxError>[]> {
386
- name?: string;
387
- current: number;
388
- readonly total: number;
389
- isCanceled: boolean;
390
- tasks: RunnableTask<T>[];
391
- config?: TaskGroupConfig;
392
- message?: string;
393
- constructor(tasks: RunnableTask<T>[], config?: TaskGroupConfig);
394
- run(...args: any): Promise<Result<Result<T, FxError>[], FxError>>;
395
- cancel(): void;
368
+ end: (success: boolean, hideAfterFinish?: boolean) => Promise<void>;
396
369
  }
397
370
  //# sourceMappingURL=ui.d.ts.map
@@ -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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"}
package/build/qm/ui.js CHANGED
@@ -2,90 +2,4 @@
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT license.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.GroupOfTasks = void 0;
6
- const neverthrow_1 = require("neverthrow");
7
- const error_1 = require("../error");
8
- /**
9
- * An implementation of task group that will define the progress when all tasks are running
10
- */
11
- class GroupOfTasks {
12
- constructor(tasks, config) {
13
- this.current = 0;
14
- this.isCanceled = false;
15
- this.tasks = tasks;
16
- this.config = config;
17
- this.total = this.tasks.length;
18
- }
19
- async run(...args) {
20
- if (this.tasks.length === 0)
21
- return neverthrow_1.ok([]);
22
- return new Promise(async (resolve) => {
23
- let results = [];
24
- const isFastFail = this.config && this.config.fastFail;
25
- const isSeq = this.config && this.config.sequential;
26
- if (isSeq) {
27
- this.current = 0;
28
- for (let i = 0; i < this.tasks.length; ++i) {
29
- if (this.isCanceled === true) {
30
- resolve(neverthrow_1.err(error_1.UserCancelError));
31
- return;
32
- }
33
- const task = this.tasks[i];
34
- if (task.name) {
35
- this.message = task.name;
36
- }
37
- try {
38
- const taskRes = await task.run(args);
39
- if (taskRes.isErr() && isFastFail) {
40
- this.isCanceled = true;
41
- resolve(neverthrow_1.err(taskRes.error));
42
- return;
43
- }
44
- results.push(taskRes);
45
- }
46
- catch (e) {
47
- if (isFastFail) {
48
- this.isCanceled = true;
49
- resolve(neverthrow_1.err(e));
50
- return;
51
- }
52
- results.push(neverthrow_1.err(e));
53
- }
54
- finally {
55
- this.current = i + 1;
56
- }
57
- }
58
- }
59
- else {
60
- const promiseResults = this.tasks.map((t) => t.run(args));
61
- promiseResults.forEach((p) => {
62
- p.then((v) => {
63
- this.current++;
64
- if (v.isErr() && isFastFail) {
65
- this.isCanceled = true;
66
- resolve(neverthrow_1.err(v.error));
67
- return;
68
- }
69
- }).catch((e) => {
70
- this.current++;
71
- if (isFastFail) {
72
- this.isCanceled = true;
73
- resolve(neverthrow_1.err(e));
74
- return;
75
- }
76
- });
77
- });
78
- results = await Promise.all(promiseResults);
79
- }
80
- resolve(neverthrow_1.ok(results));
81
- });
82
- }
83
- cancel() {
84
- for (const task of this.tasks)
85
- if (task.cancel)
86
- task.cancel();
87
- this.isCanceled = true;
88
- }
89
- }
90
- exports.GroupOfTasks = GroupOfTasks;
91
5
  //# sourceMappingURL=ui.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/qm/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/qm/ui.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC"}
@@ -1,5 +1,5 @@
1
1
  import { Inputs, OptionItem } from "../types";
2
- export declare type ValidateFunc<T> = (input: T, inputs?: Inputs) => string | undefined | Promise<string | undefined>;
2
+ export type ValidateFunc<T> = (input: T, inputs?: Inputs) => string | undefined | Promise<string | undefined>;
3
3
  /**
4
4
  * Validation for Any Instance Type
5
5
  * JSON Schema Validation reference: http://json-schema.org/draft/2019-09/json-schema-validation.html
@@ -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,24 +115,9 @@ export interface FuncValidation<T extends string | string[] | OptionItem | Optio
111
115
  */
112
116
  validFunc: ValidateFunc<T>;
113
117
  }
118
+ export 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
  */
117
- export declare type ValidationSchema = StringValidation | StringArrayValidation | FuncValidation<any>;
118
- /**
119
- * A function to return a validation function according the validation schema
120
- * @param validation validation schema
121
- * @param inputs object to carry all user inputs
122
- * @returns a validation function
123
- */
124
- export declare function getValidationFunction<T extends string | string[] | undefined>(validation: ValidationSchema, inputs: Inputs): (input: T) => string | undefined | Promise<string | undefined>;
125
- /**
126
- * Implementation of validation function
127
- * @param validSchema validation schema
128
- * @param value value to validate
129
- * @param inputs user inputs object, which works as the context of the validation
130
- * @returns A human-readable string which is presented as diagnostic message.
131
- * Return `undefined` when 'value' is valid.
132
- */
133
- export declare function validate<T extends string | string[] | OptionItem | OptionItem[] | undefined>(validSchema: ValidationSchema, value: T, inputs?: Inputs): Promise<string | undefined>;
122
+ export type ValidationSchema = StringValidation | StringArrayValidation | FuncValidation<any>;
134
123
  //# 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":"AAEA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,MAAM,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;IAEnB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;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,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,qBAAqB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC"}
@@ -1,162 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validate = exports.getValidationFunction = void 0;
4
- const tslib_1 = require("tslib");
5
- // Copyright (c) Microsoft Corporation.
6
- // Licensed under the MIT license.
7
- const jsonschema = tslib_1.__importStar(require("jsonschema"));
8
- /**
9
- * A function to return a validation function according the validation schema
10
- * @param validation validation schema
11
- * @param inputs object to carry all user inputs
12
- * @returns a validation function
13
- */
14
- function getValidationFunction(validation, inputs) {
15
- return function (input) {
16
- return validate(validation, input, inputs);
17
- };
18
- }
19
- exports.getValidationFunction = getValidationFunction;
20
- /**
21
- * Implementation of validation function
22
- * @param validSchema validation schema
23
- * @param value value to validate
24
- * @param inputs user inputs object, which works as the context of the validation
25
- * @returns A human-readable string which is presented as diagnostic message.
26
- * Return `undefined` when 'value' is valid.
27
- */
28
- async function validate(validSchema, value, inputs) {
29
- {
30
- //FuncValidation
31
- const funcValidation = validSchema;
32
- if (funcValidation.validFunc) {
33
- const res = await funcValidation.validFunc(value, inputs);
34
- return res;
35
- }
36
- }
37
- if (!value) {
38
- if (validSchema.required === true)
39
- return `input value is required.`;
40
- }
41
- {
42
- // StringValidation
43
- const stringValidation = validSchema;
44
- const strToValidate = value;
45
- if (typeof strToValidate === "string") {
46
- const schema = {};
47
- if (stringValidation.equals && typeof stringValidation.equals === "string")
48
- schema.const = stringValidation.equals;
49
- if (stringValidation.enum &&
50
- stringValidation.enum.length > 0 &&
51
- typeof stringValidation.enum[0] === "string")
52
- schema.enum = stringValidation.enum;
53
- if (stringValidation.minLength)
54
- schema.minLength = stringValidation.minLength;
55
- if (stringValidation.maxLength)
56
- schema.maxLength = stringValidation.maxLength;
57
- if (stringValidation.pattern)
58
- schema.pattern = stringValidation.pattern;
59
- if (Object.keys(schema).length > 0) {
60
- const validateResult = jsonschema.validate(strToValidate, schema);
61
- if (validateResult.errors && validateResult.errors.length > 0) {
62
- return `'${strToValidate}' ${validateResult.errors[0].message}`;
63
- }
64
- }
65
- if (stringValidation.startsWith) {
66
- if (!strToValidate.startsWith(stringValidation.startsWith)) {
67
- return `'${strToValidate}' does not meet startsWith:'${stringValidation.startsWith}'`;
68
- }
69
- }
70
- if (stringValidation.endsWith) {
71
- if (!strToValidate.endsWith(stringValidation.endsWith)) {
72
- return `'${strToValidate}' does not meet endsWith:'${stringValidation.endsWith}'`;
73
- }
74
- }
75
- if (stringValidation.includes && typeof strToValidate === "string") {
76
- if (!strToValidate.includes(stringValidation.includes)) {
77
- return `'${strToValidate}' does not meet includes:'${stringValidation.includes}'`;
78
- }
79
- }
80
- if (stringValidation.notEquals && typeof strToValidate === "string") {
81
- if (strToValidate === stringValidation.notEquals) {
82
- return `'${strToValidate}' does not meet notEquals:'${stringValidation.notEquals}'`;
83
- }
84
- }
85
- }
86
- }
87
- //StringArrayValidation
88
- {
89
- const stringArrayValidation = validSchema;
90
- const arrayToValidate = value;
91
- if (arrayToValidate instanceof Array) {
92
- const schema = {};
93
- if (stringArrayValidation.maxItems)
94
- schema.maxItems = stringArrayValidation.maxItems;
95
- if (stringArrayValidation.minItems)
96
- schema.minItems = stringArrayValidation.minItems;
97
- if (stringArrayValidation.uniqueItems)
98
- schema.uniqueItems = stringArrayValidation.uniqueItems;
99
- if (Object.keys(schema).length > 0) {
100
- const validateResult = jsonschema.validate(arrayToValidate, schema);
101
- if (validateResult.errors && validateResult.errors.length > 0) {
102
- return `'${arrayToValidate}' ${validateResult.errors[0].message}`;
103
- }
104
- }
105
- if (stringArrayValidation.equals) {
106
- if (stringArrayValidation.equals instanceof Array) {
107
- stringArrayValidation.enum = stringArrayValidation.equals;
108
- stringArrayValidation.containsAll = stringArrayValidation.equals;
109
- }
110
- else {
111
- return `Array '${arrayToValidate}' does not equals to string:'${stringArrayValidation.equals}'`;
112
- }
113
- }
114
- if (stringArrayValidation.enum) {
115
- for (const item of arrayToValidate) {
116
- if (!stringArrayValidation.enum.includes(item)) {
117
- return `'${arrayToValidate}' does not meet with enum:'${stringArrayValidation.enum}'`;
118
- }
119
- }
120
- }
121
- if (stringArrayValidation.excludes) {
122
- if (arrayToValidate.includes(stringArrayValidation.excludes)) {
123
- return `'${arrayToValidate}' does not meet with excludes:'${stringArrayValidation.excludes}'`;
124
- }
125
- }
126
- if (stringArrayValidation.contains) {
127
- if (!arrayToValidate.includes(stringArrayValidation.contains)) {
128
- return `'${arrayToValidate}' does not meet with contains:'${stringArrayValidation.contains}'`;
129
- }
130
- }
131
- if (stringArrayValidation.containsAll) {
132
- const containsAll = stringArrayValidation.containsAll;
133
- if (containsAll.length > 0) {
134
- for (const i of containsAll) {
135
- if (!arrayToValidate.includes(i)) {
136
- return `'${arrayToValidate}' does not meet with containsAll:'${containsAll}'`;
137
- }
138
- }
139
- }
140
- }
141
- if (stringArrayValidation.containsAny) {
142
- const containsAny = stringArrayValidation.containsAny;
143
- if (containsAny.length > 0) {
144
- // let array = valueToValidate as string[];
145
- let found = false;
146
- for (const i of containsAny) {
147
- if (arrayToValidate.includes(i)) {
148
- found = true;
149
- break;
150
- }
151
- }
152
- if (!found) {
153
- return `'${arrayToValidate}' does not meet containsAny:'${containsAny}'`;
154
- }
155
- }
156
- }
157
- }
158
- }
159
- return undefined;
160
- }
161
- exports.validate = validate;
162
3
  //# sourceMappingURL=validation.js.map
@@ -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":""}