@microsoft/teamsfx-api 0.22.3 → 0.22.4-alpha.09fb224aa.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.
- package/build/constants.d.ts +0 -9
- package/build/constants.d.ts.map +1 -1
- package/build/constants.js +1 -10
- package/build/constants.js.map +1 -1
- package/build/context.d.ts +9 -28
- package/build/context.d.ts.map +1 -1
- package/build/error.d.ts +0 -47
- package/build/error.d.ts.map +1 -1
- package/build/error.js +3 -135
- package/build/error.js.map +1 -1
- package/build/index.d.ts +4 -16
- package/build/index.d.ts.map +1 -1
- package/build/index.js +4 -17
- package/build/index.js.map +1 -1
- package/build/qm/index.d.ts +0 -1
- package/build/qm/index.d.ts.map +1 -1
- package/build/qm/index.js +0 -1
- package/build/qm/index.js.map +1 -1
- package/build/qm/question.d.ts +16 -7
- package/build/qm/question.d.ts.map +1 -1
- package/build/qm/question.js.map +1 -1
- package/build/qm/ui.d.ts +24 -89
- package/build/qm/ui.d.ts.map +1 -1
- package/build/qm/ui.js +0 -86
- package/build/qm/ui.js.map +1 -1
- package/build/qm/validation.d.ts +2 -1
- package/build/qm/validation.d.ts.map +1 -1
- package/build/qm/validation.js +6 -0
- package/build/qm/validation.js.map +1 -1
- package/build/types.d.ts +29 -129
- package/build/types.d.ts.map +1 -1
- package/build/types.js +1 -97
- package/build/types.js.map +1 -1
- package/build/utils/telemetry.d.ts.map +1 -1
- package/package.json +4 -4
- package/build/action.d.ts +0 -109
- package/build/action.d.ts.map +0 -1
- package/build/action.js +0 -5
- package/build/action.js.map +0 -1
- package/build/bicep.d.ts +0 -19
- package/build/bicep.d.ts.map +0 -1
- package/build/bicep.js +0 -5
- package/build/bicep.js.map +0 -1
- package/build/component.d.ts +0 -31
- package/build/component.d.ts.map +0 -1
- package/build/component.js +0 -3
- package/build/component.js.map +0 -1
- package/build/core.d.ts +0 -50
- package/build/core.d.ts.map +0 -1
- package/build/core.js +0 -5
- package/build/core.js.map +0 -1
- package/build/plugin.d.ts +0 -71
- package/build/plugin.d.ts.map +0 -1
- package/build/plugin.js +0 -5
- package/build/plugin.js.map +0 -1
- package/build/qm/visitor.d.ts +0 -15
- package/build/qm/visitor.d.ts.map +0 -1
- package/build/qm/visitor.js +0 -388
- package/build/qm/visitor.js.map +0 -1
- package/build/solution.d.ts +0 -29
- package/build/solution.d.ts.map +0 -1
- package/build/solution.js +0 -5
- package/build/solution.js.map +0 -1
- package/build/v2/index.d.ts +0 -4
- package/build/v2/index.d.ts.map +0 -1
- package/build/v2/index.js +0 -9
- package/build/v2/index.js.map +0 -1
- package/build/v2/resourcePlugin.d.ts +0 -180
- package/build/v2/resourcePlugin.d.ts.map +0 -1
- package/build/v2/resourcePlugin.js +0 -5
- package/build/v2/resourcePlugin.js.map +0 -1
- package/build/v2/solutionPlugin.d.ts +0 -100
- package/build/v2/solutionPlugin.d.ts.map +0 -1
- package/build/v2/solutionPlugin.js +0 -5
- package/build/v2/solutionPlugin.js.map +0 -1
- package/build/v2/types.d.ts +0 -67
- package/build/v2/types.d.ts.map +0 -1
- package/build/v2/types.js +0 -28
- package/build/v2/types.js.map +0 -1
- package/build/v3/AzureResourceStates.d.ts +0 -58
- package/build/v3/AzureResourceStates.d.ts.map +0 -1
- package/build/v3/AzureResourceStates.js +0 -3
- package/build/v3/AzureResourceStates.js.map +0 -1
- package/build/v3/core.d.ts +0 -22
- package/build/v3/core.d.ts.map +0 -1
- package/build/v3/core.js +0 -5
- package/build/v3/core.js.map +0 -1
- package/build/v3/index.d.ts +0 -7
- package/build/v3/index.d.ts.map +0 -1
- package/build/v3/index.js +0 -12
- package/build/v3/index.js.map +0 -1
- package/build/v3/plugins.d.ts +0 -104
- package/build/v3/plugins.d.ts.map +0 -1
- package/build/v3/plugins.js +0 -5
- package/build/v3/plugins.js.map +0 -1
- package/build/v3/resourceStates.d.ts +0 -66
- package/build/v3/resourceStates.d.ts.map +0 -1
- package/build/v3/resourceStates.js +0 -5
- package/build/v3/resourceStates.js.map +0 -1
- package/build/v3/solution.d.ts +0 -40
- package/build/v3/solution.d.ts.map +0 -1
- package/build/v3/solution.js +0 -5
- package/build/v3/solution.js.map +0 -1
- package/build/v3/types.d.ts +0 -28
- package/build/v3/types.d.ts.map +0 -1
- package/build/v3/types.js +0 -5
- package/build/v3/types.js.map +0 -1
- package/build/vscode.d.ts +0 -22
- package/build/vscode.d.ts.map +0 -1
- package/build/vscode.js +0 -5
- package/build/vscode.js.map +0 -1
package/build/qm/visitor.js
DELETED
|
@@ -1,388 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright (c) Microsoft Corporation.
|
|
3
|
-
// Licensed under the MIT license.
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.traverse = exports.getCallFuncValue = exports.getSingleOption = exports.loadOptions = exports.isAutoSkipSelect = void 0;
|
|
6
|
-
const validation_1 = require("./validation");
|
|
7
|
-
const error_1 = require("../error");
|
|
8
|
-
const types_1 = require("../types");
|
|
9
|
-
const neverthrow_1 = require("neverthrow");
|
|
10
|
-
const constants_1 = require("../constants");
|
|
11
|
-
function isAutoSkipSelect(q) {
|
|
12
|
-
if (q.type === "singleSelect" || q.type === "multiSelect") {
|
|
13
|
-
const select = q;
|
|
14
|
-
if (select.skipSingleOption && select.staticOptions.length === 1) {
|
|
15
|
-
return true;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
exports.isAutoSkipSelect = isAutoSkipSelect;
|
|
21
|
-
async function loadOptions(q, inputs) {
|
|
22
|
-
if (q.type === "singleSelect" || q.type === "multiSelect") {
|
|
23
|
-
const selectQuestion = q;
|
|
24
|
-
let option;
|
|
25
|
-
if (selectQuestion.dynamicOptions)
|
|
26
|
-
option = (await getCallFuncValue(inputs, selectQuestion.dynamicOptions));
|
|
27
|
-
else
|
|
28
|
-
option = selectQuestion.staticOptions;
|
|
29
|
-
if (!option || option.length === 0) {
|
|
30
|
-
return neverthrow_1.err(new error_1.EmptyOptionError());
|
|
31
|
-
}
|
|
32
|
-
if (selectQuestion.skipSingleOption && option.length === 1)
|
|
33
|
-
return neverthrow_1.ok({ autoSkip: true, options: option });
|
|
34
|
-
else
|
|
35
|
-
return neverthrow_1.ok({ autoSkip: false, options: option });
|
|
36
|
-
}
|
|
37
|
-
else
|
|
38
|
-
return neverthrow_1.ok({ autoSkip: false });
|
|
39
|
-
}
|
|
40
|
-
exports.loadOptions = loadOptions;
|
|
41
|
-
function getSingleOption(q, option) {
|
|
42
|
-
if (!option)
|
|
43
|
-
option = q.staticOptions;
|
|
44
|
-
const optionIsString = typeof option[0] === "string";
|
|
45
|
-
let returnResult;
|
|
46
|
-
if (optionIsString)
|
|
47
|
-
returnResult = option[0];
|
|
48
|
-
else {
|
|
49
|
-
if (q.returnObject === true)
|
|
50
|
-
returnResult = option[0];
|
|
51
|
-
else
|
|
52
|
-
returnResult = option[0].id;
|
|
53
|
-
}
|
|
54
|
-
if (q.type === "singleSelect")
|
|
55
|
-
return returnResult;
|
|
56
|
-
else
|
|
57
|
-
return [returnResult];
|
|
58
|
-
}
|
|
59
|
-
exports.getSingleOption = getSingleOption;
|
|
60
|
-
async function getCallFuncValue(inputs, raw) {
|
|
61
|
-
if (raw && typeof raw === "function") {
|
|
62
|
-
return await raw(inputs);
|
|
63
|
-
}
|
|
64
|
-
return raw;
|
|
65
|
-
}
|
|
66
|
-
exports.getCallFuncValue = getCallFuncValue;
|
|
67
|
-
/**
|
|
68
|
-
* ask question when visiting the question tree
|
|
69
|
-
* @param question
|
|
70
|
-
* @param core
|
|
71
|
-
* @param inputs
|
|
72
|
-
*/
|
|
73
|
-
const questionVisitor = async function (question, ui, inputs, step, totalSteps) {
|
|
74
|
-
if (inputs[question.name] !== undefined) {
|
|
75
|
-
return neverthrow_1.ok({ type: "skip", result: inputs[question.name] });
|
|
76
|
-
}
|
|
77
|
-
const title = (await getCallFuncValue(inputs, question.title));
|
|
78
|
-
if (question.type === "func") {
|
|
79
|
-
try {
|
|
80
|
-
let res;
|
|
81
|
-
if (ui.executeFunction) {
|
|
82
|
-
res = await ui.executeFunction({
|
|
83
|
-
name: question.name,
|
|
84
|
-
title: title !== null && title !== void 0 ? title : "Executing operation...",
|
|
85
|
-
func: question.func,
|
|
86
|
-
inputs: inputs,
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
res = await question.func(inputs);
|
|
91
|
-
}
|
|
92
|
-
if (typeof res === "object" && "isOk" in res) {
|
|
93
|
-
const fxresult = res;
|
|
94
|
-
if (fxresult.isOk()) {
|
|
95
|
-
return neverthrow_1.ok({ type: "success", result: fxresult.value });
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
return neverthrow_1.err(fxresult.error);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
return neverthrow_1.ok({ type: "success", result: res });
|
|
102
|
-
}
|
|
103
|
-
catch (e) {
|
|
104
|
-
return neverthrow_1.err(error_1.assembleError(e));
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
const defaultValue = question.forgetLastValue !== true && question.value
|
|
109
|
-
? question.value
|
|
110
|
-
: await getCallFuncValue(inputs, question.default);
|
|
111
|
-
const placeholder = (await getCallFuncValue(inputs, question.placeholder));
|
|
112
|
-
const prompt = (await getCallFuncValue(inputs, question.prompt));
|
|
113
|
-
if (question.type === "text") {
|
|
114
|
-
const validationFunc = question.validation
|
|
115
|
-
? validation_1.getValidationFunction(question.validation, inputs)
|
|
116
|
-
: undefined;
|
|
117
|
-
const inputQuestion = question;
|
|
118
|
-
return await ui.inputText({
|
|
119
|
-
name: question.name,
|
|
120
|
-
title: title,
|
|
121
|
-
password: inputQuestion.password,
|
|
122
|
-
default: defaultValue,
|
|
123
|
-
placeholder: placeholder,
|
|
124
|
-
prompt: prompt,
|
|
125
|
-
validation: validationFunc,
|
|
126
|
-
step: step,
|
|
127
|
-
totalSteps: totalSteps,
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
else if (question.type === "singleSelect" || question.type === "multiSelect") {
|
|
131
|
-
const selectQuestion = question;
|
|
132
|
-
const loadRes = await loadOptions(selectQuestion, inputs);
|
|
133
|
-
if (loadRes.isErr()) {
|
|
134
|
-
return neverthrow_1.err(loadRes.error);
|
|
135
|
-
}
|
|
136
|
-
// Skip single/mulitple option select
|
|
137
|
-
const res = loadRes.value;
|
|
138
|
-
if (!res.options || res.options.length === 0) {
|
|
139
|
-
return neverthrow_1.err(new error_1.EmptyOptionError());
|
|
140
|
-
}
|
|
141
|
-
if (res.autoSkip === true) {
|
|
142
|
-
const returnResult = getSingleOption(selectQuestion, res.options);
|
|
143
|
-
return neverthrow_1.ok({ type: "skip", result: returnResult });
|
|
144
|
-
}
|
|
145
|
-
if (question.type === "singleSelect") {
|
|
146
|
-
const validationFunc = question.validation
|
|
147
|
-
? validation_1.getValidationFunction(question.validation, inputs)
|
|
148
|
-
: undefined;
|
|
149
|
-
return await ui.selectOption({
|
|
150
|
-
name: question.name,
|
|
151
|
-
title: title,
|
|
152
|
-
options: res.options,
|
|
153
|
-
returnObject: selectQuestion.returnObject,
|
|
154
|
-
default: defaultValue,
|
|
155
|
-
placeholder: placeholder,
|
|
156
|
-
prompt: prompt,
|
|
157
|
-
step: step,
|
|
158
|
-
totalSteps: totalSteps,
|
|
159
|
-
buttons: question.buttons,
|
|
160
|
-
validation: validationFunc,
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
const mq = selectQuestion;
|
|
165
|
-
const validationFunc = question.validation
|
|
166
|
-
? validation_1.getValidationFunction(question.validation, inputs)
|
|
167
|
-
: undefined;
|
|
168
|
-
return await ui.selectOptions({
|
|
169
|
-
name: question.name,
|
|
170
|
-
title: title,
|
|
171
|
-
options: res.options,
|
|
172
|
-
returnObject: selectQuestion.returnObject,
|
|
173
|
-
default: defaultValue,
|
|
174
|
-
placeholder: placeholder,
|
|
175
|
-
prompt: prompt,
|
|
176
|
-
onDidChangeSelection: mq.onDidChangeSelection,
|
|
177
|
-
step: step,
|
|
178
|
-
totalSteps: totalSteps,
|
|
179
|
-
validation: validationFunc,
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
else if (question.type === "multiFile") {
|
|
184
|
-
const validationFunc = question.validation
|
|
185
|
-
? validation_1.getValidationFunction(question.validation, inputs)
|
|
186
|
-
: undefined;
|
|
187
|
-
return await ui.selectFiles({
|
|
188
|
-
name: question.name,
|
|
189
|
-
title: title,
|
|
190
|
-
placeholder: placeholder,
|
|
191
|
-
prompt: prompt,
|
|
192
|
-
step: step,
|
|
193
|
-
totalSteps: totalSteps,
|
|
194
|
-
validation: validationFunc,
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
else if (question.type === "singleFile") {
|
|
198
|
-
const validationFunc = question.validation
|
|
199
|
-
? validation_1.getValidationFunction(question.validation, inputs)
|
|
200
|
-
: undefined;
|
|
201
|
-
return await ui.selectFile({
|
|
202
|
-
name: question.name,
|
|
203
|
-
title: title,
|
|
204
|
-
placeholder: placeholder,
|
|
205
|
-
prompt: prompt,
|
|
206
|
-
default: defaultValue,
|
|
207
|
-
step: step,
|
|
208
|
-
totalSteps: totalSteps,
|
|
209
|
-
validation: validationFunc,
|
|
210
|
-
});
|
|
211
|
-
}
|
|
212
|
-
else if (question.type === "folder") {
|
|
213
|
-
const validationFunc = question.validation
|
|
214
|
-
? validation_1.getValidationFunction(question.validation, inputs)
|
|
215
|
-
: undefined;
|
|
216
|
-
return await ui.selectFolder({
|
|
217
|
-
name: question.name,
|
|
218
|
-
title: title,
|
|
219
|
-
placeholder: placeholder,
|
|
220
|
-
prompt: prompt,
|
|
221
|
-
default: defaultValue,
|
|
222
|
-
step: step,
|
|
223
|
-
totalSteps: totalSteps,
|
|
224
|
-
validation: validationFunc,
|
|
225
|
-
});
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
return neverthrow_1.err(new error_1.UserError("API", "UnsupportedNodeType", `Unsupported question node type:${JSON.stringify(question)}`, `Unsupported question node type:${JSON.stringify(question)}`));
|
|
229
|
-
};
|
|
230
|
-
async function traverse(root, inputs, ui, telemetryReporter, visitor = questionVisitor) {
|
|
231
|
-
const stack = [];
|
|
232
|
-
const history = [];
|
|
233
|
-
stack.push(root);
|
|
234
|
-
let step = 1; // manual input step
|
|
235
|
-
let totalStep = 1;
|
|
236
|
-
const parentMap = new Map();
|
|
237
|
-
// const valueMap = new Map<QTreeNode, unknown>();
|
|
238
|
-
const autoSkipSet = new Set();
|
|
239
|
-
while (stack.length > 0) {
|
|
240
|
-
const curr = stack.pop();
|
|
241
|
-
if (!curr)
|
|
242
|
-
continue;
|
|
243
|
-
//visit
|
|
244
|
-
if (curr.data.type !== "group") {
|
|
245
|
-
const question = curr.data;
|
|
246
|
-
totalStep = step + stack.length;
|
|
247
|
-
let qvRes;
|
|
248
|
-
try {
|
|
249
|
-
qvRes = await visitor(question, ui, inputs, step, totalStep);
|
|
250
|
-
sendTelemetryEvent(telemetryReporter, qvRes, question, inputs);
|
|
251
|
-
}
|
|
252
|
-
catch (e) {
|
|
253
|
-
return neverthrow_1.err(error_1.assembleError(e));
|
|
254
|
-
}
|
|
255
|
-
if (qvRes.isErr()) {
|
|
256
|
-
// Cancel or Error
|
|
257
|
-
return neverthrow_1.err(qvRes.error);
|
|
258
|
-
}
|
|
259
|
-
const inputResult = qvRes.value;
|
|
260
|
-
if (inputResult.type === "back") {
|
|
261
|
-
//go back
|
|
262
|
-
// if (curr.children) {
|
|
263
|
-
// while (stack.length > 0) {
|
|
264
|
-
// const tmp = stack[stack.length - 1];
|
|
265
|
-
// if (curr.children.includes(tmp)) {
|
|
266
|
-
// stack.pop();
|
|
267
|
-
// } else {
|
|
268
|
-
// break;
|
|
269
|
-
// }
|
|
270
|
-
// }
|
|
271
|
-
// }
|
|
272
|
-
stack.push(curr);
|
|
273
|
-
// find the previous input that is neither group nor func nor single option select
|
|
274
|
-
let found = false;
|
|
275
|
-
while (history.length > 0) {
|
|
276
|
-
const last = history.pop();
|
|
277
|
-
if (!last)
|
|
278
|
-
continue;
|
|
279
|
-
if (last.children) {
|
|
280
|
-
while (stack.length > 0) {
|
|
281
|
-
const tmp = stack[stack.length - 1];
|
|
282
|
-
if (last.children.includes(tmp)) {
|
|
283
|
-
stack.pop();
|
|
284
|
-
}
|
|
285
|
-
else {
|
|
286
|
-
break;
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
stack.push(last);
|
|
291
|
-
if (last.data.type !== "group")
|
|
292
|
-
delete inputs[last.data.name];
|
|
293
|
-
const lastIsAutoSkip = autoSkipSet.has(last);
|
|
294
|
-
if (last.data.type !== "group" && last.data.type !== "func" && !lastIsAutoSkip) {
|
|
295
|
-
found = true;
|
|
296
|
-
break;
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
if (!found) {
|
|
300
|
-
return neverthrow_1.err(error_1.UserCancelError);
|
|
301
|
-
}
|
|
302
|
-
--step;
|
|
303
|
-
continue; //ignore the following steps
|
|
304
|
-
}
|
|
305
|
-
else {
|
|
306
|
-
//success or skip
|
|
307
|
-
question.value = inputResult.result;
|
|
308
|
-
inputs[question.name] = question.value;
|
|
309
|
-
if (inputResult.type === "skip" || question.type === "func") {
|
|
310
|
-
if (inputResult.type === "skip")
|
|
311
|
-
autoSkipSet.add(curr);
|
|
312
|
-
}
|
|
313
|
-
else {
|
|
314
|
-
++step;
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
history.push(curr);
|
|
319
|
-
if (curr.children) {
|
|
320
|
-
const matchChildren = [];
|
|
321
|
-
const valueInMap = findValue(curr, parentMap); //curr.data.type !== "group" ? curr.data.value : undefined; //valueMap.get(curr);
|
|
322
|
-
for (const child of curr.children) {
|
|
323
|
-
if (!child)
|
|
324
|
-
continue;
|
|
325
|
-
if (child.condition) {
|
|
326
|
-
const validRes = await validation_1.validate(child.condition, valueInMap, inputs);
|
|
327
|
-
if (validRes !== undefined) {
|
|
328
|
-
continue;
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
matchChildren.push(child);
|
|
332
|
-
}
|
|
333
|
-
for (let i = matchChildren.length - 1; i >= 0; --i) {
|
|
334
|
-
const child = matchChildren[i];
|
|
335
|
-
parentMap.set(child, curr);
|
|
336
|
-
stack.push(child);
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
return neverthrow_1.ok(types_1.Void);
|
|
341
|
-
}
|
|
342
|
-
exports.traverse = traverse;
|
|
343
|
-
function findValue(curr, parentMap) {
|
|
344
|
-
if (curr.data.type !== "group") {
|
|
345
|
-
// need to convert OptionItem value into id for validation
|
|
346
|
-
if (curr.data.type === "singleSelect") {
|
|
347
|
-
const sq = curr.data;
|
|
348
|
-
if (sq.value && typeof sq.value !== "string" && sq.value.id) {
|
|
349
|
-
return sq.value.id;
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
else if (curr.data.type === "multiSelect") {
|
|
353
|
-
const mq = curr.data;
|
|
354
|
-
if (mq.value && typeof mq.value[0] !== "string") {
|
|
355
|
-
return mq.value.map((i) => i.id);
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
return curr.data.value;
|
|
359
|
-
}
|
|
360
|
-
const parent = parentMap.get(curr);
|
|
361
|
-
if (parent) {
|
|
362
|
-
return findValue(parent, parentMap);
|
|
363
|
-
}
|
|
364
|
-
return undefined;
|
|
365
|
-
}
|
|
366
|
-
function sendTelemetryEvent(telemetryReporter, qvres, question, inputs) {
|
|
367
|
-
var _a;
|
|
368
|
-
if (qvres.isErr()) {
|
|
369
|
-
telemetryReporter === null || telemetryReporter === void 0 ? void 0 : telemetryReporter.sendTelemetryEvent(constants_1.TelemetryEvent.askQuestion, {
|
|
370
|
-
[constants_1.TelemetryProperty.answerType]: qvres.error.name,
|
|
371
|
-
[constants_1.TelemetryProperty.question]: question.name,
|
|
372
|
-
[constants_1.TelemetryProperty.platform]: inputs.platform,
|
|
373
|
-
[constants_1.TelemetryProperty.stage]: inputs.stage ? inputs.stage : "",
|
|
374
|
-
});
|
|
375
|
-
}
|
|
376
|
-
else {
|
|
377
|
-
telemetryReporter === null || telemetryReporter === void 0 ? void 0 : telemetryReporter.sendTelemetryEvent(constants_1.TelemetryEvent.askQuestion, {
|
|
378
|
-
[constants_1.TelemetryProperty.answerType]: qvres.value.type,
|
|
379
|
-
[constants_1.TelemetryProperty.question]: question.name,
|
|
380
|
-
[constants_1.TelemetryProperty.answer]: question.type == "singleSelect" || question.type == "multiSelect"
|
|
381
|
-
? (_a = qvres.value.result) === null || _a === void 0 ? void 0 : _a.toString()
|
|
382
|
-
: "",
|
|
383
|
-
[constants_1.TelemetryProperty.platform]: inputs.platform,
|
|
384
|
-
[constants_1.TelemetryProperty.stage]: inputs.stage ? inputs.stage : "",
|
|
385
|
-
});
|
|
386
|
-
}
|
|
387
|
-
}
|
|
388
|
-
//# sourceMappingURL=visitor.js.map
|
package/build/qm/visitor.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"visitor.js","sourceRoot":"","sources":["../../src/qm/visitor.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAUlC,6CAA+D;AAC/D,oCAAgG;AAChG,oCAAoD;AAEpD,2CAA6C;AAE7C,4CAAiE;AAEjE,SAAgB,gBAAgB,CAAC,CAAW;IAC1C,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE;QACzD,MAAM,MAAM,GAAG,CAA+C,CAAC;QAC/D,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAChE,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AARD,4CAQC;AAEM,KAAK,UAAU,WAAW,CAC/B,CAAW,EACX,MAAc;IAEd,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE;QACzD,MAAM,cAAc,GAAG,CAA+C,CAAC;QACvE,IAAI,MAAqB,CAAC;QAC1B,IAAI,cAAc,CAAC,cAAc;YAC/B,MAAM,GAAG,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,cAAc,CAAC,cAAc,CAAC,CAAkB,CAAC;;YACvF,MAAM,GAAG,cAAc,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAClC,OAAO,gBAAG,CAAC,IAAI,wBAAgB,EAAE,CAAC,CAAC;SACpC;QACD,IAAI,cAAc,CAAC,gBAAgB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YACxD,OAAO,eAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;;YAC5C,OAAO,eAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;KACtD;;QAAM,OAAO,eAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AACxC,CAAC;AAjBD,kCAiBC;AAED,SAAgB,eAAe,CAC7B,CAA6C,EAC7C,MAAsB;IAEtB,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,CAAC,CAAC,aAAa,CAAC;IACtC,MAAM,cAAc,GAAG,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;IACrD,IAAI,YAAY,CAAC;IACjB,IAAI,cAAc;QAAE,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;SACxC;QACH,IAAI,CAAC,CAAC,YAAY,KAAK,IAAI;YAAE,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;;YACjD,YAAY,GAAI,MAAM,CAAC,CAAC,CAAgB,CAAC,EAAE,CAAC;KAClD;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;QAAE,OAAO,YAAY,CAAC;;QAC9C,OAAO,CAAC,YAAY,CAAC,CAAC;AAC7B,CAAC;AAdD,0CAcC;AAEM,KAAK,UAAU,gBAAgB,CAAC,MAAc,EAAE,GAAa;IAClE,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;QACpC,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;KAC1B;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AALD,4CAKC;AAED;;;;;GAKG;AACH,MAAM,eAAe,GAAG,KAAK,WAC3B,QAAkB,EAClB,EAAmB,EACnB,MAAc,EACd,IAAa,EACb,UAAmB;IAEnB,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;QACvC,OAAO,eAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC5D;IACD,MAAM,KAAK,GAAG,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAW,CAAC;IACzE,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE;QAC5B,IAAI;YACF,IAAI,GAAQ,CAAC;YACb,IAAI,EAAE,CAAC,eAAe,EAAE;gBACtB,GAAG,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC;oBAC7B,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,wBAAwB;oBACxC,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,MAAM,EAAE,MAAM;iBACf,CAAC,CAAC;aACJ;iBAAM;gBACL,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACnC;YACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,EAAE;gBAC5C,MAAM,QAAQ,GAAG,GAA2B,CAAC;gBAC7C,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE;oBACnB,OAAO,eAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;iBACxD;qBAAM;oBACL,OAAO,gBAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;iBAC5B;aACF;YACD,OAAO,eAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;SAC7C;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,gBAAG,CAAC,qBAAa,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9B;KACF;SAAM;QACL,MAAM,YAAY,GAChB,QAAQ,CAAC,eAAe,KAAK,IAAI,IAAI,QAAQ,CAAC,KAAK;YACjD,CAAC,CAAC,QAAQ,CAAC,KAAK;YAChB,CAAC,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAW,CAAC;QACrF,MAAM,MAAM,GAAG,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAW,CAAC;QAC3E,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE;YAC5B,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU;gBACxC,CAAC,CAAC,kCAAqB,CAAS,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAC5D,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,aAAa,GAAG,QAA6B,CAAC;YACpD,OAAO,MAAM,EAAE,CAAC,SAAS,CAAC;gBACxB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK,EAAE,KAAK;gBACZ,QAAQ,EAAG,aAAmC,CAAC,QAAQ;gBACvD,OAAO,EAAE,YAAsB;gBAC/B,WAAW,EAAE,WAAW;gBACxB,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,cAAc;gBAC1B,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,UAAU;aACvB,CAAC,CAAC;SACJ;aAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,cAAc,IAAI,QAAQ,CAAC,IAAI,KAAK,aAAa,EAAE;YAC9E,MAAM,cAAc,GAAG,QAAsD,CAAC;YAC9E,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YAC1D,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE;gBACnB,OAAO,gBAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aAC3B;YACD,qCAAqC;YACrC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC5C,OAAO,gBAAG,CAAC,IAAI,wBAAgB,EAAE,CAAC,CAAC;aACpC;YACD,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,EAAE;gBACzB,MAAM,YAAY,GAAG,eAAe,CAAC,cAAc,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClE,OAAO,eAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;aACnD;YACD,IAAI,QAAQ,CAAC,IAAI,KAAK,cAAc,EAAE;gBACpC,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU;oBACxC,CAAC,CAAC,kCAAqB,CAAS,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;oBAC5D,CAAC,CAAC,SAAS,CAAC;gBACd,OAAO,MAAM,EAAE,CAAC,YAAY,CAAC;oBAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,YAAY,EAAE,cAAc,CAAC,YAAY;oBACzC,OAAO,EAAE,YAAsB;oBAC/B,WAAW,EAAE,WAAW;oBACxB,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,IAAI;oBACV,UAAU,EAAE,UAAU;oBACtB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,UAAU,EAAE,cAAc;iBAC3B,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM,EAAE,GAAG,cAAqC,CAAC;gBACjD,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU;oBACxC,CAAC,CAAC,kCAAqB,CAAW,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;oBAC9D,CAAC,CAAC,SAAS,CAAC;gBACd,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC;oBAC5B,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,YAAY,EAAE,cAAc,CAAC,YAAY;oBACzC,OAAO,EAAE,YAAwB;oBACjC,WAAW,EAAE,WAAW;oBACxB,MAAM,EAAE,MAAM;oBACd,oBAAoB,EAAE,EAAE,CAAC,oBAAoB;oBAC7C,IAAI,EAAE,IAAI;oBACV,UAAU,EAAE,UAAU;oBACtB,UAAU,EAAE,cAAc;iBAC3B,CAAC,CAAC;aACJ;SACF;aAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE;YACxC,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU;gBACxC,CAAC,CAAC,kCAAqB,CAAW,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAC9D,CAAC,CAAC,SAAS,CAAC;YACd,OAAO,MAAM,EAAE,CAAC,WAAW,CAAC;gBAC1B,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,WAAW;gBACxB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,UAAU;gBACtB,UAAU,EAAE,cAAc;aAC3B,CAAC,CAAC;SACJ;aAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE;YACzC,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU;gBACxC,CAAC,CAAC,kCAAqB,CAAS,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAC5D,CAAC,CAAC,SAAS,CAAC;YACd,OAAO,MAAM,EAAE,CAAC,UAAU,CAAC;gBACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,WAAW;gBACxB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,YAAsB;gBAC/B,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,UAAU;gBACtB,UAAU,EAAE,cAAc;aAC3B,CAAC,CAAC;SACJ;aAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE;YACrC,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU;gBACxC,CAAC,CAAC,kCAAqB,CAAS,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAC5D,CAAC,CAAC,SAAS,CAAC;YACd,OAAO,MAAM,EAAE,CAAC,YAAY,CAAC;gBAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,WAAW;gBACxB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,YAAsB;gBAC/B,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,UAAU;gBACtB,UAAU,EAAE,cAAc;aAC3B,CAAC,CAAC;SACJ;KACF;IACD,OAAO,gBAAG,CACR,IAAI,iBAAS,CACX,KAAK,EACL,qBAAqB,EACrB,kCAAkC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAC5D,kCAAkC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAC7D,CACF,CAAC;AACJ,CAAC,CAAC;AAEK,KAAK,UAAU,QAAQ,CAC5B,IAAe,EACf,MAAc,EACd,EAAmB,EACnB,iBAAqC,EACrC,OAAO,GAAG,eAAe;IAEzB,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,oBAAoB;IAClC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAC;IAClD,kDAAkD;IAClD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAa,CAAC;IACzC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,OAAO;QACP,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAgB,CAAC;YACvC,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;YAChC,IAAI,KAAK,CAAC;YACV,IAAI;gBACF,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC7D,kBAAkB,CAAC,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;aAChE;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,gBAAG,CAAC,qBAAa,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9B;YACD,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE;gBACjB,kBAAkB;gBAClB,OAAO,gBAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACzB;YACD,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;YAChC,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE;gBAC/B,SAAS;gBACT,uBAAuB;gBACvB,+BAA+B;gBAC/B,2CAA2C;gBAC3C,yCAAyC;gBACzC,qBAAqB;gBACrB,eAAe;gBACf,eAAe;gBACf,QAAQ;gBACR,MAAM;gBACN,IAAI;gBACJ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEjB,kFAAkF;gBAClF,IAAI,KAAK,GAAG,KAAK,CAAC;gBAClB,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;oBAC3B,IAAI,CAAC,IAAI;wBAAE,SAAS;oBACpB,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACjB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;4BACvB,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;4BACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gCAC/B,KAAK,CAAC,GAAG,EAAE,CAAC;6BACb;iCAAM;gCACL,MAAM;6BACP;yBACF;qBACF;oBACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO;wBAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAE9D,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC7C,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,cAAc,EAAE;wBAC9E,KAAK,GAAG,IAAI,CAAC;wBACb,MAAM;qBACP;iBACF;gBACD,IAAI,CAAC,KAAK,EAAE;oBACV,OAAO,gBAAG,CAAC,uBAAe,CAAC,CAAC;iBAC7B;gBACD,EAAE,IAAI,CAAC;gBACP,SAAS,CAAC,4BAA4B;aACvC;iBAAM;gBACL,iBAAiB;gBACjB,QAAQ,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;gBACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAEvC,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE;oBAC3D,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM;wBAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACxD;qBAAM;oBACL,EAAE,IAAI,CAAC;iBACR;aACF;SACF;QAED,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEnB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,aAAa,GAAgB,EAAE,CAAC;YACtC,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,iFAAiF;YAChI,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjC,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,IAAI,KAAK,CAAC,SAAS,EAAE;oBACnB,MAAM,QAAQ,GAAG,MAAM,qBAAQ,CAC7B,KAAK,CAAC,SAAS,EACf,UAA2D,EAC3D,MAAM,CACP,CAAC;oBACF,IAAI,QAAQ,KAAK,SAAS,EAAE;wBAC1B,SAAS;qBACV;iBACF;gBACD,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC3B;YACD,KAAK,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;gBAClD,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC/B,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACnB;SACF;KACF;IACD,OAAO,eAAE,CAAC,YAAI,CAAC,CAAC;AAClB,CAAC;AArHD,4BAqHC;AAED,SAAS,SAAS,CAAC,IAAe,EAAE,SAAoC;IACtE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;QAC9B,0DAA0D;QAC1D,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE;YACrC,MAAM,EAAE,GAAyB,IAAI,CAAC,IAA4B,CAAC;YACnE,IAAI,EAAE,CAAC,KAAK,IAAI,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ,IAAK,EAAE,CAAC,KAAoB,CAAC,EAAE,EAAE;gBAC3E,OAAQ,EAAE,CAAC,KAAoB,CAAC,EAAE,CAAC;aACpC;SACF;aAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE;YAC3C,MAAM,EAAE,GAAwB,IAAI,CAAC,IAA2B,CAAC;YACjE,IAAI,EAAE,CAAC,KAAK,IAAI,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBAC/C,OAAQ,EAAE,CAAC,KAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACpD;SACF;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;KACxB;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,MAAM,EAAE;QACV,OAAO,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;KACrC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CACzB,iBAAgD,EAChD,KAAwC,EACxC,QAAkB,EAClB,MAAc;;IAEd,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE;QACjB,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,kBAAkB,CAAC,0BAAc,CAAC,WAAW,EAAE;YAChE,CAAC,6BAAiB,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;YAChD,CAAC,6BAAiB,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,IAAI;YAC3C,CAAC,6BAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ;YAC7C,CAAC,6BAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAC5D,CAAC,CAAC;KACJ;SAAM;QACL,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,kBAAkB,CAAC,0BAAc,CAAC,WAAW,EAAE;YAChE,CAAC,6BAAiB,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;YAChD,CAAC,6BAAiB,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,IAAI;YAC3C,CAAC,6BAAiB,CAAC,MAAM,CAAC,EACxB,QAAQ,CAAC,IAAI,IAAI,cAAc,IAAI,QAAQ,CAAC,IAAI,IAAI,aAAa;gBAC/D,CAAC,CAAC,MAAA,KAAK,CAAC,KAAK,CAAC,MAAM,0CAAE,QAAQ,EAAE;gBAChC,CAAC,CAAC,EAAE;YACR,CAAC,6BAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ;YAC7C,CAAC,6BAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAC5D,CAAC,CAAC;KACJ;AACH,CAAC"}
|
package/build/solution.d.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Result } from "neverthrow";
|
|
2
|
-
import { SolutionContext } from "./context";
|
|
3
|
-
import { FxError } from "./error";
|
|
4
|
-
import { Func, QTreeNode } from "./qm";
|
|
5
|
-
import { Stage } from "./constants";
|
|
6
|
-
export interface Solution {
|
|
7
|
-
name: string;
|
|
8
|
-
create: (ctx: SolutionContext) => Promise<Result<any, FxError>>;
|
|
9
|
-
scaffold: (ctx: SolutionContext) => Promise<Result<any, FxError>>;
|
|
10
|
-
provision: (ctx: SolutionContext) => Promise<Result<any, FxError>>;
|
|
11
|
-
deploy: (ctx: SolutionContext) => Promise<Result<any, FxError>>;
|
|
12
|
-
publish: (ctx: SolutionContext) => Promise<Result<any, FxError>>;
|
|
13
|
-
localDebug: (ctx: SolutionContext) => Promise<Result<any, FxError>>;
|
|
14
|
-
getQuestions: (task: Stage, ctx: SolutionContext) => Promise<Result<QTreeNode | undefined, FxError>>;
|
|
15
|
-
getQuestionsForUserTask?: (func: Func, ctx: SolutionContext) => Promise<Result<QTreeNode | undefined, FxError>>;
|
|
16
|
-
executeUserTask?: (func: Func, ctx: SolutionContext) => Promise<Result<any, FxError>>;
|
|
17
|
-
/**
|
|
18
|
-
* For grant and check permission in remote collaboration
|
|
19
|
-
*/
|
|
20
|
-
grantPermission?: (ctx: SolutionContext) => Promise<Result<any, FxError>>;
|
|
21
|
-
checkPermission?: (ctx: SolutionContext) => Promise<Result<any, FxError>>;
|
|
22
|
-
listCollaborator?: (ctx: SolutionContext) => Promise<Result<any, FxError>>;
|
|
23
|
-
/**
|
|
24
|
-
* for env management
|
|
25
|
-
*/
|
|
26
|
-
createEnv?: (ctx: SolutionContext) => Promise<Result<any, FxError>>;
|
|
27
|
-
activateEnv?: (ctx: SolutionContext) => Promise<Result<any, FxError>>;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=solution.d.ts.map
|
package/build/solution.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"solution.d.ts","sourceRoot":"","sources":["../src/solution.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhE,QAAQ,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAElE,SAAS,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnE,MAAM,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhE,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAEjE,UAAU,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpE,YAAY,EAAE,CACZ,IAAI,EAAE,KAAK,EACX,GAAG,EAAE,eAAe,KACjB,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAErD,uBAAuB,CAAC,EAAE,CACxB,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,eAAe,KACjB,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAErD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAEtF;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAE1E,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAE1E,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3E;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACpE,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;CACvE"}
|
package/build/solution.js
DELETED
package/build/solution.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"solution.js","sourceRoot":"","sources":["../src/solution.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,YAAY,CAAC"}
|
package/build/v2/index.d.ts
DELETED
package/build/v2/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/v2/index.ts"],"names":[],"mappings":"AAGA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC"}
|
package/build/v2/index.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright (c) Microsoft Corporation.
|
|
3
|
-
// Licensed under the MIT license.
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
const tslib_1 = require("tslib");
|
|
6
|
-
tslib_1.__exportStar(require("./resourcePlugin"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./solutionPlugin"), exports);
|
|
8
|
-
tslib_1.__exportStar(require("./types"), exports);
|
|
9
|
-
//# sourceMappingURL=index.js.map
|
package/build/v2/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/v2/index.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,2DAAiC;AACjC,2DAAiC;AACjC,kDAAwB"}
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
import { Result } from "neverthrow";
|
|
2
|
-
import { FxError } from "../error";
|
|
3
|
-
import { Func, QTreeNode } from "../qm/question";
|
|
4
|
-
import { ProjectSettings, Inputs, Json, Void } from "../types";
|
|
5
|
-
import { M365TokenProvider, TokenProvider } from "../utils";
|
|
6
|
-
import { Context, DeepReadonly, DeploymentInputs, EnvInfoV2, InputsWithProjectPath, ProvisionInputs } from "./types";
|
|
7
|
-
export declare type ResourceTemplate = BicepTemplate | JsonTemplate;
|
|
8
|
-
export declare type JsonTemplate = {
|
|
9
|
-
kind: "json";
|
|
10
|
-
template: Json;
|
|
11
|
-
};
|
|
12
|
-
export declare type BicepTemplate = {
|
|
13
|
-
kind: "bicep";
|
|
14
|
-
template: Record<string, unknown>;
|
|
15
|
-
};
|
|
16
|
-
export declare type ResourceProvisionOutput = {
|
|
17
|
-
output: Json;
|
|
18
|
-
secrets: Json;
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* Interface for ResourcePlugins. a ResourcePlugin can hook into Toolkit's
|
|
22
|
-
* lifecycles by implementing the corresponding API.
|
|
23
|
-
* Implementation of all lifecycles is expected to be idempotent. The return values
|
|
24
|
-
* and observable side effects of each lifecycle are expected to be the same with the same input.
|
|
25
|
-
*
|
|
26
|
-
* All lifecycles follow the same pattern of returning a Promise<Result<T, FxError>>.
|
|
27
|
-
* Please return {@link UserError} or {@link SystemError} when error happens
|
|
28
|
-
* instead of throwing.
|
|
29
|
-
*/
|
|
30
|
-
export interface ResourcePlugin {
|
|
31
|
-
name: string;
|
|
32
|
-
displayName: string;
|
|
33
|
-
/**
|
|
34
|
-
* A resource plugin can decide whether it needs to be activated when the Toolkit initializes
|
|
35
|
-
* based on project settings.
|
|
36
|
-
*
|
|
37
|
-
* @param projectSettings project settings
|
|
38
|
-
*
|
|
39
|
-
* @returns whether to be activated
|
|
40
|
-
*/
|
|
41
|
-
activate(projectSettings: ProjectSettings): boolean;
|
|
42
|
-
/**
|
|
43
|
-
* Called by Toolkit when creating a new project or adding a new resource.
|
|
44
|
-
* A resource plugin is expected to scaffold source code or files on disk, relative to context.projectPath.
|
|
45
|
-
*
|
|
46
|
-
* @example
|
|
47
|
-
* ```
|
|
48
|
-
* scaffoldSourceCode(ctx: Context, inputs: Inputs) {
|
|
49
|
-
* const fs = require("fs-extra");
|
|
50
|
-
* let content = "let x = 1;"
|
|
51
|
-
* let path = path.join(ctx.projectPath, "myFolder");
|
|
52
|
-
* let sourcePath = "somePathhere";
|
|
53
|
-
* let result = await fs.copy(sourcePath, content);
|
|
54
|
-
* return ok(Void);
|
|
55
|
-
* }
|
|
56
|
-
* ```
|
|
57
|
-
*
|
|
58
|
-
* @param {Context} ctx - plugin's runtime context shared by all lifecycles.
|
|
59
|
-
* @param {Inputs} inputs - User answers to questions defined in {@link getQuestionsForScaffolding} along with some system inputs.
|
|
60
|
-
*
|
|
61
|
-
* @returns Void because side effect is expected.
|
|
62
|
-
*/
|
|
63
|
-
scaffoldSourceCode?: (ctx: Context, inputs: Inputs) => Promise<Result<Void, FxError>>;
|
|
64
|
-
/**
|
|
65
|
-
* This method is called when creating a new project or adding a new resource.
|
|
66
|
-
* A resource plugin is expected to return a resource template(e.g. Bicep templates/plain JSON) which will be persisted
|
|
67
|
-
* by the Toolkit and will be used to provision resource when Provision command is called.
|
|
68
|
-
*
|
|
69
|
-
* @param {Context} ctx - plugin's runtime context shared by all lifecycles.
|
|
70
|
-
* @param {Inputs} inputs - User's answers to questions defined in {@link getQuestionsForScaffolding} along with some system inputs.
|
|
71
|
-
*
|
|
72
|
-
* @return {@link ResourceTemplate} return ARM template for solution to combine.
|
|
73
|
-
*/
|
|
74
|
-
generateResourceTemplate?: (ctx: Context, inputs: Inputs & {
|
|
75
|
-
existingResources: string[];
|
|
76
|
-
}) => Promise<Result<ResourceTemplate, FxError>>;
|
|
77
|
-
updateResourceTemplate?: (ctx: Context, inputs: Inputs & {
|
|
78
|
-
existingResources: string[];
|
|
79
|
-
}) => Promise<Result<ResourceTemplate, FxError>>;
|
|
80
|
-
/**
|
|
81
|
-
* provisionResource() runs before ARM/Bicep provision when Provision command is called.
|
|
82
|
-
* There are two reasons why a resource needs to implement this method:
|
|
83
|
-
* 1) to generate input for ARM/Bicep provision to consume.
|
|
84
|
-
* 2) the resource can't be provisioned using resource templates like ARM/Bicep.
|
|
85
|
-
* Two typical resources that need to implement this method are AAD(Azure Active Directory)
|
|
86
|
-
* and AppSudio, which statisfy both above criteria.
|
|
87
|
-
*
|
|
88
|
-
* A plugin can get access tokens to cloud service using TokenProvider.
|
|
89
|
-
*
|
|
90
|
-
* @param {Context} ctx - plugin's runtime context shared by all lifecycles.
|
|
91
|
-
* @param {ProvisionInputs} inputs - inputs injected by Toolkit runtime and solution.
|
|
92
|
-
* @param {EnvInfoV2} envInfo - a reference of environment info modeled after (config|state).${env}.json
|
|
93
|
-
* @param {TokenProvider} tokenProvider - Tokens for Azure and AppStudio
|
|
94
|
-
* @returns Void because side effect is expected.
|
|
95
|
-
*/
|
|
96
|
-
provisionResource?: (ctx: Context, inputs: ProvisionInputs, envInfo: EnvInfoV2, tokenProvider: TokenProvider) => Promise<Result<Void, FxError>>;
|
|
97
|
-
/**
|
|
98
|
-
* configureResource() is guaranteed to run after Bicep/ARM provision.
|
|
99
|
-
* Plugins are expected to read the provision output of other plugins via envInfo's state,
|
|
100
|
-
* and return a new copy of its own provision output possibly with added and modified fields.
|
|
101
|
-
*
|
|
102
|
-
* Plugins can also sync their settings to the clould using access tokens provided by TokenProvider
|
|
103
|
-
*
|
|
104
|
-
* @param {Context} ctx - plugin's runtime context shared by all lifecycles.
|
|
105
|
-
* @param {ProvisionInputs} inputs - inputs injected by Toolkit runtime and solution.
|
|
106
|
-
* @param {EnvInfoV2} envInfo - a reference of environment info modeled after (config|state).${env}.json
|
|
107
|
-
* @param {TokenProvider} tokenProvider - Tokens for Azure and AppStudio
|
|
108
|
-
* @returns Void because side effect is expected.
|
|
109
|
-
*/
|
|
110
|
-
configureResource?: (ctx: Context, inputs: ProvisionInputs, envInfo: EnvInfoV2, tokenProvider: TokenProvider) => Promise<Result<Void, FxError>>;
|
|
111
|
-
/**
|
|
112
|
-
* Depends on the provision output values returned by {@link provisionResource}, ARM/Bicep provision
|
|
113
|
-
* and {@link configureResource}.
|
|
114
|
-
* Plugins are expected to deploy code to cloud using access tokens provided by {@link TokenProvider}.
|
|
115
|
-
*
|
|
116
|
-
* @param {Context} ctx - plugin's runtime context shared by all lifecycles.
|
|
117
|
-
* @param {DeploymentInputs} inputs - inputs injected by Toolkit runtime and solution.
|
|
118
|
-
* @param {DeepReadonly<EnvInfoV2>} envInfo - a readonly view of environment info modeled after (config|state).${env}.json
|
|
119
|
-
* @param {TokenProvider} tokenProvider - Token provider for Azure, AppStudio and m365
|
|
120
|
-
* @returns Void because side effect is expected.
|
|
121
|
-
*/
|
|
122
|
-
deploy?: (ctx: Context, inputs: DeploymentInputs, envInfo: DeepReadonly<EnvInfoV2>, tokenProvider: TokenProvider) => Promise<Result<Void, FxError>>;
|
|
123
|
-
/**
|
|
124
|
-
* Depends on the output of {@link package}. Uploads Teams package to AppStudio
|
|
125
|
-
* @param {Context} ctx - plugin's runtime context shared by all lifecycles.
|
|
126
|
-
* @param {Inputs} inputs - system inputs.
|
|
127
|
-
* @param {DeepReadonly<EnvInfoV2>} envInfo - a readonly view of environment info modeled after (config|state).${env}.json
|
|
128
|
-
* @param {M365TokenProvider} tokenProvider - Token for M365
|
|
129
|
-
*
|
|
130
|
-
* @returns Void because side effect is expected.
|
|
131
|
-
*/
|
|
132
|
-
publishApplication?: (ctx: Context, inputs: Inputs, envInfo: DeepReadonly<EnvInfoV2>, tokenProvider: M365TokenProvider) => Promise<Result<Void, FxError>>;
|
|
133
|
-
/**
|
|
134
|
-
* provisionLocalResource is a special lifecycle, called when users press F5 in vscode.
|
|
135
|
-
* It works like provision, but only creates necessary cloud resources for local debugging like AAD and AppStudio App.
|
|
136
|
-
*
|
|
137
|
-
* @param {Context} ctx - plugin's runtime context shared by all lifecycles.
|
|
138
|
-
* @param {Inputs} inputs - system inputs.
|
|
139
|
-
* @param {Json} localSettings - local debug settings generated by {@link provisionLocalResource}
|
|
140
|
-
* @param {TokenProvider} tokenProvider - Tokens for Azure and AppStudio
|
|
141
|
-
* @param {EnvInfoV2} envInfo - a reference of environment info modeled after (config|state).${env}.json
|
|
142
|
-
*
|
|
143
|
-
* @returns Void because side effect is expected.
|
|
144
|
-
*/
|
|
145
|
-
provisionLocalResource?: (ctx: Context, inputs: Inputs, localSettings: Json, tokenProvider: TokenProvider, envInfo?: EnvInfoV2) => Promise<Result<Void, FxError>>;
|
|
146
|
-
/**
|
|
147
|
-
* configureLocalResource works like {@link configureResource} but only for local debugging resources.
|
|
148
|
-
* Plugins are expected to read the local provision output values of other plugins, and modify in-place
|
|
149
|
-
*
|
|
150
|
-
* @param {Context} ctx - plugin's runtime context shared by all lifecycles.
|
|
151
|
-
* @param {Json} localSettings - local debug settings generated by {@link scaffoldSourceCode}
|
|
152
|
-
* @param {TokenProvider} tokenProvider - Tokens for Azure and AppStudio
|
|
153
|
-
* @param {EnvInfoV2} envInfo - a reference of environment info modeled after (config|state).${env}.json
|
|
154
|
-
*
|
|
155
|
-
* @returns Void because side effect is expected.
|
|
156
|
-
*/
|
|
157
|
-
configureLocalResource?: (ctx: Context, inputs: Inputs, localSettings: Json, tokenProvider: TokenProvider, envInfo?: EnvInfoV2) => Promise<Result<Void, FxError>>;
|
|
158
|
-
/**
|
|
159
|
-
* Plugins that need to collect user input are expected to implement this method.
|
|
160
|
-
* Questions are organized as a tree. Please see {@link QTreeNode}.
|
|
161
|
-
*
|
|
162
|
-
* getQuestionsForScaffolding() is guaranteed to be called before scaffoldSourceCode().
|
|
163
|
-
*
|
|
164
|
-
* @param {Context} ctx - plugin's runtime context shared by all lifecycles.
|
|
165
|
-
* @param {Inputs} inputs - system inputs.
|
|
166
|
-
*
|
|
167
|
-
* @returns question tree.
|
|
168
|
-
*/
|
|
169
|
-
getQuestionsForScaffolding?: (ctx: Context, inputs: Inputs) => Promise<Result<QTreeNode | undefined, FxError>>;
|
|
170
|
-
executeUserTask?: (ctx: Context, inputs: Inputs, func: Func, localSettings: Json, envInfo: EnvInfoV2, tokenProvider: TokenProvider) => Promise<Result<unknown, FxError>>;
|
|
171
|
-
getQuestions?: (ctx: Context, inputs: Inputs, envInfo: DeepReadonly<EnvInfoV2>, tokenProvider: TokenProvider) => Promise<Result<QTreeNode | undefined, FxError>>;
|
|
172
|
-
getQuestionsForUserTask?: (ctx: Context, inputs: Inputs, func: Func, envInfo: DeepReadonly<EnvInfoV2>, tokenProvider: TokenProvider) => Promise<Result<QTreeNode | undefined, FxError>>;
|
|
173
|
-
/**
|
|
174
|
-
* For grant and check permission in remote collaboration
|
|
175
|
-
*/
|
|
176
|
-
grantPermission?: (ctx: Context, inputs: InputsWithProjectPath, envInfo: DeepReadonly<EnvInfoV2>, tokenProvider: TokenProvider, userInfo: Json) => Promise<Result<Json, FxError>>;
|
|
177
|
-
checkPermission?: (ctx: Context, inputs: InputsWithProjectPath, envInfo: DeepReadonly<EnvInfoV2>, tokenProvider: TokenProvider, userInfo: Json) => Promise<Result<Json, FxError>>;
|
|
178
|
-
listCollaborator?: (ctx: Context, inputs: InputsWithProjectPath, envInfo: DeepReadonly<EnvInfoV2>, tokenProvider: TokenProvider, userInfo: Json) => Promise<Result<Json, FxError>>;
|
|
179
|
-
}
|
|
180
|
-
//# sourceMappingURL=resourcePlugin.d.ts.map
|