@opensumi/ide-variable 2.12.1-next-079c1930
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/lib/browser/index.d.ts +6 -0
- package/lib/browser/index.d.ts.map +1 -0
- package/lib/browser/index.js +31 -0
- package/lib/browser/index.js.map +1 -0
- package/lib/browser/variable-quick-open.service.d.ts +18 -0
- package/lib/browser/variable-quick-open.service.d.ts.map +1 -0
- package/lib/browser/variable-quick-open.service.js +51 -0
- package/lib/browser/variable-quick-open.service.js.map +1 -0
- package/lib/browser/variable-resolver.contribution.d.ts +11 -0
- package/lib/browser/variable-resolver.contribution.d.ts.map +1 -0
- package/lib/browser/variable-resolver.contribution.js +38 -0
- package/lib/browser/variable-resolver.contribution.js.map +1 -0
- package/lib/browser/variable-resolver.service.d.ts +54 -0
- package/lib/browser/variable-resolver.service.d.ts.map +1 -0
- package/lib/browser/variable-resolver.service.js +130 -0
- package/lib/browser/variable-resolver.service.js.map +1 -0
- package/lib/common/index.d.ts +2 -0
- package/lib/common/index.d.ts.map +1 -0
- package/lib/common/index.js +5 -0
- package/lib/common/index.js.map +1 -0
- package/lib/common/variable.d.ts +10 -0
- package/lib/common/variable.d.ts.map +1 -0
- package/lib/common/variable.js +5 -0
- package/lib/common/variable.js.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +5 -0
- package/lib/index.js.map +1 -0
- package/package.json +28 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAM3D,qBACa,cAAe,SAAQ,aAAa;IAC/C,SAAS,EAAE,QAAQ,EAAE,CAUnB;CAEH"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VariableModule = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const di_1 = require("@opensumi/di");
|
|
6
|
+
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
7
|
+
const variable_resolver_contribution_1 = require("./variable-resolver.contribution");
|
|
8
|
+
const variable_quick_open_service_1 = require("./variable-quick-open.service");
|
|
9
|
+
const common_1 = require("../common");
|
|
10
|
+
const variable_resolver_service_1 = require("./variable-resolver.service");
|
|
11
|
+
let VariableModule = class VariableModule extends ide_core_browser_1.BrowserModule {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
this.providers = [
|
|
15
|
+
{
|
|
16
|
+
token: common_1.IVariableResolverService,
|
|
17
|
+
useClass: variable_resolver_service_1.VariableResolverService,
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
token: variable_quick_open_service_1.VariableQuickOpenService,
|
|
21
|
+
useClass: variable_quick_open_service_1.VariableQuickOpenService,
|
|
22
|
+
},
|
|
23
|
+
variable_resolver_contribution_1.VariableResolverContribution,
|
|
24
|
+
];
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
VariableModule = (0, tslib_1.__decorate)([
|
|
28
|
+
(0, di_1.Injectable)()
|
|
29
|
+
], VariableModule);
|
|
30
|
+
exports.VariableModule = VariableModule;
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":";;;;AAAA,qCAAoD;AACpD,iEAA2D;AAC3D,qFAAgF;AAChF,+EAAyE;AACzE,sCAAqD;AACrD,2EAAsE;AAGtE,IAAa,cAAc,GAA3B,MAAa,cAAe,SAAQ,gCAAa;IAAjD;;QACE,cAAS,GAAe;YACtB;gBACE,KAAK,EAAE,iCAAwB;gBAC/B,QAAQ,EAAE,mDAAuB;aAClC;YACD;gBACE,KAAK,EAAE,sDAAwB;gBAC/B,QAAQ,EAAE,sDAAwB;aACnC;YACD,6DAA4B;SAC7B,CAAC;IAEJ,CAAC;CAAA,CAAA;AAbY,cAAc;IAD1B,IAAA,eAAU,GAAE;GACA,cAAc,CAa1B;AAbY,wCAAc"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { QuickOpenService, QuickOpenModel, QuickOpenItem, Mode } from '@opensumi/ide-quick-open';
|
|
2
|
+
import { VariableRegistry } from '@opensumi/ide-core-browser';
|
|
3
|
+
export declare class VariableQuickOpenService implements QuickOpenModel {
|
|
4
|
+
protected items: QuickOpenItem[];
|
|
5
|
+
protected readonly variableRegistry: VariableRegistry;
|
|
6
|
+
protected readonly quickOpenService: QuickOpenService;
|
|
7
|
+
open(): void;
|
|
8
|
+
onType(lookFor: string, acceptor: (items: QuickOpenItem[]) => void): void;
|
|
9
|
+
}
|
|
10
|
+
export declare class VariableQuickOpenItem extends QuickOpenItem {
|
|
11
|
+
protected readonly name: string;
|
|
12
|
+
protected readonly description?: string | undefined;
|
|
13
|
+
constructor(name: string, description?: string | undefined);
|
|
14
|
+
getLabel(): string;
|
|
15
|
+
getDetail(): string;
|
|
16
|
+
run(mode: Mode): boolean;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=variable-quick-open.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable-quick-open.service.d.ts","sourceRoot":"","sources":["../../src/browser/variable-quick-open.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAY,MAAM,4BAA4B,CAAC;AAExE,qBACa,wBAAyB,YAAW,cAAc;IAE7D,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC;IAGjC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD,IAAI,IAAI,IAAI;IAaZ,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,IAAI,GAAG,IAAI;CAG1E;AAED,qBAAa,qBAAsB,SAAQ,aAAa;IAGpD,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAC/B,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;gBADZ,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,oBAAQ;IAKzC,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,MAAM;IAInB,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;CAGzB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VariableQuickOpenItem = exports.VariableQuickOpenService = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const di_1 = require("@opensumi/di");
|
|
6
|
+
const ide_quick_open_1 = require("@opensumi/ide-quick-open");
|
|
7
|
+
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
8
|
+
let VariableQuickOpenService = class VariableQuickOpenService {
|
|
9
|
+
open() {
|
|
10
|
+
this.items = this.variableRegistry.getVariables().map((v) => new VariableQuickOpenItem(v.name, v.description));
|
|
11
|
+
this.quickOpenService.open(this, {
|
|
12
|
+
placeholder: (0, ide_core_browser_1.localize)('variable.registered.variables'),
|
|
13
|
+
fuzzyMatchLabel: true,
|
|
14
|
+
fuzzyMatchDescription: true,
|
|
15
|
+
// fuzzySort: true,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
onType(lookFor, acceptor) {
|
|
19
|
+
acceptor(this.items);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
(0, tslib_1.__decorate)([
|
|
23
|
+
(0, di_1.Autowired)(ide_core_browser_1.VariableRegistry),
|
|
24
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
25
|
+
], VariableQuickOpenService.prototype, "variableRegistry", void 0);
|
|
26
|
+
(0, tslib_1.__decorate)([
|
|
27
|
+
(0, di_1.Autowired)(ide_quick_open_1.QuickOpenService),
|
|
28
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
29
|
+
], VariableQuickOpenService.prototype, "quickOpenService", void 0);
|
|
30
|
+
VariableQuickOpenService = (0, tslib_1.__decorate)([
|
|
31
|
+
(0, di_1.Injectable)()
|
|
32
|
+
], VariableQuickOpenService);
|
|
33
|
+
exports.VariableQuickOpenService = VariableQuickOpenService;
|
|
34
|
+
class VariableQuickOpenItem extends ide_quick_open_1.QuickOpenItem {
|
|
35
|
+
constructor(name, description) {
|
|
36
|
+
super({});
|
|
37
|
+
this.name = name;
|
|
38
|
+
this.description = description;
|
|
39
|
+
}
|
|
40
|
+
getLabel() {
|
|
41
|
+
return '${' + this.name + '}';
|
|
42
|
+
}
|
|
43
|
+
getDetail() {
|
|
44
|
+
return this.description || '';
|
|
45
|
+
}
|
|
46
|
+
run(mode) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.VariableQuickOpenItem = VariableQuickOpenItem;
|
|
51
|
+
//# sourceMappingURL=variable-quick-open.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable-quick-open.service.js","sourceRoot":"","sources":["../../src/browser/variable-quick-open.service.ts"],"names":[],"mappings":";;;;AAAA,qCAAqD;AACrD,6DAAiG;AACjG,iEAAwE;AAGxE,IAAa,wBAAwB,GAArC,MAAa,wBAAwB;IAUnC,IAAI;QACF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,GAAG,CACnD,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,CACxD,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE;YAC/B,WAAW,EAAE,IAAA,2BAAQ,EAAC,+BAA+B,CAAC;YACtD,eAAe,EAAE,IAAI;YACrB,qBAAqB,EAAE,IAAI;YAC3B,mBAAmB;SACpB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,OAAe,EAAE,QAA0C;QAChE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;CACF,CAAA;AArBC;IADC,IAAA,cAAS,EAAC,mCAAgB,CAAC;;kEAC0B;AAGtD;IADC,IAAA,cAAS,EAAC,iCAAgB,CAAC;;kEAC0B;AAR3C,wBAAwB;IADpC,IAAA,eAAU,GAAE;GACA,wBAAwB,CA0BpC;AA1BY,4DAAwB;AA4BrC,MAAa,qBAAsB,SAAQ,8BAAa;IAEtD,YACqB,IAAY,EACZ,WAAoB;QAEvC,KAAK,CAAC,EAAE,CAAC,CAAC;QAHS,SAAI,GAAJ,IAAI,CAAQ;QACZ,gBAAW,GAAX,WAAW,CAAS;IAGzC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAChC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,GAAG,CAAC,IAAU;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AApBD,sDAoBC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ClientAppContribution, ContributionProvider, Command, CommandContribution, CommandRegistry, VariableRegistry, VariableContribution } from '@opensumi/ide-core-browser';
|
|
2
|
+
import { VariableQuickOpenService } from './variable-quick-open.service';
|
|
3
|
+
export declare const LIST_VARIABLES: Command;
|
|
4
|
+
export declare class VariableResolverContribution implements ClientAppContribution, CommandContribution {
|
|
5
|
+
protected readonly contributionProvider: ContributionProvider<VariableContribution>;
|
|
6
|
+
protected readonly variableRegistry: VariableRegistry;
|
|
7
|
+
protected readonly variableQuickOpenService: VariableQuickOpenService;
|
|
8
|
+
onStart(): void;
|
|
9
|
+
registerCommands(commands: CommandRegistry): void;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=variable-resolver.contribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable-resolver.contribution.d.ts","sourceRoot":"","sources":["../../src/browser/variable-resolver.contribution.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAU,gBAAgB,EAAE,oBAAoB,EAAY,MAAM,4BAA4B,CAAC;AAClM,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,eAAO,MAAM,cAAc,EAAE,OAG5B,CAAC;AAEF,qBACa,4BAA6B,YAAW,qBAAqB,EAAE,mBAAmB;IAG7F,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;IAGpF,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAEtE,OAAO,IAAI,IAAI;IAMf,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;CAKlD"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VariableResolverContribution = exports.LIST_VARIABLES = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const di_1 = require("@opensumi/di");
|
|
6
|
+
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
7
|
+
const variable_quick_open_service_1 = require("./variable-quick-open.service");
|
|
8
|
+
exports.LIST_VARIABLES = {
|
|
9
|
+
id: 'variable.list',
|
|
10
|
+
label: (0, ide_core_browser_1.localize)('variable.list.all'),
|
|
11
|
+
};
|
|
12
|
+
let VariableResolverContribution = class VariableResolverContribution {
|
|
13
|
+
onStart() {
|
|
14
|
+
this.contributionProvider.getContributions().forEach((contrib) => contrib.registerVariables(this.variableRegistry));
|
|
15
|
+
}
|
|
16
|
+
registerCommands(commands) {
|
|
17
|
+
commands.registerCommand(exports.LIST_VARIABLES, {
|
|
18
|
+
execute: () => this.variableQuickOpenService.open(),
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
(0, tslib_1.__decorate)([
|
|
23
|
+
(0, di_1.Autowired)(ide_core_browser_1.VariableContribution),
|
|
24
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
25
|
+
], VariableResolverContribution.prototype, "contributionProvider", void 0);
|
|
26
|
+
(0, tslib_1.__decorate)([
|
|
27
|
+
(0, di_1.Autowired)(ide_core_browser_1.VariableRegistry),
|
|
28
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
29
|
+
], VariableResolverContribution.prototype, "variableRegistry", void 0);
|
|
30
|
+
(0, tslib_1.__decorate)([
|
|
31
|
+
(0, di_1.Autowired)(variable_quick_open_service_1.VariableQuickOpenService),
|
|
32
|
+
(0, tslib_1.__metadata)("design:type", variable_quick_open_service_1.VariableQuickOpenService)
|
|
33
|
+
], VariableResolverContribution.prototype, "variableQuickOpenService", void 0);
|
|
34
|
+
VariableResolverContribution = (0, tslib_1.__decorate)([
|
|
35
|
+
(0, ide_core_browser_1.Domain)(ide_core_browser_1.ClientAppContribution, ide_core_browser_1.CommandContribution)
|
|
36
|
+
], VariableResolverContribution);
|
|
37
|
+
exports.VariableResolverContribution = VariableResolverContribution;
|
|
38
|
+
//# sourceMappingURL=variable-resolver.contribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable-resolver.contribution.js","sourceRoot":"","sources":["../../src/browser/variable-resolver.contribution.ts"],"names":[],"mappings":";;;;AAAA,qCAAyC;AACzC,iEAAkM;AAClM,+EAAyE;AAE5D,QAAA,cAAc,GAAY;IACrC,EAAE,EAAE,eAAe;IACnB,KAAK,EAAE,IAAA,2BAAQ,EAAC,mBAAmB,CAAC;CACrC,CAAC;AAGF,IAAa,4BAA4B,GAAzC,MAAa,4BAA4B;IAWvC,OAAO;QACL,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC/D,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CACjD,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,QAAyB;QACxC,QAAQ,CAAC,eAAe,CAAC,sBAAc,EAAE;YACvC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE;SACpD,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAnBC;IADC,IAAA,cAAS,EAAC,uCAAoB,CAAC;;0EACoD;AAGpF;IADC,IAAA,cAAS,EAAC,mCAAgB,CAAC;;sEAC0B;AAGtD;IADC,IAAA,cAAS,EAAC,sDAAwB,CAAC;2CACS,sDAAwB;8EAAC;AAT3D,4BAA4B;IADxC,IAAA,yBAAM,EAAC,wCAAqB,EAAE,sCAAmB,CAAC;GACtC,4BAA4B,CAsBxC;AAtBY,oEAA4B"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { VariableRegistry } from '@opensumi/ide-core-browser';
|
|
2
|
+
import { VariableResolveOptions, IVariableResolverService } from '../common';
|
|
3
|
+
export declare class VariableResolverService implements IVariableResolverService {
|
|
4
|
+
protected static VAR_REGEXP: RegExp;
|
|
5
|
+
protected readonly variableRegistry: VariableRegistry;
|
|
6
|
+
/**
|
|
7
|
+
* 处理给定的变量数组
|
|
8
|
+
* @param value 需要处理的变量数组
|
|
9
|
+
* @param options 处理参数
|
|
10
|
+
*/
|
|
11
|
+
resolveArray(value: string[], options?: VariableResolveOptions): Promise<string[]>;
|
|
12
|
+
/**
|
|
13
|
+
* 变量处理函数
|
|
14
|
+
* @param value 变量
|
|
15
|
+
* @param options 处理参数
|
|
16
|
+
*/
|
|
17
|
+
resolve<T>(value: T, options?: VariableResolveOptions): Promise<T>;
|
|
18
|
+
/**
|
|
19
|
+
* 实际处理函数
|
|
20
|
+
* @param value
|
|
21
|
+
* @param context
|
|
22
|
+
*/
|
|
23
|
+
protected doResolve(value: any, context: VariableResolverService.Context): Promise<any>;
|
|
24
|
+
/**
|
|
25
|
+
* 获取对象值
|
|
26
|
+
* @param obj
|
|
27
|
+
* @param context
|
|
28
|
+
*/
|
|
29
|
+
protected doResolveObject(obj: object, context: VariableResolverService.Context): Promise<object>;
|
|
30
|
+
/**
|
|
31
|
+
* 获取数组值
|
|
32
|
+
* @param values
|
|
33
|
+
* @param context
|
|
34
|
+
*/
|
|
35
|
+
protected doResolveArray(values: Array<any>, context: VariableResolverService.Context): Promise<Array<any>>;
|
|
36
|
+
/**
|
|
37
|
+
* 获取字符串值
|
|
38
|
+
* @param value
|
|
39
|
+
* @param context
|
|
40
|
+
*/
|
|
41
|
+
protected doResolveString(value: string, context: VariableResolverService.Context): Promise<string>;
|
|
42
|
+
protected resolveVariables(value: string, context: VariableResolverService.Context): Promise<void>;
|
|
43
|
+
}
|
|
44
|
+
export declare namespace VariableResolverService {
|
|
45
|
+
class Context {
|
|
46
|
+
protected readonly variableRegistry: VariableRegistry;
|
|
47
|
+
protected readonly options: VariableResolveOptions;
|
|
48
|
+
protected readonly resolved: Map<string, string | undefined>;
|
|
49
|
+
constructor(variableRegistry: VariableRegistry, options: VariableResolveOptions);
|
|
50
|
+
get(name: string): string | undefined;
|
|
51
|
+
resolve(name: string): Promise<void>;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=variable-resolver.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable-resolver.service.d.ts","sourceRoot":"","sources":["../../src/browser/variable-resolver.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAE7E,qBACa,uBAAwB,YAAW,wBAAwB;IAEtE,SAAS,CAAC,MAAM,CAAC,UAAU,SAAkB;IAG7C,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAItF;;;;OAIG;IACG,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,CAAC,CAAC;IAM5E;;;;OAIG;cACa,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAgB7F;;;;OAIG;cACa,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAYvG;;;;OAIG;cACa,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,uBAAuB,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IASjH;;;;OAIG;cACa,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;CAOzG;AAED,yBAAiB,uBAAuB,CAAC;IACvC,MAAa,OAAO;QAKhB,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;QACrD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,sBAAsB;QAJpD,SAAS,CAAC,QAAQ,CAAC,QAAQ,kCAAyC;oBAG/C,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,sBAAsB;QAGpD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;QAI/B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;KAa3C;CACF"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var VariableResolverService_1;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.VariableResolverService = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const di_1 = require("@opensumi/di");
|
|
7
|
+
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
8
|
+
let VariableResolverService = VariableResolverService_1 = class VariableResolverService {
|
|
9
|
+
/**
|
|
10
|
+
* 处理给定的变量数组
|
|
11
|
+
* @param value 需要处理的变量数组
|
|
12
|
+
* @param options 处理参数
|
|
13
|
+
*/
|
|
14
|
+
resolveArray(value, options = {}) {
|
|
15
|
+
return this.resolve(value, options);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 变量处理函数
|
|
19
|
+
* @param value 变量
|
|
20
|
+
* @param options 处理参数
|
|
21
|
+
*/
|
|
22
|
+
async resolve(value, options = {}) {
|
|
23
|
+
const context = new VariableResolverService_1.Context(this.variableRegistry, options);
|
|
24
|
+
const resolved = await this.doResolve(value, context);
|
|
25
|
+
return resolved;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* 实际处理函数
|
|
29
|
+
* @param value
|
|
30
|
+
* @param context
|
|
31
|
+
*/
|
|
32
|
+
async doResolve(value, context) {
|
|
33
|
+
if (value === undefined || value === null) {
|
|
34
|
+
return value;
|
|
35
|
+
}
|
|
36
|
+
if (typeof value === 'string') {
|
|
37
|
+
return this.doResolveString(value, context);
|
|
38
|
+
}
|
|
39
|
+
if (Array.isArray(value)) {
|
|
40
|
+
return this.doResolveArray(value, context);
|
|
41
|
+
}
|
|
42
|
+
if (typeof value === 'object') {
|
|
43
|
+
return this.doResolveObject(value, context);
|
|
44
|
+
}
|
|
45
|
+
return value;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* 获取对象值
|
|
49
|
+
* @param obj
|
|
50
|
+
* @param context
|
|
51
|
+
*/
|
|
52
|
+
async doResolveObject(obj, context) {
|
|
53
|
+
const result = {};
|
|
54
|
+
for (const name of Object.keys(obj)) {
|
|
55
|
+
const value = obj[name];
|
|
56
|
+
const resolved = await this.doResolve(value, context);
|
|
57
|
+
result[name] = resolved;
|
|
58
|
+
}
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* 获取数组值
|
|
63
|
+
* @param values
|
|
64
|
+
* @param context
|
|
65
|
+
*/
|
|
66
|
+
async doResolveArray(values, context) {
|
|
67
|
+
const result = [];
|
|
68
|
+
for (const value of values) {
|
|
69
|
+
const resolved = await this.doResolve(value, context);
|
|
70
|
+
result.push(resolved);
|
|
71
|
+
}
|
|
72
|
+
return result;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* 获取字符串值
|
|
76
|
+
* @param value
|
|
77
|
+
* @param context
|
|
78
|
+
*/
|
|
79
|
+
async doResolveString(value, context) {
|
|
80
|
+
await this.resolveVariables(value, context);
|
|
81
|
+
return value.replace(VariableResolverService_1.VAR_REGEXP, (match, varName) => {
|
|
82
|
+
const varValue = context.get(varName);
|
|
83
|
+
return varValue !== undefined ? varValue : match;
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
async resolveVariables(value, context) {
|
|
87
|
+
let match;
|
|
88
|
+
while ((match = VariableResolverService_1.VAR_REGEXP.exec(value)) !== null) {
|
|
89
|
+
const variableName = match[1];
|
|
90
|
+
await context.resolve(variableName);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
VariableResolverService.VAR_REGEXP = /\$\{(.*?)\}/g;
|
|
95
|
+
(0, tslib_1.__decorate)([
|
|
96
|
+
(0, di_1.Autowired)(ide_core_browser_1.VariableRegistry),
|
|
97
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
98
|
+
], VariableResolverService.prototype, "variableRegistry", void 0);
|
|
99
|
+
VariableResolverService = VariableResolverService_1 = (0, tslib_1.__decorate)([
|
|
100
|
+
(0, di_1.Injectable)()
|
|
101
|
+
], VariableResolverService);
|
|
102
|
+
exports.VariableResolverService = VariableResolverService;
|
|
103
|
+
(function (VariableResolverService) {
|
|
104
|
+
class Context {
|
|
105
|
+
constructor(variableRegistry, options) {
|
|
106
|
+
this.variableRegistry = variableRegistry;
|
|
107
|
+
this.options = options;
|
|
108
|
+
this.resolved = new Map();
|
|
109
|
+
}
|
|
110
|
+
get(name) {
|
|
111
|
+
return this.resolved.get(name);
|
|
112
|
+
}
|
|
113
|
+
async resolve(name) {
|
|
114
|
+
if (this.resolved.has(name)) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
try {
|
|
118
|
+
const variable = this.variableRegistry.getVariable(name);
|
|
119
|
+
const value = variable && await variable.resolve(this.options.context);
|
|
120
|
+
this.resolved.set(name, value);
|
|
121
|
+
}
|
|
122
|
+
catch (e) {
|
|
123
|
+
this.resolved.set(name, undefined);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
VariableResolverService.Context = Context;
|
|
128
|
+
})(VariableResolverService = exports.VariableResolverService || (exports.VariableResolverService = {}));
|
|
129
|
+
exports.VariableResolverService = VariableResolverService;
|
|
130
|
+
//# sourceMappingURL=variable-resolver.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable-resolver.service.js","sourceRoot":"","sources":["../../src/browser/variable-resolver.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;AAAA,0DAA2B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { URI } from '@opensumi/ide-core-browser';
|
|
2
|
+
export interface VariableResolveOptions {
|
|
3
|
+
context?: URI;
|
|
4
|
+
}
|
|
5
|
+
export declare const IVariableResolverService: unique symbol;
|
|
6
|
+
export interface IVariableResolverService {
|
|
7
|
+
resolve<T>(value: T, options?: VariableResolveOptions): Promise<T>;
|
|
8
|
+
resolveArray(value: string[], options?: VariableResolveOptions): Promise<string[]>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=variable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable.d.ts","sourceRoot":"","sources":["../../src/common/variable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAEjD,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED,eAAO,MAAM,wBAAwB,eAAqC,CAAC;AAE3E,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACnE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACpF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable.js","sourceRoot":"","sources":["../../src/common/variable.ts"],"names":[],"mappings":";;;AAMa,QAAA,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC"}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
|
package/lib/index.js
ADDED
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,wDAAyB"}
|
package/package.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@opensumi/ide-variable",
|
|
3
|
+
"version": "2.12.1-next-079c1930",
|
|
4
|
+
"files": [
|
|
5
|
+
"lib"
|
|
6
|
+
],
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"main": "lib/index.js",
|
|
9
|
+
"typings": "lib/index.d.ts",
|
|
10
|
+
"scripts": {
|
|
11
|
+
"prepublishOnly": "npm run build",
|
|
12
|
+
"build": "tsc --build ../../configs/ts/references/tsconfig.variable.json"
|
|
13
|
+
},
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "git@github.com:opensumi/core.git"
|
|
17
|
+
},
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"@opensumi/ide-core-common": "2.12.1-next-079c1930",
|
|
20
|
+
"@opensumi/ide-core-node": "2.12.1-next-079c1930",
|
|
21
|
+
"@opensumi/ide-quick-open": "2.12.1-next-079c1930"
|
|
22
|
+
},
|
|
23
|
+
"devDependencies": {
|
|
24
|
+
"@opensumi/ide-core-browser": "2.12.1-next-079c1930",
|
|
25
|
+
"@opensumi/ide-dev-tool": "^1.3.1",
|
|
26
|
+
"@opensumi/ide-quick-open": "2.12.1-next-079c1930"
|
|
27
|
+
}
|
|
28
|
+
}
|