@xyo-network/diviner-boundwitness-memory 2.88.3 → 2.89.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/browser/MemoryBoundWitnessDiviner.d.cts.map +1 -1
- package/dist/browser/MemoryBoundWitnessDiviner.d.mts.map +1 -1
- package/dist/browser/MemoryBoundWitnessDiviner.d.ts.map +1 -1
- package/dist/browser/index.cjs +3 -1
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +3 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/node/MemoryBoundWitnessDiviner.d.cts.map +1 -1
- package/dist/node/MemoryBoundWitnessDiviner.d.mts.map +1 -1
- package/dist/node/MemoryBoundWitnessDiviner.d.ts.map +1 -1
- package/dist/node/index.cjs +3 -1
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +3 -1
- package/dist/node/index.js.map +1 -1
- package/package.json +7 -6
- package/src/MemoryBoundWitnessDiviner.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryBoundWitnessDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryBoundWitnessDiviner.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAChF,OAAO,EAEL,yBAAyB,EAE1B,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,8CAAoC;cAExC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"MemoryBoundWitnessDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryBoundWitnessDiviner.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAChF,OAAO,EAEL,yBAAyB,EAE1B,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,8CAAoC;cAExC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAgBjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryBoundWitnessDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryBoundWitnessDiviner.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAChF,OAAO,EAEL,yBAAyB,EAE1B,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,8CAAoC;cAExC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"MemoryBoundWitnessDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryBoundWitnessDiviner.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAChF,OAAO,EAEL,yBAAyB,EAE1B,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,8CAAoC;cAExC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAgBjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryBoundWitnessDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryBoundWitnessDiviner.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAChF,OAAO,EAEL,yBAAyB,EAE1B,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,8CAAoC;cAExC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"MemoryBoundWitnessDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryBoundWitnessDiviner.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAChF,OAAO,EAEL,yBAAyB,EAE1B,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,8CAAoC;cAExC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAgBjF"}
|
package/dist/browser/index.cjs
CHANGED
|
@@ -45,7 +45,7 @@ var MemoryBoundWitnessDiviner = class extends import_diviner_boundwitness_abstra
|
|
|
45
45
|
if (!filter)
|
|
46
46
|
return [];
|
|
47
47
|
const archivist = (0, import_assert.assertEx)(await this.getArchivist(), "Unable to resolve archivist");
|
|
48
|
-
const { addresses, payload_hashes, payload_schemas, limit, offset, order } = filter;
|
|
48
|
+
const { addresses, payload_hashes, payload_schemas, limit, offset, order, sourceQuery } = filter;
|
|
49
49
|
let bws = (await archivist?.all?.() ?? []).filter(import_boundwitness_model.isBoundWitness);
|
|
50
50
|
if (order === "desc")
|
|
51
51
|
bws = bws.reverse();
|
|
@@ -56,6 +56,8 @@ var MemoryBoundWitnessDiviner = class extends import_diviner_boundwitness_abstra
|
|
|
56
56
|
bws = bws.filter((bw) => (0, import_array.containsAll)(bw.payload_hashes, payload_hashes));
|
|
57
57
|
if (payload_schemas?.length)
|
|
58
58
|
bws = bws.filter((bw) => (0, import_array.containsAll)(bw.payload_schemas, payload_schemas));
|
|
59
|
+
if (sourceQuery)
|
|
60
|
+
bws = bws.filter((bw) => bw.sourceQuery === sourceQuery);
|
|
59
61
|
const parsedLimit = limit ?? bws.length;
|
|
60
62
|
const parsedOffset = offset ?? 0;
|
|
61
63
|
return bws.slice(parsedOffset, parsedLimit);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/MemoryBoundWitnessDiviner.ts"],"sourcesContent":["export * from './MemoryBoundWitnessDiviner'\n","import { containsAll } from '@xylabs/array'\nimport { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { hexFromHexString } from '@xylabs/hex'\nimport { isBoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract'\nimport {\n BoundWitnessDivinerConfigSchema,\n BoundWitnessDivinerParams,\n isBoundWitnessDivinerQueryPayload,\n} from '@xyo-network/diviner-boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemoryBoundWitnessDiviner<TParams extends BoundWitnessDivinerParams = BoundWitnessDivinerParams> extends BoundWitnessDiviner<TParams> {\n static override configSchemas = [BoundWitnessDivinerConfigSchema]\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const filter = assertEx(payloads?.filter(isBoundWitnessDivinerQueryPayload)?.pop(), 'Missing query payload')\n if (!filter) return []\n const archivist = assertEx(await this.getArchivist(), 'Unable to resolve archivist')\n const { addresses, payload_hashes, payload_schemas, limit, offset, order } = filter\n let bws = ((await archivist?.all?.()) ?? []).filter(isBoundWitness)\n if (order === 'desc') bws = bws.reverse()\n const allAddresses = addresses?.map((address) => hexFromHexString(address)).filter(exists)\n if (allAddresses?.length) bws = bws.filter((bw) => containsAll(bw.addresses, allAddresses))\n if (payload_hashes?.length) bws = bws.filter((bw) => containsAll(bw.payload_hashes, payload_hashes))\n if (payload_schemas?.length) bws = bws.filter((bw) => containsAll(bw.payload_schemas, payload_schemas))\n const parsedLimit = limit ?? bws.length\n const parsedOffset = offset ?? 0\n return bws.slice(parsedOffset, parsedLimit)\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACAA,mBAA4B;AAC5B,oBAAyB;AACzB,oBAAuB;AACvB,iBAAiC;AACjC,gCAA+B;AAC/B,2CAAoC;AACpC,wCAIO;AAGA,IAAMA,4BAAN,cAA+GC,yDAAAA;EAbtH,OAasHA;;;EACpH,OAAgBC,gBAAgB;IAACC;;EAEjC,MAAyBC,cAAcC,UAA0C;AAC/E,UAAMC,aAASC,wBAASF,UAAUC,OAAOE,mEAAAA,GAAoCC,IAAAA,GAAO,uBAAA;AACpF,QAAI,CAACH;AAAQ,aAAO,CAAA;AACpB,UAAMI,gBAAYH,wBAAS,MAAM,KAAKI,aAAY,GAAI,6BAAA;AACtD,UAAM,EAAEC,WAAWC,gBAAgBC,iBAAiBC,OAAOC,QAAQC,
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/MemoryBoundWitnessDiviner.ts"],"sourcesContent":["export * from './MemoryBoundWitnessDiviner'\n","import { containsAll } from '@xylabs/array'\nimport { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { hexFromHexString } from '@xylabs/hex'\nimport { isBoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract'\nimport {\n BoundWitnessDivinerConfigSchema,\n BoundWitnessDivinerParams,\n isBoundWitnessDivinerQueryPayload,\n} from '@xyo-network/diviner-boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemoryBoundWitnessDiviner<TParams extends BoundWitnessDivinerParams = BoundWitnessDivinerParams> extends BoundWitnessDiviner<TParams> {\n static override configSchemas = [BoundWitnessDivinerConfigSchema]\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const filter = assertEx(payloads?.filter(isBoundWitnessDivinerQueryPayload)?.pop(), 'Missing query payload')\n if (!filter) return []\n const archivist = assertEx(await this.getArchivist(), 'Unable to resolve archivist')\n const { addresses, payload_hashes, payload_schemas, limit, offset, order, sourceQuery } = filter\n let bws = ((await archivist?.all?.()) ?? []).filter(isBoundWitness)\n if (order === 'desc') bws = bws.reverse()\n const allAddresses = addresses?.map((address) => hexFromHexString(address)).filter(exists)\n if (allAddresses?.length) bws = bws.filter((bw) => containsAll(bw.addresses, allAddresses))\n if (payload_hashes?.length) bws = bws.filter((bw) => containsAll(bw.payload_hashes, payload_hashes))\n if (payload_schemas?.length) bws = bws.filter((bw) => containsAll(bw.payload_schemas, payload_schemas))\n if (sourceQuery) bws = bws.filter((bw) => bw.sourceQuery === sourceQuery)\n const parsedLimit = limit ?? bws.length\n const parsedOffset = offset ?? 0\n return bws.slice(parsedOffset, parsedLimit)\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACAA,mBAA4B;AAC5B,oBAAyB;AACzB,oBAAuB;AACvB,iBAAiC;AACjC,gCAA+B;AAC/B,2CAAoC;AACpC,wCAIO;AAGA,IAAMA,4BAAN,cAA+GC,yDAAAA;EAbtH,OAasHA;;;EACpH,OAAgBC,gBAAgB;IAACC;;EAEjC,MAAyBC,cAAcC,UAA0C;AAC/E,UAAMC,aAASC,wBAASF,UAAUC,OAAOE,mEAAAA,GAAoCC,IAAAA,GAAO,uBAAA;AACpF,QAAI,CAACH;AAAQ,aAAO,CAAA;AACpB,UAAMI,gBAAYH,wBAAS,MAAM,KAAKI,aAAY,GAAI,6BAAA;AACtD,UAAM,EAAEC,WAAWC,gBAAgBC,iBAAiBC,OAAOC,QAAQC,OAAOC,YAAW,IAAKZ;AAC1F,QAAIa,OAAQ,MAAMT,WAAWU,MAAAA,KAAY,CAAA,GAAId,OAAOe,wCAAAA;AACpD,QAAIJ,UAAU;AAAQE,YAAMA,IAAIG,QAAO;AACvC,UAAMC,eAAeX,WAAWY,IAAI,CAACC,gBAAYC,6BAAiBD,OAAAA,CAAAA,EAAUnB,OAAOqB,oBAAAA;AACnF,QAAIJ,cAAcK;AAAQT,YAAMA,IAAIb,OAAO,CAACuB,WAAOC,0BAAYD,GAAGjB,WAAWW,YAAAA,CAAAA;AAC7E,QAAIV,gBAAgBe;AAAQT,YAAMA,IAAIb,OAAO,CAACuB,WAAOC,0BAAYD,GAAGhB,gBAAgBA,cAAAA,CAAAA;AACpF,QAAIC,iBAAiBc;AAAQT,YAAMA,IAAIb,OAAO,CAACuB,WAAOC,0BAAYD,GAAGf,iBAAiBA,eAAAA,CAAAA;AACtF,QAAII;AAAaC,YAAMA,IAAIb,OAAO,CAACuB,OAAOA,GAAGX,gBAAgBA,WAAAA;AAC7D,UAAMa,cAAchB,SAASI,IAAIS;AACjC,UAAMI,eAAehB,UAAU;AAC/B,WAAOG,IAAIc,MAAMD,cAAcD,WAAAA;EACjC;AACF;","names":["MemoryBoundWitnessDiviner","BoundWitnessDiviner","configSchemas","BoundWitnessDivinerConfigSchema","divineHandler","payloads","filter","assertEx","isBoundWitnessDivinerQueryPayload","pop","archivist","getArchivist","addresses","payload_hashes","payload_schemas","limit","offset","order","sourceQuery","bws","all","isBoundWitness","reverse","allAddresses","map","address","hexFromHexString","exists","length","bw","containsAll","parsedLimit","parsedOffset","slice"]}
|
package/dist/browser/index.js
CHANGED
|
@@ -21,7 +21,7 @@ var MemoryBoundWitnessDiviner = class extends BoundWitnessDiviner {
|
|
|
21
21
|
if (!filter)
|
|
22
22
|
return [];
|
|
23
23
|
const archivist = assertEx(await this.getArchivist(), "Unable to resolve archivist");
|
|
24
|
-
const { addresses, payload_hashes, payload_schemas, limit, offset, order } = filter;
|
|
24
|
+
const { addresses, payload_hashes, payload_schemas, limit, offset, order, sourceQuery } = filter;
|
|
25
25
|
let bws = (await archivist?.all?.() ?? []).filter(isBoundWitness);
|
|
26
26
|
if (order === "desc")
|
|
27
27
|
bws = bws.reverse();
|
|
@@ -32,6 +32,8 @@ var MemoryBoundWitnessDiviner = class extends BoundWitnessDiviner {
|
|
|
32
32
|
bws = bws.filter((bw) => containsAll(bw.payload_hashes, payload_hashes));
|
|
33
33
|
if (payload_schemas?.length)
|
|
34
34
|
bws = bws.filter((bw) => containsAll(bw.payload_schemas, payload_schemas));
|
|
35
|
+
if (sourceQuery)
|
|
36
|
+
bws = bws.filter((bw) => bw.sourceQuery === sourceQuery);
|
|
35
37
|
const parsedLimit = limit ?? bws.length;
|
|
36
38
|
const parsedOffset = offset ?? 0;
|
|
37
39
|
return bws.slice(parsedOffset, parsedLimit);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/MemoryBoundWitnessDiviner.ts"],"sourcesContent":["import { containsAll } from '@xylabs/array'\nimport { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { hexFromHexString } from '@xylabs/hex'\nimport { isBoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract'\nimport {\n BoundWitnessDivinerConfigSchema,\n BoundWitnessDivinerParams,\n isBoundWitnessDivinerQueryPayload,\n} from '@xyo-network/diviner-boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemoryBoundWitnessDiviner<TParams extends BoundWitnessDivinerParams = BoundWitnessDivinerParams> extends BoundWitnessDiviner<TParams> {\n static override configSchemas = [BoundWitnessDivinerConfigSchema]\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const filter = assertEx(payloads?.filter(isBoundWitnessDivinerQueryPayload)?.pop(), 'Missing query payload')\n if (!filter) return []\n const archivist = assertEx(await this.getArchivist(), 'Unable to resolve archivist')\n const { addresses, payload_hashes, payload_schemas, limit, offset, order } = filter\n let bws = ((await archivist?.all?.()) ?? []).filter(isBoundWitness)\n if (order === 'desc') bws = bws.reverse()\n const allAddresses = addresses?.map((address) => hexFromHexString(address)).filter(exists)\n if (allAddresses?.length) bws = bws.filter((bw) => containsAll(bw.addresses, allAddresses))\n if (payload_hashes?.length) bws = bws.filter((bw) => containsAll(bw.payload_hashes, payload_hashes))\n if (payload_schemas?.length) bws = bws.filter((bw) => containsAll(bw.payload_schemas, payload_schemas))\n const parsedLimit = limit ?? bws.length\n const parsedOffset = offset ?? 0\n return bws.slice(parsedOffset, parsedLimit)\n }\n}\n"],"mappings":";;;;AAAA,SAASA,mBAAmB;AAC5B,SAASC,gBAAgB;AACzB,SAASC,cAAc;AACvB,SAASC,wBAAwB;AACjC,SAASC,sBAAsB;AAC/B,SAASC,2BAA2B;AACpC,SACEC,iCAEAC,yCACK;AAGA,IAAMC,4BAAN,cAA+GC,oBAAAA;EAbtH,OAasHA;;;EACpH,OAAgBC,gBAAgB;IAACC;;EAEjC,MAAyBC,cAAcC,UAA0C;AAC/E,UAAMC,SAASC,SAASF,UAAUC,OAAOE,iCAAAA,GAAoCC,IAAAA,GAAO,uBAAA;AACpF,QAAI,CAACH;AAAQ,aAAO,CAAA;AACpB,UAAMI,YAAYH,SAAS,MAAM,KAAKI,aAAY,GAAI,6BAAA;AACtD,UAAM,EAAEC,WAAWC,gBAAgBC,iBAAiBC,OAAOC,QAAQC,
|
|
1
|
+
{"version":3,"sources":["../../src/MemoryBoundWitnessDiviner.ts"],"sourcesContent":["import { containsAll } from '@xylabs/array'\nimport { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { hexFromHexString } from '@xylabs/hex'\nimport { isBoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract'\nimport {\n BoundWitnessDivinerConfigSchema,\n BoundWitnessDivinerParams,\n isBoundWitnessDivinerQueryPayload,\n} from '@xyo-network/diviner-boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemoryBoundWitnessDiviner<TParams extends BoundWitnessDivinerParams = BoundWitnessDivinerParams> extends BoundWitnessDiviner<TParams> {\n static override configSchemas = [BoundWitnessDivinerConfigSchema]\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const filter = assertEx(payloads?.filter(isBoundWitnessDivinerQueryPayload)?.pop(), 'Missing query payload')\n if (!filter) return []\n const archivist = assertEx(await this.getArchivist(), 'Unable to resolve archivist')\n const { addresses, payload_hashes, payload_schemas, limit, offset, order, sourceQuery } = filter\n let bws = ((await archivist?.all?.()) ?? []).filter(isBoundWitness)\n if (order === 'desc') bws = bws.reverse()\n const allAddresses = addresses?.map((address) => hexFromHexString(address)).filter(exists)\n if (allAddresses?.length) bws = bws.filter((bw) => containsAll(bw.addresses, allAddresses))\n if (payload_hashes?.length) bws = bws.filter((bw) => containsAll(bw.payload_hashes, payload_hashes))\n if (payload_schemas?.length) bws = bws.filter((bw) => containsAll(bw.payload_schemas, payload_schemas))\n if (sourceQuery) bws = bws.filter((bw) => bw.sourceQuery === sourceQuery)\n const parsedLimit = limit ?? bws.length\n const parsedOffset = offset ?? 0\n return bws.slice(parsedOffset, parsedLimit)\n }\n}\n"],"mappings":";;;;AAAA,SAASA,mBAAmB;AAC5B,SAASC,gBAAgB;AACzB,SAASC,cAAc;AACvB,SAASC,wBAAwB;AACjC,SAASC,sBAAsB;AAC/B,SAASC,2BAA2B;AACpC,SACEC,iCAEAC,yCACK;AAGA,IAAMC,4BAAN,cAA+GC,oBAAAA;EAbtH,OAasHA;;;EACpH,OAAgBC,gBAAgB;IAACC;;EAEjC,MAAyBC,cAAcC,UAA0C;AAC/E,UAAMC,SAASC,SAASF,UAAUC,OAAOE,iCAAAA,GAAoCC,IAAAA,GAAO,uBAAA;AACpF,QAAI,CAACH;AAAQ,aAAO,CAAA;AACpB,UAAMI,YAAYH,SAAS,MAAM,KAAKI,aAAY,GAAI,6BAAA;AACtD,UAAM,EAAEC,WAAWC,gBAAgBC,iBAAiBC,OAAOC,QAAQC,OAAOC,YAAW,IAAKZ;AAC1F,QAAIa,OAAQ,MAAMT,WAAWU,MAAAA,KAAY,CAAA,GAAId,OAAOe,cAAAA;AACpD,QAAIJ,UAAU;AAAQE,YAAMA,IAAIG,QAAO;AACvC,UAAMC,eAAeX,WAAWY,IAAI,CAACC,YAAYC,iBAAiBD,OAAAA,CAAAA,EAAUnB,OAAOqB,MAAAA;AACnF,QAAIJ,cAAcK;AAAQT,YAAMA,IAAIb,OAAO,CAACuB,OAAOC,YAAYD,GAAGjB,WAAWW,YAAAA,CAAAA;AAC7E,QAAIV,gBAAgBe;AAAQT,YAAMA,IAAIb,OAAO,CAACuB,OAAOC,YAAYD,GAAGhB,gBAAgBA,cAAAA,CAAAA;AACpF,QAAIC,iBAAiBc;AAAQT,YAAMA,IAAIb,OAAO,CAACuB,OAAOC,YAAYD,GAAGf,iBAAiBA,eAAAA,CAAAA;AACtF,QAAII;AAAaC,YAAMA,IAAIb,OAAO,CAACuB,OAAOA,GAAGX,gBAAgBA,WAAAA;AAC7D,UAAMa,cAAchB,SAASI,IAAIS;AACjC,UAAMI,eAAehB,UAAU;AAC/B,WAAOG,IAAIc,MAAMD,cAAcD,WAAAA;EACjC;AACF;","names":["containsAll","assertEx","exists","hexFromHexString","isBoundWitness","BoundWitnessDiviner","BoundWitnessDivinerConfigSchema","isBoundWitnessDivinerQueryPayload","MemoryBoundWitnessDiviner","BoundWitnessDiviner","configSchemas","BoundWitnessDivinerConfigSchema","divineHandler","payloads","filter","assertEx","isBoundWitnessDivinerQueryPayload","pop","archivist","getArchivist","addresses","payload_hashes","payload_schemas","limit","offset","order","sourceQuery","bws","all","isBoundWitness","reverse","allAddresses","map","address","hexFromHexString","exists","length","bw","containsAll","parsedLimit","parsedOffset","slice"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryBoundWitnessDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryBoundWitnessDiviner.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAChF,OAAO,EAEL,yBAAyB,EAE1B,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,8CAAoC;cAExC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"MemoryBoundWitnessDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryBoundWitnessDiviner.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAChF,OAAO,EAEL,yBAAyB,EAE1B,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,8CAAoC;cAExC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAgBjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryBoundWitnessDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryBoundWitnessDiviner.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAChF,OAAO,EAEL,yBAAyB,EAE1B,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,8CAAoC;cAExC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"MemoryBoundWitnessDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryBoundWitnessDiviner.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAChF,OAAO,EAEL,yBAAyB,EAE1B,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,8CAAoC;cAExC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAgBjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryBoundWitnessDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryBoundWitnessDiviner.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAChF,OAAO,EAEL,yBAAyB,EAE1B,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,8CAAoC;cAExC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"MemoryBoundWitnessDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryBoundWitnessDiviner.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAChF,OAAO,EAEL,yBAAyB,EAE1B,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,8CAAoC;cAExC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAgBjF"}
|
package/dist/node/index.cjs
CHANGED
|
@@ -45,7 +45,7 @@ var _MemoryBoundWitnessDiviner = class _MemoryBoundWitnessDiviner extends import
|
|
|
45
45
|
if (!filter)
|
|
46
46
|
return [];
|
|
47
47
|
const archivist = (0, import_assert.assertEx)(await this.getArchivist(), "Unable to resolve archivist");
|
|
48
|
-
const { addresses, payload_hashes, payload_schemas, limit, offset, order } = filter;
|
|
48
|
+
const { addresses, payload_hashes, payload_schemas, limit, offset, order, sourceQuery } = filter;
|
|
49
49
|
let bws = (await ((_b = archivist == null ? void 0 : archivist.all) == null ? void 0 : _b.call(archivist)) ?? []).filter(import_boundwitness_model.isBoundWitness);
|
|
50
50
|
if (order === "desc")
|
|
51
51
|
bws = bws.reverse();
|
|
@@ -56,6 +56,8 @@ var _MemoryBoundWitnessDiviner = class _MemoryBoundWitnessDiviner extends import
|
|
|
56
56
|
bws = bws.filter((bw) => (0, import_array.containsAll)(bw.payload_hashes, payload_hashes));
|
|
57
57
|
if (payload_schemas == null ? void 0 : payload_schemas.length)
|
|
58
58
|
bws = bws.filter((bw) => (0, import_array.containsAll)(bw.payload_schemas, payload_schemas));
|
|
59
|
+
if (sourceQuery)
|
|
60
|
+
bws = bws.filter((bw) => bw.sourceQuery === sourceQuery);
|
|
59
61
|
const parsedLimit = limit ?? bws.length;
|
|
60
62
|
const parsedOffset = offset ?? 0;
|
|
61
63
|
return bws.slice(parsedOffset, parsedLimit);
|
package/dist/node/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/MemoryBoundWitnessDiviner.ts"],"sourcesContent":["export * from './MemoryBoundWitnessDiviner'\n","import { containsAll } from '@xylabs/array'\nimport { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { hexFromHexString } from '@xylabs/hex'\nimport { isBoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract'\nimport {\n BoundWitnessDivinerConfigSchema,\n BoundWitnessDivinerParams,\n isBoundWitnessDivinerQueryPayload,\n} from '@xyo-network/diviner-boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemoryBoundWitnessDiviner<TParams extends BoundWitnessDivinerParams = BoundWitnessDivinerParams> extends BoundWitnessDiviner<TParams> {\n static override configSchemas = [BoundWitnessDivinerConfigSchema]\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const filter = assertEx(payloads?.filter(isBoundWitnessDivinerQueryPayload)?.pop(), 'Missing query payload')\n if (!filter) return []\n const archivist = assertEx(await this.getArchivist(), 'Unable to resolve archivist')\n const { addresses, payload_hashes, payload_schemas, limit, offset, order } = filter\n let bws = ((await archivist?.all?.()) ?? []).filter(isBoundWitness)\n if (order === 'desc') bws = bws.reverse()\n const allAddresses = addresses?.map((address) => hexFromHexString(address)).filter(exists)\n if (allAddresses?.length) bws = bws.filter((bw) => containsAll(bw.addresses, allAddresses))\n if (payload_hashes?.length) bws = bws.filter((bw) => containsAll(bw.payload_hashes, payload_hashes))\n if (payload_schemas?.length) bws = bws.filter((bw) => containsAll(bw.payload_schemas, payload_schemas))\n const parsedLimit = limit ?? bws.length\n const parsedOffset = offset ?? 0\n return bws.slice(parsedOffset, parsedLimit)\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACAA,mBAA4B;AAC5B,oBAAyB;AACzB,oBAAuB;AACvB,iBAAiC;AACjC,gCAA+B;AAC/B,2CAAoC;AACpC,wCAIO;AAGA,IAAMA,6BAAN,MAAMA,mCAAyGC,yDAAAA;EAGpH,MAAyBC,cAAcC,UAA0C;AAhBnF;AAiBI,UAAMC,aAASC,yBAASF,0CAAUC,OAAOE,yEAAjBH,mBAAqDI,OAAO,uBAAA;AACpF,QAAI,CAACH;AAAQ,aAAO,CAAA;AACpB,UAAMI,gBAAYH,wBAAS,MAAM,KAAKI,aAAY,GAAI,6BAAA;AACtD,UAAM,EAAEC,WAAWC,gBAAgBC,iBAAiBC,OAAOC,QAAQC,
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/MemoryBoundWitnessDiviner.ts"],"sourcesContent":["export * from './MemoryBoundWitnessDiviner'\n","import { containsAll } from '@xylabs/array'\nimport { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { hexFromHexString } from '@xylabs/hex'\nimport { isBoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract'\nimport {\n BoundWitnessDivinerConfigSchema,\n BoundWitnessDivinerParams,\n isBoundWitnessDivinerQueryPayload,\n} from '@xyo-network/diviner-boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemoryBoundWitnessDiviner<TParams extends BoundWitnessDivinerParams = BoundWitnessDivinerParams> extends BoundWitnessDiviner<TParams> {\n static override configSchemas = [BoundWitnessDivinerConfigSchema]\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const filter = assertEx(payloads?.filter(isBoundWitnessDivinerQueryPayload)?.pop(), 'Missing query payload')\n if (!filter) return []\n const archivist = assertEx(await this.getArchivist(), 'Unable to resolve archivist')\n const { addresses, payload_hashes, payload_schemas, limit, offset, order, sourceQuery } = filter\n let bws = ((await archivist?.all?.()) ?? []).filter(isBoundWitness)\n if (order === 'desc') bws = bws.reverse()\n const allAddresses = addresses?.map((address) => hexFromHexString(address)).filter(exists)\n if (allAddresses?.length) bws = bws.filter((bw) => containsAll(bw.addresses, allAddresses))\n if (payload_hashes?.length) bws = bws.filter((bw) => containsAll(bw.payload_hashes, payload_hashes))\n if (payload_schemas?.length) bws = bws.filter((bw) => containsAll(bw.payload_schemas, payload_schemas))\n if (sourceQuery) bws = bws.filter((bw) => bw.sourceQuery === sourceQuery)\n const parsedLimit = limit ?? bws.length\n const parsedOffset = offset ?? 0\n return bws.slice(parsedOffset, parsedLimit)\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACAA,mBAA4B;AAC5B,oBAAyB;AACzB,oBAAuB;AACvB,iBAAiC;AACjC,gCAA+B;AAC/B,2CAAoC;AACpC,wCAIO;AAGA,IAAMA,6BAAN,MAAMA,mCAAyGC,yDAAAA;EAGpH,MAAyBC,cAAcC,UAA0C;AAhBnF;AAiBI,UAAMC,aAASC,yBAASF,0CAAUC,OAAOE,yEAAjBH,mBAAqDI,OAAO,uBAAA;AACpF,QAAI,CAACH;AAAQ,aAAO,CAAA;AACpB,UAAMI,gBAAYH,wBAAS,MAAM,KAAKI,aAAY,GAAI,6BAAA;AACtD,UAAM,EAAEC,WAAWC,gBAAgBC,iBAAiBC,OAAOC,QAAQC,OAAOC,YAAW,IAAKZ;AAC1F,QAAIa,OAAQ,QAAMT,4CAAWU,QAAXV,uCAAuB,CAAA,GAAIJ,OAAOe,wCAAAA;AACpD,QAAIJ,UAAU;AAAQE,YAAMA,IAAIG,QAAO;AACvC,UAAMC,eAAeX,uCAAWY,IAAI,CAACC,gBAAYC,6BAAiBD,OAAAA,GAAUnB,OAAOqB;AACnF,QAAIJ,6CAAcK;AAAQT,YAAMA,IAAIb,OAAO,CAACuB,WAAOC,0BAAYD,GAAGjB,WAAWW,YAAAA,CAAAA;AAC7E,QAAIV,iDAAgBe;AAAQT,YAAMA,IAAIb,OAAO,CAACuB,WAAOC,0BAAYD,GAAGhB,gBAAgBA,cAAAA,CAAAA;AACpF,QAAIC,mDAAiBc;AAAQT,YAAMA,IAAIb,OAAO,CAACuB,WAAOC,0BAAYD,GAAGf,iBAAiBA,eAAAA,CAAAA;AACtF,QAAII;AAAaC,YAAMA,IAAIb,OAAO,CAACuB,OAAOA,GAAGX,gBAAgBA,WAAAA;AAC7D,UAAMa,cAAchB,SAASI,IAAIS;AACjC,UAAMI,eAAehB,UAAU;AAC/B,WAAOG,IAAIc,MAAMD,cAAcD,WAAAA;EACjC;AACF;AAnBsH5B;AACpH,cADWD,4BACKgC,iBAAgB;EAACC;;AAD5B,IAAMjC,4BAAN;","names":["MemoryBoundWitnessDiviner","BoundWitnessDiviner","divineHandler","payloads","filter","assertEx","isBoundWitnessDivinerQueryPayload","pop","archivist","getArchivist","addresses","payload_hashes","payload_schemas","limit","offset","order","sourceQuery","bws","all","isBoundWitness","reverse","allAddresses","map","address","hexFromHexString","exists","length","bw","containsAll","parsedLimit","parsedOffset","slice","configSchemas","BoundWitnessDivinerConfigSchema"]}
|
package/dist/node/index.js
CHANGED
|
@@ -21,7 +21,7 @@ var _MemoryBoundWitnessDiviner = class _MemoryBoundWitnessDiviner extends BoundW
|
|
|
21
21
|
if (!filter)
|
|
22
22
|
return [];
|
|
23
23
|
const archivist = assertEx(await this.getArchivist(), "Unable to resolve archivist");
|
|
24
|
-
const { addresses, payload_hashes, payload_schemas, limit, offset, order } = filter;
|
|
24
|
+
const { addresses, payload_hashes, payload_schemas, limit, offset, order, sourceQuery } = filter;
|
|
25
25
|
let bws = (await ((_b = archivist == null ? void 0 : archivist.all) == null ? void 0 : _b.call(archivist)) ?? []).filter(isBoundWitness);
|
|
26
26
|
if (order === "desc")
|
|
27
27
|
bws = bws.reverse();
|
|
@@ -32,6 +32,8 @@ var _MemoryBoundWitnessDiviner = class _MemoryBoundWitnessDiviner extends BoundW
|
|
|
32
32
|
bws = bws.filter((bw) => containsAll(bw.payload_hashes, payload_hashes));
|
|
33
33
|
if (payload_schemas == null ? void 0 : payload_schemas.length)
|
|
34
34
|
bws = bws.filter((bw) => containsAll(bw.payload_schemas, payload_schemas));
|
|
35
|
+
if (sourceQuery)
|
|
36
|
+
bws = bws.filter((bw) => bw.sourceQuery === sourceQuery);
|
|
35
37
|
const parsedLimit = limit ?? bws.length;
|
|
36
38
|
const parsedOffset = offset ?? 0;
|
|
37
39
|
return bws.slice(parsedOffset, parsedLimit);
|
package/dist/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/MemoryBoundWitnessDiviner.ts"],"sourcesContent":["import { containsAll } from '@xylabs/array'\nimport { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { hexFromHexString } from '@xylabs/hex'\nimport { isBoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract'\nimport {\n BoundWitnessDivinerConfigSchema,\n BoundWitnessDivinerParams,\n isBoundWitnessDivinerQueryPayload,\n} from '@xyo-network/diviner-boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemoryBoundWitnessDiviner<TParams extends BoundWitnessDivinerParams = BoundWitnessDivinerParams> extends BoundWitnessDiviner<TParams> {\n static override configSchemas = [BoundWitnessDivinerConfigSchema]\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const filter = assertEx(payloads?.filter(isBoundWitnessDivinerQueryPayload)?.pop(), 'Missing query payload')\n if (!filter) return []\n const archivist = assertEx(await this.getArchivist(), 'Unable to resolve archivist')\n const { addresses, payload_hashes, payload_schemas, limit, offset, order } = filter\n let bws = ((await archivist?.all?.()) ?? []).filter(isBoundWitness)\n if (order === 'desc') bws = bws.reverse()\n const allAddresses = addresses?.map((address) => hexFromHexString(address)).filter(exists)\n if (allAddresses?.length) bws = bws.filter((bw) => containsAll(bw.addresses, allAddresses))\n if (payload_hashes?.length) bws = bws.filter((bw) => containsAll(bw.payload_hashes, payload_hashes))\n if (payload_schemas?.length) bws = bws.filter((bw) => containsAll(bw.payload_schemas, payload_schemas))\n const parsedLimit = limit ?? bws.length\n const parsedOffset = offset ?? 0\n return bws.slice(parsedOffset, parsedLimit)\n }\n}\n"],"mappings":";;;;;;;;;AAAA,SAASA,mBAAmB;AAC5B,SAASC,gBAAgB;AACzB,SAASC,cAAc;AACvB,SAASC,wBAAwB;AACjC,SAASC,sBAAsB;AAC/B,SAASC,2BAA2B;AACpC,SACEC,iCAEAC,yCACK;AAGA,IAAMC,6BAAN,MAAMA,mCAAyGC,oBAAAA;EAGpH,MAAyBC,cAAcC,UAA0C;AAhBnF;AAiBI,UAAMC,SAASC,UAASF,0CAAUC,OAAOE,uCAAjBH,mBAAqDI,OAAO,uBAAA;AACpF,QAAI,CAACH;AAAQ,aAAO,CAAA;AACpB,UAAMI,YAAYH,SAAS,MAAM,KAAKI,aAAY,GAAI,6BAAA;AACtD,UAAM,EAAEC,WAAWC,gBAAgBC,iBAAiBC,OAAOC,QAAQC,
|
|
1
|
+
{"version":3,"sources":["../../src/MemoryBoundWitnessDiviner.ts"],"sourcesContent":["import { containsAll } from '@xylabs/array'\nimport { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { hexFromHexString } from '@xylabs/hex'\nimport { isBoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract'\nimport {\n BoundWitnessDivinerConfigSchema,\n BoundWitnessDivinerParams,\n isBoundWitnessDivinerQueryPayload,\n} from '@xyo-network/diviner-boundwitness-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemoryBoundWitnessDiviner<TParams extends BoundWitnessDivinerParams = BoundWitnessDivinerParams> extends BoundWitnessDiviner<TParams> {\n static override configSchemas = [BoundWitnessDivinerConfigSchema]\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const filter = assertEx(payloads?.filter(isBoundWitnessDivinerQueryPayload)?.pop(), 'Missing query payload')\n if (!filter) return []\n const archivist = assertEx(await this.getArchivist(), 'Unable to resolve archivist')\n const { addresses, payload_hashes, payload_schemas, limit, offset, order, sourceQuery } = filter\n let bws = ((await archivist?.all?.()) ?? []).filter(isBoundWitness)\n if (order === 'desc') bws = bws.reverse()\n const allAddresses = addresses?.map((address) => hexFromHexString(address)).filter(exists)\n if (allAddresses?.length) bws = bws.filter((bw) => containsAll(bw.addresses, allAddresses))\n if (payload_hashes?.length) bws = bws.filter((bw) => containsAll(bw.payload_hashes, payload_hashes))\n if (payload_schemas?.length) bws = bws.filter((bw) => containsAll(bw.payload_schemas, payload_schemas))\n if (sourceQuery) bws = bws.filter((bw) => bw.sourceQuery === sourceQuery)\n const parsedLimit = limit ?? bws.length\n const parsedOffset = offset ?? 0\n return bws.slice(parsedOffset, parsedLimit)\n }\n}\n"],"mappings":";;;;;;;;;AAAA,SAASA,mBAAmB;AAC5B,SAASC,gBAAgB;AACzB,SAASC,cAAc;AACvB,SAASC,wBAAwB;AACjC,SAASC,sBAAsB;AAC/B,SAASC,2BAA2B;AACpC,SACEC,iCAEAC,yCACK;AAGA,IAAMC,6BAAN,MAAMA,mCAAyGC,oBAAAA;EAGpH,MAAyBC,cAAcC,UAA0C;AAhBnF;AAiBI,UAAMC,SAASC,UAASF,0CAAUC,OAAOE,uCAAjBH,mBAAqDI,OAAO,uBAAA;AACpF,QAAI,CAACH;AAAQ,aAAO,CAAA;AACpB,UAAMI,YAAYH,SAAS,MAAM,KAAKI,aAAY,GAAI,6BAAA;AACtD,UAAM,EAAEC,WAAWC,gBAAgBC,iBAAiBC,OAAOC,QAAQC,OAAOC,YAAW,IAAKZ;AAC1F,QAAIa,OAAQ,QAAMT,4CAAWU,QAAXV,uCAAuB,CAAA,GAAIJ,OAAOe,cAAAA;AACpD,QAAIJ,UAAU;AAAQE,YAAMA,IAAIG,QAAO;AACvC,UAAMC,eAAeX,uCAAWY,IAAI,CAACC,YAAYC,iBAAiBD,OAAAA,GAAUnB,OAAOqB;AACnF,QAAIJ,6CAAcK;AAAQT,YAAMA,IAAIb,OAAO,CAACuB,OAAOC,YAAYD,GAAGjB,WAAWW,YAAAA,CAAAA;AAC7E,QAAIV,iDAAgBe;AAAQT,YAAMA,IAAIb,OAAO,CAACuB,OAAOC,YAAYD,GAAGhB,gBAAgBA,cAAAA,CAAAA;AACpF,QAAIC,mDAAiBc;AAAQT,YAAMA,IAAIb,OAAO,CAACuB,OAAOC,YAAYD,GAAGf,iBAAiBA,eAAAA,CAAAA;AACtF,QAAII;AAAaC,YAAMA,IAAIb,OAAO,CAACuB,OAAOA,GAAGX,gBAAgBA,WAAAA;AAC7D,UAAMa,cAAchB,SAASI,IAAIS;AACjC,UAAMI,eAAehB,UAAU;AAC/B,WAAOG,IAAIc,MAAMD,cAAcD,WAAAA;EACjC;AACF;AAnBsH5B;AACpH,cADWD,4BACKgC,iBAAgB;EAACC;;AAD5B,IAAMjC,4BAAN;","names":["containsAll","assertEx","exists","hexFromHexString","isBoundWitness","BoundWitnessDiviner","BoundWitnessDivinerConfigSchema","isBoundWitnessDivinerQueryPayload","MemoryBoundWitnessDiviner","BoundWitnessDiviner","divineHandler","payloads","filter","assertEx","isBoundWitnessDivinerQueryPayload","pop","archivist","getArchivist","addresses","payload_hashes","payload_schemas","limit","offset","order","sourceQuery","bws","all","isBoundWitness","reverse","allAddresses","map","address","hexFromHexString","exists","length","bw","containsAll","parsedLimit","parsedOffset","slice","configSchemas","BoundWitnessDivinerConfigSchema"]}
|
package/package.json
CHANGED
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
"@xylabs/assert": "^2.13.29",
|
|
15
15
|
"@xylabs/exists": "^2.13.29",
|
|
16
16
|
"@xylabs/hex": "^2.13.29",
|
|
17
|
-
"@xyo-network/boundwitness-model": "~2.
|
|
18
|
-
"@xyo-network/diviner-boundwitness-abstract": "~2.
|
|
19
|
-
"@xyo-network/diviner-boundwitness-model": "~2.
|
|
20
|
-
"@xyo-network/payload-model": "~2.
|
|
17
|
+
"@xyo-network/boundwitness-model": "~2.89.0-rc.2",
|
|
18
|
+
"@xyo-network/diviner-boundwitness-abstract": "~2.89.0-rc.2",
|
|
19
|
+
"@xyo-network/diviner-boundwitness-model": "~2.89.0-rc.2",
|
|
20
|
+
"@xyo-network/payload-model": "~2.89.0-rc.2"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@xylabs/ts-scripts-yarn3": "^3.2.42",
|
|
@@ -63,6 +63,7 @@
|
|
|
63
63
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
|
|
64
64
|
},
|
|
65
65
|
"sideEffects": false,
|
|
66
|
-
"version": "2.
|
|
67
|
-
"type": "module"
|
|
66
|
+
"version": "2.89.0-rc.2",
|
|
67
|
+
"type": "module",
|
|
68
|
+
"stableVersion": "2.88.3"
|
|
68
69
|
}
|
|
@@ -18,13 +18,14 @@ export class MemoryBoundWitnessDiviner<TParams extends BoundWitnessDivinerParams
|
|
|
18
18
|
const filter = assertEx(payloads?.filter(isBoundWitnessDivinerQueryPayload)?.pop(), 'Missing query payload')
|
|
19
19
|
if (!filter) return []
|
|
20
20
|
const archivist = assertEx(await this.getArchivist(), 'Unable to resolve archivist')
|
|
21
|
-
const { addresses, payload_hashes, payload_schemas, limit, offset, order } = filter
|
|
21
|
+
const { addresses, payload_hashes, payload_schemas, limit, offset, order, sourceQuery } = filter
|
|
22
22
|
let bws = ((await archivist?.all?.()) ?? []).filter(isBoundWitness)
|
|
23
23
|
if (order === 'desc') bws = bws.reverse()
|
|
24
24
|
const allAddresses = addresses?.map((address) => hexFromHexString(address)).filter(exists)
|
|
25
25
|
if (allAddresses?.length) bws = bws.filter((bw) => containsAll(bw.addresses, allAddresses))
|
|
26
26
|
if (payload_hashes?.length) bws = bws.filter((bw) => containsAll(bw.payload_hashes, payload_hashes))
|
|
27
27
|
if (payload_schemas?.length) bws = bws.filter((bw) => containsAll(bw.payload_schemas, payload_schemas))
|
|
28
|
+
if (sourceQuery) bws = bws.filter((bw) => bw.sourceQuery === sourceQuery)
|
|
28
29
|
const parsedLimit = limit ?? bws.length
|
|
29
30
|
const parsedOffset = offset ?? 0
|
|
30
31
|
return bws.slice(parsedOffset, parsedLimit)
|