@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.
- package/dist/commonjs/helpers/cachePump.d.ts +1 -0
- package/dist/commonjs/helpers/cachePump.d.ts.map +1 -1
- package/dist/commonjs/helpers/cachePump.js +7 -1
- package/dist/commonjs/helpers/cachePump.js.map +1 -1
- package/dist/commonjs/helpers/defermentManager.d.ts +2 -0
- package/dist/commonjs/helpers/defermentManager.d.ts.map +1 -1
- package/dist/commonjs/helpers/defermentManager.js +20 -1
- package/dist/commonjs/helpers/defermentManager.js.map +1 -1
- package/dist/commonjs/index.d.ts +0 -1
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +1 -3
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/operations/databases/indexedDatabase.d.ts +6 -4
- package/dist/commonjs/operations/databases/indexedDatabase.d.ts.map +1 -1
- package/dist/commonjs/operations/databases/indexedDatabase.js +2 -21
- package/dist/commonjs/operations/databases/indexedDatabase.js.map +1 -1
- package/dist/commonjs/operations/databases/memoryDatabase.d.ts +0 -3
- package/dist/commonjs/operations/databases/memoryDatabase.d.ts.map +1 -1
- package/dist/commonjs/operations/databases/memoryDatabase.js +0 -7
- package/dist/commonjs/operations/databases/memoryDatabase.js.map +1 -1
- package/dist/commonjs/operations/downloaders/memoryDownloader.js +1 -1
- package/dist/commonjs/operations/downloaders/memoryDownloader.js.map +1 -1
- package/dist/commonjs/operations/downloaders/serverDownloader.js +1 -1
- package/dist/commonjs/operations/interfaces.d.ts +0 -3
- package/dist/commonjs/operations/interfaces.d.ts.map +1 -1
- package/dist/commonjs/operations/objectLoader2.d.ts.map +1 -1
- package/dist/commonjs/operations/objectLoader2.js +10 -4
- package/dist/commonjs/operations/objectLoader2.js.map +1 -1
- package/dist/commonjs/operations/objectLoader2Factory.d.ts +11 -7
- package/dist/commonjs/operations/objectLoader2Factory.d.ts.map +1 -1
- package/dist/commonjs/operations/objectLoader2Factory.js +33 -15
- package/dist/commonjs/operations/objectLoader2Factory.js.map +1 -1
- package/dist/esm/helpers/cachePump.d.ts +1 -0
- package/dist/esm/helpers/cachePump.d.ts.map +1 -1
- package/dist/esm/helpers/cachePump.js +7 -1
- package/dist/esm/helpers/cachePump.js.map +1 -1
- package/dist/esm/helpers/defermentManager.d.ts +2 -0
- package/dist/esm/helpers/defermentManager.d.ts.map +1 -1
- package/dist/esm/helpers/defermentManager.js +20 -1
- package/dist/esm/helpers/defermentManager.js.map +1 -1
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/operations/databases/indexedDatabase.d.ts +6 -4
- package/dist/esm/operations/databases/indexedDatabase.d.ts.map +1 -1
- package/dist/esm/operations/databases/indexedDatabase.js +1 -22
- package/dist/esm/operations/databases/indexedDatabase.js.map +1 -1
- package/dist/esm/operations/databases/memoryDatabase.d.ts +0 -3
- package/dist/esm/operations/databases/memoryDatabase.d.ts.map +1 -1
- package/dist/esm/operations/databases/memoryDatabase.js +0 -7
- package/dist/esm/operations/databases/memoryDatabase.js.map +1 -1
- package/dist/esm/operations/downloaders/memoryDownloader.js +1 -1
- package/dist/esm/operations/downloaders/memoryDownloader.js.map +1 -1
- package/dist/esm/operations/downloaders/serverDownloader.js +1 -1
- package/dist/esm/operations/interfaces.d.ts +0 -3
- package/dist/esm/operations/interfaces.d.ts.map +1 -1
- package/dist/esm/operations/objectLoader2.d.ts.map +1 -1
- package/dist/esm/operations/objectLoader2.js +10 -4
- package/dist/esm/operations/objectLoader2.js.map +1 -1
- package/dist/esm/operations/objectLoader2Factory.d.ts +11 -7
- package/dist/esm/operations/objectLoader2Factory.d.ts.map +1 -1
- package/dist/esm/operations/objectLoader2Factory.js +33 -15
- package/dist/esm/operations/objectLoader2Factory.js.map +1 -1
- package/package.json +2 -2
- package/src/helpers/cachePump.disposal.spec.ts +3 -1
- package/src/helpers/cachePump.spec.ts +2 -1
- package/src/helpers/cachePump.ts +9 -1
- package/src/helpers/defermentManager.defermentTotals.spec.ts +53 -0
- package/src/helpers/defermentManager.ts +20 -1
- package/src/index.ts +0 -1
- package/src/operations/databases/__snapshots__/indexedDatabase.spec.ts.snap +13 -26
- package/src/operations/databases/indexedDatabase.spec.ts +23 -27
- package/src/operations/databases/indexedDatabase.ts +1 -25
- package/src/operations/databases/memoryDatabase.spec.ts +48 -0
- package/src/operations/databases/memoryDatabase.ts +0 -8
- package/src/operations/downloaders/__snapshots__/memoryDownloader.spec.ts.snap +12 -0
- package/src/operations/downloaders/memoryDownloader.spec.ts +49 -0
- package/src/operations/downloaders/memoryDownloader.ts +1 -1
- package/src/operations/downloaders/serverDownloader.ts +1 -1
- package/src/operations/interfaces.ts +0 -1
- package/src/operations/objectLoader2.ts +12 -4
- package/src/operations/objectLoader2Factory.ts +40 -18
- 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;;
|
|
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
|
|
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":";;;;;;AAAA,4CAAsC;AAItC,0EAA8C;AAO9C,MAAa,SAAS;IACpB,WAAW,CAAiC;IAC5C,SAAS,CAAU;IACnB,OAAO,CAAc;IACrB,WAAW,CAAkB;IAE7B,SAAS,CAA2B;IAEpC,QAAQ,CAAc;IAEtB,YACE,QAAkB,EAClB,QAAmC,EACnC,UAA4B,EAC5B,OAAqB;QAErB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,GAAS,EAAE,GAAE,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,GAAG,CAAC,IAAU;QACZ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,IAAI,0BAAa,CAAC;gBACnC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB;gBAC1C,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,sBAAsB;gBACjD,eAAe,EAAE,CAAC,KAAa,EAAiB,EAAE,CAChD,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC;aAC3C,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"cachePump.js","sourceRoot":"","sources":["../../../src/helpers/cachePump.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAsC;AAItC,0EAA8C;AAO9C,MAAa,SAAS;IACpB,WAAW,CAAiC;IAC5C,SAAS,CAAU;IACnB,OAAO,CAAc;IACrB,WAAW,CAAkB;IAE7B,SAAS,CAA2B;IAEpC,QAAQ,CAAc;IAEtB,SAAS,GAAG,KAAK,CAAA;IAEjB,YACE,QAAkB,EAClB,QAAmC,EACnC,UAA4B,EAC5B,OAAqB;QAErB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,GAAS,EAAE,GAAE,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,GAAG,CAAC,IAAU;QACZ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,IAAI,0BAAa,CAAC;gBACnC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB;gBAC1C,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,sBAAsB;gBACjD,eAAe,EAAE,CAAC,KAAa,EAAiB,EAAE,CAChD,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC;aAC3C,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,CAAA;QACtC,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAA;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACvB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAIf;QACC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA;QACjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAA;QAEvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,GAAI,CAAC;YACjC,IAAI,IAAI,CAAC,UAAU;gBAAE,MAAK;YAC1B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;gBACvE,IAAI,CAAC,OAAO,CACV,mCAAmC,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,GAAG,CACtE,CAAA;gBACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,aAAI,CAAC,MAAM,CAAC,CAAC,CAAA,CAAC,qDAAqD;gBACtH,SAAQ;YACV,CAAC;YACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAA;YAChD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClB,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,CAAA;gBAChC,CAAC;qBAAM,CAAC;oBACN,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC7B,CAAC;YACH,CAAC;YACD,CAAC,IAAI,gBAAgB,CAAA;QACvB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,GAAa,EAAE,UAAsB;QACjD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAA;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,GAAG;YACH,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,aAAa,EAAE,UAAU;SAC1B,CAAC,CAAA;QACF,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YAClD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC9B,MAAM,IAAI,CAAA;YACV,KAAK,EAAE,CAAA;YACP,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;gBACnB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;YAC1B,CAAC;QACH,CAAC;QACD,MAAM,WAAW,CAAA;IACnB,CAAC;CACF;AA/FD,8BA+FC"}
|
|
@@ -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;
|
|
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
|
|
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":";;;AAAA,uDAAgD;AAIhD,MAAa,gBAAgB;
|
|
1
|
+
{"version":3,"file":"defermentManager.js","sourceRoot":"","sources":["../../../src/helpers/defermentManager.ts"],"names":[],"mappings":"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"}
|
package/dist/commonjs/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
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"}
|
package/dist/commonjs/index.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ObjectLoader2Factory = exports.ObjectLoader2 =
|
|
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,
|
|
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;
|
|
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":"
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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;
|
|
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"}
|
|
@@ -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,
|
|
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;
|
|
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:
|
|
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([
|
|
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.
|
|
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
|
-
|
|
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":";;;;;;AAAA,+FAAmE;AAInE,wEAAiE;AACjE,8DAAuD;AACvD,0DAAmD;AACnD,qFAAyD;AACzD,uEAAgE;AAEhE,MAAa,aAAa;IACxB,OAAO,CAAQ;IAEf,OAAO,CAAc;IAErB,SAAS,CAAU;IACnB,WAAW,CAAY;IACvB,KAAK,CAAW;IAChB,MAAM,CAAa;IAEnB,WAAW,CAAkB;IAE7B,SAAS,CAA2B;IAEpC,KAAK,GAAU,SAAS,CAAA;IAExB,YAAY,OAA6B;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAA;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAA;QAE5C,MAAM,YAAY,GAAiB;YACjC,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,gBAAgB,EAAE,MAAM;YACxB,iBAAiB,EAAE,MAAM;YACzB,iBAAiB,EAAE,MAAM;YACzB,sBAAsB,EAAE,KAAK;YAC7B,qBAAqB,EAAE,KAAK;SAC7B,CAAA;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,gCAAmB,EAAE,CAAA;QAC1C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAA;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,sCAAgB,CAAC;YACtC,WAAW,EAAE,KAAK,EAAE,QAAQ;YAC5B,KAAK,EAAE,
|
|
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
|
-
|
|
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;
|
|
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
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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;
|
|
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;;
|
|
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
|
|
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":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAItC,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAO9C,MAAM,OAAO,SAAS;IACpB,WAAW,CAAiC;IAC5C,SAAS,CAAU;IACnB,OAAO,CAAc;IACrB,WAAW,CAAkB;IAE7B,SAAS,CAA2B;IAEpC,QAAQ,CAAc;IAEtB,YACE,QAAkB,EAClB,QAAmC,EACnC,UAA4B,EAC5B,OAAqB;QAErB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,GAAS,EAAE,GAAE,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,GAAG,CAAC,IAAU;QACZ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,IAAI,aAAa,CAAC;gBACnC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB;gBAC1C,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,sBAAsB;gBACjD,eAAe,EAAE,CAAC,KAAa,EAAiB,EAAE,CAChD,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC;aAC3C,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"cachePump.js","sourceRoot":"","sources":["../../../src/helpers/cachePump.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAItC,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAO9C,MAAM,OAAO,SAAS;IACpB,WAAW,CAAiC;IAC5C,SAAS,CAAU;IACnB,OAAO,CAAc;IACrB,WAAW,CAAkB;IAE7B,SAAS,CAA2B;IAEpC,QAAQ,CAAc;IAEtB,SAAS,GAAG,KAAK,CAAA;IAEjB,YACE,QAAkB,EAClB,QAAmC,EACnC,UAA4B,EAC5B,OAAqB;QAErB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,GAAS,EAAE,GAAE,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,GAAG,CAAC,IAAU;QACZ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,IAAI,aAAa,CAAC;gBACnC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB;gBAC1C,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,sBAAsB;gBACjD,eAAe,EAAE,CAAC,KAAa,EAAiB,EAAE,CAChD,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC;aAC3C,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,CAAA;QACtC,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAA;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACvB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAIf;QACC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA;QACjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAA;QAEvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,GAAI,CAAC;YACjC,IAAI,IAAI,CAAC,UAAU;gBAAE,MAAK;YAC1B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;gBACvE,IAAI,CAAC,OAAO,CACV,mCAAmC,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,GAAG,CACtE,CAAA;gBACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA,CAAC,qDAAqD;gBACtH,SAAQ;YACV,CAAC;YACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAA;YAChD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClB,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,CAAA;gBAChC,CAAC;qBAAM,CAAC;oBACN,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC7B,CAAC;YACH,CAAC;YACD,CAAC,IAAI,gBAAgB,CAAA;QACvB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,GAAa,EAAE,UAAsB;QACjD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAA;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,GAAG;YACH,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,aAAa,EAAE,UAAU;SAC1B,CAAC,CAAA;QACF,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YAClD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC9B,MAAM,IAAI,CAAA;YACV,KAAK,EAAE,CAAA;YACP,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;gBACnB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;YAC1B,CAAC;QACH,CAAC;QACD,MAAM,WAAW,CAAA;IACnB,CAAC;CACF"}
|