@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.
@@ -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;
@@ -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;IAE7D,OAAO,CAAC,eAAe;IAKjB,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"}
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 = this.getReferenceKey(uri);
23
+ const key = normalizeFileUrl(uri);
22
24
  if (!this.instances.has(key)) {
23
25
  // 由于创建过程可能为异步,此处标注为 creating, 防止重复创建。
24
26
  if (!this._creating.has(key)) {
@@ -1 +1 @@
1
- {"version":3,"file":"reference.js","sourceRoot":"","sources":["../src/reference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reference.js","sourceRoot":"","sources":["../src/reference.ts"],"names":[],"mappings":";;;AAAA,mDAA+E;AAU/E,SAAgB,gBAAgB,CAAC,GAAW;IAC1C,sDAAsD;IACtD,qCAAqC;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AAC1E,CAAC;AAJD,4CAIC;AAED,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;IAEjE,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,MAAe;QAC7C,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC5B,sCAAsC;YACtC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC5B,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;oBAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACzC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;oBAClC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzC,CAAC,CAAC,EAAE,CAAC;gBACL,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;aAClC;YACD,IAAI;gBACF,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAC/B;YAAC,OAAO,CAAC,EAAE;gBACV,eAAe;gBACf,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC3B,MAAM,CAAC,CAAC;aACT;SACF;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACxC,4EAA4E;QAC5E,uBAAuB;QACvB,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,CAAC,GAAG,EAAE;gBACzB,kCAAkC;gBAClC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,yBAAyB,CAAC,GAAW,EAAE,MAAe;QACpD,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;SACpC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,SAAS,CAAC,GAAW,EAAE,MAAe;QAC5C,MAAM,QAAQ,GAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAI,QAAQ,EAAE,MAAM,EAAE,CAAC,MAAe,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3F,GAAG,CAAC,UAAU,CAAC;YACb,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3B,CAAC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACtB,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,MAAM,CAAC,GAAW,EAAE,GAAW;QACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;SACxB;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAEO,SAAS,CAAC,GAAW,EAAE,GAAuB;QACpD,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACtB,IAAI,GAAG,EAAE;gBACP,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC/C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;oBAChB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBACtC;aACF;YACD,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,MAAM,KAAK,CAAC,EAAE;gBACpC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBAC3B,OAAO,CAAC,cAAc;iBACvB;gBACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACtB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACxC;SACF;IACH,CAAC;CACF;AA/FD,4CA+FC;AAED,MAAa,GAAO,SAAQ,sBAAU;IACpC,YACU,SAAmB,EACX,MAA0B,EAClC,MAA4C;QAEpD,KAAK,EAAE,CAAC;QAJA,cAAS,GAAT,SAAS,CAAU;QACX,WAAM,GAAN,MAAM,CAAoB;QAClC,WAAM,GAAN,MAAM,CAAsC;QAGpD,IAAI,CAAC,UAAU,CAAC;YACd,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC3C;QACD,OAAO,IAAI,CAAC,SAAU,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,MAAe;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC3C;QACD,OAAO,IAAI,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;CACF;AA5BD,kBA4BC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensumi/ide-core-common",
3
- "version": "2.22.6",
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.6",
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": "2f7fd479e4f806291a1fa63707fdb4e4102e0eb7"
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 = this.getReferenceKey(uri);
35
+ const key = normalizeFileUrl(uri);
35
36
  if (!this.instances.has(key)) {
36
37
  // 由于创建过程可能为异步,此处标注为 creating, 防止重复创建。
37
38
  if (!this._creating.has(key)) {