@xyo-network/diviner 2.35.0 → 2.36.0-rc.2
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/cjs/Diviner.d.ts +1 -1
- package/dist/cjs/Diviner.d.ts.map +1 -1
- package/dist/cjs/Payload/Archivist/Diviner.d.ts +1 -1
- package/dist/cjs/Payload/Archivist/Diviner.d.ts.map +1 -1
- package/dist/cjs/Payload/Archivist/Diviner.js +5 -10
- package/dist/cjs/Payload/Archivist/Diviner.js.map +1 -1
- package/dist/cjs/Payload/Huri/Diviner.d.ts +1 -1
- package/dist/cjs/Payload/Huri/Diviner.d.ts.map +1 -1
- package/dist/cjs/Payload/Huri/Diviner.js +4 -5
- package/dist/cjs/Payload/Huri/Diviner.js.map +1 -1
- package/dist/cjs/Queries/Divine.d.ts +0 -3
- package/dist/cjs/Queries/Divine.d.ts.map +1 -1
- package/dist/cjs/Queries/Divine.js.map +1 -1
- package/dist/cjs/XyoDiviner.d.ts +3 -4
- package/dist/cjs/XyoDiviner.d.ts.map +1 -1
- package/dist/cjs/XyoDiviner.js +9 -11
- package/dist/cjs/XyoDiviner.js.map +1 -1
- package/dist/cjs/XyoDivinerWrapper.d.ts +1 -1
- package/dist/cjs/XyoDivinerWrapper.d.ts.map +1 -1
- package/dist/cjs/XyoDivinerWrapper.js +5 -4
- package/dist/cjs/XyoDivinerWrapper.js.map +1 -1
- package/dist/docs.json +8035 -4525
- package/dist/esm/Diviner.d.ts +1 -1
- package/dist/esm/Diviner.d.ts.map +1 -1
- package/dist/esm/Payload/Archivist/Diviner.d.ts +1 -1
- package/dist/esm/Payload/Archivist/Diviner.d.ts.map +1 -1
- package/dist/esm/Payload/Archivist/Diviner.js +5 -10
- package/dist/esm/Payload/Archivist/Diviner.js.map +1 -1
- package/dist/esm/Payload/Huri/Diviner.d.ts +1 -1
- package/dist/esm/Payload/Huri/Diviner.d.ts.map +1 -1
- package/dist/esm/Payload/Huri/Diviner.js +5 -6
- package/dist/esm/Payload/Huri/Diviner.js.map +1 -1
- package/dist/esm/Queries/Divine.d.ts +0 -3
- package/dist/esm/Queries/Divine.d.ts.map +1 -1
- package/dist/esm/Queries/Divine.js.map +1 -1
- package/dist/esm/XyoDiviner.d.ts +3 -4
- package/dist/esm/XyoDiviner.d.ts.map +1 -1
- package/dist/esm/XyoDiviner.js +10 -12
- package/dist/esm/XyoDiviner.js.map +1 -1
- package/dist/esm/XyoDivinerWrapper.d.ts +1 -1
- package/dist/esm/XyoDivinerWrapper.d.ts.map +1 -1
- package/dist/esm/XyoDivinerWrapper.js +5 -4
- package/dist/esm/XyoDivinerWrapper.js.map +1 -1
- package/package.json +8 -8
- package/src/Diviner.ts +1 -1
- package/src/Payload/Archivist/Diviner.ts +5 -13
- package/src/Payload/Huri/Diviner.ts +8 -6
- package/src/Queries/Divine.ts +0 -3
- package/src/XyoDiviner.ts +21 -14
- package/src/XyoDivinerWrapper.ts +5 -5
package/dist/esm/Diviner.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Module } from '@xyo-network/module';
|
|
|
2
2
|
import { XyoPayloads } from '@xyo-network/payload';
|
|
3
3
|
import { Promisable } from '@xyo-network/promise';
|
|
4
4
|
export interface Diviner {
|
|
5
|
-
divine: (
|
|
5
|
+
divine: (payloads?: XyoPayloads) => Promisable<XyoPayloads>;
|
|
6
6
|
}
|
|
7
7
|
export interface DivinerModule extends Module, Diviner {
|
|
8
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,WAAW,OAAO;IAEtB,MAAM,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,WAAW,OAAO;IAEtB,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,WAAW,KAAK,UAAU,CAAC,WAAW,CAAC,CAAA;CAC5D;AAED,MAAM,WAAW,aAAc,SAAQ,MAAM,EAAE,OAAO;CAAG"}
|
|
@@ -7,6 +7,6 @@ export declare class XyoArchivistPayloadDiviner extends XyoPayloadDiviner<XyoArc
|
|
|
7
7
|
protected readonly archivist?: PayloadArchivist | null;
|
|
8
8
|
constructor(config?: PartialModuleConfig<XyoArchivistPayloadDivinerConfig>, archivist?: PayloadArchivist, resolver?: XyoModuleResolverFunc);
|
|
9
9
|
queries(): string[];
|
|
10
|
-
divine(
|
|
10
|
+
divine(payloads?: XyoPayloads): Promise<XyoPayloads>;
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=Diviner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../../src/Payload/Archivist/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAyE,MAAM,wBAAwB,CAAA;AAChI,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChF,OAAO,EAAwB,WAAW,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../../src/Payload/Archivist/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAyE,MAAM,wBAAwB,CAAA;AAChI,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChF,OAAO,EAAwB,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAIxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,gCAAgC,EAA0C,MAAM,UAAU,CAAA;AAEnG,qBAAa,0BAA2B,SAAQ,iBAAiB,CAAC,gCAAgC,CAAC;IACjG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;gBAE1C,MAAM,CAAC,EAAE,mBAAmB,CAAC,gCAAgC,CAAC,EAAE,SAAS,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,qBAAqB;IAUjI,OAAO;IAIH,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAclE"}
|
|
@@ -2,7 +2,6 @@ import { assertEx } from '@xylabs/assert';
|
|
|
2
2
|
import { XyoArchivistGetQuerySchema, XyoArchivistWrapper } from '@xyo-network/archivist';
|
|
3
3
|
import { Huri, PayloadWrapper } from '@xyo-network/payload';
|
|
4
4
|
import { XyoDivinerDivineQuerySchema } from '../../Queries';
|
|
5
|
-
import { profile } from '../lib';
|
|
6
5
|
import { XyoHuriSchema } from '../XyoHuriPayload';
|
|
7
6
|
import { XyoPayloadDiviner } from '../XyoPayloadDiviner';
|
|
8
7
|
import { XyoArchivistPayloadDivinerConfigSchema } from './Config';
|
|
@@ -19,18 +18,14 @@ export class XyoArchivistPayloadDiviner extends XyoPayloadDiviner {
|
|
|
19
18
|
queries() {
|
|
20
19
|
return [XyoDivinerDivineQuerySchema, ...super.queries()];
|
|
21
20
|
}
|
|
22
|
-
async divine(
|
|
21
|
+
async divine(payloads) {
|
|
23
22
|
const huriPayloads = assertEx(payloads?.filter((payload) => payload?.schema === XyoHuriSchema), `no huri payloads provided: ${JSON.stringify(payloads, null, 2)}`);
|
|
24
|
-
const
|
|
25
|
-
? assertEx(huriPayloads.find((payload) => PayloadWrapper.hash(payload) === context), `context hash provided not found [${context}, ${JSON.stringify(payloads, null, 2)}]`)
|
|
26
|
-
: huriPayloads[0];
|
|
27
|
-
const hashes = huriPayload.huri.map((huri) => new Huri(huri).hash);
|
|
23
|
+
const hashes = huriPayloads.map((huriPayload) => huriPayload.huri.map((huri) => new Huri(huri).hash)).flat();
|
|
28
24
|
const activeArchivist = this.archivist;
|
|
29
25
|
if (activeArchivist) {
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
return payloads;
|
|
26
|
+
const queryPayload = PayloadWrapper.parse({ hashes, schema: XyoArchivistGetQuerySchema });
|
|
27
|
+
const query = await this.bindQuery([queryPayload.body], queryPayload.hash);
|
|
28
|
+
return (await activeArchivist.query(query[0], query[1]))[1];
|
|
34
29
|
}
|
|
35
30
|
return [];
|
|
36
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../../../src/Payload/Archivist/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAA0C,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAEhI,OAAO,EAAE,IAAI,EAAE,cAAc,EAAe,MAAM,sBAAsB,CAAA;AAExE,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,
|
|
1
|
+
{"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../../../src/Payload/Archivist/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAA0C,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAEhI,OAAO,EAAE,IAAI,EAAE,cAAc,EAAe,MAAM,sBAAsB,CAAA;AAExE,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAkB,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAoC,sCAAsC,EAAE,MAAM,UAAU,CAAA;AAEnG,MAAM,OAAO,0BAA2B,SAAQ,iBAAmD;IAC9E,SAAS,CAA0B;IAEtD,YAAY,MAA8D,EAAE,SAA4B,EAAE,QAAgC;QACxI,KAAK,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,sCAAsC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;QACzF,MAAM,sBAAsB,GAAG,MAAM,EAAE,SAAS,CAAA;QAChD,MAAM,iBAAiB,GACrB,SAAS,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,sBAAsB,CAAiC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACjI,IAAI,iBAAiB,EAAE;YACrB,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;SACvF;IACH,CAAC;IAEQ,OAAO;QACd,OAAO,CAAC,2BAA2B,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1D,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,QAAsB;QACxC,MAAM,YAAY,GAAG,QAAQ,CAC3B,QAAQ,EAAE,MAAM,CAAC,CAAC,OAAO,EAA6B,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,aAAa,CAAC,EAC3F,8BAA8B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAClE,CAAA;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAC5G,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAA;QACtC,IAAI,eAAe,EAAE;YACnB,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAuB,EAAE,MAAM,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAA;YAC/G,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;YAC1E,OAAO,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SAC5D;QACD,OAAO,EAAE,CAAA;IACX,CAAC;CACF"}
|
|
@@ -4,6 +4,6 @@ import { XyoHuriPayloadDivinerConfig } from './Config';
|
|
|
4
4
|
export declare class XyoHuriPayloadDiviner extends XyoPayloadDiviner<XyoHuriPayloadDivinerConfig> {
|
|
5
5
|
protected get options(): import("@xyo-network/payload").HuriOptions | undefined;
|
|
6
6
|
queries(): string[];
|
|
7
|
-
divine(
|
|
7
|
+
divine(payloads?: XyoPayloads): Promise<XyoPayloads>;
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=Diviner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../../src/Payload/Huri/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../../src/Payload/Huri/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAKxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAA;AAEtD,qBAAa,qBAAsB,SAAQ,iBAAiB,CAAC,2BAA2B,CAAC;IACvF,SAAS,KAAK,OAAO,2DAEpB;IAEQ,OAAO;IAID,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAUpE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert';
|
|
2
|
-
import { Huri
|
|
2
|
+
import { Huri } from '@xyo-network/payload';
|
|
3
3
|
import compact from 'lodash/compact';
|
|
4
4
|
import { XyoDivinerDivineQuerySchema } from '../../Queries';
|
|
5
5
|
import { XyoHuriSchema } from '../XyoHuriPayload';
|
|
@@ -11,11 +11,10 @@ export class XyoHuriPayloadDiviner extends XyoPayloadDiviner {
|
|
|
11
11
|
queries() {
|
|
12
12
|
return [XyoDivinerDivineQuerySchema, ...super.queries()];
|
|
13
13
|
}
|
|
14
|
-
async divine(
|
|
15
|
-
const huriPayloads = assertEx(payloads?.filter((payload) => payload?.schema === XyoHuriSchema));
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const settled = await Promise.allSettled(huriObj.map((huri) => huri.fetch()));
|
|
14
|
+
async divine(payloads) {
|
|
15
|
+
const huriPayloads = assertEx(payloads?.filter((payload) => payload?.schema === XyoHuriSchema), `no huri payloads provided: ${JSON.stringify(payloads, null, 2)}`);
|
|
16
|
+
const huriList = huriPayloads.map((huriPayload) => huriPayload.huri.map((huri) => new Huri(huri))).flat();
|
|
17
|
+
const settled = await Promise.allSettled(huriList.map((huri) => huri.fetch()));
|
|
19
18
|
return compact(settled.map((settle) => (settle.status === 'fulfilled' ? settle.value : null)));
|
|
20
19
|
}
|
|
21
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../../../src/Payload/Huri/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../../../src/Payload/Huri/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,IAAI,EAAe,MAAM,sBAAsB,CAAA;AACxD,OAAO,OAAO,MAAM,gBAAgB,CAAA;AAEpC,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAkB,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAGxD,MAAM,OAAO,qBAAsB,SAAQ,iBAA8C;IACvF,IAAc,OAAO;QACnB,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,CAAA;IAC7B,CAAC;IAEQ,OAAO;QACd,OAAO,CAAC,2BAA2B,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1D,CAAC;IAEQ,KAAK,CAAC,MAAM,CAAC,QAAsB;QAC1C,MAAM,YAAY,GAAG,QAAQ,CAC3B,QAAQ,EAAE,MAAM,CAAC,CAAC,OAAO,EAA6B,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,aAAa,CAAC,EAC3F,8BAA8B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAClE,CAAA;QACD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAEzG,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QAC9E,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAChG,CAAC;CACF"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import { XyoQuery } from '@xyo-network/module';
|
|
2
|
-
import { XyoPayloads } from '@xyo-network/payload';
|
|
3
2
|
export declare type XyoDivinerDivineQuerySchema = 'network.xyo.query.diviner.divine';
|
|
4
3
|
export declare const XyoDivinerDivineQuerySchema: XyoDivinerDivineQuerySchema;
|
|
5
4
|
export declare type XyoDivinerDivineQuery = XyoQuery<{
|
|
6
5
|
schema: XyoDivinerDivineQuerySchema;
|
|
7
|
-
context?: string;
|
|
8
|
-
payloads?: XyoPayloads;
|
|
9
6
|
}>;
|
|
10
7
|
//# sourceMappingURL=Divine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Divine.d.ts","sourceRoot":"","sources":["../../../src/Queries/Divine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"Divine.d.ts","sourceRoot":"","sources":["../../../src/Queries/Divine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,oBAAY,2BAA2B,GAAG,kCAAkC,CAAA;AAC5E,eAAO,MAAM,2BAA2B,EAAE,2BAAgE,CAAA;AAE1G,oBAAY,qBAAqB,GAAG,QAAQ,CAAC;IAC3C,MAAM,EAAE,2BAA2B,CAAA;CACpC,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Divine.js","sourceRoot":"","sources":["../../../src/Queries/Divine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Divine.js","sourceRoot":"","sources":["../../../src/Queries/Divine.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,2BAA2B,GAAgC,kCAAkC,CAAA"}
|
package/dist/esm/XyoDiviner.d.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { XyoModule, XyoModuleQueryResult, XyoQuery } from '@xyo-network/module';
|
|
1
|
+
import { ModuleQueryResult, XyoModule, XyoQueryBoundWitness } from '@xyo-network/module';
|
|
3
2
|
import { XyoPayload, XyoPayloads } from '@xyo-network/payload';
|
|
4
3
|
import { Promisable } from '@xyo-network/promise';
|
|
5
4
|
import { XyoDivinerConfig } from './Config';
|
|
6
5
|
import { DivinerModule } from './Diviner';
|
|
7
6
|
export declare abstract class XyoDiviner<TConfig extends XyoDivinerConfig = XyoDivinerConfig> extends XyoModule<TConfig> implements DivinerModule {
|
|
8
|
-
abstract divine(
|
|
7
|
+
abstract divine(payloads?: XyoPayloads): Promisable<XyoPayloads>;
|
|
9
8
|
queries(): string[];
|
|
10
|
-
query<T extends
|
|
9
|
+
query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(query: T, payloads?: XyoPayloads): Promise<ModuleQueryResult<XyoPayload>>;
|
|
11
10
|
}
|
|
12
11
|
export declare abstract class XyoTimestampDiviner<TConfig extends XyoDivinerConfig = XyoDivinerConfig> extends XyoDiviner<TConfig> {
|
|
13
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoDiviner.d.ts","sourceRoot":"","sources":["../../src/XyoDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"XyoDiviner.d.ts","sourceRoot":"","sources":["../../src/XyoDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EAEjB,SAAS,EAGT,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAGzC,8BAAsB,UAAU,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,SAAS,CAAC,OAAO,CAAE,YAAW,aAAa;IACvI,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAEhD,OAAO,IAAI,MAAM,EAAE;IAIpB,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EACxE,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;CAiB1C;AAED,8BAAsB,mBAAmB,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,UAAU,CAAC,OAAO,CAAC;CAAG;AAE7H,wCAAwC;AACxC,8BAAsB,kBAAkB,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,UAAU,CAAC,OAAO,CAAC;CAAG;AAE5H,wCAAwC;AACxC,8BAAsB,2BAA2B,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;CAAG"}
|
package/dist/esm/XyoDiviner.js
CHANGED
|
@@ -1,27 +1,25 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert';
|
|
2
2
|
import { XyoAccount } from '@xyo-network/account';
|
|
3
|
-
import { XyoModule, XyoModuleInitializeQuerySchema, XyoModuleShutdownQuerySchema } from '@xyo-network/module';
|
|
3
|
+
import { QueryBoundWitnessWrapper, XyoModule, XyoModuleInitializeQuerySchema, XyoModuleShutdownQuerySchema, } from '@xyo-network/module';
|
|
4
4
|
import { XyoDivinerDivineQuerySchema } from './Queries';
|
|
5
5
|
export class XyoDiviner extends XyoModule {
|
|
6
6
|
queries() {
|
|
7
7
|
return [XyoModuleInitializeQuerySchema, XyoModuleShutdownQuerySchema, XyoDivinerDivineQuerySchema];
|
|
8
8
|
}
|
|
9
|
-
async query(
|
|
10
|
-
|
|
9
|
+
async query(query, payloads) {
|
|
10
|
+
const wrapper = QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
11
|
+
const typedQuery = wrapper.query;
|
|
12
|
+
assertEx(this.queryable(query.schema, wrapper.addresses));
|
|
11
13
|
const queryAccount = new XyoAccount();
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
const payloads = [];
|
|
16
|
-
const typedQuery = query;
|
|
17
|
-
switch (typedQuery.schema) {
|
|
14
|
+
const resultPayloads = [];
|
|
15
|
+
switch (typedQuery.schemaName) {
|
|
18
16
|
case XyoDivinerDivineQuerySchema:
|
|
19
|
-
|
|
17
|
+
resultPayloads.push(...(await this.divine(payloads)));
|
|
20
18
|
break;
|
|
21
19
|
default:
|
|
22
|
-
return super.query(
|
|
20
|
+
return super.query(query, payloads);
|
|
23
21
|
}
|
|
24
|
-
return await this.
|
|
22
|
+
return await this.bindResult(resultPayloads, queryAccount);
|
|
25
23
|
}
|
|
26
24
|
}
|
|
27
25
|
export class XyoTimestampDiviner extends XyoDiviner {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoDiviner.js","sourceRoot":"","sources":["../../src/XyoDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"XyoDiviner.js","sourceRoot":"","sources":["../../src/XyoDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAEL,wBAAwB,EACxB,SAAS,EACT,8BAA8B,EAC9B,4BAA4B,GAE7B,MAAM,qBAAqB,CAAA;AAM5B,OAAO,EAAE,2BAA2B,EAAmB,MAAM,WAAW,CAAA;AAExE,MAAM,OAAgB,UAAgE,SAAQ,SAAkB;IAG9F,OAAO;QACrB,OAAO,CAAC,8BAA8B,EAAE,4BAA4B,EAAE,2BAA2B,CAAC,CAAA;IACpG,CAAC;IAEQ,KAAK,CAAC,KAAK,CAClB,KAAQ,EACR,QAAsB;QAEtB,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAkB,KAAK,EAAE,QAAQ,CAAC,CAAA;QACrF,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAA;QAChC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;QAEzD,MAAM,YAAY,GAAG,IAAI,UAAU,EAAE,CAAA;QAErC,MAAM,cAAc,GAAgB,EAAE,CAAA;QACtC,QAAQ,UAAU,CAAC,UAAU,EAAE;YAC7B,KAAK,2BAA2B;gBAC9B,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;gBACrD,MAAK;YACP;gBACE,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;SACtC;QACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;IAC5D,CAAC;CACF;AAED,MAAM,OAAgB,mBAAyE,SAAQ,UAAmB;CAAG;AAE7H,wCAAwC;AACxC,MAAM,OAAgB,kBAAwE,SAAQ,UAAmB;CAAG;AAE5H,wCAAwC;AACxC,MAAM,OAAgB,2BAAiF,SAAQ,mBAA4B;CAAG"}
|
|
@@ -2,6 +2,6 @@ import { XyoModuleWrapper } from '@xyo-network/module';
|
|
|
2
2
|
import { XyoPayloads } from '@xyo-network/payload';
|
|
3
3
|
import { Diviner } from './Diviner';
|
|
4
4
|
export declare class XyoDivinerWrapper extends XyoModuleWrapper implements Diviner {
|
|
5
|
-
divine(
|
|
5
|
+
divine(payloads?: XyoPayloads): Promise<XyoPayloads>;
|
|
6
6
|
}
|
|
7
7
|
//# sourceMappingURL=XyoDivinerWrapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoDivinerWrapper.d.ts","sourceRoot":"","sources":["../../src/XyoDivinerWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,
|
|
1
|
+
{"version":3,"file":"XyoDivinerWrapper.d.ts","sourceRoot":"","sources":["../../src/XyoDivinerWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAkB,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,qBAAa,iBAAkB,SAAQ,gBAAiB,YAAW,OAAO;IAClE,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAK3D"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { XyoModuleWrapper } from '@xyo-network/module';
|
|
2
|
+
import { PayloadWrapper } from '@xyo-network/payload';
|
|
2
3
|
import { XyoDivinerDivineQuerySchema } from './Queries';
|
|
3
4
|
export class XyoDivinerWrapper extends XyoModuleWrapper {
|
|
4
|
-
async divine(
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
return (await this.module.query(
|
|
5
|
+
async divine(payloads) {
|
|
6
|
+
const queryPayload = PayloadWrapper.parse({ schema: XyoDivinerDivineQuerySchema });
|
|
7
|
+
const boundQuery = await this.bindQuery([queryPayload.body, ...(payloads ?? [])], queryPayload.hash);
|
|
8
|
+
return (await this.module.query(boundQuery[0], boundQuery[1]))[1];
|
|
8
9
|
}
|
|
9
10
|
}
|
|
10
11
|
//# sourceMappingURL=XyoDivinerWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoDivinerWrapper.js","sourceRoot":"","sources":["../../src/XyoDivinerWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"XyoDivinerWrapper.js","sourceRoot":"","sources":["../../src/XyoDivinerWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAe,MAAM,sBAAsB,CAAA;AAGlE,OAAO,EAAyB,2BAA2B,EAAE,MAAM,WAAW,CAAA;AAE9E,MAAM,OAAO,iBAAkB,SAAQ,gBAAgB;IACrD,KAAK,CAAC,MAAM,CAAC,QAAsB;QACjC,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAwB,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC,CAAA;QACzG,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;QACpG,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -10,13 +10,12 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@xylabs/assert": "^2.6.
|
|
14
|
-
"@xyo-network/account": "^2.
|
|
15
|
-
"@xyo-network/archivist": "^2.
|
|
16
|
-
"@xyo-network/
|
|
17
|
-
"@xyo-network/
|
|
18
|
-
"@xyo-network/
|
|
19
|
-
"@xyo-network/promise": "^2.35.0",
|
|
13
|
+
"@xylabs/assert": "^2.6.9",
|
|
14
|
+
"@xyo-network/account": "^2.36.0-rc.2",
|
|
15
|
+
"@xyo-network/archivist": "^2.36.0-rc.2",
|
|
16
|
+
"@xyo-network/module": "^2.36.0-rc.2",
|
|
17
|
+
"@xyo-network/payload": "^2.36.0-rc.2",
|
|
18
|
+
"@xyo-network/promise": "^2.36.0-rc.2",
|
|
20
19
|
"lodash": "^4.17.21",
|
|
21
20
|
"tslib": "^2.4.0"
|
|
22
21
|
},
|
|
@@ -53,5 +52,6 @@
|
|
|
53
52
|
},
|
|
54
53
|
"sideEffects": false,
|
|
55
54
|
"types": "dist/esm/index.d.ts",
|
|
56
|
-
"version": "2.
|
|
55
|
+
"version": "2.36.0-rc.2",
|
|
56
|
+
"stableVersion": "2.35.0"
|
|
57
57
|
}
|
package/src/Diviner.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { Promisable } from '@xyo-network/promise'
|
|
|
4
4
|
|
|
5
5
|
export interface Diviner {
|
|
6
6
|
/* context is the hash of the payload that defines the divining */
|
|
7
|
-
divine: (
|
|
7
|
+
divine: (payloads?: XyoPayloads) => Promisable<XyoPayloads>
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
export interface DivinerModule extends Module, Diviner {}
|
|
@@ -4,7 +4,6 @@ import { PartialModuleConfig, XyoModuleResolverFunc } from '@xyo-network/module'
|
|
|
4
4
|
import { Huri, PayloadWrapper, XyoPayloads } from '@xyo-network/payload'
|
|
5
5
|
|
|
6
6
|
import { XyoDivinerDivineQuerySchema } from '../../Queries'
|
|
7
|
-
import { profile } from '../lib'
|
|
8
7
|
import { XyoHuriPayload, XyoHuriSchema } from '../XyoHuriPayload'
|
|
9
8
|
import { XyoPayloadDiviner } from '../XyoPayloadDiviner'
|
|
10
9
|
import { XyoArchivistPayloadDivinerConfig, XyoArchivistPayloadDivinerConfigSchema } from './Config'
|
|
@@ -26,24 +25,17 @@ export class XyoArchivistPayloadDiviner extends XyoPayloadDiviner<XyoArchivistPa
|
|
|
26
25
|
return [XyoDivinerDivineQuerySchema, ...super.queries()]
|
|
27
26
|
}
|
|
28
27
|
|
|
29
|
-
public async divine(
|
|
28
|
+
public async divine(payloads?: XyoPayloads): Promise<XyoPayloads> {
|
|
30
29
|
const huriPayloads = assertEx(
|
|
31
30
|
payloads?.filter((payload): payload is XyoHuriPayload => payload?.schema === XyoHuriSchema),
|
|
32
31
|
`no huri payloads provided: ${JSON.stringify(payloads, null, 2)}`,
|
|
33
32
|
)
|
|
34
|
-
const
|
|
35
|
-
? assertEx(
|
|
36
|
-
huriPayloads.find((payload) => PayloadWrapper.hash(payload) === context),
|
|
37
|
-
`context hash provided not found [${context}, ${JSON.stringify(payloads, null, 2)}]`,
|
|
38
|
-
)
|
|
39
|
-
: huriPayloads[0]
|
|
40
|
-
const hashes = huriPayload.huri.map((huri) => new Huri(huri).hash)
|
|
33
|
+
const hashes = huriPayloads.map((huriPayload) => huriPayload.huri.map((huri) => new Huri(huri).hash)).flat()
|
|
41
34
|
const activeArchivist = this.archivist
|
|
42
35
|
if (activeArchivist) {
|
|
43
|
-
const
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
return payloads
|
|
36
|
+
const queryPayload = PayloadWrapper.parse<XyoArchivistGetQuery>({ hashes, schema: XyoArchivistGetQuerySchema })
|
|
37
|
+
const query = await this.bindQuery([queryPayload.body], queryPayload.hash)
|
|
38
|
+
return (await activeArchivist.query(query[0], query[1]))[1]
|
|
47
39
|
}
|
|
48
40
|
return []
|
|
49
41
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
|
-
import { Huri,
|
|
2
|
+
import { Huri, XyoPayloads } from '@xyo-network/payload'
|
|
3
3
|
import compact from 'lodash/compact'
|
|
4
4
|
|
|
5
5
|
import { XyoDivinerDivineQuerySchema } from '../../Queries'
|
|
@@ -16,12 +16,14 @@ export class XyoHuriPayloadDiviner extends XyoPayloadDiviner<XyoHuriPayloadDivin
|
|
|
16
16
|
return [XyoDivinerDivineQuerySchema, ...super.queries()]
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
override async divine(
|
|
20
|
-
const huriPayloads = assertEx(
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
override async divine(payloads?: XyoPayloads): Promise<XyoPayloads> {
|
|
20
|
+
const huriPayloads = assertEx(
|
|
21
|
+
payloads?.filter((payload): payload is XyoHuriPayload => payload?.schema === XyoHuriSchema),
|
|
22
|
+
`no huri payloads provided: ${JSON.stringify(payloads, null, 2)}`,
|
|
23
|
+
)
|
|
24
|
+
const huriList = huriPayloads.map((huriPayload) => huriPayload.huri.map((huri) => new Huri(huri))).flat()
|
|
23
25
|
|
|
24
|
-
const settled = await Promise.allSettled(
|
|
26
|
+
const settled = await Promise.allSettled(huriList.map((huri) => huri.fetch()))
|
|
25
27
|
return compact(settled.map((settle) => (settle.status === 'fulfilled' ? settle.value : null)))
|
|
26
28
|
}
|
|
27
29
|
}
|
package/src/Queries/Divine.ts
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import { XyoQuery } from '@xyo-network/module'
|
|
2
|
-
import { XyoPayloads } from '@xyo-network/payload'
|
|
3
2
|
|
|
4
3
|
export type XyoDivinerDivineQuerySchema = 'network.xyo.query.diviner.divine'
|
|
5
4
|
export const XyoDivinerDivineQuerySchema: XyoDivinerDivineQuerySchema = 'network.xyo.query.diviner.divine'
|
|
6
5
|
|
|
7
6
|
export type XyoDivinerDivineQuery = XyoQuery<{
|
|
8
7
|
schema: XyoDivinerDivineQuerySchema
|
|
9
|
-
context?: string
|
|
10
|
-
payloads?: XyoPayloads
|
|
11
8
|
}>
|
package/src/XyoDiviner.ts
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
2
|
import { XyoAccount } from '@xyo-network/account'
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import {
|
|
4
|
+
ModuleQueryResult,
|
|
5
|
+
QueryBoundWitnessWrapper,
|
|
6
|
+
XyoModule,
|
|
7
|
+
XyoModuleInitializeQuerySchema,
|
|
8
|
+
XyoModuleShutdownQuerySchema,
|
|
9
|
+
XyoQueryBoundWitness,
|
|
10
|
+
} from '@xyo-network/module'
|
|
5
11
|
import { XyoPayload, XyoPayloads } from '@xyo-network/payload'
|
|
6
12
|
import { Promisable } from '@xyo-network/promise'
|
|
7
13
|
|
|
@@ -10,30 +16,31 @@ import { DivinerModule } from './Diviner'
|
|
|
10
16
|
import { XyoDivinerDivineQuerySchema, XyoDivinerQuery } from './Queries'
|
|
11
17
|
|
|
12
18
|
export abstract class XyoDiviner<TConfig extends XyoDivinerConfig = XyoDivinerConfig> extends XyoModule<TConfig> implements DivinerModule {
|
|
13
|
-
abstract divine(
|
|
19
|
+
abstract divine(payloads?: XyoPayloads): Promisable<XyoPayloads>
|
|
14
20
|
|
|
15
21
|
public override queries(): string[] {
|
|
16
22
|
return [XyoModuleInitializeQuerySchema, XyoModuleShutdownQuerySchema, XyoDivinerDivineQuerySchema]
|
|
17
23
|
}
|
|
18
24
|
|
|
19
|
-
override async query<T extends
|
|
20
|
-
|
|
25
|
+
override async query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(
|
|
26
|
+
query: T,
|
|
27
|
+
payloads?: XyoPayloads,
|
|
28
|
+
): Promise<ModuleQueryResult<XyoPayload>> {
|
|
29
|
+
const wrapper = QueryBoundWitnessWrapper.parseQuery<XyoDivinerQuery>(query, payloads)
|
|
30
|
+
const typedQuery = wrapper.query
|
|
31
|
+
assertEx(this.queryable(query.schema, wrapper.addresses))
|
|
21
32
|
|
|
22
33
|
const queryAccount = new XyoAccount()
|
|
23
|
-
if (!this.queries().find((schema) => schema === query.schema)) {
|
|
24
|
-
console.error(`Undeclared Module Query: ${query.schema}`)
|
|
25
|
-
}
|
|
26
34
|
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
switch (typedQuery.schema) {
|
|
35
|
+
const resultPayloads: XyoPayloads = []
|
|
36
|
+
switch (typedQuery.schemaName) {
|
|
30
37
|
case XyoDivinerDivineQuerySchema:
|
|
31
|
-
|
|
38
|
+
resultPayloads.push(...(await this.divine(payloads)))
|
|
32
39
|
break
|
|
33
40
|
default:
|
|
34
|
-
return super.query(
|
|
41
|
+
return super.query(query, payloads)
|
|
35
42
|
}
|
|
36
|
-
return await this.
|
|
43
|
+
return await this.bindResult(resultPayloads, queryAccount)
|
|
37
44
|
}
|
|
38
45
|
}
|
|
39
46
|
|
package/src/XyoDivinerWrapper.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { XyoModuleWrapper } from '@xyo-network/module'
|
|
2
|
-
import { XyoPayloads } from '@xyo-network/payload'
|
|
2
|
+
import { PayloadWrapper, XyoPayloads } from '@xyo-network/payload'
|
|
3
3
|
|
|
4
4
|
import { Diviner } from './Diviner'
|
|
5
5
|
import { XyoDivinerDivineQuery, XyoDivinerDivineQuerySchema } from './Queries'
|
|
6
6
|
|
|
7
7
|
export class XyoDivinerWrapper extends XyoModuleWrapper implements Diviner {
|
|
8
|
-
async divine(
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
return (await this.module.query(
|
|
8
|
+
async divine(payloads?: XyoPayloads): Promise<XyoPayloads> {
|
|
9
|
+
const queryPayload = PayloadWrapper.parse<XyoDivinerDivineQuery>({ schema: XyoDivinerDivineQuerySchema })
|
|
10
|
+
const boundQuery = await this.bindQuery([queryPayload.body, ...(payloads ?? [])], queryPayload.hash)
|
|
11
|
+
return (await this.module.query(boundQuery[0], boundQuery[1]))[1]
|
|
12
12
|
}
|
|
13
13
|
}
|