@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.
@@ -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;CAejF"}
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;CAejF"}
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;CAejF"}
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"}
@@ -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,MAAK,IAAKX;AAC7E,QAAIY,OAAQ,MAAMR,WAAWS,MAAAA,KAAY,CAAA,GAAIb,OAAOc,wCAAAA;AACpD,QAAIH,UAAU;AAAQC,YAAMA,IAAIG,QAAO;AACvC,UAAMC,eAAeV,WAAWW,IAAI,CAACC,gBAAYC,6BAAiBD,OAAAA,CAAAA,EAAUlB,OAAOoB,oBAAAA;AACnF,QAAIJ,cAAcK;AAAQT,YAAMA,IAAIZ,OAAO,CAACsB,WAAOC,0BAAYD,GAAGhB,WAAWU,YAAAA,CAAAA;AAC7E,QAAIT,gBAAgBc;AAAQT,YAAMA,IAAIZ,OAAO,CAACsB,WAAOC,0BAAYD,GAAGf,gBAAgBA,cAAAA,CAAAA;AACpF,QAAIC,iBAAiBa;AAAQT,YAAMA,IAAIZ,OAAO,CAACsB,WAAOC,0BAAYD,GAAGd,iBAAiBA,eAAAA,CAAAA;AACtF,UAAMgB,cAAcf,SAASG,IAAIS;AACjC,UAAMI,eAAef,UAAU;AAC/B,WAAOE,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","bws","all","isBoundWitness","reverse","allAddresses","map","address","hexFromHexString","exists","length","bw","containsAll","parsedLimit","parsedOffset","slice"]}
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"]}
@@ -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,MAAK,IAAKX;AAC7E,QAAIY,OAAQ,MAAMR,WAAWS,MAAAA,KAAY,CAAA,GAAIb,OAAOc,cAAAA;AACpD,QAAIH,UAAU;AAAQC,YAAMA,IAAIG,QAAO;AACvC,UAAMC,eAAeV,WAAWW,IAAI,CAACC,YAAYC,iBAAiBD,OAAAA,CAAAA,EAAUlB,OAAOoB,MAAAA;AACnF,QAAIJ,cAAcK;AAAQT,YAAMA,IAAIZ,OAAO,CAACsB,OAAOC,YAAYD,GAAGhB,WAAWU,YAAAA,CAAAA;AAC7E,QAAIT,gBAAgBc;AAAQT,YAAMA,IAAIZ,OAAO,CAACsB,OAAOC,YAAYD,GAAGf,gBAAgBA,cAAAA,CAAAA;AACpF,QAAIC,iBAAiBa;AAAQT,YAAMA,IAAIZ,OAAO,CAACsB,OAAOC,YAAYD,GAAGd,iBAAiBA,eAAAA,CAAAA;AACtF,UAAMgB,cAAcf,SAASG,IAAIS;AACjC,UAAMI,eAAef,UAAU;AAC/B,WAAOE,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","bws","all","isBoundWitness","reverse","allAddresses","map","address","hexFromHexString","exists","length","bw","containsAll","parsedLimit","parsedOffset","slice"]}
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;CAejF"}
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;CAejF"}
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;CAejF"}
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"}
@@ -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);
@@ -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,MAAK,IAAKX;AAC7E,QAAIY,OAAQ,QAAMR,4CAAWS,QAAXT,uCAAuB,CAAA,GAAIJ,OAAOc,wCAAAA;AACpD,QAAIH,UAAU;AAAQC,YAAMA,IAAIG,QAAO;AACvC,UAAMC,eAAeV,uCAAWW,IAAI,CAACC,gBAAYC,6BAAiBD,OAAAA,GAAUlB,OAAOoB;AACnF,QAAIJ,6CAAcK;AAAQT,YAAMA,IAAIZ,OAAO,CAACsB,WAAOC,0BAAYD,GAAGhB,WAAWU,YAAAA,CAAAA;AAC7E,QAAIT,iDAAgBc;AAAQT,YAAMA,IAAIZ,OAAO,CAACsB,WAAOC,0BAAYD,GAAGf,gBAAgBA,cAAAA,CAAAA;AACpF,QAAIC,mDAAiBa;AAAQT,YAAMA,IAAIZ,OAAO,CAACsB,WAAOC,0BAAYD,GAAGd,iBAAiBA,eAAAA,CAAAA;AACtF,UAAMgB,cAAcf,SAASG,IAAIS;AACjC,UAAMI,eAAef,UAAU;AAC/B,WAAOE,IAAIc,MAAMD,cAAcD,WAAAA;EACjC;AACF;AAlBsH3B;AACpH,cADWD,4BACK+B,iBAAgB;EAACC;;AAD5B,IAAMhC,4BAAN;","names":["MemoryBoundWitnessDiviner","BoundWitnessDiviner","divineHandler","payloads","filter","assertEx","isBoundWitnessDivinerQueryPayload","pop","archivist","getArchivist","addresses","payload_hashes","payload_schemas","limit","offset","order","bws","all","isBoundWitness","reverse","allAddresses","map","address","hexFromHexString","exists","length","bw","containsAll","parsedLimit","parsedOffset","slice","configSchemas","BoundWitnessDivinerConfigSchema"]}
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"]}
@@ -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);
@@ -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,MAAK,IAAKX;AAC7E,QAAIY,OAAQ,QAAMR,4CAAWS,QAAXT,uCAAuB,CAAA,GAAIJ,OAAOc,cAAAA;AACpD,QAAIH,UAAU;AAAQC,YAAMA,IAAIG,QAAO;AACvC,UAAMC,eAAeV,uCAAWW,IAAI,CAACC,YAAYC,iBAAiBD,OAAAA,GAAUlB,OAAOoB;AACnF,QAAIJ,6CAAcK;AAAQT,YAAMA,IAAIZ,OAAO,CAACsB,OAAOC,YAAYD,GAAGhB,WAAWU,YAAAA,CAAAA;AAC7E,QAAIT,iDAAgBc;AAAQT,YAAMA,IAAIZ,OAAO,CAACsB,OAAOC,YAAYD,GAAGf,gBAAgBA,cAAAA,CAAAA;AACpF,QAAIC,mDAAiBa;AAAQT,YAAMA,IAAIZ,OAAO,CAACsB,OAAOC,YAAYD,GAAGd,iBAAiBA,eAAAA,CAAAA;AACtF,UAAMgB,cAAcf,SAASG,IAAIS;AACjC,UAAMI,eAAef,UAAU;AAC/B,WAAOE,IAAIc,MAAMD,cAAcD,WAAAA;EACjC;AACF;AAlBsH3B;AACpH,cADWD,4BACK+B,iBAAgB;EAACC;;AAD5B,IAAMhC,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","bws","all","isBoundWitness","reverse","allAddresses","map","address","hexFromHexString","exists","length","bw","containsAll","parsedLimit","parsedOffset","slice","configSchemas","BoundWitnessDivinerConfigSchema"]}
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.88.3",
18
- "@xyo-network/diviner-boundwitness-abstract": "~2.88.3",
19
- "@xyo-network/diviner-boundwitness-model": "~2.88.3",
20
- "@xyo-network/payload-model": "~2.88.3"
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.88.3",
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)