@speckle/objectloader2 2.25.4 → 2.25.7

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 (84) hide show
  1. package/dist/commonjs/helpers/cachePump.d.ts +1 -0
  2. package/dist/commonjs/helpers/cachePump.d.ts.map +1 -1
  3. package/dist/commonjs/helpers/cachePump.js +7 -1
  4. package/dist/commonjs/helpers/cachePump.js.map +1 -1
  5. package/dist/commonjs/helpers/defermentManager.d.ts +2 -0
  6. package/dist/commonjs/helpers/defermentManager.d.ts.map +1 -1
  7. package/dist/commonjs/helpers/defermentManager.js +20 -1
  8. package/dist/commonjs/helpers/defermentManager.js.map +1 -1
  9. package/dist/commonjs/index.d.ts +0 -1
  10. package/dist/commonjs/index.d.ts.map +1 -1
  11. package/dist/commonjs/index.js +1 -3
  12. package/dist/commonjs/index.js.map +1 -1
  13. package/dist/commonjs/operations/databases/indexedDatabase.d.ts +6 -4
  14. package/dist/commonjs/operations/databases/indexedDatabase.d.ts.map +1 -1
  15. package/dist/commonjs/operations/databases/indexedDatabase.js +2 -21
  16. package/dist/commonjs/operations/databases/indexedDatabase.js.map +1 -1
  17. package/dist/commonjs/operations/databases/memoryDatabase.d.ts +0 -3
  18. package/dist/commonjs/operations/databases/memoryDatabase.d.ts.map +1 -1
  19. package/dist/commonjs/operations/databases/memoryDatabase.js +0 -7
  20. package/dist/commonjs/operations/databases/memoryDatabase.js.map +1 -1
  21. package/dist/commonjs/operations/downloaders/memoryDownloader.js +1 -1
  22. package/dist/commonjs/operations/downloaders/memoryDownloader.js.map +1 -1
  23. package/dist/commonjs/operations/downloaders/serverDownloader.js +1 -1
  24. package/dist/commonjs/operations/interfaces.d.ts +0 -3
  25. package/dist/commonjs/operations/interfaces.d.ts.map +1 -1
  26. package/dist/commonjs/operations/objectLoader2.d.ts.map +1 -1
  27. package/dist/commonjs/operations/objectLoader2.js +10 -4
  28. package/dist/commonjs/operations/objectLoader2.js.map +1 -1
  29. package/dist/commonjs/operations/objectLoader2Factory.d.ts +11 -7
  30. package/dist/commonjs/operations/objectLoader2Factory.d.ts.map +1 -1
  31. package/dist/commonjs/operations/objectLoader2Factory.js +33 -15
  32. package/dist/commonjs/operations/objectLoader2Factory.js.map +1 -1
  33. package/dist/esm/helpers/cachePump.d.ts +1 -0
  34. package/dist/esm/helpers/cachePump.d.ts.map +1 -1
  35. package/dist/esm/helpers/cachePump.js +7 -1
  36. package/dist/esm/helpers/cachePump.js.map +1 -1
  37. package/dist/esm/helpers/defermentManager.d.ts +2 -0
  38. package/dist/esm/helpers/defermentManager.d.ts.map +1 -1
  39. package/dist/esm/helpers/defermentManager.js +20 -1
  40. package/dist/esm/helpers/defermentManager.js.map +1 -1
  41. package/dist/esm/index.d.ts +0 -1
  42. package/dist/esm/index.d.ts.map +1 -1
  43. package/dist/esm/index.js +0 -1
  44. package/dist/esm/index.js.map +1 -1
  45. package/dist/esm/operations/databases/indexedDatabase.d.ts +6 -4
  46. package/dist/esm/operations/databases/indexedDatabase.d.ts.map +1 -1
  47. package/dist/esm/operations/databases/indexedDatabase.js +1 -22
  48. package/dist/esm/operations/databases/indexedDatabase.js.map +1 -1
  49. package/dist/esm/operations/databases/memoryDatabase.d.ts +0 -3
  50. package/dist/esm/operations/databases/memoryDatabase.d.ts.map +1 -1
  51. package/dist/esm/operations/databases/memoryDatabase.js +0 -7
  52. package/dist/esm/operations/databases/memoryDatabase.js.map +1 -1
  53. package/dist/esm/operations/downloaders/memoryDownloader.js +1 -1
  54. package/dist/esm/operations/downloaders/memoryDownloader.js.map +1 -1
  55. package/dist/esm/operations/downloaders/serverDownloader.js +1 -1
  56. package/dist/esm/operations/interfaces.d.ts +0 -3
  57. package/dist/esm/operations/interfaces.d.ts.map +1 -1
  58. package/dist/esm/operations/objectLoader2.d.ts.map +1 -1
  59. package/dist/esm/operations/objectLoader2.js +10 -4
  60. package/dist/esm/operations/objectLoader2.js.map +1 -1
  61. package/dist/esm/operations/objectLoader2Factory.d.ts +11 -7
  62. package/dist/esm/operations/objectLoader2Factory.d.ts.map +1 -1
  63. package/dist/esm/operations/objectLoader2Factory.js +33 -15
  64. package/dist/esm/operations/objectLoader2Factory.js.map +1 -1
  65. package/package.json +2 -2
  66. package/src/helpers/cachePump.disposal.spec.ts +3 -1
  67. package/src/helpers/cachePump.spec.ts +2 -1
  68. package/src/helpers/cachePump.ts +9 -1
  69. package/src/helpers/defermentManager.defermentTotals.spec.ts +53 -0
  70. package/src/helpers/defermentManager.ts +20 -1
  71. package/src/index.ts +0 -1
  72. package/src/operations/databases/__snapshots__/indexedDatabase.spec.ts.snap +13 -26
  73. package/src/operations/databases/indexedDatabase.spec.ts +23 -27
  74. package/src/operations/databases/indexedDatabase.ts +1 -25
  75. package/src/operations/databases/memoryDatabase.spec.ts +48 -0
  76. package/src/operations/databases/memoryDatabase.ts +0 -8
  77. package/src/operations/downloaders/__snapshots__/memoryDownloader.spec.ts.snap +12 -0
  78. package/src/operations/downloaders/memoryDownloader.spec.ts +49 -0
  79. package/src/operations/downloaders/memoryDownloader.ts +1 -1
  80. package/src/operations/downloaders/serverDownloader.ts +1 -1
  81. package/src/operations/interfaces.ts +0 -1
  82. package/src/operations/objectLoader2.ts +12 -4
  83. package/src/operations/objectLoader2Factory.ts +40 -18
  84. package/src/test/e2e.spec.ts +4 -2
@@ -11,6 +11,7 @@ export declare class CachePump implements Pump {
11
11
  constructor(database: Database, gathered: AsyncGeneratorQueue<Item>, deferments: DefermentManager, options: CacheOptions);
12
12
  add(item: Item): void;
13
13
  disposeAsync(): Promise<void>;
14
+ get isDisposed(): boolean;
14
15
  pumpItems(params: {
15
16
  ids: string[];
16
17
  foundItems: Queue<Item>;
@@ -1 +1 @@
1
- {"version":3,"file":"cachePump.d.ts","sourceRoot":"","sources":["../../../src/helpers/cachePump.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAgB,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,mBAAmB,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,qBAAa,SAAU,YAAW,IAAI;;gBAWlC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,EACnC,UAAU,EAAE,gBAAgB,EAC5B,OAAO,EAAE,YAAY;IASvB,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAYf,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,SAAS,CAAC,MAAM,EAAE;QACtB,GAAG,EAAE,MAAM,EAAE,CAAA;QACb,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QACvB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAC7B,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BV,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC;CAkB3E"}
1
+ {"version":3,"file":"cachePump.d.ts","sourceRoot":"","sources":["../../../src/helpers/cachePump.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAgB,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,mBAAmB,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,qBAAa,SAAU,YAAW,IAAI;;gBAalC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,EACnC,UAAU,EAAE,gBAAgB,EAC5B,OAAO,EAAE,YAAY;IASvB,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAYf,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAMnC,IAAI,UAAU,IAAI,OAAO,CAExB;IAEK,SAAS,CAAC,MAAM,EAAE;QACtB,GAAG,EAAE,MAAM,EAAE,CAAA;QACb,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QACvB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAC7B,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BV,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC;CAkB3E"}
@@ -13,6 +13,7 @@ class CachePump {
13
13
  #deferments;
14
14
  #gathered;
15
15
  #options;
16
+ #disposed = false;
16
17
  constructor(database, gathered, deferments, options) {
17
18
  this.#database = database;
18
19
  this.#gathered = gathered;
@@ -32,12 +33,17 @@ class CachePump {
32
33
  }
33
34
  async disposeAsync() {
34
35
  await this.#writeQueue?.disposeAsync();
36
+ await this.#database.disposeAsync();
37
+ this.#disposed = true;
38
+ }
39
+ get isDisposed() {
40
+ return this.#disposed;
35
41
  }
36
42
  async pumpItems(params) {
37
43
  const { ids, foundItems, notFoundItems } = params;
38
44
  const maxCacheReadSize = this.#options.maxCacheReadSize;
39
45
  for (let i = 0; i < ids.length;) {
40
- if (this.#writeQueue?.isDisposed())
46
+ if (this.isDisposed)
41
47
  break;
42
48
  if ((this.#writeQueue?.count() ?? 0) > this.#options.maxWriteQueueSize) {
43
49
  this.#logger('pausing reads (# in write queue: ' + this.#writeQueue?.count() + ')');
@@ -1 +1 @@
1
- {"version":3,"file":"cachePump.js","sourceRoot":"","sources":["../../../src/helpers/cachePump.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cachePump.js","sourceRoot":"","sources":["../../../src/helpers/cachePump.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export declare class DefermentManager {
8
8
  private logger;
9
9
  private currentSize;
10
10
  private disposed;
11
+ private totalDefermentRequests;
11
12
  constructor(options: DefermentManagerOptions);
12
13
  private now;
13
14
  isDeferred(id: string): boolean;
@@ -15,6 +16,7 @@ export declare class DefermentManager {
15
16
  defer(params: {
16
17
  id: string;
17
18
  }): Promise<Base>;
19
+ private trackDefermentRequest;
18
20
  undefer(item: Item): void;
19
21
  private resetGlobalTimer;
20
22
  dispose(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"defermentManager.d.ts","sourceRoot":"","sources":["../../../src/helpers/defermentManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAgB,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAElE,qBAAa,gBAAgB;IAOf,OAAO,CAAC,OAAO;IAN3B,OAAO,CAAC,UAAU,CAAuC;IACzD,OAAO,CAAC,KAAK,CAAC,CAA+B;IAC7C,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,WAAW,CAAI;IACvB,OAAO,CAAC,QAAQ,CAAQ;gBAEJ,OAAO,EAAE,uBAAuB;IAKpD,OAAO,CAAC,GAAG;IAIX,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI/B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAKnC,KAAK,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBlD,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAgBzB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,IAAI,IAAI;IAUf,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,eAAe;IAkCvB,uBAAuB,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,EAAE,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,MAAM;IAOzE,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM;CAMnE"}
1
+ {"version":3,"file":"defermentManager.d.ts","sourceRoot":"","sources":["../../../src/helpers/defermentManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAgB,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAElE,qBAAa,gBAAgB;IAUf,OAAO,CAAC,OAAO;IAT3B,OAAO,CAAC,UAAU,CAAuC;IACzD,OAAO,CAAC,KAAK,CAAC,CAA+B;IAC7C,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,WAAW,CAAI;IACvB,OAAO,CAAC,QAAQ,CAAQ;IAGxB,OAAO,CAAC,sBAAsB,CAAiC;gBAE3C,OAAO,EAAE,uBAAuB;IAKpD,OAAO,CAAC,GAAG;IAIX,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI/B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAKnC,KAAK,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBlD,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAgBzB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,IAAI,IAAI;IAUf,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,eAAe;IAwCvB,uBAAuB,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,EAAE,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,MAAM;IAOzE,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM;CAMnE"}
@@ -9,6 +9,9 @@ class DefermentManager {
9
9
  logger;
10
10
  currentSize = 0;
11
11
  disposed = false;
12
+ //tracks total deferment requests for each id
13
+ //this is used to prevent cleaning up deferments that are still being requested
14
+ totalDefermentRequests = new Map();
12
15
  constructor(options) {
13
16
  this.options = options;
14
17
  this.resetGlobalTimer();
@@ -28,6 +31,7 @@ class DefermentManager {
28
31
  async defer(params) {
29
32
  if (this.disposed)
30
33
  throw new Error('DefermentManager is disposed');
34
+ this.trackDefermentRequest(params.id);
31
35
  const now = this.now();
32
36
  const deferredBase = this.deferments.get(params.id);
33
37
  if (deferredBase) {
@@ -38,6 +42,15 @@ class DefermentManager {
38
42
  this.deferments.set(params.id, notYetFound);
39
43
  return notYetFound.getPromise();
40
44
  }
45
+ trackDefermentRequest(id) {
46
+ const request = this.totalDefermentRequests.get(id);
47
+ if (request) {
48
+ this.totalDefermentRequests.set(id, request + 1);
49
+ }
50
+ else {
51
+ this.totalDefermentRequests.set(id, 1);
52
+ }
53
+ }
41
54
  undefer(item) {
42
55
  if (this.disposed)
43
56
  throw new Error('DefermentManager is disposed');
@@ -97,6 +110,12 @@ class DefermentManager {
97
110
  .filter((x) => x.isExpired(now))
98
111
  .sort((a, b) => this.compareMaybeBasesBySize(a.getItem(), b.getItem()))) {
99
112
  if (deferredBase.done(now)) {
113
+ //if the deferment is done but has been requested multiple times,
114
+ //we do not clean it up to allow the requests to resolve
115
+ const requestCount = this.totalDefermentRequests.get(deferredBase.getId());
116
+ if (requestCount && requestCount > 1) {
117
+ return;
118
+ }
100
119
  this.currentSize -= deferredBase.getItem()?.size || 0;
101
120
  this.deferments.delete(deferredBase.getId());
102
121
  cleaned++;
@@ -105,7 +124,7 @@ class DefermentManager {
105
124
  }
106
125
  }
107
126
  }
108
- this.logger('cleaned deferments, cleaned, left', cleaned, this.deferments.size, performance.now() - start);
127
+ this.logger('cleaned deferments: cleaned, left, time', cleaned, this.deferments.size, performance.now() - start);
109
128
  return;
110
129
  }
111
130
  compareMaybeBasesBySize(a, b) {
@@ -1 +1 @@
1
- {"version":3,"file":"defermentManager.js","sourceRoot":"","sources":["../../../src/helpers/defermentManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defermentManager.js","sourceRoot":"","sources":["../../../src/helpers/defermentManager.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- export { MemoryDatabase } from './operations/databases/memoryDatabase.js';
2
1
  export { ObjectLoader2 } from './operations/objectLoader2.js';
3
2
  export { ObjectLoader2Factory } from './operations/objectLoader2Factory.js';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAA;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA"}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ObjectLoader2Factory = exports.ObjectLoader2 = exports.MemoryDatabase = void 0;
4
- var memoryDatabase_js_1 = require("./operations/databases/memoryDatabase.js");
5
- Object.defineProperty(exports, "MemoryDatabase", { enumerable: true, get: function () { return memoryDatabase_js_1.MemoryDatabase; } });
3
+ exports.ObjectLoader2Factory = exports.ObjectLoader2 = void 0;
6
4
  var objectLoader2_js_1 = require("./operations/objectLoader2.js");
7
5
  Object.defineProperty(exports, "ObjectLoader2", { enumerable: true, get: function () { return objectLoader2_js_1.ObjectLoader2; } });
8
6
  var objectLoader2Factory_js_1 = require("./operations/objectLoader2Factory.js");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,8EAAyE;AAAhE,mHAAA,cAAc,OAAA;AACvB,kEAA6D;AAApD,iHAAA,aAAa,OAAA;AACtB,gFAA2E;AAAlE,+HAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,kEAA6D;AAApD,iHAAA,aAAa,OAAA;AACtB,gFAA2E;AAAlE,+HAAA,oBAAoB,OAAA"}
@@ -1,5 +1,11 @@
1
1
  import { CustomLogger, Item } from '../../types/types.js';
2
+ import { Dexie, DexieOptions, Table } from 'dexie';
2
3
  import { Database } from '../interfaces.js';
4
+ export declare class ObjectStore extends Dexie {
5
+ #private;
6
+ objects: Table<Item, string>;
7
+ constructor(options: DexieOptions);
8
+ }
3
9
  export interface IndexedDatabaseOptions {
4
10
  logger?: CustomLogger;
5
11
  indexedDB?: IDBFactory;
@@ -13,10 +19,6 @@ export default class IndexedDatabase implements Database {
13
19
  #private;
14
20
  constructor(options: IndexedDatabaseOptions);
15
21
  getAll(keys: string[]): Promise<(Item | undefined)[]>;
16
- add(item: Item): Promise<void>;
17
- getItem(params: {
18
- id: string;
19
- }): Promise<Item | undefined>;
20
22
  cacheSaveBatch(params: {
21
23
  batch: Item[];
22
24
  }): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"indexedDatabase.d.ts","sourceRoot":"","sources":["../../../../src/operations/databases/indexedDatabase.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAGzD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAe3C,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,QAAQ,CAAA;QACf,UAAU,EAAE,QAAQ,CAAA;QACpB,UAAU,EAAE,QAAQ,CAAA;KACrB,CAAA;CACF;AAED,MAAM,CAAC,OAAO,OAAO,eAAgB,YAAW,QAAQ;;gBAU1C,OAAO,EAAE,sBAAsB;IAKrC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC;IAyCrD,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9B,OAAO,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAgB1D,cAAc,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,IAAI,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCxD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAMpC"}
1
+ {"version":3,"file":"indexedDatabase.d.ts","sourceRoot":"","sources":["../../../../src/operations/databases/indexedDatabase.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAEzD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAE3C,qBAAa,WAAY,SAAQ,KAAK;;IAEpC,OAAO,EAAG,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;gBAEjB,OAAO,EAAE,YAAY;CAOlC;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,QAAQ,CAAA;QACf,UAAU,EAAE,QAAQ,CAAA;QACpB,UAAU,EAAE,QAAQ,CAAA;KACrB,CAAA;CACF;AAED,MAAM,CAAC,OAAO,OAAO,eAAgB,YAAW,QAAQ;;gBAU1C,OAAO,EAAE,sBAAsB;IAKrC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC;IAwCrD,cAAc,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,IAAI,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCxD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAMpC"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ObjectStore = void 0;
3
4
  const shared_1 = require("@speckle/shared");
4
5
  const dexie_1 = require("dexie");
5
6
  class ObjectStore extends dexie_1.Dexie {
@@ -12,6 +13,7 @@ class ObjectStore extends dexie_1.Dexie {
12
13
  });
13
14
  }
14
15
  }
16
+ exports.ObjectStore = ObjectStore;
15
17
  class IndexedDatabase {
16
18
  #options;
17
19
  #logger;
@@ -56,27 +58,6 @@ class IndexedDatabase {
56
58
  await this.#safariFix();
57
59
  this.#cacheDB = await this.#openDatabase();
58
60
  }
59
- //this is for testing only - in the real world we will not use this
60
- async add(item) {
61
- await this.#setupCacheDb();
62
- await this.#cacheDB.transaction('rw', this.#cacheDB.objects, async () => {
63
- return await this.#cacheDB?.objects.add(item);
64
- });
65
- }
66
- async getItem(params) {
67
- const { id } = params;
68
- await this.#setupCacheDb();
69
- //might not be in the real DB yet, so check the write queue first
70
- if (this.#writeQueue) {
71
- const item = this.#writeQueue.get(id);
72
- if (item) {
73
- return item;
74
- }
75
- }
76
- return this.#cacheDB.transaction('r', this.#cacheDB.objects, async () => {
77
- return await this.#cacheDB?.objects.get(id);
78
- });
79
- }
80
61
  async cacheSaveBatch(params) {
81
62
  await this.#setupCacheDb();
82
63
  const { batch } = params;
@@ -1 +1 @@
1
- {"version":3,"file":"indexedDatabase.js","sourceRoot":"","sources":["../../../../src/operations/databases/indexedDatabase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexedDatabase.js","sourceRoot":"","sources":["../../../../src/operations/databases/indexedDatabase.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,6 @@ export declare class MemoryDatabase implements Database {
8
8
  cacheSaveBatch({ batch }: {
9
9
  batch: Item[];
10
10
  }): Promise<void>;
11
- getItem(params: {
12
- id: string;
13
- }): Promise<Item | undefined>;
14
11
  disposeAsync(): Promise<void>;
15
12
  }
16
13
  //# sourceMappingURL=memoryDatabase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memoryDatabase.d.ts","sourceRoot":"","sources":["../../../../src/operations/databases/memoryDatabase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAErD,qBAAa,cAAe,YAAW,QAAQ;IAC7C,OAAO,CAAC,KAAK,CAAmB;gBAEpB,OAAO,CAAC,EAAE,qBAAqB;IAI3C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC;IAarD,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,IAAI,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3D,OAAO,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAQ1D,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B"}
1
+ {"version":3,"file":"memoryDatabase.d.ts","sourceRoot":"","sources":["../../../../src/operations/databases/memoryDatabase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAErD,qBAAa,cAAe,YAAW,QAAQ;IAC7C,OAAO,CAAC,KAAK,CAAmB;gBAEpB,OAAO,CAAC,EAAE,qBAAqB;IAI3C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC;IAarD,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,IAAI,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3D,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B"}
@@ -25,13 +25,6 @@ class MemoryDatabase {
25
25
  }
26
26
  return Promise.resolve();
27
27
  }
28
- getItem(params) {
29
- const item = this.items.get(params.id);
30
- if (item) {
31
- return Promise.resolve({ baseId: params.id, base: item });
32
- }
33
- return Promise.resolve(undefined);
34
- }
35
28
  disposeAsync() {
36
29
  return Promise.resolve();
37
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"memoryDatabase.js","sourceRoot":"","sources":["../../../../src/operations/databases/memoryDatabase.ts"],"names":[],"mappings":";;;AAIA,MAAa,cAAc;IACjB,KAAK,CAAmB;IAEhC,YAAY,OAA+B;QACzC,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,IAAI,GAAG,EAAgB,CAAA;IACxD,CAAC;IAED,MAAM,CAAC,IAAc;QACnB,MAAM,KAAK,GAAyB,EAAE,CAAA;QACtC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAChC,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YACzC,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACvB,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAED,cAAc,CAAC,EAAE,KAAK,EAAqB;QACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACxC,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IAED,OAAO,CAAC,MAAsB;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACtC,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3D,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACnC,CAAC;IAED,YAAY;QACV,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CACF;AAtCD,wCAsCC"}
1
+ {"version":3,"file":"memoryDatabase.js","sourceRoot":"","sources":["../../../../src/operations/databases/memoryDatabase.ts"],"names":[],"mappings":";;;AAIA,MAAa,cAAc;IACjB,KAAK,CAAmB;IAEhC,YAAY,OAA+B;QACzC,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,IAAI,GAAG,EAAgB,CAAA;IACxD,CAAC;IAED,MAAM,CAAC,IAAc;QACnB,MAAM,KAAK,GAAyB,EAAE,CAAA;QACtC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAChC,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YACzC,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACvB,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAED,cAAc,CAAC,EAAE,KAAK,EAAqB;QACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACxC,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IAED,YAAY;QACV,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CACF;AA9BD,wCA8BC"}
@@ -17,7 +17,7 @@ class MemoryDownloader {
17
17
  if (root) {
18
18
  return Promise.resolve({ baseId: this.#rootId, base: root });
19
19
  }
20
- throw new Error('Method not implemented.');
20
+ return Promise.reject(new Error('Method not implemented.'));
21
21
  }
22
22
  disposeAsync() {
23
23
  return Promise.resolve();
@@ -1 +1 @@
1
- {"version":3,"file":"memoryDownloader.js","sourceRoot":"","sources":["../../../../src/operations/downloaders/memoryDownloader.ts"],"names":[],"mappings":";;;AAIA,MAAa,gBAAgB;IAC3B,MAAM,CAAmB;IACzB,OAAO,CAAQ;IACf,QAAQ,CAAc;IAEtB,YAAY,MAAc,EAAE,KAAwB;QAClD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACrB,CAAC;IACD,cAAc,CAAC,MAId;QACC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAA;IAChC,CAAC;IACD,cAAc;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1C,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QAC9D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,YAAY;QACV,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IACD,GAAG,CAAC,EAAU;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAChC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;YACxC,OAAM;QACR,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;CACF;AAlCD,4CAkCC"}
1
+ {"version":3,"file":"memoryDownloader.js","sourceRoot":"","sources":["../../../../src/operations/downloaders/memoryDownloader.ts"],"names":[],"mappings":";;;AAIA,MAAa,gBAAgB;IAC3B,MAAM,CAAmB;IACzB,OAAO,CAAQ;IACf,QAAQ,CAAc;IAEtB,YAAY,MAAc,EAAE,KAAwB;QAClD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACrB,CAAC;IACD,cAAc,CAAC,MAId;QACC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAA;IAChC,CAAC;IACD,cAAc;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1C,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QAC9D,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAA;IAC7D,CAAC;IACD,YAAY;QACV,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IACD,GAAG,CAAC,EAAU;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAChC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;YACxC,OAAM;QACR,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;CACF;AAlCD,4CAkCC"}
@@ -36,7 +36,7 @@ class ServerDownloader {
36
36
  if (total <= 50) {
37
37
  return [total];
38
38
  }
39
- return [10000, 30000, 10000, 1000];
39
+ return [10000, 25000, 10000, 1000];
40
40
  }
41
41
  initializePool(params) {
42
42
  const { results, total } = params;
@@ -11,9 +11,6 @@ export interface Downloader extends Queue<string> {
11
11
  }
12
12
  export interface Database {
13
13
  getAll(keys: string[]): Promise<(Item | undefined)[]>;
14
- getItem(params: {
15
- id: string;
16
- }): Promise<Item | undefined>;
17
14
  cacheSaveBatch(params: {
18
15
  batch: Item[];
19
16
  }): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/operations/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,qBAAqB,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAExC,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,MAAM,CAAC;IAC/C,cAAc,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QACpB,KAAK,EAAE,MAAM,CAAA;QACb,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAC9B,GAAG,IAAI,CAAA;IACR,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC,CAAA;IACrD,OAAO,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAA;IAC1D,cAAc,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,IAAI,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9B"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/operations/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,qBAAqB,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAExC,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,MAAM,CAAC;IAC/C,cAAc,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QACpB,KAAK,EAAE,MAAM,CAAA;QACb,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAC9B,GAAG,IAAI,CAAA;IACR,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC,CAAA;IACrD,cAAc,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,IAAI,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"objectLoader2.d.ts","sourceRoot":"","sources":["../../../src/operations/objectLoader2.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,IAAI,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAgB,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAOjE,qBAAa,aAAa;;gBAgBZ,OAAO,EAAE,oBAAoB;IA8BnC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B,aAAa,IAAI,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAU1C,SAAS,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAMrC,iBAAiB,IAAI,cAAc,CAAC,IAAI,CAAC;IAsBhD,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,aAAa;IAIxD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;CAGnD"}
1
+ {"version":3,"file":"objectLoader2.d.ts","sourceRoot":"","sources":["../../../src/operations/objectLoader2.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,IAAI,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAgB,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAOjE,qBAAa,aAAa;;gBAgBZ,OAAO,EAAE,oBAAoB;IA8BnC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAS7B,aAAa,IAAI,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAU1C,SAAS,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAMrC,iBAAiB,IAAI,cAAc,CAAC,IAAI,CAAC;IA0BhD,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,aAAa;IAIxD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;CAGnD"}
@@ -35,7 +35,7 @@ class ObjectLoader2 {
35
35
  this.#database = options.database;
36
36
  this.#deferments = new defermentManager_js_1.DefermentManager({
37
37
  maxSizeInMb: 2_000, // 2 GBs
38
- ttlms: 5_000, // 5 seconds
38
+ ttlms: 15_000, // 15 seconds
39
39
  logger: this.#logger
40
40
  });
41
41
  this.#cache = new cacheReader_js_1.CacheReader(this.#database, this.#deferments, cacheOptions);
@@ -43,12 +43,16 @@ class ObjectLoader2 {
43
43
  this.#downloader = options.downloader;
44
44
  }
45
45
  async disposeAsync() {
46
- await Promise.all([this.#downloader.disposeAsync(), this.#cache.disposeAsync()]);
46
+ await Promise.all([
47
+ this.#downloader.disposeAsync(),
48
+ this.#cache.disposeAsync(),
49
+ this.#pump.disposeAsync()
50
+ ]);
47
51
  this.#deferments.dispose();
48
52
  }
49
53
  async getRootObject() {
50
54
  if (!this.#root) {
51
- this.#root = await this.#database.getItem({ id: this.#rootId });
55
+ this.#root = (await this.#database.getAll([this.#rootId]))[0];
52
56
  if (!this.#root) {
53
57
  this.#root = await this.#downloader.downloadSingle();
54
58
  }
@@ -74,7 +78,9 @@ class ObjectLoader2 {
74
78
  yield rootItem.base;
75
79
  if (!rootItem.base.__closure)
76
80
  return;
77
- const children = Object.keys(rootItem.base.__closure);
81
+ //sort the closures by their values descending
82
+ const sortedClosures = Object.entries(rootItem.base.__closure).sort((a, b) => b[1] - a[1]);
83
+ const children = sortedClosures.map((x) => x[0]);
78
84
  const total = children.length;
79
85
  this.#downloader.initializePool({
80
86
  results: new aggregateQueue_js_1.default(this.#gathered, this.#pump),
@@ -1 +1 @@
1
- {"version":3,"file":"objectLoader2.js","sourceRoot":"","sources":["../../../src/operations/objectLoader2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"objectLoader2.js","sourceRoot":"","sources":["../../../src/operations/objectLoader2.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,15 @@
1
1
  import { Base, CustomLogger } from '../types/types.js';
2
2
  import { ObjectLoader2 } from './objectLoader2.js';
3
+ export interface ObjectLoader2FactoryOptions {
4
+ useMemoryCache?: boolean;
5
+ keyRange?: {
6
+ bound: Function;
7
+ lowerBound: Function;
8
+ upperBound: Function;
9
+ };
10
+ indexedDB?: IDBFactory;
11
+ logger?: CustomLogger;
12
+ }
3
13
  export declare class ObjectLoader2Factory {
4
14
  static createFromObjects(objects: Base[]): ObjectLoader2;
5
15
  static createFromJSON(json: string): ObjectLoader2;
@@ -9,13 +19,7 @@ export declare class ObjectLoader2Factory {
9
19
  objectId: string;
10
20
  token?: string;
11
21
  headers?: Headers;
12
- keyRange?: {
13
- bound: Function;
14
- lowerBound: Function;
15
- upperBound: Function;
16
- };
17
- indexedDB?: IDBFactory;
18
- logger?: CustomLogger;
22
+ options?: ObjectLoader2FactoryOptions;
19
23
  }): ObjectLoader2;
20
24
  }
21
25
  //# sourceMappingURL=objectLoader2Factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"objectLoader2Factory.d.ts","sourceRoot":"","sources":["../../../src/operations/objectLoader2Factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAKtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,aAAa;IAcxD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAKlD,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE;QAC3B,SAAS,EAAE,MAAM,CAAA;QACjB,QAAQ,EAAE,MAAM,CAAA;QAChB,QAAQ,EAAE,MAAM,CAAA;QAChB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,OAAO,CAAC,EAAE,OAAO,CAAA;QAEjB,QAAQ,CAAC,EAAE;YAAE,KAAK,EAAE,QAAQ,CAAC;YAAC,UAAU,EAAE,QAAQ,CAAC;YAAC,UAAU,EAAE,QAAQ,CAAA;SAAE,CAAA;QAC1E,SAAS,CAAC,EAAE,UAAU,CAAA;QACtB,MAAM,CAAC,EAAE,YAAY,CAAA;KACtB,GAAG,aAAa;CAkBlB"}
1
+ {"version":3,"file":"objectLoader2Factory.d.ts","sourceRoot":"","sources":["../../../src/operations/objectLoader2Factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAKtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,MAAM,WAAW,2BAA2B;IAC1C,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,QAAQ,CAAC;QAAC,UAAU,EAAE,QAAQ,CAAC;QAAC,UAAU,EAAE,QAAQ,CAAA;KAAE,CAAA;IAC1E,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,MAAM,CAAC,EAAE,YAAY,CAAA;CACtB;AAED,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,aAAa;IAcxD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAKlD,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE;QAC3B,SAAS,EAAE,MAAM,CAAA;QACjB,QAAQ,EAAE,MAAM,CAAA;QAChB,QAAQ,EAAE,MAAM,CAAA;QAChB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,OAAO,CAAC,EAAE,2BAA2B,CAAA;KACtC,GAAG,aAAa;CAmClB"}
@@ -28,21 +28,39 @@ class ObjectLoader2Factory {
28
28
  return this.createFromObjects(jsonObj);
29
29
  }
30
30
  static createFromUrl(params) {
31
- const loader = new objectLoader2_js_1.ObjectLoader2({
32
- rootId: params.objectId,
33
- downloader: new serverDownloader_js_1.default({
34
- serverUrl: params.serverUrl,
35
- streamId: params.streamId,
36
- objectId: params.objectId,
37
- token: params.token,
38
- headers: params.headers
39
- }),
40
- database: new indexedDatabase_js_1.default({
41
- logger: params.logger,
42
- indexedDB: params.indexedDB,
43
- keyRange: params.keyRange
44
- })
45
- });
31
+ let loader;
32
+ if (params.options?.useMemoryCache) {
33
+ loader = new objectLoader2_js_1.ObjectLoader2({
34
+ rootId: params.objectId,
35
+ downloader: new serverDownloader_js_1.default({
36
+ serverUrl: params.serverUrl,
37
+ streamId: params.streamId,
38
+ objectId: params.objectId,
39
+ token: params.token,
40
+ headers: params.headers
41
+ }),
42
+ database: new memoryDatabase_js_1.MemoryDatabase({
43
+ items: new Map()
44
+ })
45
+ });
46
+ }
47
+ else {
48
+ loader = new objectLoader2_js_1.ObjectLoader2({
49
+ rootId: params.objectId,
50
+ downloader: new serverDownloader_js_1.default({
51
+ serverUrl: params.serverUrl,
52
+ streamId: params.streamId,
53
+ objectId: params.objectId,
54
+ token: params.token,
55
+ headers: params.headers
56
+ }),
57
+ database: new indexedDatabase_js_1.default({
58
+ logger: params.options?.logger,
59
+ indexedDB: params.options?.indexedDB,
60
+ keyRange: params.options?.keyRange
61
+ })
62
+ });
63
+ }
46
64
  return loader;
47
65
  }
48
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"objectLoader2Factory.js","sourceRoot":"","sources":["../../../src/operations/objectLoader2Factory.ts"],"names":[],"mappings":";;;;;;AACA,wFAA4D;AAC5D,qEAA8D;AAC9D,2EAAoE;AACpE,4FAAgE;AAChE,yDAAkD;AAElD,MAAa,oBAAoB;IAC/B,MAAM,CAAC,iBAAiB,CAAC,OAAe;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QACvB,MAAM,OAAO,GAAsB,IAAI,GAAG,EAAgB,CAAA;QAC1D,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,IAAI,gCAAa,CAAC;YAC/B,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,QAAQ,EAAE,IAAI,kCAAc,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YAChD,UAAU,EAAE,IAAI,sCAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC;SACnD,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,IAAY;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW,CAAA;QAC1C,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,MAUpB;QACC,MAAM,MAAM,GAAG,IAAI,gCAAa,CAAC;YAC/B,MAAM,EAAE,MAAM,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,6BAAgB,CAAC;gBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAC;YACF,QAAQ,EAAE,IAAI,4BAAe,CAAC;gBAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC;SACH,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAhDD,oDAgDC"}
1
+ {"version":3,"file":"objectLoader2Factory.js","sourceRoot":"","sources":["../../../src/operations/objectLoader2Factory.ts"],"names":[],"mappings":";;;;;;AACA,wFAA4D;AAC5D,qEAA8D;AAC9D,2EAAoE;AACpE,4FAAgE;AAChE,yDAAkD;AAUlD,MAAa,oBAAoB;IAC/B,MAAM,CAAC,iBAAiB,CAAC,OAAe;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QACvB,MAAM,OAAO,GAAsB,IAAI,GAAG,EAAgB,CAAA;QAC1D,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,IAAI,gCAAa,CAAC;YAC/B,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,QAAQ,EAAE,IAAI,kCAAc,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YAChD,UAAU,EAAE,IAAI,sCAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC;SACnD,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,IAAY;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW,CAAA;QAC1C,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,MAOpB;QACC,IAAI,MAAqB,CAAA;QACzB,IAAI,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC;YACnC,MAAM,GAAG,IAAI,gCAAa,CAAC;gBACzB,MAAM,EAAE,MAAM,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,6BAAgB,CAAC;oBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB,CAAC;gBACF,QAAQ,EAAE,IAAI,kCAAc,CAAC;oBAC3B,KAAK,EAAE,IAAI,GAAG,EAAgB;iBAC/B,CAAC;aACH,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,IAAI,gCAAa,CAAC;gBACzB,MAAM,EAAE,MAAM,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,6BAAgB,CAAC;oBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB,CAAC;gBACF,QAAQ,EAAE,IAAI,4BAAe,CAAC;oBAC5B,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM;oBAC9B,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS;oBACpC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ;iBACnC,CAAC;aACH,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AA9DD,oDA8DC"}
@@ -11,6 +11,7 @@ export declare class CachePump implements Pump {
11
11
  constructor(database: Database, gathered: AsyncGeneratorQueue<Item>, deferments: DefermentManager, options: CacheOptions);
12
12
  add(item: Item): void;
13
13
  disposeAsync(): Promise<void>;
14
+ get isDisposed(): boolean;
14
15
  pumpItems(params: {
15
16
  ids: string[];
16
17
  foundItems: Queue<Item>;
@@ -1 +1 @@
1
- {"version":3,"file":"cachePump.d.ts","sourceRoot":"","sources":["../../../src/helpers/cachePump.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAgB,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,mBAAmB,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,qBAAa,SAAU,YAAW,IAAI;;gBAWlC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,EACnC,UAAU,EAAE,gBAAgB,EAC5B,OAAO,EAAE,YAAY;IASvB,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAYf,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,SAAS,CAAC,MAAM,EAAE;QACtB,GAAG,EAAE,MAAM,EAAE,CAAA;QACb,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QACvB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAC7B,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BV,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC;CAkB3E"}
1
+ {"version":3,"file":"cachePump.d.ts","sourceRoot":"","sources":["../../../src/helpers/cachePump.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAgB,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,mBAAmB,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,qBAAa,SAAU,YAAW,IAAI;;gBAalC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,EACnC,UAAU,EAAE,gBAAgB,EAC5B,OAAO,EAAE,YAAY;IASvB,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAYf,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAMnC,IAAI,UAAU,IAAI,OAAO,CAExB;IAEK,SAAS,CAAC,MAAM,EAAE;QACtB,GAAG,EAAE,MAAM,EAAE,CAAA;QACb,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QACvB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAC7B,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BV,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC;CAkB3E"}
@@ -7,6 +7,7 @@ export class CachePump {
7
7
  #deferments;
8
8
  #gathered;
9
9
  #options;
10
+ #disposed = false;
10
11
  constructor(database, gathered, deferments, options) {
11
12
  this.#database = database;
12
13
  this.#gathered = gathered;
@@ -26,12 +27,17 @@ export class CachePump {
26
27
  }
27
28
  async disposeAsync() {
28
29
  await this.#writeQueue?.disposeAsync();
30
+ await this.#database.disposeAsync();
31
+ this.#disposed = true;
32
+ }
33
+ get isDisposed() {
34
+ return this.#disposed;
29
35
  }
30
36
  async pumpItems(params) {
31
37
  const { ids, foundItems, notFoundItems } = params;
32
38
  const maxCacheReadSize = this.#options.maxCacheReadSize;
33
39
  for (let i = 0; i < ids.length;) {
34
- if (this.#writeQueue?.isDisposed())
40
+ if (this.isDisposed)
35
41
  break;
36
42
  if ((this.#writeQueue?.count() ?? 0) > this.#options.maxWriteQueueSize) {
37
43
  this.#logger('pausing reads (# in write queue: ' + this.#writeQueue?.count() + ')');
@@ -1 +1 @@
1
- {"version":3,"file":"cachePump.js","sourceRoot":"","sources":["../../../src/helpers/cachePump.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cachePump.js","sourceRoot":"","sources":["../../../src/helpers/cachePump.ts"],"names":[],"mappings":"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"}