@xyo-network/diviner-payload-pointer-memory 3.6.9 → 3.6.10

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,11 +1,11 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
-
4
1
  // src/Diviner.ts
5
2
  import { assertEx as assertEx2 } from "@xylabs/assert";
6
3
  import { AbstractDiviner } from "@xyo-network/diviner-abstract";
7
4
  import { asDivinerInstance } from "@xyo-network/diviner-model";
8
- import { isPointerPayload, PayloadPointerDivinerConfigSchema } from "@xyo-network/diviner-payload-pointer-model";
5
+ import {
6
+ isPointerPayload,
7
+ PayloadPointerDivinerConfigSchema
8
+ } from "@xyo-network/diviner-payload-pointer-model";
9
9
 
10
10
  // src/findPayload.ts
11
11
  import { BoundWitnessWrapper } from "@xyo-network/boundwitness-wrapper";
@@ -17,8 +17,12 @@ import { PayloadWrapper } from "@xyo-network/payload-wrapper";
17
17
  // src/combineRules.ts
18
18
  import { assertEx } from "@xylabs/assert";
19
19
  import { exists } from "@xylabs/exists";
20
- import { isPayloadAddressRule, isPayloadSchemaRule, isPayloadSequenceOrderRule } from "@xyo-network/diviner-payload-pointer-model";
21
- var combineRules = /* @__PURE__ */ __name((rules) => {
20
+ import {
21
+ isPayloadAddressRule,
22
+ isPayloadSchemaRule,
23
+ isPayloadSequenceOrderRule
24
+ } from "@xyo-network/diviner-payload-pointer-model";
25
+ var combineRules = (rules) => {
22
26
  const addresses = rules.flat().filter(isPayloadAddressRule).map((r) => r.address).filter(exists);
23
27
  const schemas = rules.flat().filter(isPayloadSchemaRule).map((r) => r.schema).filter(exists);
24
28
  assertEx(schemas.length, () => "At least one schema must be supplied");
@@ -32,12 +36,17 @@ var combineRules = /* @__PURE__ */ __name((rules) => {
32
36
  order,
33
37
  schemas
34
38
  };
35
- }, "combineRules");
39
+ };
36
40
 
37
41
  // src/findPayload.ts
38
42
  var limit = 1;
39
- var createBoundWitnessFilterFromSearchCriteria = /* @__PURE__ */ __name((searchCriteria) => {
40
- const { addresses, order = "desc", schemas, cursor } = searchCriteria;
43
+ var createBoundWitnessFilterFromSearchCriteria = (searchCriteria) => {
44
+ const {
45
+ addresses,
46
+ order = "desc",
47
+ schemas,
48
+ cursor
49
+ } = searchCriteria;
41
50
  const query = {
42
51
  addresses,
43
52
  limit,
@@ -46,11 +55,9 @@ var createBoundWitnessFilterFromSearchCriteria = /* @__PURE__ */ __name((searchC
46
55
  schema: BoundWitnessDivinerQuerySchema
47
56
  };
48
57
  if (cursor) query.cursor = cursor;
49
- return [
50
- query
51
- ];
52
- }, "createBoundWitnessFilterFromSearchCriteria");
53
- var createPayloadFilterFromSearchCriteria = /* @__PURE__ */ __name((searchCriteria) => {
58
+ return [query];
59
+ };
60
+ var createPayloadFilterFromSearchCriteria = (searchCriteria) => {
54
61
  const { order = "desc", schemas } = searchCriteria;
55
62
  const query = {
56
63
  limit,
@@ -58,11 +65,9 @@ var createPayloadFilterFromSearchCriteria = /* @__PURE__ */ __name((searchCriter
58
65
  schema: PayloadDivinerQuerySchema,
59
66
  schemas
60
67
  };
61
- return [
62
- query
63
- ];
64
- }, "createPayloadFilterFromSearchCriteria");
65
- var findPayload = /* @__PURE__ */ __name(async (archivist, boundWitnessDiviner, payloadDiviner, pointer) => {
68
+ return [query];
69
+ };
70
+ var findPayload = async (archivist, boundWitnessDiviner, payloadDiviner, pointer) => {
66
71
  const reference = pointer.reference;
67
72
  const searchCriteria = combineRules(reference);
68
73
  const { addresses } = searchCriteria;
@@ -77,13 +82,11 @@ var findPayload = /* @__PURE__ */ __name(async (archivist, boundWitnessDiviner,
77
82
  const { schemas, order = "desc" } = searchCriteria;
78
83
  let payloadIndex = order === "asc" ? 0 : bw.payloadHashes.length - 1;
79
84
  if (schemas) {
80
- const schemaInSearchCriteria = /* @__PURE__ */ __name((schema) => schemas.includes(schema), "schemaInSearchCriteria");
85
+ const schemaInSearchCriteria = (schema) => schemas.includes(schema);
81
86
  payloadIndex = order === "asc" ? bw.payloadSchemas.findIndex(schemaInSearchCriteria) : bw.payloadSchemas.findLastIndex(schemaInSearchCriteria);
82
87
  }
83
88
  const hash = bw.payloadHashes[payloadIndex];
84
- const result2 = await archivist.get([
85
- hash
86
- ]);
89
+ const result2 = await archivist.get([hash]);
87
90
  return result2?.[0] ? PayloadWrapper.wrap(result2?.[0]).payload : void 0;
88
91
  }
89
92
  } else {
@@ -91,17 +94,11 @@ var findPayload = /* @__PURE__ */ __name(async (archivist, boundWitnessDiviner,
91
94
  const result = await payloadDiviner.divine(filter);
92
95
  return result?.[0] ? PayloadWrapper.wrap(result?.[0]).payload : void 0;
93
96
  }
94
- }, "findPayload");
97
+ };
95
98
 
96
99
  // src/Diviner.ts
97
100
  var PayloadPointerDiviner = class extends AbstractDiviner {
98
- static {
99
- __name(this, "PayloadPointerDiviner");
100
- }
101
- static configSchemas = [
102
- ...super.configSchemas,
103
- PayloadPointerDivinerConfigSchema
104
- ];
101
+ static configSchemas = [...super.configSchemas, PayloadPointerDivinerConfigSchema];
105
102
  static defaultConfigSchema = PayloadPointerDivinerConfigSchema;
106
103
  async divineHandler(payloads) {
107
104
  const pointer = payloads?.find(isPointerPayload);
@@ -110,14 +107,12 @@ var PayloadPointerDiviner = class extends AbstractDiviner {
110
107
  const boundWitnessDiviner = await this.getBoundWitnessDiviner();
111
108
  const payloadDiviner = await this.getPayloadDiviner();
112
109
  const result = await findPayload(archivist, boundWitnessDiviner, payloadDiviner, pointer);
113
- return result ? [
114
- result
115
- ] : [];
110
+ return result ? [result] : [];
116
111
  }
117
112
  /**
118
- * Returns the archivist instance for the given config
119
- * @returns The archivist instance corresponding to the config
120
- */
113
+ * Returns the archivist instance for the given config
114
+ * @returns The archivist instance corresponding to the config
115
+ */
121
116
  async getBoundWitnessDiviner() {
122
117
  const name = assertEx2(this.config?.boundWitnessDiviner, () => "Missing archivist in config");
123
118
  const mod = assertEx2(await this.resolve(name), () => `Config.boundWitnessDiviner module value of ${name} not resolved`);
@@ -125,17 +120,17 @@ var PayloadPointerDiviner = class extends AbstractDiviner {
125
120
  return diviner;
126
121
  }
127
122
  /**
128
- * Returns the archivist instance for the given config
129
- * @returns The archivist instance corresponding to the config
130
- */
123
+ * Returns the archivist instance for the given config
124
+ * @returns The archivist instance corresponding to the config
125
+ */
131
126
  async getConfigArchivist() {
132
127
  const name = assertEx2(this.config?.archivist, () => "Missing archivist in config");
133
128
  return assertEx2(await this.getArchivist(), () => `Config.archivist module value of ${name} not resolved`);
134
129
  }
135
130
  /**
136
- * Returns the archivist instance for the given config
137
- * @returns The archivist instance corresponding to the config
138
- */
131
+ * Returns the archivist instance for the given config
132
+ * @returns The archivist instance corresponding to the config
133
+ */
139
134
  async getPayloadDiviner() {
140
135
  const name = assertEx2(this.config?.payloadDiviner, () => "Missing payloadDiviner in config");
141
136
  const mod = assertEx2(await this.resolve(name), () => `Config.payloadDiviner module value of ${name} not resolved`);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Diviner.ts","../../src/findPayload.ts","../../src/combineRules.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract'\nimport type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport { asDivinerInstance } from '@xyo-network/diviner-model'\nimport type { PayloadDiviner } from '@xyo-network/diviner-payload-abstract'\nimport type {\n PayloadPointerDivinerParams,\n PointerPayload,\n} from '@xyo-network/diviner-payload-pointer-model'\nimport {\n isPointerPayload,\n PayloadPointerDivinerConfigSchema,\n} from '@xyo-network/diviner-payload-pointer-model'\nimport type { 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 type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport type { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract'\nimport type { BoundWitnessDivinerQueryPayload } from '@xyo-network/diviner-boundwitness-model'\nimport { BoundWitnessDivinerQuerySchema } from '@xyo-network/diviner-boundwitness-model'\nimport type { PayloadDiviner } from '@xyo-network/diviner-payload-abstract'\nimport type { PayloadDivinerQueryPayload } from '@xyo-network/diviner-payload-model'\nimport { PayloadDivinerQuerySchema } from '@xyo-network/diviner-payload-model'\nimport type {\n PayloadRule, PayloadSearchCriteria, PointerPayload,\n} from '@xyo-network/diviner-payload-pointer-model'\nimport { isBoundWitnessPointer } from '@xyo-network/diviner-payload-pointer-model'\nimport type { 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 {\n addresses, order = 'desc', schemas, cursor,\n } = searchCriteria\n const query: BoundWitnessDivinerQueryPayload = {\n addresses,\n limit,\n order,\n payload_schemas: schemas,\n schema: BoundWitnessDivinerQuerySchema,\n }\n if (cursor) query.cursor = cursor\n return [query]\n}\n\nconst createPayloadFilterFromSearchCriteria = (searchCriteria: PayloadSearchCriteria): Payload[] => {\n const { order = 'desc', schemas } = searchCriteria\n const query: PayloadDivinerQueryPayload = {\n limit, order, schema: PayloadDivinerQuerySchema, schemas,\n }\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 reference = pointer.reference as PayloadRule[][]\n const searchCriteria = combineRules(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 type { Address } from '@xylabs/hex'\nimport type { Order } from '@xyo-network/diviner-payload-model'\nimport type {\n PayloadRule,\n PayloadSearchCriteria,\n} from '@xyo-network/diviner-payload-pointer-model'\nimport {\n isPayloadAddressRule,\n isPayloadSchemaRule,\n isPayloadSequenceOrderRule,\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 sequenceOrderRule = rules.flat().filter(isPayloadSequenceOrderRule).filter(exists)\n assertEx(sequenceOrderRule.length < 2, () => 'Must not supply more than 1 direction/timestamp rule')\n\n const order: Order = sequenceOrderRule[0]?.order || 'desc'\n const cursor = sequenceOrderRule[0]?.sequence\n\n return {\n addresses,\n cursor,\n order,\n schemas,\n }\n}\n"],"mappings":"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","names":["assertEx","AbstractDiviner","asDivinerInstance","isPointerPayload","PayloadPointerDivinerConfigSchema","BoundWitnessWrapper","BoundWitnessDivinerQuerySchema","PayloadDivinerQuerySchema","isBoundWitnessPointer","PayloadWrapper","assertEx","exists","isPayloadAddressRule","isPayloadSchemaRule","isPayloadSequenceOrderRule","combineRules","rules","addresses","flat","filter","isPayloadAddressRule","map","r","address","exists","schemas","isPayloadSchemaRule","schema","assertEx","length","sequenceOrderRule","isPayloadSequenceOrderRule","order","cursor","sequence","limit","createBoundWitnessFilterFromSearchCriteria","searchCriteria","addresses","order","schemas","cursor","query","payload_schemas","schema","BoundWitnessDivinerQuerySchema","createPayloadFilterFromSearchCriteria","PayloadDivinerQuerySchema","findPayload","archivist","boundWitnessDiviner","payloadDiviner","pointer","reference","combineRules","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
+ {"version":3,"sources":["../../src/Diviner.ts","../../src/findPayload.ts","../../src/combineRules.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract'\nimport type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport { asDivinerInstance } from '@xyo-network/diviner-model'\nimport type { PayloadDiviner } from '@xyo-network/diviner-payload-abstract'\nimport type {\n PayloadPointerDivinerParams,\n PointerPayload,\n} from '@xyo-network/diviner-payload-pointer-model'\nimport {\n isPointerPayload,\n PayloadPointerDivinerConfigSchema,\n} from '@xyo-network/diviner-payload-pointer-model'\nimport type { 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 type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport type { BoundWitnessDiviner } from '@xyo-network/diviner-boundwitness-abstract'\nimport type { BoundWitnessDivinerQueryPayload } from '@xyo-network/diviner-boundwitness-model'\nimport { BoundWitnessDivinerQuerySchema } from '@xyo-network/diviner-boundwitness-model'\nimport type { PayloadDiviner } from '@xyo-network/diviner-payload-abstract'\nimport type { PayloadDivinerQueryPayload } from '@xyo-network/diviner-payload-model'\nimport { PayloadDivinerQuerySchema } from '@xyo-network/diviner-payload-model'\nimport type {\n PayloadRule, PayloadSearchCriteria, PointerPayload,\n} from '@xyo-network/diviner-payload-pointer-model'\nimport { isBoundWitnessPointer } from '@xyo-network/diviner-payload-pointer-model'\nimport type { 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 {\n addresses, order = 'desc', schemas, cursor,\n } = searchCriteria\n const query: BoundWitnessDivinerQueryPayload = {\n addresses,\n limit,\n order,\n payload_schemas: schemas,\n schema: BoundWitnessDivinerQuerySchema,\n }\n if (cursor) query.cursor = cursor\n return [query]\n}\n\nconst createPayloadFilterFromSearchCriteria = (searchCriteria: PayloadSearchCriteria): Payload[] => {\n const { order = 'desc', schemas } = searchCriteria\n const query: PayloadDivinerQueryPayload = {\n limit, order, schema: PayloadDivinerQuerySchema, schemas,\n }\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 reference = pointer.reference as PayloadRule[][]\n const searchCriteria = combineRules(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 type { Address } from '@xylabs/hex'\nimport type { Order } from '@xyo-network/diviner-payload-model'\nimport type {\n PayloadRule,\n PayloadSearchCriteria,\n} from '@xyo-network/diviner-payload-pointer-model'\nimport {\n isPayloadAddressRule,\n isPayloadSchemaRule,\n isPayloadSequenceOrderRule,\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 sequenceOrderRule = rules.flat().filter(isPayloadSequenceOrderRule).filter(exists)\n assertEx(sequenceOrderRule.length < 2, () => 'Must not supply more than 1 direction/timestamp rule')\n\n const order: Order = sequenceOrderRule[0]?.order || 'desc'\n const cursor = sequenceOrderRule[0]?.sequence\n\n return {\n addresses,\n cursor,\n order,\n schemas,\n }\n}\n"],"mappings":"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","names":["assertEx","result","assertEx"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/diviner-payload-pointer-memory",
3
- "version": "3.6.9",
3
+ "version": "3.6.10",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -29,42 +29,42 @@
29
29
  "module": "dist/neutral/index.mjs",
30
30
  "types": "dist/neutral/index.d.ts",
31
31
  "dependencies": {
32
- "@xylabs/assert": "^4.4.34",
33
- "@xylabs/exists": "^4.4.34",
34
- "@xylabs/hex": "^4.4.34",
35
- "@xyo-network/archivist-model": "^3.6.9",
36
- "@xyo-network/boundwitness-wrapper": "^3.6.9",
37
- "@xyo-network/diviner-abstract": "^3.6.9",
38
- "@xyo-network/diviner-boundwitness-abstract": "^3.6.9",
39
- "@xyo-network/diviner-boundwitness-model": "^3.6.9",
40
- "@xyo-network/diviner-model": "^3.6.9",
41
- "@xyo-network/diviner-payload-abstract": "^3.6.9",
42
- "@xyo-network/diviner-payload-model": "^3.6.9",
43
- "@xyo-network/diviner-payload-pointer-model": "^3.6.9",
44
- "@xyo-network/payload-model": "^3.6.9",
45
- "@xyo-network/payload-wrapper": "^3.6.9"
32
+ "@xylabs/assert": "^4.5.1",
33
+ "@xylabs/exists": "^4.5.1",
34
+ "@xylabs/hex": "^4.5.1",
35
+ "@xyo-network/archivist-model": "^3.6.10",
36
+ "@xyo-network/boundwitness-wrapper": "^3.6.10",
37
+ "@xyo-network/diviner-abstract": "^3.6.10",
38
+ "@xyo-network/diviner-boundwitness-abstract": "^3.6.10",
39
+ "@xyo-network/diviner-boundwitness-model": "^3.6.10",
40
+ "@xyo-network/diviner-model": "^3.6.10",
41
+ "@xyo-network/diviner-payload-abstract": "^3.6.10",
42
+ "@xyo-network/diviner-payload-model": "^3.6.10",
43
+ "@xyo-network/diviner-payload-pointer-model": "^3.6.10",
44
+ "@xyo-network/payload-model": "^3.6.10",
45
+ "@xyo-network/payload-wrapper": "^3.6.10"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@types/uuid": "^10.0.0",
49
- "@xylabs/delay": "^4.4.34",
49
+ "@xylabs/delay": "^4.5.1",
50
50
  "@xylabs/ts-scripts-yarn3": "^4.2.6",
51
51
  "@xylabs/tsconfig": "^4.2.6",
52
- "@xylabs/vitest-extended": "^4.4.34",
53
- "@xyo-network/account": "^3.6.9",
54
- "@xyo-network/account-model": "^3.6.9",
55
- "@xyo-network/archivist-memory": "^3.6.9",
56
- "@xyo-network/boundwitness-builder": "^3.6.9",
57
- "@xyo-network/boundwitness-model": "^3.6.9",
58
- "@xyo-network/diviner-boundwitness-memory": "^3.6.9",
59
- "@xyo-network/diviner-payload-generic": "^3.6.9",
60
- "@xyo-network/diviner-payload-memory": "^3.6.9",
61
- "@xyo-network/node-memory": "^3.6.9",
62
- "@xyo-network/node-model": "^3.6.9",
63
- "@xyo-network/payload-builder": "^3.6.9",
64
- "@xyo-network/wallet-model": "^3.6.9",
65
- "typescript": "^5.7.2",
66
- "uuid": "^11.0.3",
67
- "vitest": "^2.1.8"
52
+ "@xylabs/vitest-extended": "^4.5.1",
53
+ "@xyo-network/account": "^3.6.10",
54
+ "@xyo-network/account-model": "^3.6.10",
55
+ "@xyo-network/archivist-memory": "^3.6.10",
56
+ "@xyo-network/boundwitness-builder": "^3.6.10",
57
+ "@xyo-network/boundwitness-model": "^3.6.10",
58
+ "@xyo-network/diviner-boundwitness-memory": "^3.6.10",
59
+ "@xyo-network/diviner-payload-generic": "^3.6.10",
60
+ "@xyo-network/diviner-payload-memory": "^3.6.10",
61
+ "@xyo-network/node-memory": "^3.6.10",
62
+ "@xyo-network/node-model": "^3.6.10",
63
+ "@xyo-network/payload-builder": "^3.6.10",
64
+ "@xyo-network/wallet-model": "^3.6.10",
65
+ "typescript": "^5.7.3",
66
+ "uuid": "^11.0.5",
67
+ "vitest": "^3.0.4"
68
68
  },
69
69
  "publishConfig": {
70
70
  "access": "public"
@@ -2,11 +2,13 @@ import { Account } from '@xyo-network/account'
2
2
  import type { AccountInstance } from '@xyo-network/account-model'
3
3
 
4
4
  let _unitTestSigningAccount: Promise<AccountInstance> | undefined
5
- let _otherUnitTestSigningAccount: Promise<AccountInstance> | undefined
5
+ // let _otherUnitTestSigningAccount: Promise<AccountInstance> | undefined
6
6
 
7
7
  export const unitTestSigningAccount = () =>
8
8
  (_unitTestSigningAccount
9
9
  = _unitTestSigningAccount ?? Account.create({ phrase: 'draw seven setup planet bitter return old bronze neither nephew panel pelican' }))
10
+ /*
10
11
  export const otherUnitTestSigningAccount = () =>
11
12
  (_otherUnitTestSigningAccount
12
13
  = _otherUnitTestSigningAccount ?? Account.create({ phrase: 'pitch rich dentist meadow few club place dirt push sustain innocent fix' }))
14
+ */
@@ -3,14 +3,15 @@ import type { BoundWitness } from '@xyo-network/boundwitness-model'
3
3
  import type { Payload } from '@xyo-network/payload-model'
4
4
 
5
5
  import { unitTestSigningAccount } from '../Account/index.ts'
6
- import { getNewPayloads } from '../Payload/index.ts'
6
+ // import { getNewPayloads } from '../Payload/index.ts'
7
7
 
8
8
  export const getNewBlock = async (...payloads: Payload[]): Promise<BoundWitness> => {
9
9
  return (await (new BoundWitnessBuilder().witness(await unitTestSigningAccount()).payloads(payloads)).build())[0]
10
10
  }
11
11
 
12
+ /*
12
13
  export const getNewBlockWithPayloads = async (numPayloads = 1) => {
13
- return getNewBlock(...(await getNewPayloads(numPayloads)))
14
+ return getNewBlock(...(getNewPayloads(numPayloads)))
14
15
  }
15
16
 
16
17
  export const getNewBlocks = async (numBoundWitnesses = 1): Promise<Array<BoundWitness>> => {
@@ -28,8 +29,10 @@ export const getNewBlocksWithPayloads = async (numBoundWitnesses = 1, numPayload
28
29
  .fill(0)
29
30
  .map(async () => {
30
31
  return (
31
- await (new BoundWitnessBuilder().witness(await unitTestSigningAccount()).payloads(await getNewPayloads(numPayloads))).build()
32
+ await (new BoundWitnessBuilder().witness(await unitTestSigningAccount()).payloads(getNewPayloads(numPayloads))).build()
32
33
  )[0]
33
34
  }),
34
35
  )
35
36
  }
37
+
38
+ */