@theia/variable-resolver 1.28.0-next.7 → 1.28.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.
@@ -1 +1 @@
1
- {"version":3,"file":"common-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/common-variable-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAkB,MAAM,yBAAyB,CAAC;AAG5E,qBACa,0BAA2B,YAAW,oBAAoB;IAGnE,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC;IAG3C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAG5C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IAE1C,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CA8FtE"}
1
+ {"version":3,"file":"common-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/common-variable-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAkB,MAAM,yBAAyB,CAAC;AAI5E,qBACa,0BAA2B,YAAW,oBAAoB;IAGnE,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC;IAG3C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAG5C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IAE1C,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAkGtE"}
@@ -33,6 +33,7 @@ const os_1 = require("@theia/core/lib/common/os");
33
33
  const preference_service_1 = require("@theia/core/lib/browser/preferences/preference-service");
34
34
  const resource_context_key_1 = require("@theia/core/lib/browser/resource-context-key");
35
35
  const browser_1 = require("@theia/core/lib/browser");
36
+ const cancellation_1 = require("@theia/core/lib/common/cancellation");
36
37
  let CommonVariableContribution = class CommonVariableContribution {
37
38
  async registerVariables(variables) {
38
39
  const execPath = await this.env.getExecPath();
@@ -63,14 +64,18 @@ let CommonVariableContribution = class CommonVariableContribution {
63
64
  });
64
65
  variables.registerVariable({
65
66
  name: 'command',
66
- resolve: async (_, name, __, commandIdVariables, configuration) => {
67
- let commandId = name;
68
- if (name && commandIdVariables) {
69
- const mappedValue = commandIdVariables[name];
70
- commandId = mappedValue ? mappedValue : name;
67
+ resolve: async (contextUri, commandId, configurationSection, commandIdVariables, configuration) => {
68
+ if (commandId) {
69
+ if (commandIdVariables === null || commandIdVariables === void 0 ? void 0 : commandIdVariables[commandId]) {
70
+ commandId = commandIdVariables[commandId];
71
+ }
72
+ const result = await this.commands.executeCommand(commandId, configuration);
73
+ // eslint-disable-next-line no-null/no-null
74
+ if (result === null) {
75
+ throw (0, cancellation_1.cancelled)();
76
+ }
77
+ return result;
71
78
  }
72
- const result = commandId && await this.commands.executeCommand(commandId, configuration);
73
- return result ? result : undefined;
74
79
  }
75
80
  });
76
81
  variables.registerVariable({
@@ -1 +1 @@
1
- {"version":3,"file":"common-variable-contribution.js","sourceRoot":"","sources":["../../src/browser/common-variable-contribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common-variable-contribution.js","sourceRoot":"","sources":["../../src/browser/common-variable-contribution.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,6 @@ export interface VariableResolveOptions {
9
9
  configurationSection?: string;
10
10
  commandIdVariables?: CommandIdVariables;
11
11
  configuration?: unknown;
12
- checkAllResolved?: boolean;
13
12
  }
14
13
  /**
15
14
  * The variable resolver service should be used to resolve variables in strings.
@@ -19,21 +18,21 @@ export declare class VariableResolverService {
19
18
  protected readonly variableRegistry: VariableRegistry;
20
19
  /**
21
20
  * Resolve the variables in the given string array.
22
- * @param value The array of data to resolve
23
- * @param options options of the variable resolution
24
- * @returns promise resolved to the provided string array with already resolved variables.
25
- * Never reject.
21
+ * @param value The array of data to resolve variables in.
22
+ * @param options Options of the variable resolution.
23
+ * @returns Promise to array with variables resolved. Never rejects.
24
+ *
25
+ * @deprecated since 1.28.0 use {@link resolve} instead.
26
26
  */
27
27
  resolveArray(value: string[], options?: VariableResolveOptions): Promise<string[] | undefined>;
28
28
  /**
29
- * Resolve the variables in the given string.
30
- * @param value Data to resolve
31
- * @param options options of the variable resolution
32
- * @returns promise resolved to the provided string with already resolved variables.
33
- * Never reject.
29
+ * Resolve the variables for all strings found in the object and nested objects.
30
+ * @param value Data to resolve variables in.
31
+ * @param options Options of the variable resolution
32
+ * @returns Promise to object with variables resolved. Returns `undefined` if a variable resolution was cancelled.
34
33
  */
35
34
  resolve<T>(value: T, options?: VariableResolveOptions): Promise<T | undefined>;
36
- protected doResolve(value: Object | undefined, context: VariableResolverService.Context): Promise<Object | undefined>;
35
+ protected doResolve(value: any, context: VariableResolverService.Context): Promise<any>;
37
36
  protected doResolveObject(obj: object, context: VariableResolverService.Context): Promise<object>;
38
37
  protected doResolveArray(values: Array<Object | undefined>, context: VariableResolverService.Context): Promise<Array<Object | undefined>>;
39
38
  protected doResolveString(value: string, context: VariableResolverService.Context): Promise<string>;
@@ -46,7 +45,6 @@ export declare namespace VariableResolverService {
46
45
  protected readonly resolved: Map<string, string | undefined>;
47
46
  constructor(variableRegistry: VariableRegistry, options: VariableResolveOptions);
48
47
  get(name: string): string | undefined;
49
- allDefined(): boolean;
50
48
  resolve(name: string): Promise<void>;
51
49
  }
52
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"variable-resolver-service.d.ts","sourceRoot":"","sources":["../../src/browser/variable-resolver-service.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,WAAW,sBAAsB;IACnC,OAAO,CAAC,EAAE,GAAG,CAAC;IACd;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,qBACa,uBAAuB;IAEhC,SAAS,CAAC,MAAM,CAAC,UAAU,SAAkB;IAEnB,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEhF;;;;;;OAMG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC;IAIlG;;;;;;OAMG;IACG,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cASxE,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;cAiB3G,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;cAYvF,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;cAS/H,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;cAQzF,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAS3G;AACD,yBAAiB,uBAAuB,CAAC;IACrC,MAAa,OAAO;QAKZ,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;QACrD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,sBAAsB;QAJtD,SAAS,CAAC,QAAQ,CAAC,QAAQ,kCAAyC;oBAG7C,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,sBAAsB;QAGtD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;QAIrC,UAAU,IAAI,OAAO;QASf,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;KA+B7C;CACJ"}
1
+ {"version":3,"file":"variable-resolver-service.d.ts","sourceRoot":"","sources":["../../src/browser/variable-resolver-service.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,MAAM,WAAW,sBAAsB;IACnC,OAAO,CAAC,EAAE,GAAG,CAAC;IACd;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,qBACa,uBAAuB;IAEhC,SAAS,CAAC,MAAM,CAAC,UAAU,SAAkB;IAEnB,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEhF;;;;;;;OAOG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC;IAIlG;;;;;OAKG;IACG,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAYxE,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;cAiB7E,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;cAYvF,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;cAS/H,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;cAQzF,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAS3G;AACD,yBAAiB,uBAAuB,CAAC;IAErC,MAAa,OAAO;QAKZ,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;QACrD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,sBAAsB;QAJtD,SAAS,CAAC,QAAQ,CAAC,QAAQ,kCAAyC;oBAG7C,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,sBAAsB;QAGtD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;QAI/B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;KAsC7C;CACJ"}
@@ -29,35 +29,39 @@ exports.VariableResolverService = void 0;
29
29
  /* eslint-disable @typescript-eslint/no-explicit-any */
30
30
  const inversify_1 = require("@theia/core/shared/inversify");
31
31
  const variable_1 = require("./variable");
32
- const coreutils_1 = require("@theia/core/shared/@phosphor/coreutils");
32
+ const core_1 = require("@theia/core");
33
33
  /**
34
34
  * The variable resolver service should be used to resolve variables in strings.
35
35
  */
36
36
  let VariableResolverService = VariableResolverService_1 = class VariableResolverService {
37
37
  /**
38
38
  * Resolve the variables in the given string array.
39
- * @param value The array of data to resolve
40
- * @param options options of the variable resolution
41
- * @returns promise resolved to the provided string array with already resolved variables.
42
- * Never reject.
39
+ * @param value The array of data to resolve variables in.
40
+ * @param options Options of the variable resolution.
41
+ * @returns Promise to array with variables resolved. Never rejects.
42
+ *
43
+ * @deprecated since 1.28.0 use {@link resolve} instead.
43
44
  */
44
45
  resolveArray(value, options = {}) {
45
46
  return this.resolve(value, options);
46
47
  }
47
48
  /**
48
- * Resolve the variables in the given string.
49
- * @param value Data to resolve
50
- * @param options options of the variable resolution
51
- * @returns promise resolved to the provided string with already resolved variables.
52
- * Never reject.
49
+ * Resolve the variables for all strings found in the object and nested objects.
50
+ * @param value Data to resolve variables in.
51
+ * @param options Options of the variable resolution
52
+ * @returns Promise to object with variables resolved. Returns `undefined` if a variable resolution was cancelled.
53
53
  */
54
54
  async resolve(value, options = {}) {
55
55
  const context = new VariableResolverService_1.Context(this.variableRegistry, options);
56
- const resolved = await this.doResolve(value, context);
57
- if (options.checkAllResolved && !context.allDefined()) {
58
- return undefined;
56
+ try {
57
+ return await this.doResolve(value, context);
58
+ }
59
+ catch (error) {
60
+ if ((0, core_1.isCancelled)(error)) {
61
+ return undefined;
62
+ }
63
+ throw error;
59
64
  }
60
- return resolved;
61
65
  }
62
66
  async doResolve(value, context) {
63
67
  // eslint-disable-next-line no-null/no-null
@@ -128,14 +132,6 @@ exports.VariableResolverService = VariableResolverService;
128
132
  get(name) {
129
133
  return this.resolved.get(name);
130
134
  }
131
- allDefined() {
132
- for (const value of this.resolved.values()) {
133
- if (value === undefined) {
134
- return false;
135
- }
136
- }
137
- return true;
138
- }
139
135
  async resolve(name) {
140
136
  if (this.resolved.has(name)) {
141
137
  return;
@@ -143,21 +139,29 @@ exports.VariableResolverService = VariableResolverService;
143
139
  try {
144
140
  let variableName = name;
145
141
  let argument;
146
- const parts = name.split(':');
142
+ const parts = name.split(':', 2);
147
143
  if (parts.length > 1) {
148
144
  variableName = parts[0];
149
145
  argument = parts[1];
150
146
  }
151
147
  const variable = this.variableRegistry.getVariable(variableName);
152
- const value = variable &&
153
- (await variable.resolve(this.options.context, argument, this.options.configurationSection, this.options.commandIdVariables, this.options.configuration));
154
- // eslint-disable-next-line no-null/no-null
155
- const stringValue = value !== undefined && value !== null && coreutils_1.JSONExt.isPrimitive(value) ? String(value) : undefined;
156
- this.resolved.set(name, stringValue);
148
+ const resolved = await (variable === null || variable === void 0 ? void 0 : variable.resolve(this.options.context, argument, this.options.configurationSection, this.options.commandIdVariables, this.options.configuration));
149
+ if (typeof resolved === 'bigint' ||
150
+ typeof resolved === 'boolean' ||
151
+ typeof resolved === 'number' ||
152
+ typeof resolved === 'string') {
153
+ this.resolved.set(name, `${resolved}`);
154
+ }
155
+ else {
156
+ this.resolved.set(name, undefined);
157
+ }
157
158
  }
158
159
  catch (e) {
159
- console.error(`Failed to resolved '${name}' variable`, e);
160
+ if ((0, core_1.isCancelled)(e)) {
161
+ throw e;
162
+ }
160
163
  this.resolved.set(name, undefined);
164
+ console.error(`Failed to resolve '${name}' variable:`, e);
161
165
  }
162
166
  }
163
167
  }
@@ -1 +1 @@
1
- {"version":3,"file":"variable-resolver-service.js","sourceRoot":"","sources":["../../src/browser/variable-resolver-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"variable-resolver-service.js","sourceRoot":"","sources":["../../src/browser/variable-resolver-service.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const chai = require("chai");
19
19
  const inversify_1 = require("@theia/core/shared/inversify");
20
20
  const common_1 = require("@theia/core/lib/common");
21
- const mock_logger_1 = require("@theia/core/lib/common/test/mock-logger");
22
21
  const variable_1 = require("./variable");
23
22
  const variable_resolver_service_1 = require("./variable-resolver-service");
24
23
  const expect = chai.expect;
@@ -28,33 +27,24 @@ before(() => {
28
27
  });
29
28
  describe('variable-resolver-service', () => {
30
29
  let testContainer;
31
- before(() => {
32
- testContainer = new inversify_1.Container();
33
- const module = new inversify_1.ContainerModule((bind, unbind, isBound, rebind) => {
34
- bind(common_1.ILogger).to(mock_logger_1.MockLogger);
35
- bind(variable_1.VariableRegistry).toSelf().inSingletonScope();
36
- bind(variable_resolver_service_1.VariableResolverService).toSelf();
37
- });
38
- testContainer.load(module);
39
- });
40
30
  let variableRegistry;
41
31
  let variableResolverService;
42
32
  beforeEach(() => {
33
+ testContainer = new inversify_1.Container();
34
+ testContainer.bind(variable_1.VariableRegistry).toSelf().inSingletonScope();
35
+ testContainer.bind(variable_resolver_service_1.VariableResolverService).toSelf().inSingletonScope();
43
36
  variableRegistry = testContainer.get(variable_1.VariableRegistry);
37
+ variableRegistry.registerVariable({
38
+ name: 'file',
39
+ description: 'current file',
40
+ resolve: () => Promise.resolve('package.json')
41
+ });
42
+ variableRegistry.registerVariable({
43
+ name: 'lineNumber',
44
+ description: 'current line number',
45
+ resolve: () => Promise.resolve('6')
46
+ });
44
47
  variableResolverService = testContainer.get(variable_resolver_service_1.VariableResolverService);
45
- const variables = [
46
- {
47
- name: 'file',
48
- description: 'current file',
49
- resolve: () => Promise.resolve('package.json')
50
- },
51
- {
52
- name: 'lineNumber',
53
- description: 'current line number',
54
- resolve: () => Promise.resolve('6')
55
- }
56
- ];
57
- variables.forEach(v => variableRegistry.registerVariable(v));
58
48
  });
59
49
  it('should resolve known variables in a text', async () => {
60
50
  const resolved = await variableResolverService.resolve('file: ${file}; line: ${lineNumber}');
@@ -70,11 +60,16 @@ describe('variable-resolver-service', () => {
70
60
  const resolved = await variableResolverService.resolve('workspace: ${workspaceRoot}; file: ${file}; line: ${lineNumber}');
71
61
  expect(resolved).is.equal('workspace: ${workspaceRoot}; file: package.json; line: 6');
72
62
  });
73
- it('should check if all variables are resolved', async () => {
74
- const options = {
75
- checkAllResolved: true
76
- };
77
- const resolved = await variableResolverService.resolve('workspace: ${command:testCommand}; file: ${file}; line: ${lineNumber}', options);
63
+ it('should return undefined when a variable throws with `cancelled()` while resolving', async () => {
64
+ variableRegistry.registerVariable({
65
+ name: 'command',
66
+ resolve: (contextUri, commandId) => {
67
+ if (commandId === 'testCommand') {
68
+ throw (0, common_1.cancelled)();
69
+ }
70
+ }
71
+ });
72
+ const resolved = await variableResolverService.resolve('workspace: ${command:testCommand}; file: ${file}; line: ${lineNumber}');
78
73
  expect(resolved).equal(undefined);
79
74
  });
80
75
  });
@@ -1 +1 @@
1
- {"version":3,"file":"variable-resolver-service.spec.js","sourceRoot":"","sources":["../../src/browser/variable-resolver-service.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"variable-resolver-service.spec.js","sourceRoot":"","sources":["../../src/browser/variable-resolver-service.spec.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export interface Variable {
18
18
  * `undefined` if variable cannot be resolved.
19
19
  * Never reject.
20
20
  */
21
- resolve(context?: URI, argument?: string, configurationSection?: string, commandIdVariables?: CommandIdVariables, configuration?: unknown): MaybePromise<Object | undefined>;
21
+ resolve(context?: URI, argument?: string, configurationSection?: string, commandIdVariables?: CommandIdVariables, configuration?: unknown): MaybePromise<any>;
22
22
  }
23
23
  export declare const VariableContribution: unique symbol;
24
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"variable.d.ts","sourceRoot":"","sources":["../../src/browser/variable.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,QAAQ;IAErB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;OAIG;IACH,OAAO,CACH,OAAO,CAAC,EAAE,GAAG,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,kBAAkB,CAAC,EAAE,kBAAkB,EACvC,aAAa,CAAC,EAAE,OAAO,GACxB,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACvC;AAED,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AACnE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACxD;AAED;;GAEG;AACH,qBACa,gBAAiB,YAAW,UAAU;IAE/C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAa;IAChE,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAA8B;IAE1D,OAAO,IAAI,IAAI;IAIf;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU;IAahD;;OAEG;IACH,YAAY,IAAI,QAAQ,EAAE;IAI1B;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI/C;;;OAGG;IACH,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE;CAGzD"}
1
+ {"version":3,"file":"variable.d.ts","sourceRoot":"","sources":["../../src/browser/variable.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,QAAQ;IAErB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;OAIG;IACH,OAAO,CACH,OAAO,CAAC,EAAE,GAAG,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,kBAAkB,CAAC,EAAE,kBAAkB,EACvC,aAAa,CAAC,EAAE,OAAO,GAExB,YAAY,CAAC,GAAG,CAAC,CAAC;CACxB;AAED,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AACnE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACxD;AAED;;GAEG;AACH,qBACa,gBAAiB,YAAW,UAAU;IAE/C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAa;IAChE,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAA8B;IAE1D,OAAO,IAAI,IAAI;IAIf;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU;IAahD;;OAEG;IACH,YAAY,IAAI,QAAQ,EAAE;IAI1B;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI/C;;;OAGG;IACH,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE;CAGzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"variable.js","sourceRoot":"","sources":["../../src/browser/variable.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;AAEhF,4DAA0D;AAC1D,sCAA6E;AAiChE,QAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAQnE;;GAEG;AAEH,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAA7B;QAEuB,cAAS,GAA0B,IAAI,GAAG,EAAE,CAAC;QAC7C,cAAS,GAAG,IAAI,2BAAoB,EAAE,CAAC;IA4C9D,CAAC;IA1CG,OAAO;QACH,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,QAAkB;QAC/B,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACnC,OAAO,CAAC,IAAI,CAAC,yBAAyB,QAAQ,CAAC,IAAI,yBAAyB,CAAC,CAAC;YAC9E,OAAO,iBAAU,CAAC,IAAI,CAAC;SAC1B;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG;YACf,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;SACtD,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,YAAY;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,SAAqB;QACnC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;CACJ,CAAA;AA/CY,gBAAgB;IAD5B,IAAA,sBAAU,GAAE;GACA,gBAAgB,CA+C5B;AA/CY,4CAAgB"}
1
+ {"version":3,"file":"variable.js","sourceRoot":"","sources":["../../src/browser/variable.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;AAEhF,4DAA0D;AAC1D,sCAA6E;AAkChE,QAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAQnE;;GAEG;AAEH,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAA7B;QAEuB,cAAS,GAA0B,IAAI,GAAG,EAAE,CAAC;QAC7C,cAAS,GAAG,IAAI,2BAAoB,EAAE,CAAC;IA4C9D,CAAC;IA1CG,OAAO;QACH,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,QAAkB;QAC/B,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACnC,OAAO,CAAC,IAAI,CAAC,yBAAyB,QAAQ,CAAC,IAAI,yBAAyB,CAAC,CAAC;YAC9E,OAAO,iBAAU,CAAC,IAAI,CAAC;SAC1B;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG;YACf,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;SACtD,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,YAAY;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,SAAqB;QACnC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;CACJ,CAAA;AA/CY,gBAAgB;IAD5B,IAAA,sBAAU,GAAE;GACA,gBAAgB,CA+C5B;AA/CY,4CAAgB"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@theia/variable-resolver",
3
- "version": "1.28.0-next.7+3b689e0b4f3",
3
+ "version": "1.28.0",
4
4
  "description": "Theia - Variable Resolver Extension",
5
5
  "dependencies": {
6
- "@theia/core": "1.28.0-next.7+3b689e0b4f3"
6
+ "@theia/core": "1.28.0"
7
7
  },
8
8
  "publishConfig": {
9
9
  "access": "public"
@@ -44,10 +44,10 @@
44
44
  "watch": "theiaext watch"
45
45
  },
46
46
  "devDependencies": {
47
- "@theia/ext-scripts": "1.27.0"
47
+ "@theia/ext-scripts": "1.28.0"
48
48
  },
49
49
  "nyc": {
50
50
  "extends": "../../configs/nyc.json"
51
51
  },
52
- "gitHead": "3b689e0b4f37844f674b26fc9b2c4d735b0115fd"
52
+ "gitHead": "79d58c87a7bd76f435000a2ac59803b04e1c78be"
53
53
  }
@@ -25,6 +25,7 @@ import { ResourceContextKey } from '@theia/core/lib/browser/resource-context-key
25
25
  import { VariableInput } from './variable-input';
26
26
  import { QuickInputService, QuickPickValue } from '@theia/core/lib/browser';
27
27
  import { MaybeArray, RecursivePartial } from '@theia/core/lib/common/types';
28
+ import { cancelled } from '@theia/core/lib/common/cancellation';
28
29
 
29
30
  @injectable()
30
31
  export class CommonVariableContribution implements VariableContribution {
@@ -76,14 +77,18 @@ export class CommonVariableContribution implements VariableContribution {
76
77
  });
77
78
  variables.registerVariable({
78
79
  name: 'command',
79
- resolve: async (_, name, __, commandIdVariables, configuration) => {
80
- let commandId = name;
81
- if (name && commandIdVariables) {
82
- const mappedValue = commandIdVariables[name];
83
- commandId = mappedValue ? mappedValue : name;
80
+ resolve: async (contextUri, commandId, configurationSection, commandIdVariables, configuration) => {
81
+ if (commandId) {
82
+ if (commandIdVariables?.[commandId]) {
83
+ commandId = commandIdVariables[commandId];
84
+ }
85
+ const result = await this.commands.executeCommand(commandId, configuration);
86
+ // eslint-disable-next-line no-null/no-null
87
+ if (result === null) {
88
+ throw cancelled();
89
+ }
90
+ return result;
84
91
  }
85
- const result = commandId && await this.commands.executeCommand(commandId, configuration);
86
- return result ? result : undefined;
87
92
  }
88
93
  });
89
94
  variables.registerVariable({
@@ -15,10 +15,9 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  import * as chai from 'chai';
18
- import { Container, ContainerModule } from '@theia/core/shared/inversify';
19
- import { ILogger } from '@theia/core/lib/common';
20
- import { MockLogger } from '@theia/core/lib/common/test/mock-logger';
21
- import { Variable, VariableRegistry } from './variable';
18
+ import { Container } from '@theia/core/shared/inversify';
19
+ import { cancelled } from '@theia/core/lib/common';
20
+ import { VariableRegistry } from './variable';
22
21
  import { VariableResolverService } from './variable-resolver-service';
23
22
 
24
23
  const expect = chai.expect;
@@ -31,37 +30,25 @@ before(() => {
31
30
  describe('variable-resolver-service', () => {
32
31
 
33
32
  let testContainer: Container;
34
-
35
- before(() => {
36
- testContainer = new Container();
37
- const module = new ContainerModule((bind, unbind, isBound, rebind) => {
38
- bind(ILogger).to(MockLogger);
39
- bind(VariableRegistry).toSelf().inSingletonScope();
40
- bind(VariableResolverService).toSelf();
41
- });
42
- testContainer.load(module);
43
- });
44
-
45
33
  let variableRegistry: VariableRegistry;
46
34
  let variableResolverService: VariableResolverService;
47
35
 
48
36
  beforeEach(() => {
37
+ testContainer = new Container();
38
+ testContainer.bind(VariableRegistry).toSelf().inSingletonScope();
39
+ testContainer.bind(VariableResolverService).toSelf().inSingletonScope();
49
40
  variableRegistry = testContainer.get(VariableRegistry);
41
+ variableRegistry.registerVariable({
42
+ name: 'file',
43
+ description: 'current file',
44
+ resolve: () => Promise.resolve('package.json')
45
+ });
46
+ variableRegistry.registerVariable({
47
+ name: 'lineNumber',
48
+ description: 'current line number',
49
+ resolve: () => Promise.resolve('6')
50
+ });
50
51
  variableResolverService = testContainer.get(VariableResolverService);
51
-
52
- const variables: Variable[] = [
53
- {
54
- name: 'file',
55
- description: 'current file',
56
- resolve: () => Promise.resolve('package.json')
57
- },
58
- {
59
- name: 'lineNumber',
60
- description: 'current line number',
61
- resolve: () => Promise.resolve('6')
62
- }
63
- ];
64
- variables.forEach(v => variableRegistry.registerVariable(v));
65
52
  });
66
53
 
67
54
  it('should resolve known variables in a text', async () => {
@@ -81,11 +68,16 @@ describe('variable-resolver-service', () => {
81
68
  expect(resolved).is.equal('workspace: ${workspaceRoot}; file: package.json; line: 6');
82
69
  });
83
70
 
84
- it('should check if all variables are resolved', async () => {
85
- const options = {
86
- checkAllResolved: true
87
- };
88
- const resolved = await variableResolverService.resolve('workspace: ${command:testCommand}; file: ${file}; line: ${lineNumber}', options);
71
+ it('should return undefined when a variable throws with `cancelled()` while resolving', async () => {
72
+ variableRegistry.registerVariable({
73
+ name: 'command',
74
+ resolve: (contextUri, commandId) => {
75
+ if (commandId === 'testCommand') {
76
+ throw cancelled();
77
+ }
78
+ }
79
+ });
80
+ const resolved = await variableResolverService.resolve('workspace: ${command:testCommand}; file: ${file}; line: ${lineNumber}');
89
81
  expect(resolved).equal(undefined);
90
82
  });
91
83
  });
@@ -19,8 +19,8 @@
19
19
  import { injectable, inject } from '@theia/core/shared/inversify';
20
20
  import { VariableRegistry } from './variable';
21
21
  import URI from '@theia/core/lib/common/uri';
22
- import { JSONExt, ReadonlyJSONValue } from '@theia/core/shared/@phosphor/coreutils';
23
22
  import { CommandIdVariables } from '../common/variable-types';
23
+ import { isCancelled } from '@theia/core';
24
24
 
25
25
  export interface VariableResolveOptions {
26
26
  context?: URI;
@@ -30,8 +30,6 @@ export interface VariableResolveOptions {
30
30
  configurationSection?: string;
31
31
  commandIdVariables?: CommandIdVariables;
32
32
  configuration?: unknown;
33
- // Return 'undefined' if not all variables were successfully resolved.
34
- checkAllResolved?: boolean;
35
33
  }
36
34
 
37
35
  /**
@@ -46,32 +44,35 @@ export class VariableResolverService {
46
44
 
47
45
  /**
48
46
  * Resolve the variables in the given string array.
49
- * @param value The array of data to resolve
50
- * @param options options of the variable resolution
51
- * @returns promise resolved to the provided string array with already resolved variables.
52
- * Never reject.
47
+ * @param value The array of data to resolve variables in.
48
+ * @param options Options of the variable resolution.
49
+ * @returns Promise to array with variables resolved. Never rejects.
50
+ *
51
+ * @deprecated since 1.28.0 use {@link resolve} instead.
53
52
  */
54
53
  resolveArray(value: string[], options: VariableResolveOptions = {}): Promise<string[] | undefined> {
55
54
  return this.resolve(value, options);
56
55
  }
57
56
 
58
57
  /**
59
- * Resolve the variables in the given string.
60
- * @param value Data to resolve
61
- * @param options options of the variable resolution
62
- * @returns promise resolved to the provided string with already resolved variables.
63
- * Never reject.
58
+ * Resolve the variables for all strings found in the object and nested objects.
59
+ * @param value Data to resolve variables in.
60
+ * @param options Options of the variable resolution
61
+ * @returns Promise to object with variables resolved. Returns `undefined` if a variable resolution was cancelled.
64
62
  */
65
63
  async resolve<T>(value: T, options: VariableResolveOptions = {}): Promise<T | undefined> {
66
64
  const context = new VariableResolverService.Context(this.variableRegistry, options);
67
- const resolved = await this.doResolve(value, context);
68
- if (options.checkAllResolved && !context.allDefined()) {
69
- return undefined;
65
+ try {
66
+ return await this.doResolve(value, context);
67
+ } catch (error) {
68
+ if (isCancelled(error)) {
69
+ return undefined;
70
+ }
71
+ throw error;
70
72
  }
71
- return resolved as any;
72
73
  }
73
74
 
74
- protected async doResolve(value: Object | undefined, context: VariableResolverService.Context): Promise<Object | undefined> {
75
+ protected async doResolve(value: any, context: VariableResolverService.Context): Promise<any> {
75
76
  // eslint-disable-next-line no-null/no-null
76
77
  if (value === undefined || value === null) {
77
78
  return value;
@@ -128,6 +129,7 @@ export class VariableResolverService {
128
129
  }
129
130
  }
130
131
  export namespace VariableResolverService {
132
+
131
133
  export class Context {
132
134
 
133
135
  protected readonly resolved = new Map<string, string | undefined>();
@@ -141,15 +143,6 @@ export namespace VariableResolverService {
141
143
  return this.resolved.get(name);
142
144
  }
143
145
 
144
- allDefined(): boolean {
145
- for (const value of this.resolved.values()) {
146
- if (value === undefined) {
147
- return false;
148
- }
149
- }
150
- return true;
151
- }
152
-
153
146
  async resolve(name: string): Promise<void> {
154
147
  if (this.resolved.has(name)) {
155
148
  return;
@@ -157,29 +150,36 @@ export namespace VariableResolverService {
157
150
  try {
158
151
  let variableName = name;
159
152
  let argument: string | undefined;
160
- const parts = name.split(':');
153
+ const parts = name.split(':', 2);
161
154
  if (parts.length > 1) {
162
155
  variableName = parts[0];
163
156
  argument = parts[1];
164
157
  }
165
158
  const variable = this.variableRegistry.getVariable(variableName);
166
- const value =
167
- variable &&
168
- (await variable.resolve(
169
- this.options.context,
170
- argument,
171
- this.options.configurationSection,
172
- this.options.commandIdVariables,
173
- this.options.configuration
174
- ));
175
- // eslint-disable-next-line no-null/no-null
176
- const stringValue = value !== undefined && value !== null && JSONExt.isPrimitive(value as ReadonlyJSONValue) ? String(value) : undefined;
177
- this.resolved.set(name, stringValue);
159
+ const resolved = await variable?.resolve(
160
+ this.options.context,
161
+ argument,
162
+ this.options.configurationSection,
163
+ this.options.commandIdVariables,
164
+ this.options.configuration
165
+ );
166
+ if (
167
+ typeof resolved === 'bigint' ||
168
+ typeof resolved === 'boolean' ||
169
+ typeof resolved === 'number' ||
170
+ typeof resolved === 'string'
171
+ ) {
172
+ this.resolved.set(name, `${resolved}`);
173
+ } else {
174
+ this.resolved.set(name, undefined);
175
+ }
178
176
  } catch (e) {
179
- console.error(`Failed to resolved '${name}' variable`, e);
177
+ if (isCancelled(e)) {
178
+ throw e;
179
+ }
180
180
  this.resolved.set(name, undefined);
181
+ console.error(`Failed to resolve '${name}' variable:`, e);
181
182
  }
182
183
  }
183
-
184
184
  }
185
185
  }
@@ -45,7 +45,8 @@ export interface Variable {
45
45
  configurationSection?: string,
46
46
  commandIdVariables?: CommandIdVariables,
47
47
  configuration?: unknown
48
- ): MaybePromise<Object | undefined>;
48
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
49
+ ): MaybePromise<any>;
49
50
  }
50
51
 
51
52
  export const VariableContribution = Symbol('VariableContribution');