@opensumi/ide-storage 2.23.5-rc-1681807382.0 → 2.23.5

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,13 +1,14 @@
1
- import { StorageResolverContribution, URI, IStorage } from '@opensumi/ide-core-browser';
2
- export declare class DatabaseStorageContribution implements StorageResolverContribution {
1
+ import { StorageResolverContribution, URI, IStorage, ClientAppContribution } from '@opensumi/ide-core-browser';
2
+ export declare class DatabaseStorageContribution implements StorageResolverContribution, ClientAppContribution {
3
3
  private workspaceStorage;
4
4
  private globalStorage;
5
5
  private appConfig;
6
6
  private workspaceService;
7
7
  private globalLocalStorage;
8
8
  private scopedLocalStorage;
9
- private cache;
9
+ storage: IStorage;
10
10
  resolve(storageId: URI): Promise<IStorage | undefined>;
11
11
  isBuiltinStorage(storageId: URI): boolean;
12
+ onReconnect(): void;
12
13
  }
13
14
  //# sourceMappingURL=storage.contribution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.contribution.d.ts","sourceRoot":"","sources":["../../src/browser/storage.contribution.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,2BAA2B,EAC3B,GAAG,EACH,QAAQ,EAMT,MAAM,4BAA4B,CAAC;AAOpC,qBACa,2BAA4B,YAAW,2BAA2B;IAE7E,OAAO,CAAC,gBAAgB,CAAiB;IAGzC,OAAO,CAAC,aAAa,CAAiB;IAGtC,OAAO,CAAC,SAAS,CAAY;IAG7B,OAAO,CAAC,gBAAgB,CAAoB;IAG5C,OAAO,CAAC,kBAAkB,CAA8B;IAGxD,OAAO,CAAC,kBAAkB,CAA8B;IAExD,OAAO,CAAC,KAAK,CAAoC;IAE3C,OAAO,CAAC,SAAS,EAAE,GAAG;IA8C5B,gBAAgB,CAAC,SAAS,EAAE,GAAG;CAShC"}
1
+ {"version":3,"file":"storage.contribution.d.ts","sourceRoot":"","sources":["../../src/browser/storage.contribution.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,2BAA2B,EAC3B,GAAG,EACH,QAAQ,EACR,qBAAqB,EAMtB,MAAM,4BAA4B,CAAC;AAOpC,qBACa,2BAA4B,YAAW,2BAA2B,EAAE,qBAAqB;IAEpG,OAAO,CAAC,gBAAgB,CAAiB;IAGzC,OAAO,CAAC,aAAa,CAAiB;IAGtC,OAAO,CAAC,SAAS,CAAY;IAG7B,OAAO,CAAC,gBAAgB,CAAoB;IAG5C,OAAO,CAAC,kBAAkB,CAA8B;IAGxD,OAAO,CAAC,kBAAkB,CAA8B;IAExD,OAAO,EAAE,QAAQ,CAAC;IAEZ,OAAO,CAAC,SAAS,EAAE,GAAG;IAwC5B,gBAAgB,CAAC,SAAS,EAAE,GAAG;IAU/B,WAAW;CAKZ"}
@@ -8,42 +8,33 @@ const ide_workspace_1 = require("@opensumi/ide-workspace");
8
8
  const common_1 = require("../common");
9
9
  const storage_1 = require("./storage");
10
10
  let DatabaseStorageContribution = class DatabaseStorageContribution {
11
- constructor() {
12
- this.cache = new Map();
13
- }
14
11
  async resolve(storageId) {
15
12
  const storageName = storageId.path.toString();
16
13
  let storage;
17
- const cache = this.cache.get(storageId.toString());
18
- if (cache) {
19
- storage = cache;
20
- }
21
- else {
22
- if (storageId.scheme === ide_core_browser_1.STORAGE_SCHEMA.SCOPE) {
23
- // 如果是内置的 Storage,在初始化过程中采用 ScopedBrowserStorageService 代理
24
- if (this.isBuiltinStorage(storageId)) {
25
- storage = new storage_1.Storage(this.workspaceStorage, this.workspaceService, this.appConfig, storageName, false, this.scopedLocalStorage);
26
- }
27
- else {
28
- storage = new storage_1.Storage(this.workspaceStorage, this.workspaceService, this.appConfig, storageName, false);
29
- }
14
+ if (storageId.scheme === ide_core_browser_1.STORAGE_SCHEMA.SCOPE) {
15
+ // 如果是内置的 Storage,在初始化过程中采用 ScopedBrowserStorageService 代理
16
+ if (this.isBuiltinStorage(storageId)) {
17
+ storage = new storage_1.Storage(this.workspaceStorage, this.workspaceService, this.appConfig, storageName, this.scopedLocalStorage);
18
+ }
19
+ else {
20
+ storage = new storage_1.Storage(this.workspaceStorage, this.workspaceService, this.appConfig, storageName);
30
21
  }
31
- else if (storageId.scheme === ide_core_browser_1.STORAGE_SCHEMA.GLOBAL) {
32
- if (this.isBuiltinStorage(storageId)) {
33
- // 如果是内置的 Storage,在初始化过程中采用 GlobalBrowserStorageService 代理
34
- storage = new storage_1.Storage(this.globalStorage, this.workspaceService, this.appConfig, storageName, true, this.globalLocalStorage);
35
- }
36
- else {
37
- storage = new storage_1.Storage(this.globalStorage, this.workspaceService, this.appConfig, storageName, true);
38
- }
22
+ }
23
+ else if (storageId.scheme === ide_core_browser_1.STORAGE_SCHEMA.GLOBAL) {
24
+ if (this.isBuiltinStorage(storageId)) {
25
+ // 如果是内置的 Storage,在初始化过程中采用 GlobalBrowserStorageService 代理
26
+ storage = new storage_1.Storage(this.globalStorage, this.workspaceService, this.appConfig, storageName, this.globalLocalStorage);
39
27
  }
40
28
  else {
41
- return;
29
+ storage = new storage_1.Storage(this.globalStorage, this.workspaceService, this.appConfig, storageName);
42
30
  }
43
- this.cache.set(storageId.toString(), storage);
31
+ }
32
+ else {
33
+ return;
44
34
  }
45
35
  // 等待后台存储模块初始化数据
46
36
  await storage.whenReady;
37
+ this.storage = storage;
47
38
  return storage;
48
39
  }
49
40
  isBuiltinStorage(storageId) {
@@ -55,6 +46,11 @@ let DatabaseStorageContribution = class DatabaseStorageContribution {
55
46
  }
56
47
  return false;
57
48
  }
49
+ onReconnect() {
50
+ if (this.storage) {
51
+ this.storage.reConnectInit();
52
+ }
53
+ }
58
54
  };
59
55
  tslib_1.__decorate([
60
56
  (0, di_1.Autowired)(common_1.IWorkspaceStorageServer),
@@ -81,7 +77,7 @@ tslib_1.__decorate([
81
77
  tslib_1.__metadata("design:type", ide_core_browser_1.ScopedBrowserStorageService)
82
78
  ], DatabaseStorageContribution.prototype, "scopedLocalStorage", void 0);
83
79
  DatabaseStorageContribution = tslib_1.__decorate([
84
- (0, ide_core_browser_1.Domain)(ide_core_browser_1.StorageResolverContribution)
80
+ (0, ide_core_browser_1.Domain)(ide_core_browser_1.StorageResolverContribution, ide_core_browser_1.ClientAppContribution)
85
81
  ], DatabaseStorageContribution);
86
82
  exports.DatabaseStorageContribution = DatabaseStorageContribution;
87
83
  //# sourceMappingURL=storage.contribution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.contribution.js","sourceRoot":"","sources":["../../src/browser/storage.contribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.contribution.js","sourceRoot":"","sources":["../../src/browser/storage.contribution.ts"],"names":[],"mappings":";;;;AAAA,qCAAmE;AACnE,iEAWoC;AACpC,2DAA4D;AAE5D,sCAA0F;AAE1F,uCAAoC;AAG7B,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAqBtC,KAAK,CAAC,OAAO,CAAC,SAAc;QAC1B,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9C,IAAI,OAAiB,CAAC;QACtB,IAAI,SAAS,CAAC,MAAM,KAAK,iCAAc,CAAC,KAAK,EAAE;YAC7C,0DAA0D;YAC1D,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE;gBACpC,OAAO,GAAG,IAAI,iBAAO,CACnB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,SAAS,EACd,WAAW,EACX,IAAI,CAAC,kBAAkB,CACxB,CAAC;aACH;iBAAM;gBACL,OAAO,GAAG,IAAI,iBAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;aAClG;SACF;aAAM,IAAI,SAAS,CAAC,MAAM,KAAK,iCAAc,CAAC,MAAM,EAAE;YACrD,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE;gBACpC,0DAA0D;gBAC1D,OAAO,GAAG,IAAI,iBAAO,CACnB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,SAAS,EACd,WAAW,EACX,IAAI,CAAC,kBAAkB,CACxB,CAAC;aACH;iBAAM;gBACL,OAAO,GAAG,IAAI,iBAAO,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;aAC/F;SACF;aAAM;YACL,OAAO;SACR;QACD,gBAAgB;QAChB,MAAM,OAAO,CAAC,SAAS,CAAC;QAExB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,gBAAgB,CAAC,SAAc;QAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,oCAAiB,CAAC,CAAC;QAC5C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,IAAI,SAAS,CAAC,OAAO,CAAC,oCAAiB,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC7C,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;SAC9B;IACH,CAAC;CACF,CAAA;AA3EC;IAAC,IAAA,cAAS,EAAC,gCAAuB,CAAC;;qEACM;AAEzC;IAAC,IAAA,cAAS,EAAC,6BAAoB,CAAC;;kEACM;AAEtC;IAAC,IAAA,cAAS,EAAC,4BAAS,CAAC;;8DACQ;AAE7B;IAAC,IAAA,cAAS,EAAC,iCAAiB,CAAC;;qEACe;AAE5C;IAAC,IAAA,cAAS,EAAC,8CAA2B,CAAC;sCACX,8CAA2B;uEAAC;AAExD;IAAC,IAAA,cAAS,EAAC,8CAA2B,CAAC;sCACX,8CAA2B;uEAAC;AAjB7C,2BAA2B;IADvC,IAAA,yBAAM,EAAC,8CAA2B,EAAE,wCAAqB,CAAC;GAC9C,2BAA2B,CA4EvC;AA5EY,kEAA2B"}
@@ -7,7 +7,6 @@ export declare class Storage implements IStorage {
7
7
  private readonly workspace;
8
8
  private readonly appConfig;
9
9
  private readonly storageName;
10
- private readonly isGlobal;
11
10
  private readonly browserLocalStorage?;
12
11
  private static readonly DEFAULT_FLUSH_DELAY;
13
12
  private _onDidChangeStorage;
@@ -21,12 +20,13 @@ export declare class Storage implements IStorage {
21
20
  private readonly logger;
22
21
  private readyDeferred;
23
22
  private whenReadyToWriteDeferred;
24
- constructor(database: IStorageServer, workspace: IWorkspaceService, appConfig: AppConfig, storageName: string, isGlobal?: boolean, browserLocalStorage?: StorageService | undefined);
23
+ constructor(database: IStorageServer, workspace: IWorkspaceService, appConfig: AppConfig, storageName: string, browserLocalStorage?: StorageService | undefined);
25
24
  get whenReady(): Promise<void>;
26
25
  get whenReadyToWrite(): Promise<void>;
27
26
  get items(): Map<string, string>;
28
27
  get size(): number;
29
28
  init(storageName: string): Promise<void>;
29
+ setup(storageName: string): void;
30
30
  reConnectInit(): Promise<void>;
31
31
  dispose(): void;
32
32
  get(key: string, fallbackValue: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/browser/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAEL,QAAQ,EAIR,KAAK,EAKN,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAkB,MAAM,WAAW,CAAC;AAQ3D,qBAAa,OAAQ,YAAW,QAAQ;IAsBpC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IA1BvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAO;IAElD,OAAO,CAAC,mBAAmB,CAAyB;IACpD,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAkC;IAE5E,OAAO,CAAC,YAAY,CAAyB;IAE7C,OAAO,CAAC,KAAK,CAAqB;IAElC,OAAO,CAAC,KAAK,CAAkD;IAE/D,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,cAAc,CAAkC;IAExD,OAAO,CAAC,sBAAsB,CAAoD;IAClF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAE3C,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,wBAAwB,CAAwB;gBAGrC,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,OAAc,EACxB,mBAAmB,CAAC,4BAAgB;IAcvD,IAAI,SAAS,kBAEZ;IAED,IAAI,gBAAgB,kBAEnB;IAED,IAAI,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAE/B;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAEK,IAAI,CAAC,WAAW,EAAE,MAAM;IA+BxB,aAAa;IAKnB,OAAO;IAIP,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;IAC/C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAc5D,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,OAAO;IACxD,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS;IAWrE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;IACrD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAWlE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B7F,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAqBd,YAAY;IAgC1B,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,SAAS;CAelB"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/browser/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAEL,QAAQ,EAIR,KAAK,EAGN,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAkB,MAAM,WAAW,CAAC;AAQ3D,qBAAa,OAAQ,YAAW,QAAQ;IAsBpC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAzBvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAO;IAElD,OAAO,CAAC,mBAAmB,CAAyB;IACpD,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAkC;IAE5E,OAAO,CAAC,YAAY,CAAyB;IAE7C,OAAO,CAAC,KAAK,CAAqB;IAElC,OAAO,CAAC,KAAK,CAAkD;IAE/D,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,cAAc,CAAkC;IAExD,OAAO,CAAC,sBAAsB,CAAoD;IAClF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAE3C,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,wBAAwB,CAAwB;gBAGrC,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,MAAM,EACnB,mBAAmB,CAAC,4BAAgB;IAYvD,IAAI,SAAS,kBAEZ;IAED,IAAI,gBAAgB,kBAEnB;IAED,IAAI,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAE/B;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAEK,IAAI,CAAC,WAAW,EAAE,MAAM;IA+B9B,KAAK,CAAC,WAAW,EAAE,MAAM;IAInB,aAAa;IAKnB,OAAO;IAIP,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;IAC/C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAc5D,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,OAAO;IACxD,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS;IAWrE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;IACrD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAWlE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B7F,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAqBd,YAAY;IAgC1B,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,SAAS;CAelB"}
@@ -9,12 +9,11 @@ var StorageState;
9
9
  StorageState[StorageState["Closed"] = 2] = "Closed";
10
10
  })(StorageState || (StorageState = {}));
11
11
  class Storage {
12
- constructor(database, workspace, appConfig, storageName, isGlobal = true, browserLocalStorage) {
12
+ constructor(database, workspace, appConfig, storageName, browserLocalStorage) {
13
13
  this.database = database;
14
14
  this.workspace = workspace;
15
15
  this.appConfig = appConfig;
16
16
  this.storageName = storageName;
17
- this.isGlobal = isGlobal;
18
17
  this.browserLocalStorage = browserLocalStorage;
19
18
  this._onDidChangeStorage = new ide_core_common_1.Emitter();
20
19
  this.onDidChangeStorage = this._onDidChangeStorage.event;
@@ -27,12 +26,11 @@ class Storage {
27
26
  this.readyDeferred = new ide_core_common_1.Deferred();
28
27
  this.whenReadyToWriteDeferred = new ide_core_common_1.Deferred();
29
28
  this.toDisposableCollection.push(this._onDidChangeStorage);
29
+ this.toDisposableCollection.push(this.workspace.onWorkspaceChanged(() => {
30
+ this.setup(storageName);
31
+ }));
30
32
  this.flushDelayer = new ide_core_common_1.ThrottledDelayer(Storage.DEFAULT_FLUSH_DELAY);
31
- this.init(storageName).then(() => {
32
- this.toDisposableCollection.push(this.workspace.onWorkspaceChanged(() => {
33
- this.init(storageName);
34
- }));
35
- });
33
+ this.setup(storageName);
36
34
  }
37
35
  get whenReady() {
38
36
  return this.readyDeferred.promise;
@@ -47,16 +45,13 @@ class Storage {
47
45
  return this.cache.size;
48
46
  }
49
47
  async init(storageName) {
50
- var _a;
51
- // 首次加载情况下,由于 Storage 不依赖 WorkspaceService 初始化逻辑
52
- // 在 `workspace` 不存在时,默认采用 `AppConfig` 内的 `workspaceDir` 配置值作为工作区路径
53
- const workspace = ((_a = this.workspace.workspace) === null || _a === void 0 ? void 0 : _a.uri) || ide_core_common_1.URI.file(this.appConfig.workspaceDir).toString();
48
+ const workspace = this.workspace.workspace;
54
49
  let cache;
55
50
  if (this.browserLocalStorage) {
56
51
  cache = await this.browserLocalStorage.getData(storageName);
57
52
  }
58
- if (!cache || (0, ide_core_common_1.isEmptyObject)(cache)) {
59
- await this.database.init(this.appConfig.storageDirName, this.isGlobal ? undefined : workspace);
53
+ if (!cache) {
54
+ await this.database.init(this.appConfig.storageDirName, workspace && workspace.uri);
60
55
  cache = await this.database.getItems(storageName);
61
56
  if (this.browserLocalStorage) {
62
57
  this.browserLocalStorage.setData(storageName, cache);
@@ -65,12 +60,13 @@ class Storage {
65
60
  }
66
61
  else {
67
62
  // 初始化服务端缓存
68
- this.database.init(this.appConfig.storageDirName, this.isGlobal ? undefined : workspace).then(() => {
63
+ this.database.init(this.appConfig.storageDirName, workspace && workspace.uri).then(() => {
69
64
  this.database.getItems(storageName).then(async (data) => {
70
- var _a;
71
65
  // 后续以服务端数据为准更新前端缓存数据,防止后续数据存取异常
72
66
  this.cache = this.jsonToMap(data);
73
- await ((_a = this.browserLocalStorage) === null || _a === void 0 ? void 0 : _a.setData(storageName, data));
67
+ if (this.browserLocalStorage) {
68
+ await this.browserLocalStorage.setData(storageName, JSON.stringify(data));
69
+ }
74
70
  this.whenReadyToWriteDeferred.resolve();
75
71
  });
76
72
  });
@@ -79,9 +75,12 @@ class Storage {
79
75
  this.state = StorageState.Initialized;
80
76
  this.readyDeferred.resolve();
81
77
  }
78
+ setup(storageName) {
79
+ this.init(storageName);
80
+ }
82
81
  async reConnectInit() {
83
82
  this.readyDeferred = new ide_core_common_1.Deferred();
84
- this.init(this.storageName);
83
+ this.setup(this.storageName);
85
84
  }
86
85
  dispose() {
87
86
  this.toDisposableCollection.dispose();
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/browser/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/browser/storage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensumi/ide-storage",
3
- "version": "2.23.5-rc-1681807382.0",
3
+ "version": "2.23.5",
4
4
  "files": [
5
5
  "lib",
6
6
  "src"
@@ -17,13 +17,13 @@
17
17
  "url": "git@github.com:opensumi/core.git"
18
18
  },
19
19
  "dependencies": {
20
- "@opensumi/ide-core-common": "2.23.5-rc-1681807382.0"
20
+ "@opensumi/ide-core-common": "2.23.5"
21
21
  },
22
22
  "devDependencies": {
23
- "@opensumi/ide-core-browser": "2.23.5-rc-1681807382.0",
23
+ "@opensumi/ide-core-browser": "2.23.5",
24
24
  "@opensumi/ide-dev-tool": "1.3.1",
25
- "@opensumi/ide-file-service": "2.23.5-rc-1681807382.0",
26
- "@opensumi/ide-workspace": "2.23.5-rc-1681807382.0"
25
+ "@opensumi/ide-file-service": "2.23.5",
26
+ "@opensumi/ide-workspace": "2.23.5"
27
27
  },
28
- "gitHead": "9b66cc87f0e2ddc79fcfc7b3b0ec96a6a34e5537"
28
+ "gitHead": "cf20f3af60ec55dc9af2a490427b2deff8d5c95c"
29
29
  }
@@ -1,9 +1,10 @@
1
- import { Autowired } from '@opensumi/di';
1
+ import { Autowired, Injector, INJECTOR_TOKEN } from '@opensumi/di';
2
2
  import {
3
3
  Domain,
4
4
  StorageResolverContribution,
5
5
  URI,
6
6
  IStorage,
7
+ ClientAppContribution,
7
8
  STORAGE_SCHEMA,
8
9
  AppConfig,
9
10
  ScopedBrowserStorageService,
@@ -16,8 +17,8 @@ import { IStorageServer, IWorkspaceStorageServer, IGlobalStorageServer } from '.
16
17
 
17
18
  import { Storage } from './storage';
18
19
 
19
- @Domain(StorageResolverContribution)
20
- export class DatabaseStorageContribution implements StorageResolverContribution {
20
+ @Domain(StorageResolverContribution, ClientAppContribution)
21
+ export class DatabaseStorageContribution implements StorageResolverContribution, ClientAppContribution {
21
22
  @Autowired(IWorkspaceStorageServer)
22
23
  private workspaceStorage: IStorageServer;
23
24
 
@@ -36,51 +37,45 @@ export class DatabaseStorageContribution implements StorageResolverContribution
36
37
  @Autowired(ScopedBrowserStorageService)
37
38
  private scopedLocalStorage: ScopedBrowserStorageService;
38
39
 
39
- private cache: Map<string, IStorage> = new Map();
40
+ storage: IStorage;
40
41
 
41
42
  async resolve(storageId: URI) {
42
43
  const storageName = storageId.path.toString();
43
44
  let storage: IStorage;
44
- const cache = this.cache.get(storageId.toString());
45
- if (cache) {
46
- storage = cache;
47
- } else {
48
- if (storageId.scheme === STORAGE_SCHEMA.SCOPE) {
49
- // 如果是内置的 Storage,在初始化过程中采用 ScopedBrowserStorageService 代理
50
- if (this.isBuiltinStorage(storageId)) {
51
- storage = new Storage(
52
- this.workspaceStorage,
53
- this.workspaceService,
54
- this.appConfig,
55
- storageName,
56
- false,
57
- this.scopedLocalStorage,
58
- );
59
- } else {
60
- storage = new Storage(this.workspaceStorage, this.workspaceService, this.appConfig, storageName, false);
61
- }
62
- } else if (storageId.scheme === STORAGE_SCHEMA.GLOBAL) {
63
- if (this.isBuiltinStorage(storageId)) {
64
- // 如果是内置的 Storage,在初始化过程中采用 GlobalBrowserStorageService 代理
65
- storage = new Storage(
66
- this.globalStorage,
67
- this.workspaceService,
68
- this.appConfig,
69
- storageName,
70
- true,
71
- this.globalLocalStorage,
72
- );
73
- } else {
74
- storage = new Storage(this.globalStorage, this.workspaceService, this.appConfig, storageName, true);
75
- }
45
+ if (storageId.scheme === STORAGE_SCHEMA.SCOPE) {
46
+ // 如果是内置的 Storage,在初始化过程中采用 ScopedBrowserStorageService 代理
47
+ if (this.isBuiltinStorage(storageId)) {
48
+ storage = new Storage(
49
+ this.workspaceStorage,
50
+ this.workspaceService,
51
+ this.appConfig,
52
+ storageName,
53
+ this.scopedLocalStorage,
54
+ );
55
+ } else {
56
+ storage = new Storage(this.workspaceStorage, this.workspaceService, this.appConfig, storageName);
57
+ }
58
+ } else if (storageId.scheme === STORAGE_SCHEMA.GLOBAL) {
59
+ if (this.isBuiltinStorage(storageId)) {
60
+ // 如果是内置的 Storage,在初始化过程中采用 GlobalBrowserStorageService 代理
61
+ storage = new Storage(
62
+ this.globalStorage,
63
+ this.workspaceService,
64
+ this.appConfig,
65
+ storageName,
66
+ this.globalLocalStorage,
67
+ );
76
68
  } else {
77
- return;
69
+ storage = new Storage(this.globalStorage, this.workspaceService, this.appConfig, storageName);
78
70
  }
79
- this.cache.set(storageId.toString(), storage);
71
+ } else {
72
+ return;
80
73
  }
81
-
82
74
  // 等待后台存储模块初始化数据
83
75
  await storage.whenReady;
76
+
77
+ this.storage = storage;
78
+
84
79
  return storage;
85
80
  }
86
81
 
@@ -93,4 +88,10 @@ export class DatabaseStorageContribution implements StorageResolverContribution
93
88
  }
94
89
  return false;
95
90
  }
91
+
92
+ onReconnect() {
93
+ if (this.storage) {
94
+ this.storage.reConnectInit();
95
+ }
96
+ }
96
97
  }
@@ -8,8 +8,6 @@ import {
8
8
  Event,
9
9
  DisposableCollection,
10
10
  Deferred,
11
- isEmptyObject,
12
- URI,
13
11
  } from '@opensumi/ide-core-common';
14
12
  import { IWorkspaceService } from '@opensumi/ide-workspace';
15
13
 
@@ -47,19 +45,16 @@ export class Storage implements IStorage {
47
45
  private readonly workspace: IWorkspaceService,
48
46
  private readonly appConfig: AppConfig,
49
47
  private readonly storageName: string,
50
- private readonly isGlobal: boolean = true,
51
48
  private readonly browserLocalStorage?: StorageService,
52
49
  ) {
53
50
  this.toDisposableCollection.push(this._onDidChangeStorage);
54
-
51
+ this.toDisposableCollection.push(
52
+ this.workspace.onWorkspaceChanged(() => {
53
+ this.setup(storageName);
54
+ }),
55
+ );
55
56
  this.flushDelayer = new ThrottledDelayer(Storage.DEFAULT_FLUSH_DELAY);
56
- this.init(storageName).then(() => {
57
- this.toDisposableCollection.push(
58
- this.workspace.onWorkspaceChanged(() => {
59
- this.init(storageName);
60
- }),
61
- );
62
- });
57
+ this.setup(storageName);
63
58
  }
64
59
 
65
60
  get whenReady() {
@@ -79,15 +74,13 @@ export class Storage implements IStorage {
79
74
  }
80
75
 
81
76
  async init(storageName: string) {
82
- // 首次加载情况下,由于 Storage 不依赖 WorkspaceService 初始化逻辑
83
- // 在 `workspace` 不存在时,默认采用 `AppConfig` 内的 `workspaceDir` 配置值作为工作区路径
84
- const workspace = this.workspace.workspace?.uri || URI.file(this.appConfig.workspaceDir).toString();
77
+ const workspace = this.workspace.workspace;
85
78
  let cache;
86
79
  if (this.browserLocalStorage) {
87
80
  cache = await this.browserLocalStorage.getData(storageName);
88
81
  }
89
- if (!cache || isEmptyObject(cache)) {
90
- await this.database.init(this.appConfig.storageDirName, this.isGlobal ? undefined : workspace);
82
+ if (!cache) {
83
+ await this.database.init(this.appConfig.storageDirName, workspace && workspace.uri);
91
84
  cache = await this.database.getItems(storageName);
92
85
  if (this.browserLocalStorage) {
93
86
  this.browserLocalStorage.setData(storageName, cache);
@@ -95,11 +88,13 @@ export class Storage implements IStorage {
95
88
  this.whenReadyToWriteDeferred.resolve();
96
89
  } else {
97
90
  // 初始化服务端缓存
98
- this.database.init(this.appConfig.storageDirName, this.isGlobal ? undefined : workspace).then(() => {
91
+ this.database.init(this.appConfig.storageDirName, workspace && workspace.uri).then(() => {
99
92
  this.database.getItems(storageName).then(async (data) => {
100
93
  // 后续以服务端数据为准更新前端缓存数据,防止后续数据存取异常
101
94
  this.cache = this.jsonToMap(data);
102
- await this.browserLocalStorage?.setData(storageName, data);
95
+ if (this.browserLocalStorage) {
96
+ await this.browserLocalStorage.setData(storageName, JSON.stringify(data));
97
+ }
103
98
  this.whenReadyToWriteDeferred.resolve();
104
99
  });
105
100
  });
@@ -109,9 +104,13 @@ export class Storage implements IStorage {
109
104
  this.readyDeferred.resolve();
110
105
  }
111
106
 
107
+ setup(storageName: string) {
108
+ this.init(storageName);
109
+ }
110
+
112
111
  async reConnectInit() {
113
112
  this.readyDeferred = new Deferred();
114
- this.init(this.storageName);
113
+ this.setup(this.storageName);
115
114
  }
116
115
 
117
116
  dispose() {