@peerbit/document 7.1.2 → 7.1.3-0b8baa8
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/benchmark/memory/child.d.ts +2 -0
- package/dist/benchmark/memory/child.d.ts.map +1 -0
- package/dist/benchmark/memory/{insert.js → child.js} +1 -2
- package/dist/benchmark/memory/child.js.map +1 -0
- package/dist/benchmark/memory/index.js +9 -50
- package/dist/benchmark/memory/index.js.map +1 -1
- package/dist/src/domain.d.ts +14 -0
- package/dist/src/domain.d.ts.map +1 -0
- package/dist/src/domain.js +33 -0
- package/dist/src/domain.js.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/program.d.ts.map +1 -1
- package/dist/src/program.js +0 -1
- package/dist/src/program.js.map +1 -1
- package/dist/src/resumable-iterator.d.ts +20 -0
- package/dist/src/resumable-iterator.d.ts.map +1 -0
- package/dist/src/resumable-iterator.js +39 -0
- package/dist/src/resumable-iterator.js.map +1 -0
- package/dist/src/search.d.ts +11 -10
- package/dist/src/search.d.ts.map +1 -1
- package/dist/src/search.js +31 -28
- package/dist/src/search.js.map +1 -1
- package/package.json +74 -74
- package/src/domain.ts +55 -0
- package/src/index.ts +1 -0
- package/src/program.ts +0 -1
- package/src/resumable-iterator.ts +58 -0
- package/src/search.ts +49 -56
- package/dist/benchmark/memory/insert.d.ts +0 -2
- package/dist/benchmark/memory/insert.d.ts.map +0 -1
- package/dist/benchmark/memory/insert.js.map +0 -1
package/dist/src/search.js
CHANGED
|
@@ -24,6 +24,7 @@ import { concat, fromString } from "uint8arrays";
|
|
|
24
24
|
import { copySerialization } from "./borsh.js";
|
|
25
25
|
import { MAX_BATCH_SIZE } from "./constants.js";
|
|
26
26
|
import { isPutOperation } from "./operation.js";
|
|
27
|
+
import { ResumableIterators } from "./resumable-iterator.js";
|
|
27
28
|
const logger = loggerFn({ module: "document-index" });
|
|
28
29
|
const introduceEntries = async (responses, type, sync, options) => {
|
|
29
30
|
const results = [];
|
|
@@ -129,6 +130,7 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
129
130
|
indexBy;
|
|
130
131
|
indexByResolver;
|
|
131
132
|
index;
|
|
133
|
+
_resumableIterators;
|
|
132
134
|
// Transformation, indexer
|
|
133
135
|
/* fields: IndexableFields<T, I>; */
|
|
134
136
|
_valueEncoding;
|
|
@@ -196,10 +198,11 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
196
198
|
schema: this.wrappedIndexedType,
|
|
197
199
|
nested: {
|
|
198
200
|
match: (obj) => obj instanceof this.dbType,
|
|
199
|
-
|
|
201
|
+
iterate: async (obj, query) => obj.index.search(query),
|
|
200
202
|
},
|
|
201
203
|
/* maxBatchSize: MAX_BATCH_SIZE */
|
|
202
204
|
})) || new HashmapIndex();
|
|
205
|
+
this._resumableIterators = new ResumableIterators(this.index);
|
|
203
206
|
await this._query.open({
|
|
204
207
|
topic: sha256Base64Sync(concat([this._log.log.id, fromString("/document")])),
|
|
205
208
|
responseHandler: async (query, ctx) => {
|
|
@@ -208,12 +211,12 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
208
211
|
return;
|
|
209
212
|
}
|
|
210
213
|
if (properties.canSearch &&
|
|
211
|
-
(query instanceof
|
|
212
|
-
query instanceof
|
|
214
|
+
(query instanceof types.SearchRequest ||
|
|
215
|
+
query instanceof types.CollectNextRequest) &&
|
|
213
216
|
!(await properties.canSearch(query, ctx.from))) {
|
|
214
217
|
return new types.NoAccess();
|
|
215
218
|
}
|
|
216
|
-
if (query instanceof
|
|
219
|
+
if (query instanceof types.CloseIteratorRequest) {
|
|
217
220
|
this.processCloseIteratorRequest(query, ctx.from);
|
|
218
221
|
}
|
|
219
222
|
else {
|
|
@@ -228,15 +231,15 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
228
231
|
}
|
|
229
232
|
},
|
|
230
233
|
responseType: types.AbstractSearchResult,
|
|
231
|
-
queryType:
|
|
234
|
+
queryType: types.AbstractSearchRequest,
|
|
232
235
|
});
|
|
233
236
|
}
|
|
234
|
-
getPending(cursorId) {
|
|
237
|
+
async getPending(cursorId) {
|
|
235
238
|
const queue = this._resultQueue.get(cursorId);
|
|
236
239
|
if (queue) {
|
|
237
240
|
return queue.queue.length + queue.keptInIndex;
|
|
238
241
|
}
|
|
239
|
-
return this.
|
|
242
|
+
return this._resumableIterators.getPending(cursorId);
|
|
240
243
|
}
|
|
241
244
|
async close(from) {
|
|
242
245
|
const closed = await super.close(from);
|
|
@@ -284,14 +287,14 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
284
287
|
else {
|
|
285
288
|
this._resolverCache.del(key.primitive);
|
|
286
289
|
}
|
|
287
|
-
return this.index.del(
|
|
290
|
+
return this.index.del({
|
|
288
291
|
query: [indexerTypes.getMatcher(this.indexBy, key.key)],
|
|
289
|
-
})
|
|
292
|
+
});
|
|
290
293
|
}
|
|
291
294
|
async getDetailed(key, options) {
|
|
292
295
|
let results;
|
|
293
296
|
if (key instanceof Uint8Array) {
|
|
294
|
-
results = await this.queryDetailed(new
|
|
297
|
+
results = await this.queryDetailed(new types.SearchRequest({
|
|
295
298
|
query: [
|
|
296
299
|
new indexerTypes.ByteMatchQuery({ key: this.indexBy, value: key }),
|
|
297
300
|
],
|
|
@@ -301,7 +304,7 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
301
304
|
const indexableKey = indexerTypes.toIdeable(key);
|
|
302
305
|
if (typeof indexableKey === "number" ||
|
|
303
306
|
typeof indexableKey === "bigint") {
|
|
304
|
-
results = await this.queryDetailed(new
|
|
307
|
+
results = await this.queryDetailed(new types.SearchRequest({
|
|
305
308
|
query: [
|
|
306
309
|
new indexerTypes.IntegerCompare({
|
|
307
310
|
key: this.indexBy,
|
|
@@ -312,7 +315,7 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
312
315
|
}), options);
|
|
313
316
|
}
|
|
314
317
|
else if (typeof indexableKey === "string") {
|
|
315
|
-
results = await this.queryDetailed(new
|
|
318
|
+
results = await this.queryDetailed(new types.SearchRequest({
|
|
316
319
|
query: [
|
|
317
320
|
new indexerTypes.StringMatch({
|
|
318
321
|
key: this.indexBy,
|
|
@@ -322,7 +325,7 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
322
325
|
}), options);
|
|
323
326
|
}
|
|
324
327
|
else if (indexableKey instanceof Uint8Array) {
|
|
325
|
-
results = await this.queryDetailed(new
|
|
328
|
+
results = await this.queryDetailed(new types.SearchRequest({
|
|
326
329
|
query: [
|
|
327
330
|
new indexerTypes.ByteMatchQuery({
|
|
328
331
|
key: this.indexBy,
|
|
@@ -373,14 +376,14 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
373
376
|
throw new Error("Different from in queued results");
|
|
374
377
|
}
|
|
375
378
|
let indexedResult = undefined;
|
|
376
|
-
if (query instanceof
|
|
377
|
-
indexedResult = await this.
|
|
379
|
+
if (query instanceof types.SearchRequest) {
|
|
380
|
+
indexedResult = await this._resumableIterators.iterateAndFetch(query);
|
|
378
381
|
}
|
|
379
|
-
else if (query instanceof
|
|
382
|
+
else if (query instanceof types.CollectNextRequest) {
|
|
380
383
|
indexedResult =
|
|
381
384
|
prevQueued?.keptInIndex === 0
|
|
382
|
-
?
|
|
383
|
-
: await this.
|
|
385
|
+
? []
|
|
386
|
+
: await this._resumableIterators.next(query);
|
|
384
387
|
}
|
|
385
388
|
else {
|
|
386
389
|
throw new Error("Unsupported");
|
|
@@ -388,12 +391,13 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
388
391
|
const filteredResults = [];
|
|
389
392
|
let resultSize = 0;
|
|
390
393
|
let toIterate = prevQueued
|
|
391
|
-
? [...prevQueued.queue, ...indexedResult
|
|
392
|
-
: indexedResult
|
|
394
|
+
? [...prevQueued.queue, ...indexedResult]
|
|
395
|
+
: indexedResult;
|
|
393
396
|
if (prevQueued) {
|
|
394
397
|
this._resultQueue.delete(query.idString);
|
|
395
398
|
prevQueued = undefined;
|
|
396
399
|
}
|
|
400
|
+
let kept = (await this._resumableIterators.getPending(query.idString)) ?? 0;
|
|
397
401
|
if (!isLocal) {
|
|
398
402
|
prevQueued = {
|
|
399
403
|
from,
|
|
@@ -401,7 +405,7 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
401
405
|
timeout: setTimeout(() => {
|
|
402
406
|
this._resultQueue.delete(query.idString);
|
|
403
407
|
}, 6e4),
|
|
404
|
-
keptInIndex:
|
|
408
|
+
keptInIndex: kept,
|
|
405
409
|
};
|
|
406
410
|
this._resultQueue.set(query.idString, prevQueued);
|
|
407
411
|
}
|
|
@@ -427,7 +431,7 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
427
431
|
}
|
|
428
432
|
const results = new types.Results({
|
|
429
433
|
results: filteredResults,
|
|
430
|
-
kept: BigInt(
|
|
434
|
+
kept: BigInt(kept + (prevQueued?.queue.length || 0)),
|
|
431
435
|
});
|
|
432
436
|
if (!isLocal && results.kept === 0n) {
|
|
433
437
|
this.clearResultsQueue(query);
|
|
@@ -448,7 +452,7 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
448
452
|
return;
|
|
449
453
|
}
|
|
450
454
|
this.clearResultsQueue(query);
|
|
451
|
-
return this.
|
|
455
|
+
return this._resumableIterators.close(query);
|
|
452
456
|
}
|
|
453
457
|
/**
|
|
454
458
|
* Query and retrieve results with most details
|
|
@@ -502,7 +506,7 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
502
506
|
}
|
|
503
507
|
};
|
|
504
508
|
try {
|
|
505
|
-
if (queryRequest instanceof
|
|
509
|
+
if (queryRequest instanceof types.CloseIteratorRequest) {
|
|
506
510
|
// don't wait for responses
|
|
507
511
|
await this._query.request(queryRequest, { mode: remote.mode });
|
|
508
512
|
}
|
|
@@ -559,8 +563,7 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
559
563
|
const iterator = this.iterate(queryRequest, options);
|
|
560
564
|
// So that this call will not do any remote requests
|
|
561
565
|
const allResults = [];
|
|
562
|
-
while (iterator.done()
|
|
563
|
-
queryRequest.fetch > allResults.length) {
|
|
566
|
+
while (iterator.done() !== true && queryRequest.fetch > allResults.length) {
|
|
564
567
|
// We might need to pull .next multiple time due to data message size limitations
|
|
565
568
|
for (const result of await iterator.next(queryRequest.fetch - allResults.length)) {
|
|
566
569
|
allResults.push(result);
|
|
@@ -664,7 +667,7 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
664
667
|
}
|
|
665
668
|
// TODO buffer more than deleted?
|
|
666
669
|
// TODO batch to multiple 'to's
|
|
667
|
-
const collectRequest = new
|
|
670
|
+
const collectRequest = new types.CollectNextRequest({
|
|
668
671
|
id: queryRequest.id,
|
|
669
672
|
amount: n - buffer.buffer.length,
|
|
670
673
|
});
|
|
@@ -796,7 +799,7 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
796
799
|
};
|
|
797
800
|
const close = async () => {
|
|
798
801
|
controller.abort(new AbortError("Iterator closed"));
|
|
799
|
-
const closeRequest = new
|
|
802
|
+
const closeRequest = new types.CloseIteratorRequest({
|
|
800
803
|
id: queryRequest.id,
|
|
801
804
|
});
|
|
802
805
|
const promises = [];
|
package/dist/src/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/search.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/search.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,76 +1,76 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
2
|
+
"name": "@peerbit/document",
|
|
3
|
+
"version": "7.1.3-0b8baa8",
|
|
4
|
+
"description": "Document store implementation",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"sideEffects": false,
|
|
7
|
+
"types": "./dist/src/index.d.ts",
|
|
8
|
+
"typesVersions": {
|
|
9
|
+
"*": {
|
|
10
|
+
"*": [
|
|
11
|
+
"*",
|
|
12
|
+
"dist/*",
|
|
13
|
+
"dist/src/*",
|
|
14
|
+
"dist/src/*/index"
|
|
15
|
+
],
|
|
16
|
+
"src/*": [
|
|
17
|
+
"*",
|
|
18
|
+
"dist/*",
|
|
19
|
+
"dist/src/*",
|
|
20
|
+
"dist/src/*/index"
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"files": [
|
|
25
|
+
"src",
|
|
26
|
+
"dist",
|
|
27
|
+
"!dist/e2e",
|
|
28
|
+
"!dist/test",
|
|
29
|
+
"!**/*.tsbuildinfo"
|
|
30
|
+
],
|
|
31
|
+
"exports": {
|
|
32
|
+
".": {
|
|
33
|
+
"types": "./dist/src/index.d.ts",
|
|
34
|
+
"import": "./dist/src/index.js"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"eslintConfig": {
|
|
38
|
+
"extends": "peerbit",
|
|
39
|
+
"parserOptions": {
|
|
40
|
+
"project": true,
|
|
41
|
+
"sourceType": "module"
|
|
42
|
+
},
|
|
43
|
+
"ignorePatterns": [
|
|
44
|
+
"!.aegir.js",
|
|
45
|
+
"test/ts-use",
|
|
46
|
+
"*.d.ts"
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
"publishConfig": {
|
|
50
|
+
"access": "public"
|
|
51
|
+
},
|
|
52
|
+
"scripts": {
|
|
53
|
+
"clean": "aegir clean",
|
|
54
|
+
"build": "aegir build --no-bundle",
|
|
55
|
+
"test": "aegir test --target node",
|
|
56
|
+
"lint": "aegir lint"
|
|
57
|
+
},
|
|
58
|
+
"author": "dao.xyz",
|
|
59
|
+
"license": "MIT",
|
|
60
|
+
"dependencies": {
|
|
61
|
+
"@dao-xyz/borsh": "^5.2.3",
|
|
62
|
+
"@peerbit/program": "5.0.3-0b8baa8",
|
|
63
|
+
"@peerbit/rpc": "5.0.10-0b8baa8",
|
|
64
|
+
"@peerbit/shared-log": "9.2.0-0b8baa8",
|
|
65
|
+
"@peerbit/indexer-interface": "1.1.0-0b8baa8",
|
|
66
|
+
"@peerbit/indexer-simple": "1.1.0-0b8baa8",
|
|
67
|
+
"@peerbit/indexer-sqlite3": "1.1.0-0b8baa8",
|
|
68
|
+
"@peerbit/document-interface": "1.0.5-0b8baa8"
|
|
69
|
+
},
|
|
70
|
+
"devDependencies": {
|
|
71
|
+
"@peerbit/test-utils": "2.1.0-0b8baa8",
|
|
72
|
+
"@peerbit/time": "2.0.7-0b8baa8",
|
|
73
|
+
"@types/pidusage": "^2.0.5",
|
|
74
|
+
"pidusage": "^3.0.2"
|
|
75
|
+
}
|
|
76
76
|
}
|
package/src/domain.ts
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Entry, type ShallowEntry } from "@peerbit/log";
|
|
2
|
+
import {
|
|
3
|
+
type EntryReplicated,
|
|
4
|
+
type ReplicationDomain,
|
|
5
|
+
} from "@peerbit/shared-log";
|
|
6
|
+
import {
|
|
7
|
+
type Documents,
|
|
8
|
+
type Operation,
|
|
9
|
+
isPutOperation,
|
|
10
|
+
} from "../src/index.js";
|
|
11
|
+
|
|
12
|
+
type RangeArgs = { from: number; to: number };
|
|
13
|
+
export type CustomDomain = ReplicationDomain<RangeArgs, Operation>;
|
|
14
|
+
|
|
15
|
+
export const createDocumentDomain = <T extends object>(
|
|
16
|
+
db: Documents<T, any, CustomDomain>,
|
|
17
|
+
options: {
|
|
18
|
+
fromValue: (value: T) => number;
|
|
19
|
+
fromMissing?: (
|
|
20
|
+
entry: EntryReplicated | ShallowEntry | Entry<Operation>,
|
|
21
|
+
) => number;
|
|
22
|
+
},
|
|
23
|
+
): CustomDomain => {
|
|
24
|
+
const fromValue = options.fromValue;
|
|
25
|
+
const fromMissing = options.fromMissing || (() => 0xffffffff);
|
|
26
|
+
return {
|
|
27
|
+
type: "custom",
|
|
28
|
+
fromArgs(args, log) {
|
|
29
|
+
if (!args) {
|
|
30
|
+
return { offset: log.node.identity.publicKey };
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
offset: args.from,
|
|
34
|
+
length: args.to - args.from,
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
fromEntry: async (entry) => {
|
|
38
|
+
const item = await (
|
|
39
|
+
entry instanceof Entry ? entry : await db.log.log.get(entry.hash)
|
|
40
|
+
)?.getPayloadValue();
|
|
41
|
+
if (!item) {
|
|
42
|
+
// eslint-disable-next-line no-console
|
|
43
|
+
console.error("Item not found");
|
|
44
|
+
return fromMissing(entry);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
if (isPutOperation(item)) {
|
|
48
|
+
const document = db.index.valueEncoding.decoder(item.data);
|
|
49
|
+
return fromValue(document);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return fromMissing(entry);
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
};
|
package/src/index.ts
CHANGED
package/src/program.ts
CHANGED
|
@@ -5,7 +5,6 @@ import {
|
|
|
5
5
|
serialize,
|
|
6
6
|
variant,
|
|
7
7
|
} from "@dao-xyz/borsh";
|
|
8
|
-
import { CustomEvent } from "@libp2p/interface";
|
|
9
8
|
import { AccessError } from "@peerbit/crypto";
|
|
10
9
|
import * as documentsTypes from "@peerbit/document-interface";
|
|
11
10
|
import * as indexerTypes from "@peerbit/indexer-interface";
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Cache } from "@peerbit/cache";
|
|
2
|
+
import {
|
|
3
|
+
type CloseIteratorRequest,
|
|
4
|
+
type CollectNextRequest,
|
|
5
|
+
SearchRequest,
|
|
6
|
+
} from "@peerbit/document-interface";
|
|
7
|
+
import type * as indexerTypes from "@peerbit/indexer-interface";
|
|
8
|
+
|
|
9
|
+
export class ResumableIterators<T extends Record<string, any>> {
|
|
10
|
+
constructor(
|
|
11
|
+
readonly index: indexerTypes.Index<T>,
|
|
12
|
+
readonly queues = new Cache<{
|
|
13
|
+
iterator: indexerTypes.IndexIterator<T, undefined>;
|
|
14
|
+
}>({ max: 1e4 }),
|
|
15
|
+
) {
|
|
16
|
+
// TODO choose upper limit better
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
iterateAndFetch(request: SearchRequest) {
|
|
20
|
+
const iterator = this.index.iterate(request);
|
|
21
|
+
const cachedIterator = {
|
|
22
|
+
iterator,
|
|
23
|
+
};
|
|
24
|
+
this.queues.add(request.idString, cachedIterator);
|
|
25
|
+
return this.next(request, cachedIterator);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
async next(
|
|
29
|
+
request: SearchRequest | CollectNextRequest,
|
|
30
|
+
iterator = this.queues.get(request.idString),
|
|
31
|
+
) {
|
|
32
|
+
if (!iterator) {
|
|
33
|
+
throw new Error(
|
|
34
|
+
"Missing iterator for request with id: " + request.idString,
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const next = await iterator.iterator.next(
|
|
39
|
+
request instanceof SearchRequest ? request.fetch : request.amount,
|
|
40
|
+
);
|
|
41
|
+
if (iterator.iterator.done() === true) {
|
|
42
|
+
this.clear(request.idString);
|
|
43
|
+
}
|
|
44
|
+
return next;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
async close(close: CloseIteratorRequest) {
|
|
48
|
+
this.clear(close.idString);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
private clear(id: string) {
|
|
52
|
+
this.queues.del(id);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
getPending(id: string) {
|
|
56
|
+
return this.queues.get(id)?.iterator.pending();
|
|
57
|
+
}
|
|
58
|
+
}
|