@xyo-network/diviner-payload-pointer-memory 2.111.2 → 3.0.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.
Files changed (84) hide show
  1. package/dist/neutral/index.d.ts +15 -2
  2. package/package.json +32 -51
  3. package/xy.config.ts +12 -0
  4. package/dist/browser/Diviner.d.cts +0 -13
  5. package/dist/browser/Diviner.d.cts.map +0 -1
  6. package/dist/browser/Diviner.d.mts +0 -13
  7. package/dist/browser/Diviner.d.mts.map +0 -1
  8. package/dist/browser/Diviner.d.ts +0 -13
  9. package/dist/browser/Diviner.d.ts.map +0 -1
  10. package/dist/browser/combineRules.d.cts +0 -3
  11. package/dist/browser/combineRules.d.cts.map +0 -1
  12. package/dist/browser/combineRules.d.mts +0 -3
  13. package/dist/browser/combineRules.d.mts.map +0 -1
  14. package/dist/browser/combineRules.d.ts +0 -3
  15. package/dist/browser/combineRules.d.ts.map +0 -1
  16. package/dist/browser/findPayload.d.cts +0 -7
  17. package/dist/browser/findPayload.d.cts.map +0 -1
  18. package/dist/browser/findPayload.d.mts +0 -7
  19. package/dist/browser/findPayload.d.mts.map +0 -1
  20. package/dist/browser/findPayload.d.ts +0 -7
  21. package/dist/browser/findPayload.d.ts.map +0 -1
  22. package/dist/browser/index.cjs +0 -170
  23. package/dist/browser/index.cjs.map +0 -1
  24. package/dist/browser/index.d.cts +0 -2
  25. package/dist/browser/index.d.cts.map +0 -1
  26. package/dist/browser/index.d.mts +0 -2
  27. package/dist/browser/index.d.mts.map +0 -1
  28. package/dist/browser/index.d.ts +0 -2
  29. package/dist/browser/index.d.ts.map +0 -1
  30. package/dist/browser/index.mjs +0 -149
  31. package/dist/browser/index.mjs.map +0 -1
  32. package/dist/neutral/Diviner.d.cts +0 -13
  33. package/dist/neutral/Diviner.d.cts.map +0 -1
  34. package/dist/neutral/Diviner.d.mts +0 -13
  35. package/dist/neutral/Diviner.d.mts.map +0 -1
  36. package/dist/neutral/Diviner.d.ts +0 -13
  37. package/dist/neutral/Diviner.d.ts.map +0 -1
  38. package/dist/neutral/combineRules.d.cts +0 -3
  39. package/dist/neutral/combineRules.d.cts.map +0 -1
  40. package/dist/neutral/combineRules.d.mts +0 -3
  41. package/dist/neutral/combineRules.d.mts.map +0 -1
  42. package/dist/neutral/combineRules.d.ts +0 -3
  43. package/dist/neutral/combineRules.d.ts.map +0 -1
  44. package/dist/neutral/findPayload.d.cts +0 -7
  45. package/dist/neutral/findPayload.d.cts.map +0 -1
  46. package/dist/neutral/findPayload.d.mts +0 -7
  47. package/dist/neutral/findPayload.d.mts.map +0 -1
  48. package/dist/neutral/findPayload.d.ts +0 -7
  49. package/dist/neutral/findPayload.d.ts.map +0 -1
  50. package/dist/neutral/index.cjs +0 -170
  51. package/dist/neutral/index.cjs.map +0 -1
  52. package/dist/neutral/index.d.cts +0 -2
  53. package/dist/neutral/index.d.cts.map +0 -1
  54. package/dist/neutral/index.d.mts +0 -2
  55. package/dist/neutral/index.d.mts.map +0 -1
  56. package/dist/neutral/index.d.ts.map +0 -1
  57. package/dist/node/Diviner.d.cts +0 -13
  58. package/dist/node/Diviner.d.cts.map +0 -1
  59. package/dist/node/Diviner.d.mts +0 -13
  60. package/dist/node/Diviner.d.mts.map +0 -1
  61. package/dist/node/Diviner.d.ts +0 -13
  62. package/dist/node/Diviner.d.ts.map +0 -1
  63. package/dist/node/combineRules.d.cts +0 -3
  64. package/dist/node/combineRules.d.cts.map +0 -1
  65. package/dist/node/combineRules.d.mts +0 -3
  66. package/dist/node/combineRules.d.mts.map +0 -1
  67. package/dist/node/combineRules.d.ts +0 -3
  68. package/dist/node/combineRules.d.ts.map +0 -1
  69. package/dist/node/findPayload.d.cts +0 -7
  70. package/dist/node/findPayload.d.cts.map +0 -1
  71. package/dist/node/findPayload.d.mts +0 -7
  72. package/dist/node/findPayload.d.mts.map +0 -1
  73. package/dist/node/findPayload.d.ts +0 -7
  74. package/dist/node/findPayload.d.ts.map +0 -1
  75. package/dist/node/index.cjs +0 -182
  76. package/dist/node/index.cjs.map +0 -1
  77. package/dist/node/index.d.cts +0 -2
  78. package/dist/node/index.d.cts.map +0 -1
  79. package/dist/node/index.d.mts +0 -2
  80. package/dist/node/index.d.mts.map +0 -1
  81. package/dist/node/index.d.ts +0 -2
  82. package/dist/node/index.d.ts.map +0 -1
  83. package/dist/node/index.mjs +0 -157
  84. package/dist/node/index.mjs.map +0 -1
@@ -1,149 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
-
4
- // src/Diviner.ts
5
- import { assertEx as assertEx2 } from "@xylabs/assert";
6
- import { AbstractDiviner } from "@xyo-network/diviner-abstract";
7
- import { asDivinerInstance } from "@xyo-network/diviner-model";
8
- import { isPointerPayload, PayloadPointerDivinerConfigSchema } from "@xyo-network/diviner-payload-pointer-model";
9
-
10
- // src/findPayload.ts
11
- import { BoundWitnessWrapper } from "@xyo-network/boundwitness-wrapper";
12
- import { BoundWitnessDivinerQuerySchema } from "@xyo-network/diviner-boundwitness-model";
13
- import { PayloadDivinerQuerySchema } from "@xyo-network/diviner-payload-model";
14
- import { isBoundWitnessPointer } from "@xyo-network/diviner-payload-pointer-model";
15
- import { PayloadWrapper } from "@xyo-network/payload-wrapper";
16
-
17
- // src/combineRules.ts
18
- import { assertEx } from "@xylabs/assert";
19
- import { exists } from "@xylabs/exists";
20
- import { isPayloadAddressRule, isPayloadSchemaRule, isPayloadTimestampOrderRule } from "@xyo-network/diviner-payload-pointer-model";
21
- var combineRules = /* @__PURE__ */ __name((rules) => {
22
- const addresses = rules.flat().filter(isPayloadAddressRule).map((r) => r.address).filter(exists);
23
- const schemas = rules.flat().filter(isPayloadSchemaRule).map((r) => r.schema).filter(exists);
24
- assertEx(schemas.length, () => "At least one schema must be supplied");
25
- const directionTimestamp = rules.flat().filter(isPayloadTimestampOrderRule).filter(exists);
26
- assertEx(directionTimestamp.length < 2, () => "Must not supply more than 1 direction/timestamp rule");
27
- const order = directionTimestamp[0]?.order || "desc";
28
- const timestamp = directionTimestamp.length > 0 ? directionTimestamp[0]?.timestamp : Date.now();
29
- return {
30
- addresses,
31
- order,
32
- schemas,
33
- timestamp
34
- };
35
- }, "combineRules");
36
-
37
- // src/findPayload.ts
38
- var limit = 1;
39
- var createBoundWitnessFilterFromSearchCriteria = /* @__PURE__ */ __name((searchCriteria) => {
40
- const { addresses, order = "desc", schemas, timestamp } = searchCriteria;
41
- const query = {
42
- addresses,
43
- limit,
44
- order,
45
- payload_schemas: schemas,
46
- schema: BoundWitnessDivinerQuerySchema,
47
- timestamp
48
- };
49
- return [
50
- query
51
- ];
52
- }, "createBoundWitnessFilterFromSearchCriteria");
53
- var createPayloadFilterFromSearchCriteria = /* @__PURE__ */ __name((searchCriteria) => {
54
- const { order = "desc", schemas, timestamp } = searchCriteria;
55
- const query = {
56
- limit,
57
- order,
58
- schema: PayloadDivinerQuerySchema,
59
- schemas,
60
- timestamp
61
- };
62
- return [
63
- query
64
- ];
65
- }, "createPayloadFilterFromSearchCriteria");
66
- var findPayload = /* @__PURE__ */ __name(async (archivist, boundWitnessDiviner, payloadDiviner, pointer) => {
67
- const searchCriteria = combineRules(pointer.reference);
68
- const { addresses } = searchCriteria;
69
- const findWitnessedPayload = addresses?.length;
70
- const returnBoundWitness = isBoundWitnessPointer(pointer);
71
- if (returnBoundWitness || findWitnessedPayload) {
72
- const filter = createBoundWitnessFilterFromSearchCriteria(searchCriteria);
73
- const result = await boundWitnessDiviner.divine(filter);
74
- const bw = result?.[0] ? BoundWitnessWrapper.parse(result[0]) : void 0;
75
- if (bw) {
76
- if (returnBoundWitness) return bw.payload;
77
- const { schemas, order = "desc" } = searchCriteria;
78
- let payloadIndex = order === "asc" ? 0 : bw.payloadHashes.length - 1;
79
- if (schemas) {
80
- const schemaInSearchCriteria = /* @__PURE__ */ __name((schema) => schemas.includes(schema), "schemaInSearchCriteria");
81
- payloadIndex = order === "asc" ? bw.payloadSchemas.findIndex(schemaInSearchCriteria) : bw.payloadSchemas.findLastIndex(schemaInSearchCriteria);
82
- }
83
- const hash = bw.payloadHashes[payloadIndex];
84
- const result2 = await archivist.get([
85
- hash
86
- ]);
87
- return result2?.[0] ? PayloadWrapper.wrap(result2?.[0]).payload : void 0;
88
- }
89
- } else {
90
- const filter = createPayloadFilterFromSearchCriteria(searchCriteria);
91
- const result = await payloadDiviner.divine(filter);
92
- return result?.[0] ? PayloadWrapper.wrap(result?.[0]).payload : void 0;
93
- }
94
- }, "findPayload");
95
-
96
- // src/Diviner.ts
97
- var PayloadPointerDiviner = class extends AbstractDiviner {
98
- static {
99
- __name(this, "PayloadPointerDiviner");
100
- }
101
- static configSchemas = [
102
- ...super.configSchemas,
103
- PayloadPointerDivinerConfigSchema
104
- ];
105
- static defaultConfigSchema = PayloadPointerDivinerConfigSchema;
106
- async divineHandler(payloads) {
107
- const pointer = payloads?.find(isPointerPayload);
108
- if (!pointer) return [];
109
- const archivist = await this.getConfigArchivist();
110
- const boundWitnessDiviner = await this.getBoundWitnessDiviner();
111
- const payloadDiviner = await this.getPayloadDiviner();
112
- const result = await findPayload(archivist, boundWitnessDiviner, payloadDiviner, pointer);
113
- return result ? [
114
- result
115
- ] : [];
116
- }
117
- /**
118
- * Returns the archivist instance for the given config
119
- * @returns The archivist instance corresponding to the config
120
- */
121
- async getBoundWitnessDiviner() {
122
- const name = assertEx2(this.config?.boundWitnessDiviner, () => "Missing archivist in config");
123
- const mod = assertEx2(await this.resolve(name), () => `Config.boundWitnessDiviner module value of ${name} not resolved`);
124
- const diviner = assertEx2(asDivinerInstance(mod), () => `Module ${name} is not an BoundWitnessDiviner`);
125
- return diviner;
126
- }
127
- /**
128
- * Returns the archivist instance for the given config
129
- * @returns The archivist instance corresponding to the config
130
- */
131
- async getConfigArchivist() {
132
- const name = assertEx2(this.config?.archivist, () => "Missing archivist in config");
133
- return assertEx2(await this.getArchivist(), () => `Config.archivist module value of ${name} not resolved`);
134
- }
135
- /**
136
- * Returns the archivist instance for the given config
137
- * @returns The archivist instance corresponding to the config
138
- */
139
- async getPayloadDiviner() {
140
- const name = assertEx2(this.config?.payloadDiviner, () => "Missing payloadDiviner in config");
141
- const mod = assertEx2(await this.resolve(name), () => `Config.payloadDiviner module value of ${name} not resolved`);
142
- const diviner = assertEx2(asDivinerInstance(mod), () => `Module ${name} is not an PayloadDiviner`);
143
- return diviner;
144
- }
145
- };
146
- export {
147
- PayloadPointerDiviner
148
- };
149
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/Diviner.ts","../../src/findPayload.ts","../../src/combineRules.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract'\nimport { asDivinerInstance, DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport { PayloadDiviner } from '@xyo-network/diviner-payload-abstract'\nimport {\n isPointerPayload,\n PayloadPointerDivinerConfigSchema,\n PayloadPointerDivinerParams,\n PointerPayload,\n} from '@xyo-network/diviner-payload-pointer-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\n\nimport { findPayload } from './findPayload.ts'\n\nexport class PayloadPointerDiviner<\n TParams extends PayloadPointerDivinerParams = PayloadPointerDivinerParams,\n TIn extends PointerPayload = PointerPayload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, PayloadPointerDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = PayloadPointerDivinerConfigSchema\n\n protected override async divineHandler(payloads?: TIn[]): Promise<TOut[]> {\n const pointer = payloads?.find(isPointerPayload)\n if (!pointer) return []\n const archivist = await this.getConfigArchivist()\n const boundWitnessDiviner = await this.getBoundWitnessDiviner()\n const payloadDiviner = await this.getPayloadDiviner()\n const result = (await findPayload(archivist, boundWitnessDiviner, payloadDiviner, pointer)) as TOut | undefined\n return result ? [result] : []\n }\n\n /**\n * Returns the archivist instance for the given config\n * @returns The archivist instance corresponding to the config\n */\n private async getBoundWitnessDiviner(): Promise<BoundWitnessDiviner> {\n const name = assertEx(this.config?.boundWitnessDiviner, () => 'Missing archivist in config')\n const mod = assertEx(await this.resolve(name), () => `Config.boundWitnessDiviner module value of ${name} not resolved`)\n const diviner = assertEx(asDivinerInstance(mod), () => `Module ${name} is not an BoundWitnessDiviner`)\n return diviner as BoundWitnessDiviner\n }\n\n /**\n * Returns the archivist instance for the given config\n * @returns The archivist instance corresponding to the config\n */\n private async getConfigArchivist(): Promise<ArchivistInstance> {\n const name = assertEx(this.config?.archivist, () => 'Missing archivist in config')\n return assertEx(await this.getArchivist(), () => `Config.archivist module value of ${name} not resolved`)\n }\n\n /**\n * Returns the archivist instance for the given config\n * @returns The archivist instance corresponding to the config\n */\n private async getPayloadDiviner(): Promise<PayloadDiviner> {\n const name = assertEx(this.config?.payloadDiviner, () => 'Missing payloadDiviner in config')\n const mod = assertEx(await this.resolve(name), () => `Config.payloadDiviner module value of ${name} not resolved`)\n const diviner = assertEx(asDivinerInstance(mod), () => `Module ${name} is not an PayloadDiviner`)\n return diviner as PayloadDiviner\n }\n}\n","import { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract'\nimport { BoundWitnessDivinerQueryPayload, BoundWitnessDivinerQuerySchema } from '@xyo-network/diviner-boundwitness-model'\nimport { PayloadDiviner } from '@xyo-network/diviner-payload-abstract'\nimport { PayloadDivinerQueryPayload, PayloadDivinerQuerySchema } from '@xyo-network/diviner-payload-model'\nimport { isBoundWitnessPointer, PayloadSearchCriteria, PointerPayload } from '@xyo-network/diviner-payload-pointer-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nimport { combineRules } from './combineRules.ts'\n\nconst limit = 1\n\nconst createBoundWitnessFilterFromSearchCriteria = (searchCriteria: PayloadSearchCriteria): BoundWitnessDivinerQueryPayload[] => {\n const { addresses, order = 'desc', schemas, timestamp } = searchCriteria\n const query: BoundWitnessDivinerQueryPayload = {\n addresses,\n limit,\n order,\n payload_schemas: schemas,\n schema: BoundWitnessDivinerQuerySchema,\n timestamp,\n }\n return [query]\n}\n\nconst createPayloadFilterFromSearchCriteria = (searchCriteria: PayloadSearchCriteria): Payload[] => {\n const { order = 'desc', schemas, timestamp } = searchCriteria\n const query: PayloadDivinerQueryPayload = { limit, order, schema: PayloadDivinerQuerySchema, schemas, timestamp }\n return [query]\n}\n\nexport const findPayload = async (\n archivist: ArchivistInstance,\n boundWitnessDiviner: BoundWitnessDiviner,\n payloadDiviner: PayloadDiviner,\n pointer: PointerPayload,\n): Promise<Payload | undefined> => {\n const searchCriteria = combineRules(pointer.reference)\n const { addresses } = searchCriteria\n const findWitnessedPayload = addresses?.length\n const returnBoundWitness = isBoundWitnessPointer(pointer)\n if (returnBoundWitness || findWitnessedPayload) {\n const filter = createBoundWitnessFilterFromSearchCriteria(searchCriteria)\n const result = await boundWitnessDiviner.divine(filter)\n const bw = result?.[0] ? BoundWitnessWrapper.parse(result[0]) : undefined\n if (bw) {\n if (returnBoundWitness) return bw.payload\n const { schemas, order = 'desc' } = searchCriteria\n let payloadIndex = order === 'asc' ? 0 : bw.payloadHashes.length - 1\n if (schemas) {\n const schemaInSearchCriteria = (schema: Schema) => schemas.includes(schema)\n payloadIndex = order === 'asc' ? bw.payloadSchemas.findIndex(schemaInSearchCriteria) : bw.payloadSchemas.findLastIndex(schemaInSearchCriteria)\n }\n const hash = bw.payloadHashes[payloadIndex]\n const result = await archivist.get([hash])\n return result?.[0] ? PayloadWrapper.wrap(result?.[0]).payload : undefined\n }\n } else {\n // Find payload\n const filter = createPayloadFilterFromSearchCriteria(searchCriteria)\n const result = await payloadDiviner.divine(filter)\n return result?.[0] ? PayloadWrapper.wrap(result?.[0]).payload : undefined\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { Address } from '@xylabs/hex'\nimport { Order } from '@xyo-network/diviner-payload-model'\nimport {\n isPayloadAddressRule,\n isPayloadSchemaRule,\n isPayloadTimestampOrderRule,\n PayloadRule,\n PayloadSearchCriteria,\n} from '@xyo-network/diviner-payload-pointer-model'\n\n// TODO: Could make it so that composability is such that we:\n// • AND first dimension of array\n// • OR 2nd dimension of array\nexport const combineRules = (rules: PayloadRule[][]): PayloadSearchCriteria => {\n const addresses = rules\n .flat()\n .filter(isPayloadAddressRule)\n .map(r => r.address)\n .filter(exists) as Address[]\n\n const schemas = rules\n .flat()\n .filter(isPayloadSchemaRule)\n .map(r => r.schema)\n .filter(exists)\n assertEx(schemas.length, () => 'At least one schema must be supplied')\n\n const directionTimestamp = rules.flat().filter(isPayloadTimestampOrderRule).filter(exists)\n assertEx(directionTimestamp.length < 2, () => 'Must not supply more than 1 direction/timestamp rule')\n\n const order: Order = directionTimestamp[0]?.order || 'desc'\n const timestamp: number = directionTimestamp.length > 0 ? directionTimestamp[0]?.timestamp : Date.now()\n\n return {\n addresses,\n order,\n schemas,\n timestamp,\n }\n}\n"],"mappings":";;;;AAAA,SAASA,YAAAA,iBAAgB;AAEzB,SAASC,uBAAuB;AAEhC,SAASC,yBAAkE;AAE3E,SACEC,kBACAC,yCAGK;;;ACVP,SAASC,2BAA2B;AAEpC,SAA0CC,sCAAsC;AAEhF,SAAqCC,iCAAiC;AACtE,SAASC,6BAAoE;AAE7E,SAASC,sBAAsB;;;ACR/B,SAASC,gBAAgB;AACzB,SAASC,cAAc;AAGvB,SACEC,sBACAC,qBACAC,mCAGK;AAKA,IAAMC,eAAe,wBAACC,UAAAA;AAC3B,QAAMC,YAAYD,MACfE,KAAI,EACJC,OAAOC,oBAAAA,EACPC,IAAIC,CAAAA,MAAKA,EAAEC,OAAO,EAClBJ,OAAOK,MAAAA;AAEV,QAAMC,UAAUT,MACbE,KAAI,EACJC,OAAOO,mBAAAA,EACPL,IAAIC,CAAAA,MAAKA,EAAEK,MAAM,EACjBR,OAAOK,MAAAA;AACVI,WAASH,QAAQI,QAAQ,MAAM,sCAAA;AAE/B,QAAMC,qBAAqBd,MAAME,KAAI,EAAGC,OAAOY,2BAAAA,EAA6BZ,OAAOK,MAAAA;AACnFI,WAASE,mBAAmBD,SAAS,GAAG,MAAM,sDAAA;AAE9C,QAAMG,QAAeF,mBAAmB,CAAA,GAAIE,SAAS;AACrD,QAAMC,YAAoBH,mBAAmBD,SAAS,IAAIC,mBAAmB,CAAA,GAAIG,YAAYC,KAAKC,IAAG;AAErG,SAAO;IACLlB;IACAe;IACAP;IACAQ;EACF;AACF,GA1B4B;;;ADH5B,IAAMG,QAAQ;AAEd,IAAMC,6CAA6C,wBAACC,mBAAAA;AAClD,QAAM,EAAEC,WAAWC,QAAQ,QAAQC,SAASC,UAAS,IAAKJ;AAC1D,QAAMK,QAAyC;IAC7CJ;IACAH;IACAI;IACAI,iBAAiBH;IACjBI,QAAQC;IACRJ;EACF;AACA,SAAO;IAACC;;AACV,GAXmD;AAanD,IAAMI,wCAAwC,wBAACT,mBAAAA;AAC7C,QAAM,EAAEE,QAAQ,QAAQC,SAASC,UAAS,IAAKJ;AAC/C,QAAMK,QAAoC;IAAEP;IAAOI;IAAOK,QAAQG;IAA2BP;IAASC;EAAU;AAChH,SAAO;IAACC;;AACV,GAJ8C;AAMvC,IAAMM,cAAc,8BACzBC,WACAC,qBACAC,gBACAC,YAAAA;AAEA,QAAMf,iBAAiBgB,aAAaD,QAAQE,SAAS;AACrD,QAAM,EAAEhB,UAAS,IAAKD;AACtB,QAAMkB,uBAAuBjB,WAAWkB;AACxC,QAAMC,qBAAqBC,sBAAsBN,OAAAA;AACjD,MAAIK,sBAAsBF,sBAAsB;AAC9C,UAAMI,SAASvB,2CAA2CC,cAAAA;AAC1D,UAAMuB,SAAS,MAAMV,oBAAoBW,OAAOF,MAAAA;AAChD,UAAMG,KAAKF,SAAS,CAAA,IAAKG,oBAAoBC,MAAMJ,OAAO,CAAA,CAAE,IAAIK;AAChE,QAAIH,IAAI;AACN,UAAIL,mBAAoB,QAAOK,GAAGI;AAClC,YAAM,EAAE1B,SAASD,QAAQ,OAAM,IAAKF;AACpC,UAAI8B,eAAe5B,UAAU,QAAQ,IAAIuB,GAAGM,cAAcZ,SAAS;AACnE,UAAIhB,SAAS;AACX,cAAM6B,yBAAyB,wBAACzB,WAAmBJ,QAAQ8B,SAAS1B,MAAAA,GAArC;AAC/BuB,uBAAe5B,UAAU,QAAQuB,GAAGS,eAAeC,UAAUH,sBAAAA,IAA0BP,GAAGS,eAAeE,cAAcJ,sBAAAA;MACzH;AACA,YAAMK,OAAOZ,GAAGM,cAAcD,YAAAA;AAC9B,YAAMP,UAAS,MAAMX,UAAU0B,IAAI;QAACD;OAAK;AACzC,aAAOd,UAAS,CAAA,IAAKgB,eAAeC,KAAKjB,UAAS,CAAA,CAAE,EAAEM,UAAUD;IAClE;EACF,OAAO;AAEL,UAAMN,SAASb,sCAAsCT,cAAAA;AACrD,UAAMuB,SAAS,MAAMT,eAAeU,OAAOF,MAAAA;AAC3C,WAAOC,SAAS,CAAA,IAAKgB,eAAeC,KAAKjB,SAAS,CAAA,CAAE,EAAEM,UAAUD;EAClE;AACF,GAhC2B;;;ADjBpB,IAAMa,wBAAN,cASGC,gBAAAA;EAzBV,OAyBUA;;;EACR,OAAyBC,gBAA0B;OAAI,MAAMA;IAAeC;;EAC5E,OAAyBC,sBAA8BD;EAEvD,MAAyBE,cAAcC,UAAmC;AACxE,UAAMC,UAAUD,UAAUE,KAAKC,gBAAAA;AAC/B,QAAI,CAACF,QAAS,QAAO,CAAA;AACrB,UAAMG,YAAY,MAAM,KAAKC,mBAAkB;AAC/C,UAAMC,sBAAsB,MAAM,KAAKC,uBAAsB;AAC7D,UAAMC,iBAAiB,MAAM,KAAKC,kBAAiB;AACnD,UAAMC,SAAU,MAAMC,YAAYP,WAAWE,qBAAqBE,gBAAgBP,OAAAA;AAClF,WAAOS,SAAS;MAACA;QAAU,CAAA;EAC7B;;;;;EAMA,MAAcH,yBAAuD;AACnE,UAAMK,OAAOC,UAAS,KAAKC,QAAQR,qBAAqB,MAAM,6BAAA;AAC9D,UAAMS,MAAMF,UAAS,MAAM,KAAKG,QAAQJ,IAAAA,GAAO,MAAM,8CAA8CA,IAAAA,eAAmB;AACtH,UAAMK,UAAUJ,UAASK,kBAAkBH,GAAAA,GAAM,MAAM,UAAUH,IAAAA,gCAAoC;AACrG,WAAOK;EACT;;;;;EAMA,MAAcZ,qBAAiD;AAC7D,UAAMO,OAAOC,UAAS,KAAKC,QAAQV,WAAW,MAAM,6BAAA;AACpD,WAAOS,UAAS,MAAM,KAAKM,aAAY,GAAI,MAAM,oCAAoCP,IAAAA,eAAmB;EAC1G;;;;;EAMA,MAAcH,oBAA6C;AACzD,UAAMG,OAAOC,UAAS,KAAKC,QAAQN,gBAAgB,MAAM,kCAAA;AACzD,UAAMO,MAAMF,UAAS,MAAM,KAAKG,QAAQJ,IAAAA,GAAO,MAAM,yCAAyCA,IAAAA,eAAmB;AACjH,UAAMK,UAAUJ,UAASK,kBAAkBH,GAAAA,GAAM,MAAM,UAAUH,IAAAA,2BAA+B;AAChG,WAAOK;EACT;AACF;","names":["assertEx","AbstractDiviner","asDivinerInstance","isPointerPayload","PayloadPointerDivinerConfigSchema","BoundWitnessWrapper","BoundWitnessDivinerQuerySchema","PayloadDivinerQuerySchema","isBoundWitnessPointer","PayloadWrapper","assertEx","exists","isPayloadAddressRule","isPayloadSchemaRule","isPayloadTimestampOrderRule","combineRules","rules","addresses","flat","filter","isPayloadAddressRule","map","r","address","exists","schemas","isPayloadSchemaRule","schema","assertEx","length","directionTimestamp","isPayloadTimestampOrderRule","order","timestamp","Date","now","limit","createBoundWitnessFilterFromSearchCriteria","searchCriteria","addresses","order","schemas","timestamp","query","payload_schemas","schema","BoundWitnessDivinerQuerySchema","createPayloadFilterFromSearchCriteria","PayloadDivinerQuerySchema","findPayload","archivist","boundWitnessDiviner","payloadDiviner","pointer","combineRules","reference","findWitnessedPayload","length","returnBoundWitness","isBoundWitnessPointer","filter","result","divine","bw","BoundWitnessWrapper","parse","undefined","payload","payloadIndex","payloadHashes","schemaInSearchCriteria","includes","payloadSchemas","findIndex","findLastIndex","hash","get","PayloadWrapper","wrap","PayloadPointerDiviner","AbstractDiviner","configSchemas","PayloadPointerDivinerConfigSchema","defaultConfigSchema","divineHandler","payloads","pointer","find","isPointerPayload","archivist","getConfigArchivist","boundWitnessDiviner","getBoundWitnessDiviner","payloadDiviner","getPayloadDiviner","result","findPayload","name","assertEx","config","mod","resolve","diviner","asDivinerInstance","getArchivist"]}
@@ -1,13 +0,0 @@
1
- import { AbstractDiviner } from '@xyo-network/diviner-abstract';
2
- import { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model';
3
- import { PayloadPointerDivinerParams, PointerPayload } from '@xyo-network/diviner-payload-pointer-model';
4
- import { Payload, Schema } from '@xyo-network/payload-model';
5
- export declare class PayloadPointerDiviner<TParams extends PayloadPointerDivinerParams = PayloadPointerDivinerParams, TIn extends PointerPayload = PointerPayload, TOut extends Payload = Payload, TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut>> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {
6
- static readonly configSchemas: Schema[];
7
- static readonly defaultConfigSchema: Schema;
8
- protected divineHandler(payloads?: TIn[]): Promise<TOut[]>;
9
- private getBoundWitnessDiviner;
10
- private getConfigArchivist;
11
- private getPayloadDiviner;
12
- }
13
- //# sourceMappingURL=Diviner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D,OAAO,EAAqB,eAAe,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAEvG,OAAO,EAGL,2BAA2B,EAC3B,cAAc,EACf,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAI5D,qBAAa,qBAAqB,CAChC,OAAO,SAAS,2BAA2B,GAAG,2BAA2B,EACzE,GAAG,SAAS,cAAc,GAAG,cAAc,EAC3C,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CACD,SAAQ,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;IACvD,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA8D;IAC9G,gBAAyB,mBAAmB,EAAE,MAAM,CAAoC;cAE/D,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAc3D,sBAAsB;YAWtB,kBAAkB;YASlB,iBAAiB;CAMhC"}
@@ -1,13 +0,0 @@
1
- import { AbstractDiviner } from '@xyo-network/diviner-abstract';
2
- import { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model';
3
- import { PayloadPointerDivinerParams, PointerPayload } from '@xyo-network/diviner-payload-pointer-model';
4
- import { Payload, Schema } from '@xyo-network/payload-model';
5
- export declare class PayloadPointerDiviner<TParams extends PayloadPointerDivinerParams = PayloadPointerDivinerParams, TIn extends PointerPayload = PointerPayload, TOut extends Payload = Payload, TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut>> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {
6
- static readonly configSchemas: Schema[];
7
- static readonly defaultConfigSchema: Schema;
8
- protected divineHandler(payloads?: TIn[]): Promise<TOut[]>;
9
- private getBoundWitnessDiviner;
10
- private getConfigArchivist;
11
- private getPayloadDiviner;
12
- }
13
- //# sourceMappingURL=Diviner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D,OAAO,EAAqB,eAAe,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAEvG,OAAO,EAGL,2BAA2B,EAC3B,cAAc,EACf,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAI5D,qBAAa,qBAAqB,CAChC,OAAO,SAAS,2BAA2B,GAAG,2BAA2B,EACzE,GAAG,SAAS,cAAc,GAAG,cAAc,EAC3C,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CACD,SAAQ,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;IACvD,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA8D;IAC9G,gBAAyB,mBAAmB,EAAE,MAAM,CAAoC;cAE/D,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAc3D,sBAAsB;YAWtB,kBAAkB;YASlB,iBAAiB;CAMhC"}
@@ -1,13 +0,0 @@
1
- import { AbstractDiviner } from '@xyo-network/diviner-abstract';
2
- import { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model';
3
- import { PayloadPointerDivinerParams, PointerPayload } from '@xyo-network/diviner-payload-pointer-model';
4
- import { Payload, Schema } from '@xyo-network/payload-model';
5
- export declare class PayloadPointerDiviner<TParams extends PayloadPointerDivinerParams = PayloadPointerDivinerParams, TIn extends PointerPayload = PointerPayload, TOut extends Payload = Payload, TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut>> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {
6
- static readonly configSchemas: Schema[];
7
- static readonly defaultConfigSchema: Schema;
8
- protected divineHandler(payloads?: TIn[]): Promise<TOut[]>;
9
- private getBoundWitnessDiviner;
10
- private getConfigArchivist;
11
- private getPayloadDiviner;
12
- }
13
- //# sourceMappingURL=Diviner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D,OAAO,EAAqB,eAAe,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAEvG,OAAO,EAGL,2BAA2B,EAC3B,cAAc,EACf,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAI5D,qBAAa,qBAAqB,CAChC,OAAO,SAAS,2BAA2B,GAAG,2BAA2B,EACzE,GAAG,SAAS,cAAc,GAAG,cAAc,EAC3C,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CACD,SAAQ,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;IACvD,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA8D;IAC9G,gBAAyB,mBAAmB,EAAE,MAAM,CAAoC;cAE/D,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAc3D,sBAAsB;YAWtB,kBAAkB;YASlB,iBAAiB;CAMhC"}
@@ -1,3 +0,0 @@
1
- import { PayloadRule, PayloadSearchCriteria } from '@xyo-network/diviner-payload-pointer-model';
2
- export declare const combineRules: (rules: PayloadRule[][]) => PayloadSearchCriteria;
3
- //# sourceMappingURL=combineRules.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"combineRules.d.ts","sourceRoot":"","sources":["../../src/combineRules.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,WAAW,EACX,qBAAqB,EACtB,MAAM,4CAA4C,CAAA;AAKnD,eAAO,MAAM,YAAY,UAAW,WAAW,EAAE,EAAE,KAAG,qBA0BrD,CAAA"}
@@ -1,3 +0,0 @@
1
- import { PayloadRule, PayloadSearchCriteria } from '@xyo-network/diviner-payload-pointer-model';
2
- export declare const combineRules: (rules: PayloadRule[][]) => PayloadSearchCriteria;
3
- //# sourceMappingURL=combineRules.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"combineRules.d.ts","sourceRoot":"","sources":["../../src/combineRules.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,WAAW,EACX,qBAAqB,EACtB,MAAM,4CAA4C,CAAA;AAKnD,eAAO,MAAM,YAAY,UAAW,WAAW,EAAE,EAAE,KAAG,qBA0BrD,CAAA"}
@@ -1,3 +0,0 @@
1
- import { PayloadRule, PayloadSearchCriteria } from '@xyo-network/diviner-payload-pointer-model';
2
- export declare const combineRules: (rules: PayloadRule[][]) => PayloadSearchCriteria;
3
- //# sourceMappingURL=combineRules.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"combineRules.d.ts","sourceRoot":"","sources":["../../src/combineRules.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,WAAW,EACX,qBAAqB,EACtB,MAAM,4CAA4C,CAAA;AAKnD,eAAO,MAAM,YAAY,UAAW,WAAW,EAAE,EAAE,KAAG,qBA0BrD,CAAA"}
@@ -1,7 +0,0 @@
1
- import { ArchivistInstance } from '@xyo-network/archivist-model';
2
- import { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract';
3
- import { PayloadDiviner } from '@xyo-network/diviner-payload-abstract';
4
- import { PointerPayload } from '@xyo-network/diviner-payload-pointer-model';
5
- import { Payload } from '@xyo-network/payload-model';
6
- export declare const findPayload: (archivist: ArchivistInstance, boundWitnessDiviner: BoundWitnessDiviner, payloadDiviner: PayloadDiviner, pointer: PointerPayload) => Promise<Payload | undefined>;
7
- //# sourceMappingURL=findPayload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"findPayload.d.ts","sourceRoot":"","sources":["../../src/findPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAEhF,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AAEtE,OAAO,EAAgD,cAAc,EAAE,MAAM,4CAA4C,CAAA;AACzH,OAAO,EAAE,OAAO,EAAU,MAAM,4BAA4B,CAAA;AA0B5D,eAAO,MAAM,WAAW,cACX,iBAAiB,uBACP,mBAAmB,kBACxB,cAAc,WACrB,cAAc,KACtB,OAAO,CAAC,OAAO,GAAG,SAAS,CA2B7B,CAAA"}
@@ -1,7 +0,0 @@
1
- import { ArchivistInstance } from '@xyo-network/archivist-model';
2
- import { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract';
3
- import { PayloadDiviner } from '@xyo-network/diviner-payload-abstract';
4
- import { PointerPayload } from '@xyo-network/diviner-payload-pointer-model';
5
- import { Payload } from '@xyo-network/payload-model';
6
- export declare const findPayload: (archivist: ArchivistInstance, boundWitnessDiviner: BoundWitnessDiviner, payloadDiviner: PayloadDiviner, pointer: PointerPayload) => Promise<Payload | undefined>;
7
- //# sourceMappingURL=findPayload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"findPayload.d.ts","sourceRoot":"","sources":["../../src/findPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAEhF,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AAEtE,OAAO,EAAgD,cAAc,EAAE,MAAM,4CAA4C,CAAA;AACzH,OAAO,EAAE,OAAO,EAAU,MAAM,4BAA4B,CAAA;AA0B5D,eAAO,MAAM,WAAW,cACX,iBAAiB,uBACP,mBAAmB,kBACxB,cAAc,WACrB,cAAc,KACtB,OAAO,CAAC,OAAO,GAAG,SAAS,CA2B7B,CAAA"}
@@ -1,7 +0,0 @@
1
- import { ArchivistInstance } from '@xyo-network/archivist-model';
2
- import { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract';
3
- import { PayloadDiviner } from '@xyo-network/diviner-payload-abstract';
4
- import { PointerPayload } from '@xyo-network/diviner-payload-pointer-model';
5
- import { Payload } from '@xyo-network/payload-model';
6
- export declare const findPayload: (archivist: ArchivistInstance, boundWitnessDiviner: BoundWitnessDiviner, payloadDiviner: PayloadDiviner, pointer: PointerPayload) => Promise<Payload | undefined>;
7
- //# sourceMappingURL=findPayload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"findPayload.d.ts","sourceRoot":"","sources":["../../src/findPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAEhF,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AAEtE,OAAO,EAAgD,cAAc,EAAE,MAAM,4CAA4C,CAAA;AACzH,OAAO,EAAE,OAAO,EAAU,MAAM,4BAA4B,CAAA;AA0B5D,eAAO,MAAM,WAAW,cACX,iBAAiB,uBACP,mBAAmB,kBACxB,cAAc,WACrB,cAAc,KACtB,OAAO,CAAC,OAAO,GAAG,SAAS,CA2B7B,CAAA"}
@@ -1,170 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
-
21
- // src/index.ts
22
- var src_exports = {};
23
- __export(src_exports, {
24
- PayloadPointerDiviner: () => PayloadPointerDiviner
25
- });
26
- module.exports = __toCommonJS(src_exports);
27
-
28
- // src/Diviner.ts
29
- var import_assert2 = require("@xylabs/assert");
30
- var import_diviner_abstract = require("@xyo-network/diviner-abstract");
31
- var import_diviner_model = require("@xyo-network/diviner-model");
32
- var import_diviner_payload_pointer_model3 = require("@xyo-network/diviner-payload-pointer-model");
33
-
34
- // src/findPayload.ts
35
- var import_boundwitness_wrapper = require("@xyo-network/boundwitness-wrapper");
36
- var import_diviner_boundwitness_model = require("@xyo-network/diviner-boundwitness-model");
37
- var import_diviner_payload_model = require("@xyo-network/diviner-payload-model");
38
- var import_diviner_payload_pointer_model2 = require("@xyo-network/diviner-payload-pointer-model");
39
- var import_payload_wrapper = require("@xyo-network/payload-wrapper");
40
-
41
- // src/combineRules.ts
42
- var import_assert = require("@xylabs/assert");
43
- var import_exists = require("@xylabs/exists");
44
- var import_diviner_payload_pointer_model = require("@xyo-network/diviner-payload-pointer-model");
45
- var combineRules = /* @__PURE__ */ __name((rules) => {
46
- const addresses = rules.flat().filter(import_diviner_payload_pointer_model.isPayloadAddressRule).map((r) => r.address).filter(import_exists.exists);
47
- const schemas = rules.flat().filter(import_diviner_payload_pointer_model.isPayloadSchemaRule).map((r) => r.schema).filter(import_exists.exists);
48
- (0, import_assert.assertEx)(schemas.length, () => "At least one schema must be supplied");
49
- const directionTimestamp = rules.flat().filter(import_diviner_payload_pointer_model.isPayloadTimestampOrderRule).filter(import_exists.exists);
50
- (0, import_assert.assertEx)(directionTimestamp.length < 2, () => "Must not supply more than 1 direction/timestamp rule");
51
- const order = directionTimestamp[0]?.order || "desc";
52
- const timestamp = directionTimestamp.length > 0 ? directionTimestamp[0]?.timestamp : Date.now();
53
- return {
54
- addresses,
55
- order,
56
- schemas,
57
- timestamp
58
- };
59
- }, "combineRules");
60
-
61
- // src/findPayload.ts
62
- var limit = 1;
63
- var createBoundWitnessFilterFromSearchCriteria = /* @__PURE__ */ __name((searchCriteria) => {
64
- const { addresses, order = "desc", schemas, timestamp } = searchCriteria;
65
- const query = {
66
- addresses,
67
- limit,
68
- order,
69
- payload_schemas: schemas,
70
- schema: import_diviner_boundwitness_model.BoundWitnessDivinerQuerySchema,
71
- timestamp
72
- };
73
- return [
74
- query
75
- ];
76
- }, "createBoundWitnessFilterFromSearchCriteria");
77
- var createPayloadFilterFromSearchCriteria = /* @__PURE__ */ __name((searchCriteria) => {
78
- const { order = "desc", schemas, timestamp } = searchCriteria;
79
- const query = {
80
- limit,
81
- order,
82
- schema: import_diviner_payload_model.PayloadDivinerQuerySchema,
83
- schemas,
84
- timestamp
85
- };
86
- return [
87
- query
88
- ];
89
- }, "createPayloadFilterFromSearchCriteria");
90
- var findPayload = /* @__PURE__ */ __name(async (archivist, boundWitnessDiviner, payloadDiviner, pointer) => {
91
- const searchCriteria = combineRules(pointer.reference);
92
- const { addresses } = searchCriteria;
93
- const findWitnessedPayload = addresses?.length;
94
- const returnBoundWitness = (0, import_diviner_payload_pointer_model2.isBoundWitnessPointer)(pointer);
95
- if (returnBoundWitness || findWitnessedPayload) {
96
- const filter = createBoundWitnessFilterFromSearchCriteria(searchCriteria);
97
- const result = await boundWitnessDiviner.divine(filter);
98
- const bw = result?.[0] ? import_boundwitness_wrapper.BoundWitnessWrapper.parse(result[0]) : void 0;
99
- if (bw) {
100
- if (returnBoundWitness) return bw.payload;
101
- const { schemas, order = "desc" } = searchCriteria;
102
- let payloadIndex = order === "asc" ? 0 : bw.payloadHashes.length - 1;
103
- if (schemas) {
104
- const schemaInSearchCriteria = /* @__PURE__ */ __name((schema) => schemas.includes(schema), "schemaInSearchCriteria");
105
- payloadIndex = order === "asc" ? bw.payloadSchemas.findIndex(schemaInSearchCriteria) : bw.payloadSchemas.findLastIndex(schemaInSearchCriteria);
106
- }
107
- const hash = bw.payloadHashes[payloadIndex];
108
- const result2 = await archivist.get([
109
- hash
110
- ]);
111
- return result2?.[0] ? import_payload_wrapper.PayloadWrapper.wrap(result2?.[0]).payload : void 0;
112
- }
113
- } else {
114
- const filter = createPayloadFilterFromSearchCriteria(searchCriteria);
115
- const result = await payloadDiviner.divine(filter);
116
- return result?.[0] ? import_payload_wrapper.PayloadWrapper.wrap(result?.[0]).payload : void 0;
117
- }
118
- }, "findPayload");
119
-
120
- // src/Diviner.ts
121
- var PayloadPointerDiviner = class extends import_diviner_abstract.AbstractDiviner {
122
- static {
123
- __name(this, "PayloadPointerDiviner");
124
- }
125
- static configSchemas = [
126
- ...super.configSchemas,
127
- import_diviner_payload_pointer_model3.PayloadPointerDivinerConfigSchema
128
- ];
129
- static defaultConfigSchema = import_diviner_payload_pointer_model3.PayloadPointerDivinerConfigSchema;
130
- async divineHandler(payloads) {
131
- const pointer = payloads?.find(import_diviner_payload_pointer_model3.isPointerPayload);
132
- if (!pointer) return [];
133
- const archivist = await this.getConfigArchivist();
134
- const boundWitnessDiviner = await this.getBoundWitnessDiviner();
135
- const payloadDiviner = await this.getPayloadDiviner();
136
- const result = await findPayload(archivist, boundWitnessDiviner, payloadDiviner, pointer);
137
- return result ? [
138
- result
139
- ] : [];
140
- }
141
- /**
142
- * Returns the archivist instance for the given config
143
- * @returns The archivist instance corresponding to the config
144
- */
145
- async getBoundWitnessDiviner() {
146
- const name = (0, import_assert2.assertEx)(this.config?.boundWitnessDiviner, () => "Missing archivist in config");
147
- const mod = (0, import_assert2.assertEx)(await this.resolve(name), () => `Config.boundWitnessDiviner module value of ${name} not resolved`);
148
- const diviner = (0, import_assert2.assertEx)((0, import_diviner_model.asDivinerInstance)(mod), () => `Module ${name} is not an BoundWitnessDiviner`);
149
- return diviner;
150
- }
151
- /**
152
- * Returns the archivist instance for the given config
153
- * @returns The archivist instance corresponding to the config
154
- */
155
- async getConfigArchivist() {
156
- const name = (0, import_assert2.assertEx)(this.config?.archivist, () => "Missing archivist in config");
157
- return (0, import_assert2.assertEx)(await this.getArchivist(), () => `Config.archivist module value of ${name} not resolved`);
158
- }
159
- /**
160
- * Returns the archivist instance for the given config
161
- * @returns The archivist instance corresponding to the config
162
- */
163
- async getPayloadDiviner() {
164
- const name = (0, import_assert2.assertEx)(this.config?.payloadDiviner, () => "Missing payloadDiviner in config");
165
- const mod = (0, import_assert2.assertEx)(await this.resolve(name), () => `Config.payloadDiviner module value of ${name} not resolved`);
166
- const diviner = (0, import_assert2.assertEx)((0, import_diviner_model.asDivinerInstance)(mod), () => `Module ${name} is not an PayloadDiviner`);
167
- return diviner;
168
- }
169
- };
170
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/Diviner.ts","../../src/findPayload.ts","../../src/combineRules.ts"],"sourcesContent":["export * from './Diviner.ts'\n","import { assertEx } from '@xylabs/assert'\nimport { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract'\nimport { asDivinerInstance, DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport { PayloadDiviner } from '@xyo-network/diviner-payload-abstract'\nimport {\n isPointerPayload,\n PayloadPointerDivinerConfigSchema,\n PayloadPointerDivinerParams,\n PointerPayload,\n} from '@xyo-network/diviner-payload-pointer-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\n\nimport { findPayload } from './findPayload.ts'\n\nexport class PayloadPointerDiviner<\n TParams extends PayloadPointerDivinerParams = PayloadPointerDivinerParams,\n TIn extends PointerPayload = PointerPayload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, PayloadPointerDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = PayloadPointerDivinerConfigSchema\n\n protected override async divineHandler(payloads?: TIn[]): Promise<TOut[]> {\n const pointer = payloads?.find(isPointerPayload)\n if (!pointer) return []\n const archivist = await this.getConfigArchivist()\n const boundWitnessDiviner = await this.getBoundWitnessDiviner()\n const payloadDiviner = await this.getPayloadDiviner()\n const result = (await findPayload(archivist, boundWitnessDiviner, payloadDiviner, pointer)) as TOut | undefined\n return result ? [result] : []\n }\n\n /**\n * Returns the archivist instance for the given config\n * @returns The archivist instance corresponding to the config\n */\n private async getBoundWitnessDiviner(): Promise<BoundWitnessDiviner> {\n const name = assertEx(this.config?.boundWitnessDiviner, () => 'Missing archivist in config')\n const mod = assertEx(await this.resolve(name), () => `Config.boundWitnessDiviner module value of ${name} not resolved`)\n const diviner = assertEx(asDivinerInstance(mod), () => `Module ${name} is not an BoundWitnessDiviner`)\n return diviner as BoundWitnessDiviner\n }\n\n /**\n * Returns the archivist instance for the given config\n * @returns The archivist instance corresponding to the config\n */\n private async getConfigArchivist(): Promise<ArchivistInstance> {\n const name = assertEx(this.config?.archivist, () => 'Missing archivist in config')\n return assertEx(await this.getArchivist(), () => `Config.archivist module value of ${name} not resolved`)\n }\n\n /**\n * Returns the archivist instance for the given config\n * @returns The archivist instance corresponding to the config\n */\n private async getPayloadDiviner(): Promise<PayloadDiviner> {\n const name = assertEx(this.config?.payloadDiviner, () => 'Missing payloadDiviner in config')\n const mod = assertEx(await this.resolve(name), () => `Config.payloadDiviner module value of ${name} not resolved`)\n const diviner = assertEx(asDivinerInstance(mod), () => `Module ${name} is not an PayloadDiviner`)\n return diviner as PayloadDiviner\n }\n}\n","import { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract'\nimport { BoundWitnessDivinerQueryPayload, BoundWitnessDivinerQuerySchema } from '@xyo-network/diviner-boundwitness-model'\nimport { PayloadDiviner } from '@xyo-network/diviner-payload-abstract'\nimport { PayloadDivinerQueryPayload, PayloadDivinerQuerySchema } from '@xyo-network/diviner-payload-model'\nimport { isBoundWitnessPointer, PayloadSearchCriteria, PointerPayload } from '@xyo-network/diviner-payload-pointer-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nimport { combineRules } from './combineRules.ts'\n\nconst limit = 1\n\nconst createBoundWitnessFilterFromSearchCriteria = (searchCriteria: PayloadSearchCriteria): BoundWitnessDivinerQueryPayload[] => {\n const { addresses, order = 'desc', schemas, timestamp } = searchCriteria\n const query: BoundWitnessDivinerQueryPayload = {\n addresses,\n limit,\n order,\n payload_schemas: schemas,\n schema: BoundWitnessDivinerQuerySchema,\n timestamp,\n }\n return [query]\n}\n\nconst createPayloadFilterFromSearchCriteria = (searchCriteria: PayloadSearchCriteria): Payload[] => {\n const { order = 'desc', schemas, timestamp } = searchCriteria\n const query: PayloadDivinerQueryPayload = { limit, order, schema: PayloadDivinerQuerySchema, schemas, timestamp }\n return [query]\n}\n\nexport const findPayload = async (\n archivist: ArchivistInstance,\n boundWitnessDiviner: BoundWitnessDiviner,\n payloadDiviner: PayloadDiviner,\n pointer: PointerPayload,\n): Promise<Payload | undefined> => {\n const searchCriteria = combineRules(pointer.reference)\n const { addresses } = searchCriteria\n const findWitnessedPayload = addresses?.length\n const returnBoundWitness = isBoundWitnessPointer(pointer)\n if (returnBoundWitness || findWitnessedPayload) {\n const filter = createBoundWitnessFilterFromSearchCriteria(searchCriteria)\n const result = await boundWitnessDiviner.divine(filter)\n const bw = result?.[0] ? BoundWitnessWrapper.parse(result[0]) : undefined\n if (bw) {\n if (returnBoundWitness) return bw.payload\n const { schemas, order = 'desc' } = searchCriteria\n let payloadIndex = order === 'asc' ? 0 : bw.payloadHashes.length - 1\n if (schemas) {\n const schemaInSearchCriteria = (schema: Schema) => schemas.includes(schema)\n payloadIndex = order === 'asc' ? bw.payloadSchemas.findIndex(schemaInSearchCriteria) : bw.payloadSchemas.findLastIndex(schemaInSearchCriteria)\n }\n const hash = bw.payloadHashes[payloadIndex]\n const result = await archivist.get([hash])\n return result?.[0] ? PayloadWrapper.wrap(result?.[0]).payload : undefined\n }\n } else {\n // Find payload\n const filter = createPayloadFilterFromSearchCriteria(searchCriteria)\n const result = await payloadDiviner.divine(filter)\n return result?.[0] ? PayloadWrapper.wrap(result?.[0]).payload : undefined\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { Address } from '@xylabs/hex'\nimport { Order } from '@xyo-network/diviner-payload-model'\nimport {\n isPayloadAddressRule,\n isPayloadSchemaRule,\n isPayloadTimestampOrderRule,\n PayloadRule,\n PayloadSearchCriteria,\n} from '@xyo-network/diviner-payload-pointer-model'\n\n// TODO: Could make it so that composability is such that we:\n// • AND first dimension of array\n// • OR 2nd dimension of array\nexport const combineRules = (rules: PayloadRule[][]): PayloadSearchCriteria => {\n const addresses = rules\n .flat()\n .filter(isPayloadAddressRule)\n .map(r => r.address)\n .filter(exists) as Address[]\n\n const schemas = rules\n .flat()\n .filter(isPayloadSchemaRule)\n .map(r => r.schema)\n .filter(exists)\n assertEx(schemas.length, () => 'At least one schema must be supplied')\n\n const directionTimestamp = rules.flat().filter(isPayloadTimestampOrderRule).filter(exists)\n assertEx(directionTimestamp.length < 2, () => 'Must not supply more than 1 direction/timestamp rule')\n\n const order: Order = directionTimestamp[0]?.order || 'desc'\n const timestamp: number = directionTimestamp.length > 0 ? directionTimestamp[0]?.timestamp : Date.now()\n\n return {\n addresses,\n order,\n schemas,\n timestamp,\n }\n}\n"],"mappings":"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","names":["import_assert","import_diviner_payload_pointer_model","import_diviner_payload_pointer_model","combineRules","rules","addresses","flat","filter","isPayloadAddressRule","map","r","address","exists","schemas","isPayloadSchemaRule","schema","assertEx","length","directionTimestamp","isPayloadTimestampOrderRule","order","timestamp","Date","now","limit","createBoundWitnessFilterFromSearchCriteria","searchCriteria","addresses","order","schemas","timestamp","query","payload_schemas","schema","BoundWitnessDivinerQuerySchema","createPayloadFilterFromSearchCriteria","PayloadDivinerQuerySchema","findPayload","archivist","boundWitnessDiviner","payloadDiviner","pointer","combineRules","reference","findWitnessedPayload","length","returnBoundWitness","isBoundWitnessPointer","filter","result","divine","bw","BoundWitnessWrapper","parse","undefined","payload","payloadIndex","payloadHashes","schemaInSearchCriteria","includes","payloadSchemas","findIndex","findLastIndex","hash","get","PayloadWrapper","wrap","PayloadPointerDiviner","AbstractDiviner","configSchemas","PayloadPointerDivinerConfigSchema","defaultConfigSchema","divineHandler","payloads","pointer","find","isPointerPayload","archivist","getConfigArchivist","boundWitnessDiviner","getBoundWitnessDiviner","payloadDiviner","getPayloadDiviner","result","findPayload","name","assertEx","config","mod","resolve","diviner","asDivinerInstance","getArchivist"]}
@@ -1,2 +0,0 @@
1
- export * from './Diviner.ts';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './Diviner.ts';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
@@ -1,13 +0,0 @@
1
- import { AbstractDiviner } from '@xyo-network/diviner-abstract';
2
- import { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model';
3
- import { PayloadPointerDivinerParams, PointerPayload } from '@xyo-network/diviner-payload-pointer-model';
4
- import { Payload, Schema } from '@xyo-network/payload-model';
5
- export declare class PayloadPointerDiviner<TParams extends PayloadPointerDivinerParams = PayloadPointerDivinerParams, TIn extends PointerPayload = PointerPayload, TOut extends Payload = Payload, TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut>> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {
6
- static readonly configSchemas: Schema[];
7
- static readonly defaultConfigSchema: Schema;
8
- protected divineHandler(payloads?: TIn[]): Promise<TOut[]>;
9
- private getBoundWitnessDiviner;
10
- private getConfigArchivist;
11
- private getPayloadDiviner;
12
- }
13
- //# sourceMappingURL=Diviner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D,OAAO,EAAqB,eAAe,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAEvG,OAAO,EAGL,2BAA2B,EAC3B,cAAc,EACf,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAI5D,qBAAa,qBAAqB,CAChC,OAAO,SAAS,2BAA2B,GAAG,2BAA2B,EACzE,GAAG,SAAS,cAAc,GAAG,cAAc,EAC3C,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CACD,SAAQ,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;IACvD,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA8D;IAC9G,gBAAyB,mBAAmB,EAAE,MAAM,CAAoC;cAE/D,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAc3D,sBAAsB;YAWtB,kBAAkB;YASlB,iBAAiB;CAMhC"}
@@ -1,13 +0,0 @@
1
- import { AbstractDiviner } from '@xyo-network/diviner-abstract';
2
- import { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model';
3
- import { PayloadPointerDivinerParams, PointerPayload } from '@xyo-network/diviner-payload-pointer-model';
4
- import { Payload, Schema } from '@xyo-network/payload-model';
5
- export declare class PayloadPointerDiviner<TParams extends PayloadPointerDivinerParams = PayloadPointerDivinerParams, TIn extends PointerPayload = PointerPayload, TOut extends Payload = Payload, TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut>> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {
6
- static readonly configSchemas: Schema[];
7
- static readonly defaultConfigSchema: Schema;
8
- protected divineHandler(payloads?: TIn[]): Promise<TOut[]>;
9
- private getBoundWitnessDiviner;
10
- private getConfigArchivist;
11
- private getPayloadDiviner;
12
- }
13
- //# sourceMappingURL=Diviner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D,OAAO,EAAqB,eAAe,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAEvG,OAAO,EAGL,2BAA2B,EAC3B,cAAc,EACf,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAI5D,qBAAa,qBAAqB,CAChC,OAAO,SAAS,2BAA2B,GAAG,2BAA2B,EACzE,GAAG,SAAS,cAAc,GAAG,cAAc,EAC3C,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CACD,SAAQ,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;IACvD,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA8D;IAC9G,gBAAyB,mBAAmB,EAAE,MAAM,CAAoC;cAE/D,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAc3D,sBAAsB;YAWtB,kBAAkB;YASlB,iBAAiB;CAMhC"}
@@ -1,13 +0,0 @@
1
- import { AbstractDiviner } from '@xyo-network/diviner-abstract';
2
- import { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model';
3
- import { PayloadPointerDivinerParams, PointerPayload } from '@xyo-network/diviner-payload-pointer-model';
4
- import { Payload, Schema } from '@xyo-network/payload-model';
5
- export declare class PayloadPointerDiviner<TParams extends PayloadPointerDivinerParams = PayloadPointerDivinerParams, TIn extends PointerPayload = PointerPayload, TOut extends Payload = Payload, TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut>> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {
6
- static readonly configSchemas: Schema[];
7
- static readonly defaultConfigSchema: Schema;
8
- protected divineHandler(payloads?: TIn[]): Promise<TOut[]>;
9
- private getBoundWitnessDiviner;
10
- private getConfigArchivist;
11
- private getPayloadDiviner;
12
- }
13
- //# sourceMappingURL=Diviner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D,OAAO,EAAqB,eAAe,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAEvG,OAAO,EAGL,2BAA2B,EAC3B,cAAc,EACf,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAI5D,qBAAa,qBAAqB,CAChC,OAAO,SAAS,2BAA2B,GAAG,2BAA2B,EACzE,GAAG,SAAS,cAAc,GAAG,cAAc,EAC3C,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CACD,SAAQ,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;IACvD,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA8D;IAC9G,gBAAyB,mBAAmB,EAAE,MAAM,CAAoC;cAE/D,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAc3D,sBAAsB;YAWtB,kBAAkB;YASlB,iBAAiB;CAMhC"}
@@ -1,3 +0,0 @@
1
- import { PayloadRule, PayloadSearchCriteria } from '@xyo-network/diviner-payload-pointer-model';
2
- export declare const combineRules: (rules: PayloadRule[][]) => PayloadSearchCriteria;
3
- //# sourceMappingURL=combineRules.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"combineRules.d.ts","sourceRoot":"","sources":["../../src/combineRules.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,WAAW,EACX,qBAAqB,EACtB,MAAM,4CAA4C,CAAA;AAKnD,eAAO,MAAM,YAAY,UAAW,WAAW,EAAE,EAAE,KAAG,qBA0BrD,CAAA"}
@@ -1,3 +0,0 @@
1
- import { PayloadRule, PayloadSearchCriteria } from '@xyo-network/diviner-payload-pointer-model';
2
- export declare const combineRules: (rules: PayloadRule[][]) => PayloadSearchCriteria;
3
- //# sourceMappingURL=combineRules.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"combineRules.d.ts","sourceRoot":"","sources":["../../src/combineRules.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,WAAW,EACX,qBAAqB,EACtB,MAAM,4CAA4C,CAAA;AAKnD,eAAO,MAAM,YAAY,UAAW,WAAW,EAAE,EAAE,KAAG,qBA0BrD,CAAA"}
@@ -1,3 +0,0 @@
1
- import { PayloadRule, PayloadSearchCriteria } from '@xyo-network/diviner-payload-pointer-model';
2
- export declare const combineRules: (rules: PayloadRule[][]) => PayloadSearchCriteria;
3
- //# sourceMappingURL=combineRules.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"combineRules.d.ts","sourceRoot":"","sources":["../../src/combineRules.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,WAAW,EACX,qBAAqB,EACtB,MAAM,4CAA4C,CAAA;AAKnD,eAAO,MAAM,YAAY,UAAW,WAAW,EAAE,EAAE,KAAG,qBA0BrD,CAAA"}