@peerbit/document 9.0.26-aea0cef → 9.0.26-f0d763d
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/src/search.d.ts +3 -3
- package/dist/src/search.d.ts.map +1 -1
- package/dist/src/search.js +45 -31
- package/dist/src/search.js.map +1 -1
- package/package.json +10 -10
- package/src/search.ts +103 -74
package/dist/src/search.d.ts
CHANGED
|
@@ -73,7 +73,7 @@ export type OpenOptions<T, I, D extends ReplicationDomain<any, Operation, any>>
|
|
|
73
73
|
log: SharedLog<Operation, D, any>;
|
|
74
74
|
canRead?: CanRead<I>;
|
|
75
75
|
canSearch?: CanSearch;
|
|
76
|
-
replicate: (request: types.SearchRequest | types.SearchRequestIndexed, results: types.Results<types.ResultTypeFromRequest<types.SearchRequest | types.SearchRequestIndexed>>) => Promise<void>;
|
|
76
|
+
replicate: (request: types.SearchRequest | types.SearchRequestIndexed, results: types.Results<types.ResultTypeFromRequest<types.SearchRequest | types.SearchRequestIndexed, T, I>>) => Promise<void>;
|
|
77
77
|
indexBy?: string | string[];
|
|
78
78
|
transform?: TransformOptions<T, I>;
|
|
79
79
|
cacheSize?: number;
|
|
@@ -116,12 +116,12 @@ export declare class DocumentIndex<T, I extends Record<string, any>, D extends R
|
|
|
116
116
|
getFromGid(gid: string): Promise<indexerTypes.IndexedResult<WithIndexedContext<I>>>;
|
|
117
117
|
put(value: T, entry: Entry<Operation>, id: indexerTypes.IdKey): Promise<void>;
|
|
118
118
|
del(key: indexerTypes.IdKey): indexerTypes.IdKey[] | Promise<indexerTypes.IdKey[]>;
|
|
119
|
-
getDetailed<Options extends QueryOptions<T, D, Resolve>, Resolve extends boolean | undefined = ExtractResolveFromOptions<Options>, RT extends types.Result = Resolve extends true ? types.ResultValue<T
|
|
119
|
+
getDetailed<Options extends QueryOptions<T, D, Resolve>, Resolve extends boolean | undefined = ExtractResolveFromOptions<Options>, RT extends types.Result = Resolve extends true ? types.ResultValue<WithContext<T>> : types.ResultIndexedValue<WithContext<I>>>(key: indexerTypes.IdKey | indexerTypes.IdPrimitive, options?: QueryOptions<T, D, Resolve>): Promise<types.Results<RT>[] | undefined>;
|
|
120
120
|
getSize(): Promise<number> | number;
|
|
121
121
|
private resolveDocument;
|
|
122
122
|
processQuery<R extends types.SearchRequest | types.SearchRequestIndexed | types.CollectNextRequest>(query: R, from: PublicSignKey, isLocal: boolean, options?: {
|
|
123
123
|
canRead?: CanRead<I>;
|
|
124
|
-
}): Promise<types.Results<types.ResultTypeFromRequest<R>>>;
|
|
124
|
+
}): Promise<types.Results<types.ResultTypeFromRequest<R, T, I>>>;
|
|
125
125
|
private clearResultsQueue;
|
|
126
126
|
private clearAllResultQueues;
|
|
127
127
|
processCloseIteratorRequest(query: types.CloseIteratorRequest, publicKey: PublicSignKey): Promise<void>;
|
package/dist/src/search.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAA6B,MAAM,gBAAgB,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACN,KAAK,YAAY,EACjB,aAAa,EAGb,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,KAAK,MAAM,6BAA6B,CAAC;AACrD,OAAO,KAAK,YAAY,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAkB,KAAK,QAAQ,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,EAAe,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAEN,GAAG,EACH,KAAK,oBAAoB,EAGzB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,iBAAiB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAMxE,OAAO,EAAE,KAAK,SAAS,EAAkB,MAAM,gBAAgB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAYhD,MAAM,MAAM,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG;IAChE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,SAAS,OAAO,GAAG,SAAS,IAAI;IACrE,MAAM,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;IACrE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AACF,MAAM,MAAM,aAAa,CACxB,CAAC,EACD,CAAC,EACD,OAAO,SAAS,OAAO,GAAG,SAAS,IAChC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;AAEhC,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC;AAE7E,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAChC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,EAAE,MAAM,OAAO,CAAC;IACpB,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;CACxB,CAAC;AAaF,KAAK,SAAS,GAAgD;IAC7D,KAAK,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC;IACtD,IAAI,CAAC,EAAE,YAAY,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC;CAEvE,CAAC;AASF,KAAK,yBAAyB,CAAC,CAAC,IAC/B,CAAC,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GACtC,CAAC,SAAS,OAAO,GAChB,CAAC,GACD,IAAI,GACL,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/search.ts"],"names":[],"mappings":"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"}
|
package/dist/src/search.js
CHANGED
|
@@ -151,9 +151,12 @@ export { IndexableContext };
|
|
|
151
151
|
const isTransformerWithFunction = (options) => {
|
|
152
152
|
return options.transform != null;
|
|
153
153
|
};
|
|
154
|
-
const coerceWithContext = (
|
|
155
|
-
|
|
156
|
-
|
|
154
|
+
const coerceWithContext = (value, context) => {
|
|
155
|
+
if (value.__context) {
|
|
156
|
+
return value;
|
|
157
|
+
}
|
|
158
|
+
let valueWithContext = value;
|
|
159
|
+
valueWithContext.__context = context;
|
|
157
160
|
return valueWithContext;
|
|
158
161
|
};
|
|
159
162
|
let DocumentIndex = class DocumentIndex extends Program {
|
|
@@ -329,9 +332,7 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
329
332
|
}
|
|
330
333
|
async get(key, options) {
|
|
331
334
|
const result = (await this.getDetailed(key instanceof indexerTypes.IdKey ? key : indexerTypes.toId(key), options))?.[0]?.results[0];
|
|
332
|
-
|
|
333
|
-
return coerceWithContext(result);
|
|
334
|
-
}
|
|
335
|
+
return result?.value;
|
|
335
336
|
}
|
|
336
337
|
async getFromGid(gid) {
|
|
337
338
|
const iterator = this.index.iterate({ query: { gid } });
|
|
@@ -424,27 +425,39 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
424
425
|
}), options);
|
|
425
426
|
}
|
|
426
427
|
}
|
|
427
|
-
if
|
|
428
|
+
// if we are to resolve the document we need to go through all results and replace the results with the resolved values
|
|
429
|
+
const shouldResolve = resolve &&
|
|
428
430
|
requestClazz === types.SearchRequestIndexed &&
|
|
429
431
|
!this.indexedTypeIsDocumentType &&
|
|
430
|
-
results
|
|
432
|
+
results;
|
|
433
|
+
if (results) {
|
|
431
434
|
for (const set of results) {
|
|
432
|
-
let
|
|
433
|
-
for (
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
435
|
+
let missingValues = false;
|
|
436
|
+
for (let i = 0; i < set.results.length; i++) {
|
|
437
|
+
let value = set.results[i];
|
|
438
|
+
let resolved;
|
|
439
|
+
if (shouldResolve) {
|
|
440
|
+
resolved =
|
|
441
|
+
value instanceof types.ResultIndexedValue
|
|
442
|
+
? (await this.resolveDocument({
|
|
443
|
+
indexed: value.value,
|
|
444
|
+
head: value.context.head,
|
|
445
|
+
}))?.value
|
|
446
|
+
: value.value;
|
|
447
|
+
}
|
|
448
|
+
else {
|
|
449
|
+
resolved = value.value;
|
|
450
|
+
}
|
|
440
451
|
if (resolved) {
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
452
|
+
set.results[i]._value = coerceWithContext(resolved, value.context);
|
|
453
|
+
}
|
|
454
|
+
else {
|
|
455
|
+
missingValues = true;
|
|
445
456
|
}
|
|
446
457
|
}
|
|
447
|
-
|
|
458
|
+
if (missingValues) {
|
|
459
|
+
set.results = set.results.filter((x) => !!x);
|
|
460
|
+
}
|
|
448
461
|
}
|
|
449
462
|
}
|
|
450
463
|
return results;
|
|
@@ -802,8 +815,8 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
802
815
|
value: result.value,
|
|
803
816
|
context: result.context,
|
|
804
817
|
from,
|
|
805
|
-
indexed: result.indexed ||
|
|
806
|
-
(await this.transformer(result.value, result.context)),
|
|
818
|
+
indexed: coerceWithContext(result.indexed ||
|
|
819
|
+
(await this.transformer(result.value, result.context)), result.context),
|
|
807
820
|
});
|
|
808
821
|
}
|
|
809
822
|
else {
|
|
@@ -816,7 +829,7 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
816
829
|
value: result.value,
|
|
817
830
|
context: result.context,
|
|
818
831
|
from,
|
|
819
|
-
indexed: result.indexed || result.value,
|
|
832
|
+
indexed: coerceWithContext(result.indexed || result.value, result.context),
|
|
820
833
|
});
|
|
821
834
|
}
|
|
822
835
|
}
|
|
@@ -891,8 +904,9 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
891
904
|
value: result.value,
|
|
892
905
|
context: result.context,
|
|
893
906
|
from: this.node.identity.publicKey,
|
|
894
|
-
indexed: result.indexed ||
|
|
895
|
-
(await this.transformer(result.value,
|
|
907
|
+
indexed: coerceWithContext(result.indexed ||
|
|
908
|
+
(await this.transformer(result.value, // TODO tyes
|
|
909
|
+
result.context)), result.context),
|
|
896
910
|
});
|
|
897
911
|
}
|
|
898
912
|
}
|
|
@@ -941,9 +955,9 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
941
955
|
value: result.value,
|
|
942
956
|
context: result.context,
|
|
943
957
|
from: from,
|
|
944
|
-
indexed: result instanceof types.ResultIndexedValue
|
|
958
|
+
indexed: coerceWithContext(result instanceof types.ResultIndexedValue
|
|
945
959
|
? result.value
|
|
946
|
-
: await this.transformer(result.value, result.context),
|
|
960
|
+
: await this.transformer(result.value, result.context), result.context),
|
|
947
961
|
});
|
|
948
962
|
}
|
|
949
963
|
}
|
|
@@ -994,15 +1008,15 @@ let DocumentIndex = class DocumentIndex extends Program {
|
|
|
994
1008
|
done = fetchedAll && !pendingMoreResults;
|
|
995
1009
|
let coercedBatch;
|
|
996
1010
|
if (resolve) {
|
|
997
|
-
coercedBatch = (await Promise.all(batch.map(async (x) => x.value instanceof this.documentType
|
|
1011
|
+
coercedBatch = (await Promise.all(batch.map(async (x) => coerceWithContext(x.value instanceof this.documentType
|
|
998
1012
|
? x.value
|
|
999
1013
|
: (await this.resolveDocument({
|
|
1000
1014
|
head: x.context.head,
|
|
1001
1015
|
indexed: x.indexed,
|
|
1002
|
-
}))?.value))).filter((x) => !!x);
|
|
1016
|
+
}))?.value, x.context)))).filter((x) => !!x);
|
|
1003
1017
|
}
|
|
1004
1018
|
else {
|
|
1005
|
-
coercedBatch = batch.map((x) => coerceWithContext(x));
|
|
1019
|
+
coercedBatch = batch.map((x) => coerceWithContext(x.value, x.context));
|
|
1006
1020
|
}
|
|
1007
1021
|
return dedup(coercedBatch, this.indexByResolver);
|
|
1008
1022
|
};
|
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,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/document",
|
|
3
|
-
"version": "9.0.26-
|
|
3
|
+
"version": "9.0.26-f0d763d",
|
|
4
4
|
"description": "Document store implementation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -59,17 +59,17 @@
|
|
|
59
59
|
"license": "MIT",
|
|
60
60
|
"dependencies": {
|
|
61
61
|
"@dao-xyz/borsh": "^5.2.3",
|
|
62
|
-
"@peerbit/program": "5.1.6-
|
|
63
|
-
"@peerbit/rpc": "5.0.36-
|
|
64
|
-
"@peerbit/shared-log": "10.3.21-
|
|
65
|
-
"@peerbit/indexer-interface": "2.0.6-
|
|
66
|
-
"@peerbit/indexer-simple": "1.1.9-
|
|
67
|
-
"@peerbit/indexer-sqlite3": "1.2.10-
|
|
68
|
-
"@peerbit/document-interface": "2.0.11-
|
|
62
|
+
"@peerbit/program": "5.1.6-f0d763d",
|
|
63
|
+
"@peerbit/rpc": "5.0.36-f0d763d",
|
|
64
|
+
"@peerbit/shared-log": "10.3.21-f0d763d",
|
|
65
|
+
"@peerbit/indexer-interface": "2.0.6-f0d763d",
|
|
66
|
+
"@peerbit/indexer-simple": "1.1.9-f0d763d",
|
|
67
|
+
"@peerbit/indexer-sqlite3": "1.2.10-f0d763d",
|
|
68
|
+
"@peerbit/document-interface": "2.0.11-f0d763d"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
|
-
"@peerbit/test-utils": "2.1.26-
|
|
72
|
-
"@peerbit/time": "2.0.8-
|
|
71
|
+
"@peerbit/test-utils": "2.1.26-f0d763d",
|
|
72
|
+
"@peerbit/time": "2.0.8-f0d763d",
|
|
73
73
|
"@types/pidusage": "^2.0.5",
|
|
74
74
|
"pidusage": "^3.0.2"
|
|
75
75
|
}
|
package/src/search.ts
CHANGED
|
@@ -34,7 +34,7 @@ const logger = loggerFn({ module: "document-index" });
|
|
|
34
34
|
|
|
35
35
|
type BufferedResult<T, I extends Record<string, any>> = {
|
|
36
36
|
value: T;
|
|
37
|
-
indexed: I
|
|
37
|
+
indexed: WithContext<I>;
|
|
38
38
|
context: types.Context;
|
|
39
39
|
from: PublicSignKey;
|
|
40
40
|
};
|
|
@@ -145,7 +145,9 @@ const introduceEntries = async <
|
|
|
145
145
|
response: types.Results<any>,
|
|
146
146
|
) => Promise<void>,
|
|
147
147
|
options?: QueryDetailedOptions<T, D, any>,
|
|
148
|
-
): Promise<
|
|
148
|
+
): Promise<
|
|
149
|
+
RPCResponse<types.Results<types.ResultTypeFromRequest<R, T, I>>>[]
|
|
150
|
+
> => {
|
|
149
151
|
const results: RPCResponse<types.Results<any>>[] = [];
|
|
150
152
|
for (const response of responses) {
|
|
151
153
|
if (!response.from) {
|
|
@@ -317,7 +319,9 @@ export type OpenOptions<
|
|
|
317
319
|
request: types.SearchRequest | types.SearchRequestIndexed,
|
|
318
320
|
results: types.Results<
|
|
319
321
|
types.ResultTypeFromRequest<
|
|
320
|
-
types.SearchRequest | types.SearchRequestIndexed
|
|
322
|
+
types.SearchRequest | types.SearchRequestIndexed,
|
|
323
|
+
T,
|
|
324
|
+
I
|
|
321
325
|
>
|
|
322
326
|
>,
|
|
323
327
|
) => Promise<void>;
|
|
@@ -333,12 +337,16 @@ type IndexableClass<I> = new (
|
|
|
333
337
|
context: IndexableContext,
|
|
334
338
|
) => WithIndexedContext<I>;
|
|
335
339
|
|
|
336
|
-
const coerceWithContext = <T>(
|
|
337
|
-
value: T
|
|
338
|
-
context: types.Context
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
340
|
+
const coerceWithContext = <T>(
|
|
341
|
+
value: T | WithContext<T>,
|
|
342
|
+
context: types.Context,
|
|
343
|
+
): WithContext<T> => {
|
|
344
|
+
if ((value as WithContext<T>).__context) {
|
|
345
|
+
return value as WithContext<T>;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
let valueWithContext: WithContext<T> = value as any;
|
|
349
|
+
valueWithContext.__context = context;
|
|
342
350
|
return valueWithContext;
|
|
343
351
|
};
|
|
344
352
|
|
|
@@ -614,11 +622,7 @@ export class DocumentIndex<
|
|
|
614
622
|
options,
|
|
615
623
|
)
|
|
616
624
|
)?.[0]?.results[0];
|
|
617
|
-
|
|
618
|
-
return coerceWithContext(
|
|
619
|
-
result as { value: unknown; context: types.Context },
|
|
620
|
-
);
|
|
621
|
-
}
|
|
625
|
+
return result?.value;
|
|
622
626
|
}
|
|
623
627
|
|
|
624
628
|
public async getFromGid(gid: string) {
|
|
@@ -677,14 +681,17 @@ export class DocumentIndex<
|
|
|
677
681
|
Options extends QueryOptions<T, D, Resolve>,
|
|
678
682
|
Resolve extends boolean | undefined = ExtractResolveFromOptions<Options>,
|
|
679
683
|
RT extends types.Result = Resolve extends true
|
|
680
|
-
? types.ResultValue<T
|
|
681
|
-
: types.ResultIndexedValue<I
|
|
684
|
+
? types.ResultValue<WithContext<T>>
|
|
685
|
+
: types.ResultIndexedValue<WithContext<I>>,
|
|
682
686
|
>(
|
|
683
687
|
key: indexerTypes.IdKey | indexerTypes.IdPrimitive,
|
|
684
688
|
options?: QueryOptions<T, D, Resolve>,
|
|
685
689
|
): Promise<types.Results<RT>[] | undefined> {
|
|
686
690
|
let results:
|
|
687
|
-
| types.Results<
|
|
691
|
+
| types.Results<
|
|
692
|
+
| types.ResultValue<WithContext<T>>
|
|
693
|
+
| types.ResultIndexedValue<WithContext<I>>
|
|
694
|
+
>[]
|
|
688
695
|
| undefined;
|
|
689
696
|
const resolve = options?.resolve || options?.resolve == null;
|
|
690
697
|
let requestClazz = resolve
|
|
@@ -745,35 +752,42 @@ export class DocumentIndex<
|
|
|
745
752
|
}
|
|
746
753
|
}
|
|
747
754
|
|
|
748
|
-
if
|
|
755
|
+
// if we are to resolve the document we need to go through all results and replace the results with the resolved values
|
|
756
|
+
const shouldResolve =
|
|
749
757
|
resolve &&
|
|
750
758
|
requestClazz === types.SearchRequestIndexed &&
|
|
751
759
|
!this.indexedTypeIsDocumentType &&
|
|
752
|
-
results
|
|
753
|
-
|
|
760
|
+
results;
|
|
761
|
+
|
|
762
|
+
if (results) {
|
|
754
763
|
for (const set of results) {
|
|
755
|
-
let
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
764
|
+
let missingValues = false;
|
|
765
|
+
for (let i = 0; i < set.results.length; i++) {
|
|
766
|
+
let value = set.results[i];
|
|
767
|
+
let resolved: T | undefined;
|
|
768
|
+
if (shouldResolve) {
|
|
769
|
+
resolved =
|
|
770
|
+
value instanceof types.ResultIndexedValue
|
|
771
|
+
? (
|
|
772
|
+
await this.resolveDocument({
|
|
773
|
+
indexed: value.value,
|
|
774
|
+
head: value.context.head,
|
|
775
|
+
})
|
|
776
|
+
)?.value
|
|
777
|
+
: value.value;
|
|
778
|
+
} else {
|
|
779
|
+
resolved = value.value as T;
|
|
780
|
+
}
|
|
767
781
|
if (resolved) {
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
value: resolved,
|
|
772
|
-
}),
|
|
773
|
-
);
|
|
782
|
+
set.results[i]._value = coerceWithContext(resolved, value.context);
|
|
783
|
+
} else {
|
|
784
|
+
missingValues = true;
|
|
774
785
|
}
|
|
775
786
|
}
|
|
776
|
-
|
|
787
|
+
|
|
788
|
+
if (missingValues) {
|
|
789
|
+
set.results = set.results.filter((x) => !!x);
|
|
790
|
+
}
|
|
777
791
|
}
|
|
778
792
|
}
|
|
779
793
|
|
|
@@ -840,7 +854,7 @@ export class DocumentIndex<
|
|
|
840
854
|
options?: {
|
|
841
855
|
canRead?: CanRead<I>;
|
|
842
856
|
},
|
|
843
|
-
): Promise<types.Results<types.ResultTypeFromRequest<R>>> {
|
|
857
|
+
): Promise<types.Results<types.ResultTypeFromRequest<R, T, I>>> {
|
|
844
858
|
// We do special case for querying the id as we can do it faster than iterating
|
|
845
859
|
|
|
846
860
|
let prevQueued = isLocal
|
|
@@ -1015,9 +1029,7 @@ export class DocumentIndex<
|
|
|
1015
1029
|
*/
|
|
1016
1030
|
private async queryCommence<
|
|
1017
1031
|
R extends types.SearchRequest | types.SearchRequestIndexed,
|
|
1018
|
-
RT extends types.Result = R
|
|
1019
|
-
? types.ResultValue<T>
|
|
1020
|
-
: types.ResultIndexedValue<I>,
|
|
1032
|
+
RT extends types.Result = types.ResultTypeFromRequest<R, T, I>,
|
|
1021
1033
|
>(
|
|
1022
1034
|
queryRequest: R,
|
|
1023
1035
|
options?: QueryDetailedOptions<T, D, boolean | undefined>,
|
|
@@ -1046,7 +1058,8 @@ export class DocumentIndex<
|
|
|
1046
1058
|
"Expecting either 'options.remote' or 'options.local' to be true",
|
|
1047
1059
|
);
|
|
1048
1060
|
}
|
|
1049
|
-
const allResults: types.Results<types.ResultTypeFromRequest<R>>[] =
|
|
1061
|
+
const allResults: types.Results<types.ResultTypeFromRequest<R, T, I>>[] =
|
|
1062
|
+
[];
|
|
1050
1063
|
|
|
1051
1064
|
if (local) {
|
|
1052
1065
|
const results = await this.processQuery(
|
|
@@ -1061,7 +1074,7 @@ export class DocumentIndex<
|
|
|
1061
1074
|
}
|
|
1062
1075
|
}
|
|
1063
1076
|
|
|
1064
|
-
let resolved: types.Results<types.ResultTypeFromRequest<R>>[] = [];
|
|
1077
|
+
let resolved: types.Results<types.ResultTypeFromRequest<R, T, I>>[] = [];
|
|
1065
1078
|
if (remote) {
|
|
1066
1079
|
const replicatorGroups = await this._log.getCover(
|
|
1067
1080
|
remote.domain ?? (undefined as any),
|
|
@@ -1251,10 +1264,7 @@ export class DocumentIndex<
|
|
|
1251
1264
|
string,
|
|
1252
1265
|
{
|
|
1253
1266
|
kept: number;
|
|
1254
|
-
buffer: BufferedResult<
|
|
1255
|
-
types.ResultValue<T> | types.ResultIndexedValue<I>,
|
|
1256
|
-
I
|
|
1257
|
-
>[];
|
|
1267
|
+
buffer: BufferedResult<types.ResultTypeFromRequest<R, T, I> | I, I>[];
|
|
1258
1268
|
}
|
|
1259
1269
|
> = new Map();
|
|
1260
1270
|
const visited = new Set<string | number | bigint>();
|
|
@@ -1266,8 +1276,8 @@ export class DocumentIndex<
|
|
|
1266
1276
|
const controller = new AbortController();
|
|
1267
1277
|
|
|
1268
1278
|
const peerBuffers = (): {
|
|
1269
|
-
indexed: I
|
|
1270
|
-
value: types.
|
|
1279
|
+
indexed: WithContext<I>;
|
|
1280
|
+
value: types.ResultTypeFromRequest<R, T, I> | I;
|
|
1271
1281
|
from: PublicSignKey;
|
|
1272
1282
|
context: types.Context;
|
|
1273
1283
|
}[] => {
|
|
@@ -1289,7 +1299,7 @@ export class DocumentIndex<
|
|
|
1289
1299
|
return;
|
|
1290
1300
|
} else if (response instanceof types.Results) {
|
|
1291
1301
|
const results = response as types.Results<
|
|
1292
|
-
types.ResultTypeFromRequest<R>
|
|
1302
|
+
types.ResultTypeFromRequest<R, T, I>
|
|
1293
1303
|
>;
|
|
1294
1304
|
if (results.kept === 0n && results.results.length === 0) {
|
|
1295
1305
|
return;
|
|
@@ -1298,8 +1308,10 @@ export class DocumentIndex<
|
|
|
1298
1308
|
if (results.kept > 0n) {
|
|
1299
1309
|
done = false; // we have more to do later!
|
|
1300
1310
|
}
|
|
1301
|
-
const buffer: BufferedResult<
|
|
1302
|
-
|
|
1311
|
+
const buffer: BufferedResult<
|
|
1312
|
+
types.ResultTypeFromRequest<R, T, I> | I,
|
|
1313
|
+
I
|
|
1314
|
+
>[] = [];
|
|
1303
1315
|
|
|
1304
1316
|
for (const result of results.results) {
|
|
1305
1317
|
if (result instanceof types.ResultValue) {
|
|
@@ -1311,12 +1323,14 @@ export class DocumentIndex<
|
|
|
1311
1323
|
}
|
|
1312
1324
|
visited.add(indexKey);
|
|
1313
1325
|
buffer.push({
|
|
1314
|
-
value: result.value,
|
|
1326
|
+
value: result.value as types.ResultTypeFromRequest<R, T, I>,
|
|
1315
1327
|
context: result.context,
|
|
1316
1328
|
from,
|
|
1317
|
-
indexed:
|
|
1329
|
+
indexed: coerceWithContext(
|
|
1318
1330
|
(result.indexed as I) ||
|
|
1319
|
-
|
|
1331
|
+
(await this.transformer(result.value, result.context)),
|
|
1332
|
+
result.context,
|
|
1333
|
+
),
|
|
1320
1334
|
});
|
|
1321
1335
|
} else {
|
|
1322
1336
|
const indexKey = indexerTypes.toId(
|
|
@@ -1331,7 +1345,10 @@ export class DocumentIndex<
|
|
|
1331
1345
|
value: result.value,
|
|
1332
1346
|
context: result.context,
|
|
1333
1347
|
from,
|
|
1334
|
-
indexed:
|
|
1348
|
+
indexed: coerceWithContext(
|
|
1349
|
+
result.indexed || result.value,
|
|
1350
|
+
result.context,
|
|
1351
|
+
),
|
|
1335
1352
|
});
|
|
1336
1353
|
}
|
|
1337
1354
|
}
|
|
@@ -1429,12 +1446,14 @@ export class DocumentIndex<
|
|
|
1429
1446
|
value: result.value,
|
|
1430
1447
|
context: result.context,
|
|
1431
1448
|
from: this.node.identity.publicKey,
|
|
1432
|
-
indexed:
|
|
1449
|
+
indexed: coerceWithContext(
|
|
1433
1450
|
result.indexed ||
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1451
|
+
(await this.transformer(
|
|
1452
|
+
result.value as any as T, // TODO tyes
|
|
1453
|
+
result.context,
|
|
1454
|
+
)),
|
|
1455
|
+
result.context,
|
|
1456
|
+
),
|
|
1438
1457
|
});
|
|
1439
1458
|
}
|
|
1440
1459
|
}
|
|
@@ -1494,16 +1513,23 @@ export class DocumentIndex<
|
|
|
1494
1513
|
}
|
|
1495
1514
|
visited.add(idPrimitive);
|
|
1496
1515
|
peerBuffer.buffer.push({
|
|
1497
|
-
value:
|
|
1516
|
+
value:
|
|
1517
|
+
result.value as types.ResultTypeFromRequest<
|
|
1518
|
+
R,
|
|
1519
|
+
T,
|
|
1520
|
+
I
|
|
1521
|
+
>,
|
|
1498
1522
|
context: result.context,
|
|
1499
1523
|
from: from!,
|
|
1500
|
-
indexed:
|
|
1524
|
+
indexed: coerceWithContext(
|
|
1501
1525
|
result instanceof types.ResultIndexedValue
|
|
1502
1526
|
? result.value
|
|
1503
1527
|
: await this.transformer(
|
|
1504
1528
|
result.value,
|
|
1505
1529
|
result.context,
|
|
1506
1530
|
),
|
|
1531
|
+
result.context,
|
|
1532
|
+
),
|
|
1507
1533
|
});
|
|
1508
1534
|
}
|
|
1509
1535
|
}
|
|
@@ -1575,20 +1601,23 @@ export class DocumentIndex<
|
|
|
1575
1601
|
coercedBatch = (
|
|
1576
1602
|
await Promise.all(
|
|
1577
1603
|
batch.map(async (x) =>
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1604
|
+
coerceWithContext(
|
|
1605
|
+
x.value instanceof this.documentType
|
|
1606
|
+
? x.value
|
|
1607
|
+
: (
|
|
1608
|
+
await this.resolveDocument({
|
|
1609
|
+
head: x.context.head,
|
|
1610
|
+
indexed: x.indexed,
|
|
1611
|
+
})
|
|
1612
|
+
)?.value,
|
|
1613
|
+
x.context,
|
|
1614
|
+
),
|
|
1586
1615
|
),
|
|
1587
1616
|
)
|
|
1588
1617
|
).filter((x) => !!x) as ValueTypeFromRequest<Resolve, T, I>[];
|
|
1589
1618
|
} else {
|
|
1590
1619
|
coercedBatch = batch.map((x) =>
|
|
1591
|
-
coerceWithContext(x
|
|
1620
|
+
coerceWithContext(x.value, x.context),
|
|
1592
1621
|
) as ValueTypeFromRequest<Resolve, T, I>[];
|
|
1593
1622
|
}
|
|
1594
1623
|
|