@theia/variable-resolver 1.67.0-next.3 → 1.67.0-next.56

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 (54) hide show
  1. package/README.md +2 -11
  2. package/package.json +3 -3
  3. package/lib/browser/common-variable-contribution.d.ts +0 -17
  4. package/lib/browser/common-variable-contribution.d.ts.map +0 -1
  5. package/lib/browser/common-variable-contribution.js +0 -162
  6. package/lib/browser/common-variable-contribution.js.map +0 -1
  7. package/lib/browser/index.d.ts +0 -4
  8. package/lib/browser/index.d.ts.map +0 -1
  9. package/lib/browser/index.js +0 -22
  10. package/lib/browser/index.js.map +0 -1
  11. package/lib/browser/variable-input-schema.d.ts +0 -3
  12. package/lib/browser/variable-input-schema.d.ts.map +0 -1
  13. package/lib/browser/variable-input-schema.js +0 -131
  14. package/lib/browser/variable-input-schema.js.map +0 -1
  15. package/lib/browser/variable-input.d.ts +0 -21
  16. package/lib/browser/variable-input.d.ts.map +0 -1
  17. package/lib/browser/variable-input.js +0 -3
  18. package/lib/browser/variable-input.js.map +0 -1
  19. package/lib/browser/variable-quick-open-service.d.ts +0 -15
  20. package/lib/browser/variable-quick-open-service.d.ts.map +0 -1
  21. package/lib/browser/variable-quick-open-service.js +0 -70
  22. package/lib/browser/variable-quick-open-service.js.map +0 -1
  23. package/lib/browser/variable-resolver-frontend-contribution.d.ts +0 -14
  24. package/lib/browser/variable-resolver-frontend-contribution.d.ts.map +0 -1
  25. package/lib/browser/variable-resolver-frontend-contribution.js +0 -54
  26. package/lib/browser/variable-resolver-frontend-contribution.js.map +0 -1
  27. package/lib/browser/variable-resolver-frontend-contribution.spec.d.ts +0 -5
  28. package/lib/browser/variable-resolver-frontend-contribution.spec.d.ts.map +0 -1
  29. package/lib/browser/variable-resolver-frontend-contribution.spec.js +0 -83
  30. package/lib/browser/variable-resolver-frontend-contribution.spec.js.map +0 -1
  31. package/lib/browser/variable-resolver-frontend-module.d.ts +0 -4
  32. package/lib/browser/variable-resolver-frontend-module.d.ts.map +0 -1
  33. package/lib/browser/variable-resolver-frontend-module.js +0 -38
  34. package/lib/browser/variable-resolver-frontend-module.js.map +0 -1
  35. package/lib/browser/variable-resolver-service.d.ts +0 -51
  36. package/lib/browser/variable-resolver-service.d.ts.map +0 -1
  37. package/lib/browser/variable-resolver-service.js +0 -162
  38. package/lib/browser/variable-resolver-service.js.map +0 -1
  39. package/lib/browser/variable-resolver-service.spec.d.ts +0 -2
  40. package/lib/browser/variable-resolver-service.spec.d.ts.map +0 -1
  41. package/lib/browser/variable-resolver-service.spec.js +0 -76
  42. package/lib/browser/variable-resolver-service.spec.js.map +0 -1
  43. package/lib/browser/variable.d.ts +0 -56
  44. package/lib/browser/variable.d.ts.map +0 -1
  45. package/lib/browser/variable.js +0 -74
  46. package/lib/browser/variable.js.map +0 -1
  47. package/lib/browser/variable.spec.d.ts +0 -2
  48. package/lib/browser/variable.spec.d.ts.map +0 -1
  49. package/lib/browser/variable.spec.js +0 -91
  50. package/lib/browser/variable.spec.js.map +0 -1
  51. package/lib/common/variable-types.d.ts +0 -8
  52. package/lib/common/variable-types.d.ts.map +0 -1
  53. package/lib/common/variable-types.js +0 -18
  54. package/lib/common/variable-types.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"variable-resolver-frontend-contribution.js","sourceRoot":"","sources":["../../src/browser/variable-resolver-frontend-contribution.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,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAyE;AAEzE,mDAA6G;AAC7G,yCAAoE;AACpE,+EAAyE;AAE5D,QAAA,cAAc,GAAY,gBAAO,CAAC,kBAAkB,CAAC;IAC9D,EAAE,EAAE,eAAe;IACnB,KAAK,EAAE,oBAAoB;CAC9B,EAAE,yCAAyC,CAAC,CAAC;AAGvC,IAAM,oCAAoC,GAA1C,MAAM,oCAAoC;IAE7C,YAEuB,oBAAgE,EACtC,gBAAkC,EAC1B,wBAAkD;QAFpF,yBAAoB,GAApB,oBAAoB,CAA4C;QACtC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAC1B,6BAAwB,GAAxB,wBAAwB,CAA0B;IACvG,CAAC;IAEL,OAAO;QACH,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAC3D,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CACnD,CAAC;IACN,CAAC;IAED,gBAAgB,CAAC,QAAyB;QACtC,QAAQ,CAAC,eAAe,CAAC,sBAAc,EAAE;YACrC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI;YACrB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE;SACtD,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AArBY,oFAAoC;+CAApC,oCAAoC;IADhD,IAAA,sBAAU,GAAE;IAIJ,mBAAA,IAAA,kBAAM,EAAC,6BAAoB,CAAC,CAAA;IAAE,mBAAA,IAAA,iBAAK,EAAC,+BAAoB,CAAC,CAAA;IAEzD,mBAAA,IAAA,kBAAM,EAAC,2BAAgB,CAAC,CAAA;IACxB,mBAAA,IAAA,kBAAM,EAAC,sDAAwB,CAAC,CAAA;qDAD8B,2BAAgB;QACA,sDAAwB;GANlG,oCAAoC,CAqBhD"}
@@ -1,5 +0,0 @@
1
- import { VariableContribution, VariableRegistry } from './variable';
2
- export declare class TestVariableContribution implements VariableContribution {
3
- registerVariables(variables: VariableRegistry): void;
4
- }
5
- //# sourceMappingURL=variable-resolver-frontend-contribution.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"variable-resolver-frontend-contribution.spec.d.ts","sourceRoot":"","sources":["../../src/browser/variable-resolver-frontend-contribution.spec.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAwDpE,qBAAa,wBAAyB,YAAW,oBAAoB;IAEjE,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;CAYvD"}
@@ -1,83 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2018 Red Hat, Inc. and others.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.TestVariableContribution = void 0;
19
- const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
20
- let disableJSDOM = (0, jsdom_1.enableJSDOM)();
21
- const frontend_application_config_provider_1 = require("@theia/core/lib/browser/frontend-application-config-provider");
22
- frontend_application_config_provider_1.FrontendApplicationConfigProvider.set({});
23
- const chai = require("chai");
24
- const inversify_1 = require("@theia/core/shared/inversify");
25
- const common_1 = require("@theia/core/lib/common");
26
- const mock_logger_1 = require("@theia/core/lib/common/test/mock-logger");
27
- const variable_1 = require("./variable");
28
- const variable_quick_open_service_1 = require("./variable-quick-open-service");
29
- const variable_resolver_frontend_contribution_1 = require("./variable-resolver-frontend-contribution");
30
- disableJSDOM();
31
- const expect = chai.expect;
32
- before(() => {
33
- chai.config.showDiff = true;
34
- chai.config.includeStack = true;
35
- });
36
- describe('variable-resolver-frontend-contribution', () => {
37
- let testContainer;
38
- let variableRegistry;
39
- before(() => {
40
- disableJSDOM = (0, jsdom_1.enableJSDOM)();
41
- testContainer = new inversify_1.Container();
42
- const module = new inversify_1.ContainerModule((bind, unbind, isBound, rebind) => {
43
- (0, common_1.bindContributionProvider)(bind, variable_1.VariableContribution);
44
- bind(variable_1.VariableContribution).toConstantValue(new TestVariableContribution());
45
- bind(common_1.ILogger).to(mock_logger_1.MockLogger);
46
- bind(variable_1.VariableRegistry).toSelf().inSingletonScope();
47
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
48
- bind(variable_quick_open_service_1.VariableQuickOpenService).toConstantValue({}); // mock VariableQuickOpenService
49
- bind(variable_resolver_frontend_contribution_1.VariableResolverFrontendContribution).toSelf();
50
- });
51
- testContainer.load(module);
52
- });
53
- after(() => {
54
- disableJSDOM();
55
- });
56
- beforeEach(() => {
57
- variableRegistry = testContainer.get(variable_1.VariableRegistry);
58
- const variableRegistrar = testContainer.get(variable_resolver_frontend_contribution_1.VariableResolverFrontendContribution);
59
- variableRegistrar.onStart();
60
- });
61
- it('should register all variables from the contribution points', () => {
62
- const variables = variableRegistry.getVariables();
63
- expect(variables.length).to.be.equal(2);
64
- expect(variables[0].name).to.be.equal('file');
65
- expect(variables[1].name).to.be.equal('lineNumber');
66
- });
67
- });
68
- class TestVariableContribution {
69
- registerVariables(variables) {
70
- variables.registerVariable({
71
- name: 'file',
72
- description: 'Resolves to file name opened in the current editor',
73
- resolve: () => Promise.resolve('package.json')
74
- });
75
- variables.registerVariable({
76
- name: 'lineNumber',
77
- description: 'Resolves to current line number',
78
- resolve: () => Promise.resolve('5')
79
- });
80
- }
81
- }
82
- exports.TestVariableContribution = TestVariableContribution;
83
- //# sourceMappingURL=variable-resolver-frontend-contribution.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"variable-resolver-frontend-contribution.spec.js","sourceRoot":"","sources":["../../src/browser/variable-resolver-frontend-contribution.spec.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,gFAAgF;AAChF,gFAAgF;;;AAEhF,8DAAiE;AAEjE,IAAI,YAAY,GAAG,IAAA,mBAAW,GAAE,CAAC;AAEjC,uHAAiH;AACjH,wEAAiC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAE1C,6BAA6B;AAC7B,4DAA0E;AAC1E,mDAA2E;AAC3E,yEAAqE;AACrE,yCAAoE;AACpE,+EAAyE;AACzE,uGAAiG;AAEjG,YAAY,EAAE,CAAC;AAEf,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAE3B,MAAM,CAAC,GAAG,EAAE;IACR,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;IAErD,IAAI,aAAwB,CAAC;IAC7B,IAAI,gBAAkC,CAAC;IAEvC,MAAM,CAAC,GAAG,EAAE;QACR,YAAY,GAAG,IAAA,mBAAW,GAAE,CAAC;QAE7B,aAAa,GAAG,IAAI,qBAAS,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,2BAAe,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YACjE,IAAA,iCAAwB,EAAC,IAAI,EAAE,+BAAoB,CAAC,CAAC;YACrD,IAAI,CAAC,+BAAoB,CAAC,CAAC,eAAe,CAAC,IAAI,wBAAwB,EAAE,CAAC,CAAC;YAE3E,IAAI,CAAC,gBAAO,CAAC,CAAC,EAAE,CAAC,wBAAU,CAAC,CAAC;YAC7B,IAAI,CAAC,2BAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;YAEnD,8DAA8D;YAC9D,IAAI,CAAC,sDAAwB,CAAC,CAAC,eAAe,CAAC,EAAS,CAAC,CAAC,CAAC,gCAAgC;YAE3F,IAAI,CAAC,8EAAoC,CAAC,CAAC,MAAM,EAAE,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,GAAG,EAAE;QACP,YAAY,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,EAAE;QACZ,gBAAgB,GAAG,aAAa,CAAC,GAAG,CAAmB,2BAAgB,CAAC,CAAC;QAEzE,MAAM,iBAAiB,GAAG,aAAa,CAAC,GAAG,CAAC,8EAAoC,CAAC,CAAC;QAClF,iBAAiB,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QAClE,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,EAAE,CAAC;QAClD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,MAAa,wBAAwB;IAEjC,iBAAiB,CAAC,SAA2B;QACzC,SAAS,CAAC,gBAAgB,CAAC;YACvB,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,oDAAoD;YACjE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;SACjD,CAAC,CAAC;QACH,SAAS,CAAC,gBAAgB,CAAC;YACvB,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,iCAAiC;YAC9C,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;SACtC,CAAC,CAAC;IACP,CAAC;CACJ;AAdD,4DAcC"}
@@ -1,4 +0,0 @@
1
- import { ContainerModule } from '@theia/core/shared/inversify';
2
- declare const _default: ContainerModule;
3
- export default _default;
4
- //# sourceMappingURL=variable-resolver-frontend-module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"variable-resolver-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/variable-resolver-frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAS/D,wBAcG"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2018 Red Hat, Inc. and others.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- const inversify_1 = require("@theia/core/shared/inversify");
19
- const core_1 = require("@theia/core");
20
- const browser_1 = require("@theia/core/lib/browser");
21
- const variable_1 = require("./variable");
22
- const variable_quick_open_service_1 = require("./variable-quick-open-service");
23
- const variable_resolver_frontend_contribution_1 = require("./variable-resolver-frontend-contribution");
24
- const variable_resolver_service_1 = require("./variable-resolver-service");
25
- const common_variable_contribution_1 = require("./common-variable-contribution");
26
- exports.default = new inversify_1.ContainerModule(bind => {
27
- bind(variable_1.VariableRegistry).toSelf().inSingletonScope();
28
- bind(variable_resolver_service_1.VariableResolverService).toSelf().inSingletonScope();
29
- (0, core_1.bindContributionProvider)(bind, variable_1.VariableContribution);
30
- bind(variable_resolver_frontend_contribution_1.VariableResolverFrontendContribution).toSelf().inSingletonScope();
31
- for (const identifier of [browser_1.FrontendApplicationContribution, core_1.CommandContribution]) {
32
- bind(identifier).toService(variable_resolver_frontend_contribution_1.VariableResolverFrontendContribution);
33
- }
34
- bind(variable_quick_open_service_1.VariableQuickOpenService).toSelf().inSingletonScope();
35
- bind(common_variable_contribution_1.CommonVariableContribution).toSelf().inSingletonScope();
36
- bind(variable_1.VariableContribution).toService(common_variable_contribution_1.CommonVariableContribution);
37
- });
38
- //# sourceMappingURL=variable-resolver-frontend-module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"variable-resolver-frontend-module.js","sourceRoot":"","sources":["../../src/browser/variable-resolver-frontend-module.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,gFAAgF;AAChF,gFAAgF;;AAEhF,4DAA+D;AAC/D,sCAA4E;AAC5E,qDAA0E;AAC1E,yCAAoE;AACpE,+EAAyE;AACzE,uGAAiG;AACjG,2EAAsE;AACtE,iFAA4E;AAE5E,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,2BAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACnD,IAAI,CAAC,mDAAuB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1D,IAAA,+BAAwB,EAAC,IAAI,EAAE,+BAAoB,CAAC,CAAC;IAErD,IAAI,CAAC,8EAAoC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACvE,KAAK,MAAM,UAAU,IAAI,CAAC,yCAA+B,EAAE,0BAAmB,CAAC,EAAE,CAAC;QAC9E,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,8EAAoC,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,CAAC,sDAAwB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAE3D,IAAI,CAAC,yDAA0B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7D,IAAI,CAAC,+BAAoB,CAAC,CAAC,SAAS,CAAC,yDAA0B,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC"}
@@ -1,51 +0,0 @@
1
- import { VariableRegistry } from './variable';
2
- import URI from '@theia/core/lib/common/uri';
3
- import { CommandIdVariables } from '../common/variable-types';
4
- export interface VariableResolveOptions {
5
- context?: URI;
6
- /**
7
- * Used for resolving inputs, see https://code.visualstudio.com/docs/editor/variables-reference#_input-variables
8
- */
9
- configurationSection?: string;
10
- commandIdVariables?: CommandIdVariables;
11
- configuration?: unknown;
12
- }
13
- /**
14
- * The variable resolver service should be used to resolve variables in strings.
15
- */
16
- export declare class VariableResolverService {
17
- protected static VAR_REGEXP: RegExp;
18
- protected readonly variableRegistry: VariableRegistry;
19
- /**
20
- * Resolve the variables in the given string array.
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
- */
27
- resolveArray(value: string[], options?: VariableResolveOptions): Promise<string[] | undefined>;
28
- /**
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.
33
- */
34
- resolve<T>(value: T, options?: VariableResolveOptions): Promise<T | undefined>;
35
- protected doResolve(value: any, context: VariableResolverService.Context): Promise<any>;
36
- protected doResolveObject(obj: object, context: VariableResolverService.Context): Promise<object>;
37
- protected doResolveArray(values: Array<Object | undefined>, context: VariableResolverService.Context): Promise<Array<Object | undefined>>;
38
- protected doResolveString(value: string, context: VariableResolverService.Context): Promise<string>;
39
- protected resolveVariables(value: string, context: VariableResolverService.Context): Promise<void>;
40
- }
41
- export declare namespace VariableResolverService {
42
- class Context {
43
- protected readonly variableRegistry: VariableRegistry;
44
- protected readonly options: VariableResolveOptions;
45
- protected readonly resolved: Map<string, string | undefined>;
46
- constructor(variableRegistry: VariableRegistry, options: VariableResolveOptions);
47
- get(name: string): string | undefined;
48
- resolve(name: string): Promise<void>;
49
- }
50
- }
51
- //# sourceMappingURL=variable-resolver-service.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,162 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2018 Red Hat, Inc. and others.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- var VariableResolverService_1;
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.VariableResolverService = void 0;
20
- const tslib_1 = require("tslib");
21
- /* eslint-disable @typescript-eslint/no-explicit-any */
22
- const inversify_1 = require("@theia/core/shared/inversify");
23
- const variable_1 = require("./variable");
24
- const core_1 = require("@theia/core");
25
- /**
26
- * The variable resolver service should be used to resolve variables in strings.
27
- */
28
- let VariableResolverService = VariableResolverService_1 = class VariableResolverService {
29
- /**
30
- * Resolve the variables in the given string array.
31
- * @param value The array of data to resolve variables in.
32
- * @param options Options of the variable resolution.
33
- * @returns Promise to array with variables resolved. Never rejects.
34
- *
35
- * @deprecated since 1.28.0 use {@link resolve} instead.
36
- */
37
- resolveArray(value, options = {}) {
38
- return this.resolve(value, options);
39
- }
40
- /**
41
- * Resolve the variables for all strings found in the object and nested objects.
42
- * @param value Data to resolve variables in.
43
- * @param options Options of the variable resolution
44
- * @returns Promise to object with variables resolved. Returns `undefined` if a variable resolution was cancelled.
45
- */
46
- async resolve(value, options = {}) {
47
- const context = new VariableResolverService_1.Context(this.variableRegistry, options);
48
- try {
49
- return await this.doResolve(value, context);
50
- }
51
- catch (error) {
52
- if ((0, core_1.isCancelled)(error)) {
53
- return undefined;
54
- }
55
- throw error;
56
- }
57
- }
58
- async doResolve(value, context) {
59
- // eslint-disable-next-line no-null/no-null
60
- if (value === undefined || value === null) {
61
- return value;
62
- }
63
- if (typeof value === 'string') {
64
- return this.doResolveString(value, context);
65
- }
66
- if (Array.isArray(value)) {
67
- return this.doResolveArray(value, context);
68
- }
69
- if (typeof value === 'object') {
70
- return this.doResolveObject(value, context);
71
- }
72
- return value;
73
- }
74
- async doResolveObject(obj, context) {
75
- const result = {};
76
- for (const name of Object.keys(obj)) {
77
- const value = obj[name];
78
- const resolved = await this.doResolve(value, context);
79
- result[name] = resolved;
80
- }
81
- return result;
82
- }
83
- async doResolveArray(values, context) {
84
- const result = [];
85
- for (const value of values) {
86
- const resolved = await this.doResolve(value, context);
87
- result.push(resolved);
88
- }
89
- return result;
90
- }
91
- async doResolveString(value, context) {
92
- await this.resolveVariables(value, context);
93
- return value.replace(VariableResolverService_1.VAR_REGEXP, (match, varName) => {
94
- const varValue = context.get(varName);
95
- return varValue !== undefined ? varValue : match;
96
- });
97
- }
98
- async resolveVariables(value, context) {
99
- const variableRegExp = new RegExp(VariableResolverService_1.VAR_REGEXP);
100
- let match;
101
- // eslint-disable-next-line no-null/no-null
102
- while ((match = variableRegExp.exec(value)) !== null) {
103
- const variableName = match[1];
104
- await context.resolve(variableName);
105
- }
106
- }
107
- };
108
- exports.VariableResolverService = VariableResolverService;
109
- VariableResolverService.VAR_REGEXP = /\$\{(.*?)\}/g;
110
- tslib_1.__decorate([
111
- (0, inversify_1.inject)(variable_1.VariableRegistry),
112
- tslib_1.__metadata("design:type", variable_1.VariableRegistry)
113
- ], VariableResolverService.prototype, "variableRegistry", void 0);
114
- exports.VariableResolverService = VariableResolverService = VariableResolverService_1 = tslib_1.__decorate([
115
- (0, inversify_1.injectable)()
116
- ], VariableResolverService);
117
- (function (VariableResolverService) {
118
- class Context {
119
- constructor(variableRegistry, options) {
120
- this.variableRegistry = variableRegistry;
121
- this.options = options;
122
- this.resolved = new Map();
123
- }
124
- get(name) {
125
- return this.resolved.get(name);
126
- }
127
- async resolve(name) {
128
- if (this.resolved.has(name)) {
129
- return;
130
- }
131
- try {
132
- let variableName = name;
133
- let argument;
134
- const parts = name.split(':', 2);
135
- if (parts.length > 1) {
136
- variableName = parts[0];
137
- argument = parts[1];
138
- }
139
- const variable = this.variableRegistry.getVariable(variableName);
140
- 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));
141
- if (typeof resolved === 'bigint' ||
142
- typeof resolved === 'boolean' ||
143
- typeof resolved === 'number' ||
144
- typeof resolved === 'string') {
145
- this.resolved.set(name, `${resolved}`);
146
- }
147
- else {
148
- this.resolved.set(name, undefined);
149
- }
150
- }
151
- catch (e) {
152
- if ((0, core_1.isCancelled)(e)) {
153
- throw e;
154
- }
155
- this.resolved.set(name, undefined);
156
- console.error(`Failed to resolve '${name}' variable:`, e);
157
- }
158
- }
159
- }
160
- VariableResolverService.Context = Context;
161
- })(VariableResolverService || (exports.VariableResolverService = VariableResolverService = {}));
162
- //# sourceMappingURL=variable-resolver-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"variable-resolver-service.js","sourceRoot":"","sources":["../../src/browser/variable-resolver-service.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=variable-resolver-service.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"variable-resolver-service.spec.d.ts","sourceRoot":"","sources":["../../src/browser/variable-resolver-service.spec.ts"],"names":[],"mappings":""}
@@ -1,76 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2018 Red Hat, Inc. and others.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- const chai = require("chai");
19
- const inversify_1 = require("@theia/core/shared/inversify");
20
- const common_1 = require("@theia/core/lib/common");
21
- const variable_1 = require("./variable");
22
- const variable_resolver_service_1 = require("./variable-resolver-service");
23
- const expect = chai.expect;
24
- before(() => {
25
- chai.config.showDiff = true;
26
- chai.config.includeStack = true;
27
- });
28
- describe('variable-resolver-service', () => {
29
- let testContainer;
30
- let variableRegistry;
31
- let variableResolverService;
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();
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
- });
47
- variableResolverService = testContainer.get(variable_resolver_service_1.VariableResolverService);
48
- });
49
- it('should resolve known variables in a text', async () => {
50
- const resolved = await variableResolverService.resolve('file: ${file}; line: ${lineNumber}');
51
- expect(resolved).is.equal('file: package.json; line: 6');
52
- });
53
- it('should resolve known variables in a string array', async () => {
54
- const resolved = await variableResolverService.resolveArray(['file: ${file}', 'line: ${lineNumber}']);
55
- expect(resolved.length).to.be.equal(2);
56
- expect(resolved).to.contain('file: package.json');
57
- expect(resolved).to.contain('line: 6');
58
- });
59
- it('should skip unknown variables', async () => {
60
- const resolved = await variableResolverService.resolve('workspace: ${workspaceRoot}; file: ${file}; line: ${lineNumber}');
61
- expect(resolved).is.equal('workspace: ${workspaceRoot}; file: package.json; line: 6');
62
- });
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}');
73
- expect(resolved).equal(undefined);
74
- });
75
- });
76
- //# sourceMappingURL=variable-resolver-service.spec.js.map
@@ -1 +0,0 @@
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,56 +0,0 @@
1
- import { Disposable, DisposableCollection, MaybePromise } from '@theia/core';
2
- import URI from '@theia/core/lib/common/uri';
3
- import { CommandIdVariables } from '../common/variable-types';
4
- /**
5
- * Variable can be used inside of strings using ${variableName} syntax.
6
- */
7
- export interface Variable {
8
- /**
9
- * A unique name of this variable.
10
- */
11
- readonly name: string;
12
- /**
13
- * A human-readable description of this variable.
14
- */
15
- readonly description?: string;
16
- /**
17
- * Resolve to a string value of this variable or
18
- * `undefined` if variable cannot be resolved.
19
- * Never reject.
20
- */
21
- resolve(context?: URI, argument?: string, configurationSection?: string, commandIdVariables?: CommandIdVariables, configuration?: unknown): MaybePromise<any>;
22
- }
23
- export declare const VariableContribution: unique symbol;
24
- /**
25
- * The variable contribution should be implemented to register custom variables.
26
- */
27
- export interface VariableContribution {
28
- registerVariables(variables: VariableRegistry): void;
29
- }
30
- /**
31
- * The variable registry manages variables.
32
- */
33
- export declare class VariableRegistry implements Disposable {
34
- protected readonly variables: Map<string, Variable>;
35
- protected readonly toDispose: DisposableCollection;
36
- dispose(): void;
37
- /**
38
- * Register the given variable.
39
- * Do nothing if a variable is already registered for the given variable name.
40
- */
41
- registerVariable(variable: Variable): Disposable;
42
- /**
43
- * Return all registered variables.
44
- */
45
- getVariables(): Variable[];
46
- /**
47
- * Get a variable for the given name or `undefined` if none.
48
- */
49
- getVariable(name: string): Variable | undefined;
50
- /**
51
- * Register an array of variables.
52
- * Do nothing if a variable is already registered for the given variable name.
53
- */
54
- registerVariables(variables: Variable[]): Disposable[];
55
- }
56
- //# sourceMappingURL=variable.d.ts.map
@@ -1 +0,0 @@
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,74 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2018 Red Hat, Inc. and others.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.VariableRegistry = exports.VariableContribution = void 0;
19
- const tslib_1 = require("tslib");
20
- const inversify_1 = require("@theia/core/shared/inversify");
21
- const core_1 = require("@theia/core");
22
- exports.VariableContribution = Symbol('VariableContribution');
23
- /**
24
- * The variable registry manages variables.
25
- */
26
- let VariableRegistry = class VariableRegistry {
27
- constructor() {
28
- this.variables = new Map();
29
- this.toDispose = new core_1.DisposableCollection();
30
- }
31
- dispose() {
32
- this.toDispose.dispose();
33
- }
34
- /**
35
- * Register the given variable.
36
- * Do nothing if a variable is already registered for the given variable name.
37
- */
38
- registerVariable(variable) {
39
- if (this.variables.has(variable.name)) {
40
- console.warn(`A variables with name ${variable.name} is already registered.`);
41
- return core_1.Disposable.NULL;
42
- }
43
- this.variables.set(variable.name, variable);
44
- const disposable = {
45
- dispose: () => this.variables.delete(variable.name)
46
- };
47
- this.toDispose.push(disposable);
48
- return disposable;
49
- }
50
- /**
51
- * Return all registered variables.
52
- */
53
- getVariables() {
54
- return [...this.variables.values()];
55
- }
56
- /**
57
- * Get a variable for the given name or `undefined` if none.
58
- */
59
- getVariable(name) {
60
- return this.variables.get(name);
61
- }
62
- /**
63
- * Register an array of variables.
64
- * Do nothing if a variable is already registered for the given variable name.
65
- */
66
- registerVariables(variables) {
67
- return variables.map(v => this.registerVariable(v));
68
- }
69
- };
70
- exports.VariableRegistry = VariableRegistry;
71
- exports.VariableRegistry = VariableRegistry = tslib_1.__decorate([
72
- (0, inversify_1.injectable)()
73
- ], VariableRegistry);
74
- //# sourceMappingURL=variable.js.map
@@ -1 +0,0 @@
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,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAA0D;AAC1D,sCAA6E;AAkChE,QAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAQnE;;GAEG;AAEI,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAAtB;QAEgB,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,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,yBAAyB,QAAQ,CAAC,IAAI,yBAAyB,CAAC,CAAC;YAC9E,OAAO,iBAAU,CAAC,IAAI,CAAC;QAC3B,CAAC;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,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,sBAAU,GAAE;GACA,gBAAgB,CA+C5B"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=variable.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"variable.spec.d.ts","sourceRoot":"","sources":["../../src/browser/variable.spec.ts"],"names":[],"mappings":""}