@xyo-network/diviner 2.34.0 → 2.35.0
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 +2 -2
- package/dist/cjs/Diviner.d.ts.map +1 -1
- package/dist/cjs/Payload/Archivist/Diviner.d.ts +2 -2
- package/dist/cjs/Payload/Archivist/Diviner.d.ts.map +1 -1
- package/dist/cjs/Payload/Archivist/Diviner.js +10 -7
- package/dist/cjs/Payload/Archivist/Diviner.js.map +1 -1
- package/dist/cjs/Payload/Huri/Diviner.d.ts +2 -2
- package/dist/cjs/Payload/Huri/Diviner.d.ts.map +1 -1
- package/dist/cjs/Payload/Huri/Diviner.js +7 -6
- package/dist/cjs/Payload/Huri/Diviner.js.map +1 -1
- package/dist/cjs/Payload/XyoHuriPayload.d.ts +1 -1
- package/dist/cjs/Payload/XyoHuriPayload.d.ts.map +1 -1
- package/dist/cjs/Queries/Divine.d.ts +4 -3
- package/dist/cjs/Queries/Divine.d.ts.map +1 -1
- package/dist/cjs/Queries/index.d.ts +2 -3
- package/dist/cjs/Queries/index.d.ts.map +1 -1
- package/dist/cjs/XyoDiviner.d.ts +1 -1
- package/dist/cjs/XyoDiviner.d.ts.map +1 -1
- package/dist/cjs/XyoDiviner.js +1 -1
- package/dist/cjs/XyoDiviner.js.map +1 -1
- package/dist/cjs/XyoDivinerWrapper.d.ts +2 -2
- package/dist/cjs/XyoDivinerWrapper.d.ts.map +1 -1
- package/dist/cjs/XyoDivinerWrapper.js +3 -3
- package/dist/cjs/XyoDivinerWrapper.js.map +1 -1
- package/dist/docs.json +2429 -2265
- package/dist/esm/Diviner.d.ts +2 -2
- package/dist/esm/Diviner.d.ts.map +1 -1
- package/dist/esm/Payload/Archivist/Diviner.d.ts +2 -2
- package/dist/esm/Payload/Archivist/Diviner.d.ts.map +1 -1
- package/dist/esm/Payload/Archivist/Diviner.js +11 -8
- package/dist/esm/Payload/Archivist/Diviner.js.map +1 -1
- package/dist/esm/Payload/Huri/Diviner.d.ts +2 -2
- package/dist/esm/Payload/Huri/Diviner.d.ts.map +1 -1
- package/dist/esm/Payload/Huri/Diviner.js +8 -7
- package/dist/esm/Payload/Huri/Diviner.js.map +1 -1
- package/dist/esm/Payload/XyoHuriPayload.d.ts +1 -1
- package/dist/esm/Payload/XyoHuriPayload.d.ts.map +1 -1
- package/dist/esm/Queries/Divine.d.ts +4 -3
- package/dist/esm/Queries/Divine.d.ts.map +1 -1
- package/dist/esm/Queries/index.d.ts +2 -3
- package/dist/esm/Queries/index.d.ts.map +1 -1
- package/dist/esm/XyoDiviner.d.ts +1 -1
- package/dist/esm/XyoDiviner.d.ts.map +1 -1
- package/dist/esm/XyoDiviner.js +1 -1
- package/dist/esm/XyoDiviner.js.map +1 -1
- package/dist/esm/XyoDivinerWrapper.d.ts +2 -2
- package/dist/esm/XyoDivinerWrapper.d.ts.map +1 -1
- package/dist/esm/XyoDivinerWrapper.js +3 -3
- package/dist/esm/XyoDivinerWrapper.js.map +1 -1
- package/package.json +8 -7
- package/src/Diviner.ts +3 -2
- package/src/Payload/Archivist/Diviner.ts +17 -8
- package/src/Payload/Huri/Diviner.ts +9 -7
- package/src/Payload/XyoHuriPayload.ts +1 -1
- package/src/Queries/Divine.ts +4 -3
- package/src/Queries/index.ts +2 -3
- package/src/XyoDiviner.ts +2 -2
- package/src/XyoDivinerWrapper.ts +4 -4
package/dist/esm/Diviner.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Module } from '@xyo-network/module';
|
|
2
|
-
import {
|
|
2
|
+
import { XyoPayloads } from '@xyo-network/payload';
|
|
3
3
|
import { Promisable } from '@xyo-network/promise';
|
|
4
4
|
export interface Diviner {
|
|
5
|
-
divine(payloads?: XyoPayloads)
|
|
5
|
+
divine: (context?: string, 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,
|
|
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,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,KAAK,UAAU,CAAC,WAAW,CAAC,CAAA;CAC9E;AAED,MAAM,WAAW,aAAc,SAAQ,MAAM,EAAE,OAAO;CAAG"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { PayloadArchivist } from '@xyo-network/archivist';
|
|
2
2
|
import { PartialModuleConfig, XyoModuleResolverFunc } from '@xyo-network/module';
|
|
3
|
-
import {
|
|
3
|
+
import { XyoPayloads } from '@xyo-network/payload';
|
|
4
4
|
import { XyoPayloadDiviner } from '../XyoPayloadDiviner';
|
|
5
5
|
import { XyoArchivistPayloadDivinerConfig } from './Config';
|
|
6
6
|
export declare class XyoArchivistPayloadDiviner extends XyoPayloadDiviner<XyoArchivistPayloadDivinerConfig> {
|
|
7
7
|
protected readonly archivist?: PayloadArchivist | null;
|
|
8
8
|
constructor(config?: PartialModuleConfig<XyoArchivistPayloadDivinerConfig>, archivist?: PayloadArchivist, resolver?: XyoModuleResolverFunc);
|
|
9
9
|
queries(): string[];
|
|
10
|
-
divine(payloads?: XyoPayloads): Promise<
|
|
10
|
+
divine(context?: string, 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,
|
|
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;AAKxE,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,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAqBpF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert';
|
|
2
2
|
import { XyoArchivistGetQuerySchema, XyoArchivistWrapper } from '@xyo-network/archivist';
|
|
3
|
-
import { Huri } from '@xyo-network/payload';
|
|
3
|
+
import { Huri, PayloadWrapper } from '@xyo-network/payload';
|
|
4
4
|
import { XyoDivinerDivineQuerySchema } from '../../Queries';
|
|
5
5
|
import { profile } from '../lib';
|
|
6
6
|
import { XyoHuriSchema } from '../XyoHuriPayload';
|
|
@@ -19,17 +19,20 @@ export class XyoArchivistPayloadDiviner extends XyoPayloadDiviner {
|
|
|
19
19
|
queries() {
|
|
20
20
|
return [XyoDivinerDivineQuerySchema, ...super.queries()];
|
|
21
21
|
}
|
|
22
|
-
async divine(payloads) {
|
|
23
|
-
const
|
|
24
|
-
const
|
|
22
|
+
async divine(context, payloads) {
|
|
23
|
+
const huriPayloads = assertEx(payloads?.filter((payload) => payload?.schema === XyoHuriSchema), `no huri payloads provided: ${JSON.stringify(payloads, null, 2)}`);
|
|
24
|
+
const huriPayload = context
|
|
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);
|
|
25
28
|
const activeArchivist = this.archivist;
|
|
26
29
|
if (activeArchivist) {
|
|
27
|
-
const query = { hashes
|
|
30
|
+
const query = { hashes, schema: XyoArchivistGetQuerySchema };
|
|
28
31
|
const bw = (await this.bindPayloads([query]))[0];
|
|
29
|
-
const [[,
|
|
30
|
-
return
|
|
32
|
+
const [[, payloads]] = await profile(async () => await activeArchivist.query(bw, query));
|
|
33
|
+
return payloads;
|
|
31
34
|
}
|
|
32
|
-
return
|
|
35
|
+
return [];
|
|
33
36
|
}
|
|
34
37
|
}
|
|
35
38
|
//# sourceMappingURL=Diviner.js.map
|
|
@@ -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,
|
|
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,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,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,OAAgB,EAAE,QAAsB;QAC1D,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,WAAW,GAAG,OAAO;YACzB,CAAC,CAAC,QAAQ,CACN,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,EACxE,oCAAoC,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CACrF;YACH,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QACnB,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;QAClE,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAA;QACtC,IAAI,eAAe,EAAE;YACnB,MAAM,KAAK,GAAyB,EAAE,MAAM,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAA;YAClF,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAChD,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAA;YACxF,OAAO,QAAQ,CAAA;SAChB;QACD,OAAO,EAAE,CAAA;IACX,CAAC;CACF"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { XyoPayloads } from '@xyo-network/payload';
|
|
2
2
|
import { XyoPayloadDiviner } from '../XyoPayloadDiviner';
|
|
3
3
|
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(payloads?: XyoPayloads): Promise<
|
|
7
|
+
divine(context?: string, 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,EAAwB,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAKxE,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,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAQtF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert';
|
|
2
|
-
import { Huri } from '@xyo-network/payload';
|
|
2
|
+
import { Huri, PayloadWrapper } from '@xyo-network/payload';
|
|
3
|
+
import compact from 'lodash/compact';
|
|
3
4
|
import { XyoDivinerDivineQuerySchema } from '../../Queries';
|
|
4
|
-
import { profile } from '../lib';
|
|
5
5
|
import { XyoHuriSchema } from '../XyoHuriPayload';
|
|
6
6
|
import { XyoPayloadDiviner } from '../XyoPayloadDiviner';
|
|
7
7
|
export class XyoHuriPayloadDiviner extends XyoPayloadDiviner {
|
|
@@ -11,11 +11,12 @@ export class XyoHuriPayloadDiviner extends XyoPayloadDiviner {
|
|
|
11
11
|
queries() {
|
|
12
12
|
return [XyoDivinerDivineQuerySchema, ...super.queries()];
|
|
13
13
|
}
|
|
14
|
-
async divine(payloads) {
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
|
|
14
|
+
async divine(context, payloads) {
|
|
15
|
+
const huriPayloads = assertEx(payloads?.filter((payload) => payload?.schema === XyoHuriSchema));
|
|
16
|
+
const huriPayload = assertEx(huriPayloads.find((payload) => PayloadWrapper.hash(payload) === context));
|
|
17
|
+
const huriObj = huriPayload.huri.map((huri) => new Huri(huri));
|
|
18
|
+
const settled = await Promise.allSettled(huriObj.map((huri) => huri.fetch()));
|
|
19
|
+
return compact(settled.map((settle) => (settle.status === 'fulfilled' ? settle.value : null)));
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
//# sourceMappingURL=Diviner.js.map
|
|
@@ -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,cAAc,EAAe,MAAM,sBAAsB,CAAA;AACxE,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,OAAgB,EAAE,QAAsB;QAC5D,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,OAAO,EAA6B,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,aAAa,CAAC,CAAC,CAAA;QAC1H,MAAM,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC,CAAA;QACtG,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAE9D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QAC7E,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"}
|
|
@@ -3,6 +3,6 @@ export declare type XyoHuriSchema = 'network.xyo.huri';
|
|
|
3
3
|
export declare const XyoHuriSchema: XyoHuriSchema;
|
|
4
4
|
export declare type XyoHuriPayload = XyoPayload<{
|
|
5
5
|
schema: 'network.xyo.huri';
|
|
6
|
-
huri: string;
|
|
6
|
+
huri: string[];
|
|
7
7
|
}>;
|
|
8
8
|
//# sourceMappingURL=XyoHuriPayload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoHuriPayload.d.ts","sourceRoot":"","sources":["../../../src/Payload/XyoHuriPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,oBAAY,aAAa,GAAG,kBAAkB,CAAA;AAC9C,eAAO,MAAM,aAAa,EAAE,aAAkC,CAAA;AAE9D,oBAAY,cAAc,GAAG,UAAU,CAAC;IACtC,MAAM,EAAE,kBAAkB,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"XyoHuriPayload.d.ts","sourceRoot":"","sources":["../../../src/Payload/XyoHuriPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,oBAAY,aAAa,GAAG,kBAAkB,CAAA;AAC9C,eAAO,MAAM,aAAa,EAAE,aAAkC,CAAA;AAE9D,oBAAY,cAAc,GAAG,UAAU,CAAC;IACtC,MAAM,EAAE,kBAAkB,CAAA;IAC1B,IAAI,EAAE,MAAM,EAAE,CAAA;CACf,CAAC,CAAA"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { XyoQuery } from '@xyo-network/module';
|
|
2
|
-
import {
|
|
2
|
+
import { XyoPayloads } from '@xyo-network/payload';
|
|
3
3
|
export declare type XyoDivinerDivineQuerySchema = 'network.xyo.query.diviner.divine';
|
|
4
4
|
export declare const XyoDivinerDivineQuerySchema: XyoDivinerDivineQuerySchema;
|
|
5
|
-
export declare type XyoDivinerDivineQuery
|
|
5
|
+
export declare type XyoDivinerDivineQuery = XyoQuery<{
|
|
6
6
|
schema: XyoDivinerDivineQuerySchema;
|
|
7
|
-
|
|
7
|
+
context?: string;
|
|
8
|
+
payloads?: XyoPayloads;
|
|
8
9
|
}>;
|
|
9
10
|
//# 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;AAC9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Divine.d.ts","sourceRoot":"","sources":["../../../src/Queries/Divine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,oBAAY,2BAA2B,GAAG,kCAAkC,CAAA;AAC5E,eAAO,MAAM,2BAA2B,EAAE,2BAAgE,CAAA;AAE1G,oBAAY,qBAAqB,GAAG,QAAQ,CAAC;IAC3C,MAAM,EAAE,2BAA2B,CAAA;IACnC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,WAAW,CAAA;CACvB,CAAC,CAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export * from './Divine';
|
|
2
2
|
import { XyoModuleQuery, XyoQuery } from '@xyo-network/module';
|
|
3
|
-
import { XyoPayload } from '@xyo-network/payload';
|
|
4
3
|
import { XyoDivinerDivineQuery } from './Divine';
|
|
5
|
-
export declare type XyoDivinerQueryBase
|
|
6
|
-
export declare type XyoDivinerQuery<TQuery extends XyoQuery | void = void> = XyoModuleQuery<TQuery extends XyoQuery ? XyoDivinerQueryBase
|
|
4
|
+
export declare type XyoDivinerQueryBase = XyoDivinerDivineQuery;
|
|
5
|
+
export declare type XyoDivinerQuery<TQuery extends XyoQuery | void = void> = XyoModuleQuery<TQuery extends XyoQuery ? XyoDivinerQueryBase | TQuery : XyoDivinerQueryBase>;
|
|
7
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Queries/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AAExB,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Queries/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AAExB,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAEhD,oBAAY,mBAAmB,GAAG,qBAAqB,CAAA;AAEvD,oBAAY,eAAe,CAAC,MAAM,SAAS,QAAQ,GAAG,IAAI,GAAG,IAAI,IAAI,cAAc,CACjF,MAAM,SAAS,QAAQ,GAAG,mBAAmB,GAAG,MAAM,GAAG,mBAAmB,CAC7E,CAAA"}
|
package/dist/esm/XyoDiviner.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { Promisable } from '@xyo-network/promise';
|
|
|
5
5
|
import { XyoDivinerConfig } from './Config';
|
|
6
6
|
import { DivinerModule } from './Diviner';
|
|
7
7
|
export declare abstract class XyoDiviner<TConfig extends XyoDivinerConfig = XyoDivinerConfig> extends XyoModule<TConfig> implements DivinerModule {
|
|
8
|
-
abstract divine(
|
|
8
|
+
abstract divine(context?: string, data?: XyoPayloads): Promisable<XyoPayloads>;
|
|
9
9
|
queries(): string[];
|
|
10
10
|
query<T extends XyoQuery = XyoQuery>(bw: XyoBoundWitness, query: T): Promise<XyoModuleQueryResult<XyoPayload>>;
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoDiviner.d.ts","sourceRoot":"","sources":["../../src/XyoDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAkC,oBAAoB,EAAgC,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC7I,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,
|
|
1
|
+
{"version":3,"file":"XyoDiviner.d.ts","sourceRoot":"","sources":["../../src/XyoDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAkC,oBAAoB,EAAgC,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC7I,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,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAE9D,OAAO,IAAI,MAAM,EAAE;IAIpB,KAAK,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;CAmB9H;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
|
@@ -16,7 +16,7 @@ export class XyoDiviner extends XyoModule {
|
|
|
16
16
|
const typedQuery = query;
|
|
17
17
|
switch (typedQuery.schema) {
|
|
18
18
|
case XyoDivinerDivineQuerySchema:
|
|
19
|
-
payloads.push(await this.divine(typedQuery.payloads));
|
|
19
|
+
payloads.push(...(await this.divine(typedQuery.context, typedQuery.payloads)));
|
|
20
20
|
break;
|
|
21
21
|
default:
|
|
22
22
|
return super.query(bw, typedQuery);
|
|
@@ -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;AAEjD,OAAO,EAAE,SAAS,EAAE,8BAA8B,EAAwB,4BAA4B,EAAY,MAAM,qBAAqB,CAAA;AAM7I,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,CAAgC,EAAmB,EAAE,KAAQ;QAC/E,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;QAEpD,MAAM,YAAY,GAAG,IAAI,UAAU,EAAE,CAAA;QACrC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE;YAC7D,OAAO,CAAC,KAAK,CAAC,4BAA4B,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;SAC1D;QAED,MAAM,QAAQ,GAAgB,EAAE,CAAA;QAChC,MAAM,UAAU,GAAG,KAAwB,CAAA;QAC3C,QAAQ,UAAU,CAAC,MAAM,EAAE;YACzB,KAAK,2BAA2B;gBAC9B,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,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;AAEjD,OAAO,EAAE,SAAS,EAAE,8BAA8B,EAAwB,4BAA4B,EAAY,MAAM,qBAAqB,CAAA;AAM7I,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,CAAgC,EAAmB,EAAE,KAAQ;QAC/E,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;QAEpD,MAAM,YAAY,GAAG,IAAI,UAAU,EAAE,CAAA;QACrC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE;YAC7D,OAAO,CAAC,KAAK,CAAC,4BAA4B,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;SAC1D;QAED,MAAM,QAAQ,GAAgB,EAAE,CAAA;QAChC,MAAM,UAAU,GAAG,KAAwB,CAAA;QAC3C,QAAQ,UAAU,CAAC,MAAM,EAAE;YACzB,KAAK,2BAA2B;gBAC9B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;gBAC9E,MAAK;YACP;gBACE,OAAO,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;SACrC;QACD,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IACxD,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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { XyoModuleWrapper } from '@xyo-network/module';
|
|
2
|
-
import {
|
|
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(payloads?: XyoPayloads): Promise<
|
|
5
|
+
divine(context?: string, 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,EAAE,
|
|
1
|
+
{"version":3,"file":"XyoDivinerWrapper.d.ts","sourceRoot":"","sources":["../../src/XyoDivinerWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,qBAAa,iBAAkB,SAAQ,gBAAiB,YAAW,OAAO;IAClE,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAK7E"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { XyoModuleWrapper } from '@xyo-network/module';
|
|
2
2
|
import { XyoDivinerDivineQuerySchema } from './Queries';
|
|
3
3
|
export class XyoDivinerWrapper extends XyoModuleWrapper {
|
|
4
|
-
async divine(payloads) {
|
|
5
|
-
const query = { payloads, schema: XyoDivinerDivineQuerySchema };
|
|
4
|
+
async divine(context, payloads) {
|
|
5
|
+
const query = { context, payloads, schema: XyoDivinerDivineQuerySchema };
|
|
6
6
|
const bw = (await this.bindPayloads([query]))[0];
|
|
7
|
-
return (await this.module.query(bw, query))[1]
|
|
7
|
+
return (await this.module.query(bw, query))[1];
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
10
|
//# 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;AAItD,OAAO,EAAyB,2BAA2B,EAAE,MAAM,WAAW,CAAA;AAE9E,MAAM,OAAO,iBAAkB,SAAQ,gBAAgB;IACrD,KAAK,CAAC,MAAM,CAAC,QAAsB;
|
|
1
|
+
{"version":3,"file":"XyoDivinerWrapper.js","sourceRoot":"","sources":["../../src/XyoDivinerWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAItD,OAAO,EAAyB,2BAA2B,EAAE,MAAM,WAAW,CAAA;AAE9E,MAAM,OAAO,iBAAkB,SAAQ,gBAAgB;IACrD,KAAK,CAAC,MAAM,CAAC,OAAgB,EAAE,QAAsB;QACnD,MAAM,KAAK,GAA0B,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAA;QAC/F,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAChD,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAChD,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -11,12 +11,13 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/assert": "^2.6.7",
|
|
14
|
-
"@xyo-network/account": "^2.
|
|
15
|
-
"@xyo-network/archivist": "^2.
|
|
16
|
-
"@xyo-network/boundwitness": "^2.
|
|
17
|
-
"@xyo-network/module": "^2.
|
|
18
|
-
"@xyo-network/payload": "^2.
|
|
19
|
-
"@xyo-network/promise": "^2.
|
|
14
|
+
"@xyo-network/account": "^2.35.0",
|
|
15
|
+
"@xyo-network/archivist": "^2.35.0",
|
|
16
|
+
"@xyo-network/boundwitness": "^2.35.0",
|
|
17
|
+
"@xyo-network/module": "^2.35.0",
|
|
18
|
+
"@xyo-network/payload": "^2.35.0",
|
|
19
|
+
"@xyo-network/promise": "^2.35.0",
|
|
20
|
+
"lodash": "^4.17.21",
|
|
20
21
|
"tslib": "^2.4.0"
|
|
21
22
|
},
|
|
22
23
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
@@ -52,5 +53,5 @@
|
|
|
52
53
|
},
|
|
53
54
|
"sideEffects": false,
|
|
54
55
|
"types": "dist/esm/index.d.ts",
|
|
55
|
-
"version": "2.
|
|
56
|
+
"version": "2.35.0"
|
|
56
57
|
}
|
package/src/Diviner.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Module } from '@xyo-network/module'
|
|
2
|
-
import {
|
|
2
|
+
import { XyoPayloads } from '@xyo-network/payload'
|
|
3
3
|
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: (context?: string, payloads?: XyoPayloads) => Promisable<XyoPayloads>
|
|
7
8
|
}
|
|
8
9
|
|
|
9
10
|
export interface DivinerModule extends Module, Diviner {}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
2
|
import { PayloadArchivist, XyoArchivistGetQuery, XyoArchivistGetQuerySchema, XyoArchivistWrapper } from '@xyo-network/archivist'
|
|
3
3
|
import { PartialModuleConfig, XyoModuleResolverFunc } from '@xyo-network/module'
|
|
4
|
-
import { Huri,
|
|
4
|
+
import { Huri, PayloadWrapper, XyoPayloads } from '@xyo-network/payload'
|
|
5
5
|
|
|
6
6
|
import { XyoDivinerDivineQuerySchema } from '../../Queries'
|
|
7
7
|
import { profile } from '../lib'
|
|
@@ -26,16 +26,25 @@ export class XyoArchivistPayloadDiviner extends XyoPayloadDiviner<XyoArchivistPa
|
|
|
26
26
|
return [XyoDivinerDivineQuerySchema, ...super.queries()]
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
public async divine(payloads?: XyoPayloads): Promise<
|
|
30
|
-
const
|
|
31
|
-
|
|
29
|
+
public async divine(context?: string, payloads?: XyoPayloads): Promise<XyoPayloads> {
|
|
30
|
+
const huriPayloads = assertEx(
|
|
31
|
+
payloads?.filter((payload): payload is XyoHuriPayload => payload?.schema === XyoHuriSchema),
|
|
32
|
+
`no huri payloads provided: ${JSON.stringify(payloads, null, 2)}`,
|
|
33
|
+
)
|
|
34
|
+
const huriPayload = context
|
|
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)
|
|
32
41
|
const activeArchivist = this.archivist
|
|
33
42
|
if (activeArchivist) {
|
|
34
|
-
const query: XyoArchivistGetQuery = { hashes
|
|
43
|
+
const query: XyoArchivistGetQuery = { hashes, schema: XyoArchivistGetQuerySchema }
|
|
35
44
|
const bw = (await this.bindPayloads([query]))[0]
|
|
36
|
-
const [[,
|
|
37
|
-
return
|
|
45
|
+
const [[, payloads]] = await profile(async () => await activeArchivist.query(bw, query))
|
|
46
|
+
return payloads
|
|
38
47
|
}
|
|
39
|
-
return
|
|
48
|
+
return []
|
|
40
49
|
}
|
|
41
50
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
|
-
import { Huri,
|
|
2
|
+
import { Huri, PayloadWrapper, XyoPayloads } from '@xyo-network/payload'
|
|
3
|
+
import compact from 'lodash/compact'
|
|
3
4
|
|
|
4
5
|
import { XyoDivinerDivineQuerySchema } from '../../Queries'
|
|
5
|
-
import { profile } from '../lib'
|
|
6
6
|
import { XyoHuriPayload, XyoHuriSchema } from '../XyoHuriPayload'
|
|
7
7
|
import { XyoPayloadDiviner } from '../XyoPayloadDiviner'
|
|
8
8
|
import { XyoHuriPayloadDivinerConfig } from './Config'
|
|
@@ -16,10 +16,12 @@ export class XyoHuriPayloadDiviner extends XyoPayloadDiviner<XyoHuriPayloadDivin
|
|
|
16
16
|
return [XyoDivinerDivineQuerySchema, ...super.queries()]
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
override async divine(payloads?: XyoPayloads): Promise<
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
|
|
19
|
+
override async divine(context?: string, payloads?: XyoPayloads): Promise<XyoPayloads> {
|
|
20
|
+
const huriPayloads = assertEx(payloads?.filter((payload): payload is XyoHuriPayload => payload?.schema === XyoHuriSchema))
|
|
21
|
+
const huriPayload = assertEx(huriPayloads.find((payload) => PayloadWrapper.hash(payload) === context))
|
|
22
|
+
const huriObj = huriPayload.huri.map((huri) => new Huri(huri))
|
|
23
|
+
|
|
24
|
+
const settled = await Promise.allSettled(huriObj.map((huri) => huri.fetch()))
|
|
25
|
+
return compact(settled.map((settle) => (settle.status === 'fulfilled' ? settle.value : null)))
|
|
24
26
|
}
|
|
25
27
|
}
|
package/src/Queries/Divine.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { XyoQuery } from '@xyo-network/module'
|
|
2
|
-
import {
|
|
2
|
+
import { XyoPayloads } from '@xyo-network/payload'
|
|
3
3
|
|
|
4
4
|
export type XyoDivinerDivineQuerySchema = 'network.xyo.query.diviner.divine'
|
|
5
5
|
export const XyoDivinerDivineQuerySchema: XyoDivinerDivineQuerySchema = 'network.xyo.query.diviner.divine'
|
|
6
6
|
|
|
7
|
-
export type XyoDivinerDivineQuery
|
|
7
|
+
export type XyoDivinerDivineQuery = XyoQuery<{
|
|
8
8
|
schema: XyoDivinerDivineQuerySchema
|
|
9
|
-
|
|
9
|
+
context?: string
|
|
10
|
+
payloads?: XyoPayloads
|
|
10
11
|
}>
|
package/src/Queries/index.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
export * from './Divine'
|
|
2
2
|
|
|
3
3
|
import { XyoModuleQuery, XyoQuery } from '@xyo-network/module'
|
|
4
|
-
import { XyoPayload } from '@xyo-network/payload'
|
|
5
4
|
|
|
6
5
|
import { XyoDivinerDivineQuery } from './Divine'
|
|
7
6
|
|
|
8
|
-
export type XyoDivinerQueryBase
|
|
7
|
+
export type XyoDivinerQueryBase = XyoDivinerDivineQuery
|
|
9
8
|
|
|
10
9
|
export type XyoDivinerQuery<TQuery extends XyoQuery | void = void> = XyoModuleQuery<
|
|
11
|
-
TQuery extends XyoQuery ? XyoDivinerQueryBase
|
|
10
|
+
TQuery extends XyoQuery ? XyoDivinerQueryBase | TQuery : XyoDivinerQueryBase
|
|
12
11
|
>
|
package/src/XyoDiviner.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { DivinerModule } from './Diviner'
|
|
|
10
10
|
import { XyoDivinerDivineQuerySchema, XyoDivinerQuery } from './Queries'
|
|
11
11
|
|
|
12
12
|
export abstract class XyoDiviner<TConfig extends XyoDivinerConfig = XyoDivinerConfig> extends XyoModule<TConfig> implements DivinerModule {
|
|
13
|
-
abstract divine(
|
|
13
|
+
abstract divine(context?: string, data?: XyoPayloads): Promisable<XyoPayloads>
|
|
14
14
|
|
|
15
15
|
public override queries(): string[] {
|
|
16
16
|
return [XyoModuleInitializeQuerySchema, XyoModuleShutdownQuerySchema, XyoDivinerDivineQuerySchema]
|
|
@@ -28,7 +28,7 @@ export abstract class XyoDiviner<TConfig extends XyoDivinerConfig = XyoDivinerCo
|
|
|
28
28
|
const typedQuery = query as XyoDivinerQuery
|
|
29
29
|
switch (typedQuery.schema) {
|
|
30
30
|
case XyoDivinerDivineQuerySchema:
|
|
31
|
-
payloads.push(await this.divine(typedQuery.payloads))
|
|
31
|
+
payloads.push(...(await this.divine(typedQuery.context, typedQuery.payloads)))
|
|
32
32
|
break
|
|
33
33
|
default:
|
|
34
34
|
return super.query(bw, typedQuery)
|
package/src/XyoDivinerWrapper.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { XyoModuleWrapper } from '@xyo-network/module'
|
|
2
|
-
import {
|
|
2
|
+
import { 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(payloads?: XyoPayloads): Promise<
|
|
9
|
-
const query: XyoDivinerDivineQuery = { payloads, schema: XyoDivinerDivineQuerySchema }
|
|
8
|
+
async divine(context?: string, payloads?: XyoPayloads): Promise<XyoPayloads> {
|
|
9
|
+
const query: XyoDivinerDivineQuery = { context, payloads, schema: XyoDivinerDivineQuerySchema }
|
|
10
10
|
const bw = (await this.bindPayloads([query]))[0]
|
|
11
|
-
return (await this.module.query(bw, query))[1]
|
|
11
|
+
return (await this.module.query(bw, query))[1]
|
|
12
12
|
}
|
|
13
13
|
}
|