@opensumi/ide-core-common 2.22.6 → 2.22.7-next-1678329924.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/reference.d.ts +1 -1
- package/lib/reference.d.ts.map +1 -1
- package/lib/reference.js +8 -6
- package/lib/reference.js.map +1 -1
- package/package.json +3 -3
- package/src/reference.ts +7 -6
package/lib/reference.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export interface IRef<T> {
|
|
|
6
6
|
hold(reason?: string): IRef<T>;
|
|
7
7
|
disposed: boolean;
|
|
8
8
|
}
|
|
9
|
+
export declare function normalizeFileUrl(uri: string): string;
|
|
9
10
|
export declare class ReferenceManager<T> {
|
|
10
11
|
private factory;
|
|
11
12
|
protected instances: Map<string, T>;
|
|
@@ -16,7 +17,6 @@ export declare class ReferenceManager<T> {
|
|
|
16
17
|
onInstanceCreated: Event<T>;
|
|
17
18
|
protected _creating: Map<string, Promise<void>>;
|
|
18
19
|
constructor(factory: (key: string) => MaybePromise<T>);
|
|
19
|
-
private getReferenceKey;
|
|
20
20
|
getReference(uri: string, reason?: string): Promise<IRef<T>>;
|
|
21
21
|
getReferenceIfHasInstance(key: string, reason?: string): IRef<T> | null;
|
|
22
22
|
private createRef;
|
package/lib/reference.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../src/reference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE/E,MAAM,WAAW,IAAI,CAAC,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,IAAI,IAAI,CAAC;IAChB,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,gBAAgB,CAAC,CAAC;IAejB,OAAO,CAAC,OAAO;IAd3B,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAa;IAEhD,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAa;IAExD,SAAS,CAAC,uBAAuB,kBAAyB;IAE1D,SAAS,CAAC,kBAAkB,aAAoB;IAEzC,sBAAsB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAsC;IAE3E,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAiC;IAEnE,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAa;gBAExC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../src/reference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE/E,MAAM,WAAW,IAAI,CAAC,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,IAAI,IAAI,CAAC;IAChB,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,UAI3C;AAED,qBAAa,gBAAgB,CAAC,CAAC;IAejB,OAAO,CAAC,OAAO;IAd3B,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAa;IAEhD,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAa;IAExD,SAAS,CAAC,uBAAuB,kBAAyB;IAE1D,SAAS,CAAC,kBAAkB,aAAoB;IAEzC,sBAAsB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAsC;IAE3E,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAiC;IAEnE,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAa;gBAExC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC;IAEvD,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAkClE,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI;IAOvE,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,SAAS;CAkBlB;AAED,qBAAa,GAAG,CAAC,CAAC,CAAE,SAAQ,UAAW,YAAW,IAAI,CAAC,CAAC,CAAC;IAErD,OAAO,CAAC,SAAS;aACD,MAAM,EAAE,MAAM,GAAG,SAAS;IAC1C,OAAO,CAAC,MAAM;gBAFN,SAAS,EAAE,CAAC,GAAG,IAAI,EACX,MAAM,EAAE,MAAM,GAAG,SAAS,EAClC,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAWtD,IAAI,QAAQ,mBAKX;IAED,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;CAM9B"}
|
package/lib/reference.js
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Ref = exports.ReferenceManager = void 0;
|
|
3
|
+
exports.Ref = exports.ReferenceManager = exports.normalizeFileUrl = void 0;
|
|
4
4
|
const ide_utils_1 = require("@opensumi/ide-utils");
|
|
5
|
+
function normalizeFileUrl(uri) {
|
|
6
|
+
// 部分情况下可能出现类似 `file:///a//` 的路径,此时需要替换路径中的 `//` 为 `/`
|
|
7
|
+
// 从 `file:///a//b` 规范为 `file:///a/b`
|
|
8
|
+
return uri.replace(/\w+\/\/\w+/gi, (match) => match.replace('//', '/'));
|
|
9
|
+
}
|
|
10
|
+
exports.normalizeFileUrl = normalizeFileUrl;
|
|
5
11
|
class ReferenceManager {
|
|
6
12
|
constructor(factory) {
|
|
7
13
|
this.factory = factory;
|
|
@@ -13,12 +19,8 @@ class ReferenceManager {
|
|
|
13
19
|
this.onInstanceCreated = this._onInstanceCreated.event;
|
|
14
20
|
this._creating = new Map();
|
|
15
21
|
}
|
|
16
|
-
getReferenceKey(uri) {
|
|
17
|
-
// 部分情况下可能出现类似 `file:///a//b.js` 的路径,此时需要替换路径中的 `//` 为 `/`
|
|
18
|
-
return uri.replace(/\w+\/\/\w+/gi, (match) => match.replace('//', '/'));
|
|
19
|
-
}
|
|
20
22
|
async getReference(uri, reason) {
|
|
21
|
-
const key =
|
|
23
|
+
const key = normalizeFileUrl(uri);
|
|
22
24
|
if (!this.instances.has(key)) {
|
|
23
25
|
// 由于创建过程可能为异步,此处标注为 creating, 防止重复创建。
|
|
24
26
|
if (!this._creating.has(key)) {
|
package/lib/reference.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference.js","sourceRoot":"","sources":["../src/reference.ts"],"names":[],"mappings":";;;AAAA,mDAA+E;AAU/E,MAAa,gBAAgB;IAe3B,YAAoB,OAAyC;QAAzC,YAAO,GAAP,OAAO,CAAkC;QAdnD,cAAS,GAAmB,IAAI,GAAG,EAAE,CAAC;QAEtC,SAAI,GAAgC,IAAI,GAAG,EAAE,CAAC;QAE9C,4BAAuB,GAAG,IAAI,mBAAO,EAAU,CAAC;QAEhD,uBAAkB,GAAG,IAAI,mBAAO,EAAK,CAAC;QAEzC,2BAAsB,GAAkB,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;QAE3E,sBAAiB,GAAa,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;QAEzD,cAAS,GAA+B,IAAI,GAAG,EAAE,CAAC;IAEI,CAAC;
|
|
1
|
+
{"version":3,"file":"reference.js","sourceRoot":"","sources":["../src/reference.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/ide-core-common",
|
|
3
|
-
"version": "2.22.
|
|
3
|
+
"version": "2.22.7-next-1678329924.0",
|
|
4
4
|
"description": "@opensumi/ide-core-common",
|
|
5
5
|
"files": [
|
|
6
6
|
"lib",
|
|
@@ -19,11 +19,11 @@
|
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@opensumi/di": "^1.4.0",
|
|
22
|
-
"@opensumi/ide-utils": "2.22.
|
|
22
|
+
"@opensumi/ide-utils": "2.22.7-next-1678329924.0",
|
|
23
23
|
"jschardet": "3.0.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@opensumi/ide-dev-tool": "1.3.1"
|
|
27
27
|
},
|
|
28
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "efb81d6c84e0de2b0673a9edda1e1657f3205b33"
|
|
29
29
|
}
|
package/src/reference.ts
CHANGED
|
@@ -8,6 +8,12 @@ export interface IRef<T> {
|
|
|
8
8
|
disposed: boolean;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
+
export function normalizeFileUrl(uri: string) {
|
|
12
|
+
// 部分情况下可能出现类似 `file:///a//` 的路径,此时需要替换路径中的 `//` 为 `/`
|
|
13
|
+
// 从 `file:///a//b` 规范为 `file:///a/b`
|
|
14
|
+
return uri.replace(/\w+\/\/\w+/gi, (match) => match.replace('//', '/'));
|
|
15
|
+
}
|
|
16
|
+
|
|
11
17
|
export class ReferenceManager<T> {
|
|
12
18
|
protected instances: Map<string, T> = new Map();
|
|
13
19
|
|
|
@@ -25,13 +31,8 @@ export class ReferenceManager<T> {
|
|
|
25
31
|
|
|
26
32
|
constructor(private factory: (key: string) => MaybePromise<T>) {}
|
|
27
33
|
|
|
28
|
-
private getReferenceKey(uri: string) {
|
|
29
|
-
// 部分情况下可能出现类似 `file:///a//b.js` 的路径,此时需要替换路径中的 `//` 为 `/`
|
|
30
|
-
return uri.replace(/\w+\/\/\w+/gi, (match) => match.replace('//', '/'));
|
|
31
|
-
}
|
|
32
|
-
|
|
33
34
|
async getReference(uri: string, reason?: string): Promise<IRef<T>> {
|
|
34
|
-
const key =
|
|
35
|
+
const key = normalizeFileUrl(uri);
|
|
35
36
|
if (!this.instances.has(key)) {
|
|
36
37
|
// 由于创建过程可能为异步,此处标注为 creating, 防止重复创建。
|
|
37
38
|
if (!this._creating.has(key)) {
|