@xyo-network/diviner-schema-stats-memory 2.95.3 → 2.95.4

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.
@@ -39,7 +39,7 @@ var MemorySchemaStatsDiviner = class extends import_diviner_schema_stats_abstrac
39
39
  import_diviner_schema_stats_model.SchemaStatsDivinerConfigSchema
40
40
  ];
41
41
  async divineAddress(address) {
42
- const archivist = (0, import_assert.assertEx)(await this.getArchivist(), () => "Unable to resolve archivist");
42
+ const archivist = (0, import_assert.assertEx)(await this.archivistInstance(), () => "Unable to resolve archivist");
43
43
  const all = await (0, import_assert.assertEx)(archivist.all, () => 'Archivist does not support "all"')();
44
44
  const filtered = all.filter(import_boundwitness_model.isBoundWitness).filter(import_boundwitness_model.isBoundWitnessWithMeta).filter((bw) => bw.addresses.includes(address));
45
45
  const counts = filtered.reduce((acc, payload) => {
@@ -49,7 +49,7 @@ var MemorySchemaStatsDiviner = class extends import_diviner_schema_stats_abstrac
49
49
  return counts;
50
50
  }
51
51
  async divineAllAddresses() {
52
- const archivist = (0, import_assert.assertEx)(await this.getArchivist(), () => "Unable to resolve archivist");
52
+ const archivist = (0, import_assert.assertEx)(await this.archivistInstance(), () => "Unable to resolve archivist");
53
53
  const all = await (0, import_assert.assertEx)(archivist.all, () => 'Archivist does not support "all"')();
54
54
  const counts = all.reduce((acc, payload) => {
55
55
  acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/MemorySchemaStatsDiviner.ts"],"sourcesContent":["export * from './MemorySchemaStatsDiviner'\n","import { assertEx } from '@xylabs/assert'\nimport { Address } from '@xylabs/hex'\nimport { isBoundWitness, isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'\nimport { SchemaStatsDiviner } from '@xyo-network/diviner-schema-stats-abstract'\nimport {\n isSchemaStatsQueryPayload,\n SchemaStatsDivinerConfigSchema,\n SchemaStatsDivinerParams,\n SchemaStatsDivinerSchema,\n SchemaStatsPayload,\n SchemaStatsQueryPayload,\n} from '@xyo-network/diviner-schema-stats-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemorySchemaStatsDiviner<TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams> extends SchemaStatsDiviner<TParams> {\n static override configSchemas = [SchemaStatsDivinerConfigSchema]\n\n protected async divineAddress(address: Address): Promise<Record<string, number>> {\n const archivist = assertEx(await this.getArchivist(), () => 'Unable to resolve archivist')\n const all = await assertEx(archivist.all, () => 'Archivist does not support \"all\"')()\n const filtered = all\n .filter(isBoundWitness)\n .filter(isBoundWitnessWithMeta)\n .filter((bw) => bw.addresses.includes(address))\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = filtered.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected async divineAllAddresses(): Promise<Record<string, number>> {\n const archivist = assertEx(await this.getArchivist(), () => 'Unable to resolve archivist')\n const all = await assertEx(archivist.all, () => 'Archivist does not support \"all\"')()\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = all.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const query = payloads?.find<SchemaStatsQueryPayload>(isSchemaStatsQueryPayload)\n if (!query) return []\n const addresses =\n query?.address ?\n Array.isArray(query?.address) ?\n query.address\n : [query.address]\n : undefined\n const counts = addresses ? await Promise.all(addresses.map((address) => this.divineAddress(address))) : [await this.divineAllAddresses()]\n return await Promise.all(\n counts.map((count) => new PayloadBuilder<SchemaStatsPayload>({ schema: SchemaStatsDivinerSchema }).fields({ count }).build()),\n )\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACAA,oBAAyB;AAEzB,gCAAuD;AACvD,2CAAmC;AACnC,wCAOO;AACP,6BAA+B;AAGxB,IAAMA,2BAAN,cAA4GC,wDAAAA;EAfnH,OAemHA;;;EACjH,OAAgBC,gBAAgB;IAACC;;EAEjC,MAAgBC,cAAcC,SAAmD;AAC/E,UAAMC,gBAAYC,wBAAS,MAAM,KAAKC,aAAY,GAAI,MAAM,6BAAA;AAC5D,UAAMC,MAAM,UAAMF,wBAASD,UAAUG,KAAK,MAAM,kCAAA,EAAA;AAChD,UAAMC,WAAWD,IACdE,OAAOC,wCAAAA,EACPD,OAAOE,gDAAAA,EACPF,OAAO,CAACG,OAAOA,GAAGC,UAAUC,SAASX,OAAAA,CAAAA;AAExC,UAAMY,SAAiCP,SAASQ,OAC9C,CAACC,KAAKC,YAAAA;AACJD,UAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAI,IAAI;AACtE,aAAOF;IACT,GACA,CAAC,CAAA;AAEH,WAAOF;EACT;EAEA,MAAgBK,qBAAsD;AACpE,UAAMhB,gBAAYC,wBAAS,MAAM,KAAKC,aAAY,GAAI,MAAM,6BAAA;AAC5D,UAAMC,MAAM,UAAMF,wBAASD,UAAUG,KAAK,MAAM,kCAAA,EAAA;AAEhD,UAAMQ,SAAiCR,IAAIS,OACzC,CAACC,KAAKC,YAAAA;AACJD,UAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAI,IAAI;AACtE,aAAOF;IACT,GACA,CAAC,CAAA;AAEH,WAAOF;EACT;EAEA,MAAyBM,cAAcC,UAA0C;AAC/E,UAAMC,QAAQD,UAAUE,KAA8BC,2DAAAA;AACtD,QAAI,CAACF;AAAO,aAAO,CAAA;AACnB,UAAMV,YACJU,OAAOpB,UACLuB,MAAMC,QAAQJ,OAAOpB,OAAAA,IACnBoB,MAAMpB,UACN;MAACoB,MAAMpB;QACTyB;AACJ,UAAMb,SAASF,YAAY,MAAMgB,QAAQtB,IAAIM,UAAUiB,IAAI,CAAC3B,YAAY,KAAKD,cAAcC,OAAAA,CAAAA,CAAAA,IAAa;MAAC,MAAM,KAAKiB,mBAAkB;;AACtI,WAAO,MAAMS,QAAQtB,IACnBQ,OAAOe,IAAI,CAACC,UAAU,IAAIC,sCAAmC;MAAEb,QAAQc;IAAyB,CAAA,EAAGC,OAAO;MAAEH;IAAM,CAAA,EAAGI,MAAK,CAAA,CAAA;EAE9H;AACF;","names":["MemorySchemaStatsDiviner","SchemaStatsDiviner","configSchemas","SchemaStatsDivinerConfigSchema","divineAddress","address","archivist","assertEx","getArchivist","all","filtered","filter","isBoundWitness","isBoundWitnessWithMeta","bw","addresses","includes","counts","reduce","acc","payload","schema","divineAllAddresses","divineHandler","payloads","query","find","isSchemaStatsQueryPayload","Array","isArray","undefined","Promise","map","count","PayloadBuilder","SchemaStatsDivinerSchema","fields","build"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/MemorySchemaStatsDiviner.ts"],"sourcesContent":["export * from './MemorySchemaStatsDiviner'\n","import { assertEx } from '@xylabs/assert'\nimport { Address } from '@xylabs/hex'\nimport { isBoundWitness, isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'\nimport { SchemaStatsDiviner } from '@xyo-network/diviner-schema-stats-abstract'\nimport {\n isSchemaStatsQueryPayload,\n SchemaStatsDivinerConfigSchema,\n SchemaStatsDivinerParams,\n SchemaStatsDivinerSchema,\n SchemaStatsPayload,\n SchemaStatsQueryPayload,\n} from '@xyo-network/diviner-schema-stats-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemorySchemaStatsDiviner<TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams> extends SchemaStatsDiviner<TParams> {\n static override configSchemas = [SchemaStatsDivinerConfigSchema]\n\n protected async divineAddress(address: Address): Promise<Record<string, number>> {\n const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const all = await assertEx(archivist.all, () => 'Archivist does not support \"all\"')()\n const filtered = all\n .filter(isBoundWitness)\n .filter(isBoundWitnessWithMeta)\n .filter((bw) => bw.addresses.includes(address))\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = filtered.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected async divineAllAddresses(): Promise<Record<string, number>> {\n const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const all = await assertEx(archivist.all, () => 'Archivist does not support \"all\"')()\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = all.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const query = payloads?.find<SchemaStatsQueryPayload>(isSchemaStatsQueryPayload)\n if (!query) return []\n const addresses =\n query?.address ?\n Array.isArray(query?.address) ?\n query.address\n : [query.address]\n : undefined\n const counts = addresses ? await Promise.all(addresses.map((address) => this.divineAddress(address))) : [await this.divineAllAddresses()]\n return await Promise.all(\n counts.map((count) => new PayloadBuilder<SchemaStatsPayload>({ schema: SchemaStatsDivinerSchema }).fields({ count }).build()),\n )\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACAA,oBAAyB;AAEzB,gCAAuD;AACvD,2CAAmC;AACnC,wCAOO;AACP,6BAA+B;AAGxB,IAAMA,2BAAN,cAA4GC,wDAAAA;EAfnH,OAemHA;;;EACjH,OAAgBC,gBAAgB;IAACC;;EAEjC,MAAgBC,cAAcC,SAAmD;AAC/E,UAAMC,gBAAYC,wBAAS,MAAM,KAAKC,kBAAiB,GAAI,MAAM,6BAAA;AACjE,UAAMC,MAAM,UAAMF,wBAASD,UAAUG,KAAK,MAAM,kCAAA,EAAA;AAChD,UAAMC,WAAWD,IACdE,OAAOC,wCAAAA,EACPD,OAAOE,gDAAAA,EACPF,OAAO,CAACG,OAAOA,GAAGC,UAAUC,SAASX,OAAAA,CAAAA;AAExC,UAAMY,SAAiCP,SAASQ,OAC9C,CAACC,KAAKC,YAAAA;AACJD,UAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAI,IAAI;AACtE,aAAOF;IACT,GACA,CAAC,CAAA;AAEH,WAAOF;EACT;EAEA,MAAgBK,qBAAsD;AACpE,UAAMhB,gBAAYC,wBAAS,MAAM,KAAKC,kBAAiB,GAAI,MAAM,6BAAA;AACjE,UAAMC,MAAM,UAAMF,wBAASD,UAAUG,KAAK,MAAM,kCAAA,EAAA;AAEhD,UAAMQ,SAAiCR,IAAIS,OACzC,CAACC,KAAKC,YAAAA;AACJD,UAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAI,IAAI;AACtE,aAAOF;IACT,GACA,CAAC,CAAA;AAEH,WAAOF;EACT;EAEA,MAAyBM,cAAcC,UAA0C;AAC/E,UAAMC,QAAQD,UAAUE,KAA8BC,2DAAAA;AACtD,QAAI,CAACF;AAAO,aAAO,CAAA;AACnB,UAAMV,YACJU,OAAOpB,UACLuB,MAAMC,QAAQJ,OAAOpB,OAAAA,IACnBoB,MAAMpB,UACN;MAACoB,MAAMpB;QACTyB;AACJ,UAAMb,SAASF,YAAY,MAAMgB,QAAQtB,IAAIM,UAAUiB,IAAI,CAAC3B,YAAY,KAAKD,cAAcC,OAAAA,CAAAA,CAAAA,IAAa;MAAC,MAAM,KAAKiB,mBAAkB;;AACtI,WAAO,MAAMS,QAAQtB,IACnBQ,OAAOe,IAAI,CAACC,UAAU,IAAIC,sCAAmC;MAAEb,QAAQc;IAAyB,CAAA,EAAGC,OAAO;MAAEH;IAAM,CAAA,EAAGI,MAAK,CAAA,CAAA;EAE9H;AACF;","names":["MemorySchemaStatsDiviner","SchemaStatsDiviner","configSchemas","SchemaStatsDivinerConfigSchema","divineAddress","address","archivist","assertEx","archivistInstance","all","filtered","filter","isBoundWitness","isBoundWitnessWithMeta","bw","addresses","includes","counts","reduce","acc","payload","schema","divineAllAddresses","divineHandler","payloads","query","find","isSchemaStatsQueryPayload","Array","isArray","undefined","Promise","map","count","PayloadBuilder","SchemaStatsDivinerSchema","fields","build"]}
@@ -15,7 +15,7 @@ var MemorySchemaStatsDiviner = class extends SchemaStatsDiviner {
15
15
  SchemaStatsDivinerConfigSchema
16
16
  ];
17
17
  async divineAddress(address) {
18
- const archivist = assertEx(await this.getArchivist(), () => "Unable to resolve archivist");
18
+ const archivist = assertEx(await this.archivistInstance(), () => "Unable to resolve archivist");
19
19
  const all = await assertEx(archivist.all, () => 'Archivist does not support "all"')();
20
20
  const filtered = all.filter(isBoundWitness).filter(isBoundWitnessWithMeta).filter((bw) => bw.addresses.includes(address));
21
21
  const counts = filtered.reduce((acc, payload) => {
@@ -25,7 +25,7 @@ var MemorySchemaStatsDiviner = class extends SchemaStatsDiviner {
25
25
  return counts;
26
26
  }
27
27
  async divineAllAddresses() {
28
- const archivist = assertEx(await this.getArchivist(), () => "Unable to resolve archivist");
28
+ const archivist = assertEx(await this.archivistInstance(), () => "Unable to resolve archivist");
29
29
  const all = await assertEx(archivist.all, () => 'Archivist does not support "all"')();
30
30
  const counts = all.reduce((acc, payload) => {
31
31
  acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/MemorySchemaStatsDiviner.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { Address } from '@xylabs/hex'\nimport { isBoundWitness, isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'\nimport { SchemaStatsDiviner } from '@xyo-network/diviner-schema-stats-abstract'\nimport {\n isSchemaStatsQueryPayload,\n SchemaStatsDivinerConfigSchema,\n SchemaStatsDivinerParams,\n SchemaStatsDivinerSchema,\n SchemaStatsPayload,\n SchemaStatsQueryPayload,\n} from '@xyo-network/diviner-schema-stats-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemorySchemaStatsDiviner<TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams> extends SchemaStatsDiviner<TParams> {\n static override configSchemas = [SchemaStatsDivinerConfigSchema]\n\n protected async divineAddress(address: Address): Promise<Record<string, number>> {\n const archivist = assertEx(await this.getArchivist(), () => 'Unable to resolve archivist')\n const all = await assertEx(archivist.all, () => 'Archivist does not support \"all\"')()\n const filtered = all\n .filter(isBoundWitness)\n .filter(isBoundWitnessWithMeta)\n .filter((bw) => bw.addresses.includes(address))\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = filtered.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected async divineAllAddresses(): Promise<Record<string, number>> {\n const archivist = assertEx(await this.getArchivist(), () => 'Unable to resolve archivist')\n const all = await assertEx(archivist.all, () => 'Archivist does not support \"all\"')()\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = all.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const query = payloads?.find<SchemaStatsQueryPayload>(isSchemaStatsQueryPayload)\n if (!query) return []\n const addresses =\n query?.address ?\n Array.isArray(query?.address) ?\n query.address\n : [query.address]\n : undefined\n const counts = addresses ? await Promise.all(addresses.map((address) => this.divineAddress(address))) : [await this.divineAllAddresses()]\n return await Promise.all(\n counts.map((count) => new PayloadBuilder<SchemaStatsPayload>({ schema: SchemaStatsDivinerSchema }).fields({ count }).build()),\n )\n }\n}\n"],"mappings":";;;;AAAA,SAASA,gBAAgB;AAEzB,SAASC,gBAAgBC,8BAA8B;AACvD,SAASC,0BAA0B;AACnC,SACEC,2BACAC,gCAEAC,gCAGK;AACP,SAASC,sBAAsB;AAGxB,IAAMC,2BAAN,cAA4GC,mBAAAA;EAfnH,OAemHA;;;EACjH,OAAgBC,gBAAgB;IAACC;;EAEjC,MAAgBC,cAAcC,SAAmD;AAC/E,UAAMC,YAAYC,SAAS,MAAM,KAAKC,aAAY,GAAI,MAAM,6BAAA;AAC5D,UAAMC,MAAM,MAAMF,SAASD,UAAUG,KAAK,MAAM,kCAAA,EAAA;AAChD,UAAMC,WAAWD,IACdE,OAAOC,cAAAA,EACPD,OAAOE,sBAAAA,EACPF,OAAO,CAACG,OAAOA,GAAGC,UAAUC,SAASX,OAAAA,CAAAA;AAExC,UAAMY,SAAiCP,SAASQ,OAC9C,CAACC,KAAKC,YAAAA;AACJD,UAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAI,IAAI;AACtE,aAAOF;IACT,GACA,CAAC,CAAA;AAEH,WAAOF;EACT;EAEA,MAAgBK,qBAAsD;AACpE,UAAMhB,YAAYC,SAAS,MAAM,KAAKC,aAAY,GAAI,MAAM,6BAAA;AAC5D,UAAMC,MAAM,MAAMF,SAASD,UAAUG,KAAK,MAAM,kCAAA,EAAA;AAEhD,UAAMQ,SAAiCR,IAAIS,OACzC,CAACC,KAAKC,YAAAA;AACJD,UAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAI,IAAI;AACtE,aAAOF;IACT,GACA,CAAC,CAAA;AAEH,WAAOF;EACT;EAEA,MAAyBM,cAAcC,UAA0C;AAC/E,UAAMC,QAAQD,UAAUE,KAA8BC,yBAAAA;AACtD,QAAI,CAACF;AAAO,aAAO,CAAA;AACnB,UAAMV,YACJU,OAAOpB,UACLuB,MAAMC,QAAQJ,OAAOpB,OAAAA,IACnBoB,MAAMpB,UACN;MAACoB,MAAMpB;QACTyB;AACJ,UAAMb,SAASF,YAAY,MAAMgB,QAAQtB,IAAIM,UAAUiB,IAAI,CAAC3B,YAAY,KAAKD,cAAcC,OAAAA,CAAAA,CAAAA,IAAa;MAAC,MAAM,KAAKiB,mBAAkB;;AACtI,WAAO,MAAMS,QAAQtB,IACnBQ,OAAOe,IAAI,CAACC,UAAU,IAAIC,eAAmC;MAAEb,QAAQc;IAAyB,CAAA,EAAGC,OAAO;MAAEH;IAAM,CAAA,EAAGI,MAAK,CAAA,CAAA;EAE9H;AACF;","names":["assertEx","isBoundWitness","isBoundWitnessWithMeta","SchemaStatsDiviner","isSchemaStatsQueryPayload","SchemaStatsDivinerConfigSchema","SchemaStatsDivinerSchema","PayloadBuilder","MemorySchemaStatsDiviner","SchemaStatsDiviner","configSchemas","SchemaStatsDivinerConfigSchema","divineAddress","address","archivist","assertEx","getArchivist","all","filtered","filter","isBoundWitness","isBoundWitnessWithMeta","bw","addresses","includes","counts","reduce","acc","payload","schema","divineAllAddresses","divineHandler","payloads","query","find","isSchemaStatsQueryPayload","Array","isArray","undefined","Promise","map","count","PayloadBuilder","SchemaStatsDivinerSchema","fields","build"]}
1
+ {"version":3,"sources":["../../src/MemorySchemaStatsDiviner.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { Address } from '@xylabs/hex'\nimport { isBoundWitness, isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'\nimport { SchemaStatsDiviner } from '@xyo-network/diviner-schema-stats-abstract'\nimport {\n isSchemaStatsQueryPayload,\n SchemaStatsDivinerConfigSchema,\n SchemaStatsDivinerParams,\n SchemaStatsDivinerSchema,\n SchemaStatsPayload,\n SchemaStatsQueryPayload,\n} from '@xyo-network/diviner-schema-stats-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemorySchemaStatsDiviner<TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams> extends SchemaStatsDiviner<TParams> {\n static override configSchemas = [SchemaStatsDivinerConfigSchema]\n\n protected async divineAddress(address: Address): Promise<Record<string, number>> {\n const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const all = await assertEx(archivist.all, () => 'Archivist does not support \"all\"')()\n const filtered = all\n .filter(isBoundWitness)\n .filter(isBoundWitnessWithMeta)\n .filter((bw) => bw.addresses.includes(address))\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = filtered.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected async divineAllAddresses(): Promise<Record<string, number>> {\n const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const all = await assertEx(archivist.all, () => 'Archivist does not support \"all\"')()\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = all.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const query = payloads?.find<SchemaStatsQueryPayload>(isSchemaStatsQueryPayload)\n if (!query) return []\n const addresses =\n query?.address ?\n Array.isArray(query?.address) ?\n query.address\n : [query.address]\n : undefined\n const counts = addresses ? await Promise.all(addresses.map((address) => this.divineAddress(address))) : [await this.divineAllAddresses()]\n return await Promise.all(\n counts.map((count) => new PayloadBuilder<SchemaStatsPayload>({ schema: SchemaStatsDivinerSchema }).fields({ count }).build()),\n )\n }\n}\n"],"mappings":";;;;AAAA,SAASA,gBAAgB;AAEzB,SAASC,gBAAgBC,8BAA8B;AACvD,SAASC,0BAA0B;AACnC,SACEC,2BACAC,gCAEAC,gCAGK;AACP,SAASC,sBAAsB;AAGxB,IAAMC,2BAAN,cAA4GC,mBAAAA;EAfnH,OAemHA;;;EACjH,OAAgBC,gBAAgB;IAACC;;EAEjC,MAAgBC,cAAcC,SAAmD;AAC/E,UAAMC,YAAYC,SAAS,MAAM,KAAKC,kBAAiB,GAAI,MAAM,6BAAA;AACjE,UAAMC,MAAM,MAAMF,SAASD,UAAUG,KAAK,MAAM,kCAAA,EAAA;AAChD,UAAMC,WAAWD,IACdE,OAAOC,cAAAA,EACPD,OAAOE,sBAAAA,EACPF,OAAO,CAACG,OAAOA,GAAGC,UAAUC,SAASX,OAAAA,CAAAA;AAExC,UAAMY,SAAiCP,SAASQ,OAC9C,CAACC,KAAKC,YAAAA;AACJD,UAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAI,IAAI;AACtE,aAAOF;IACT,GACA,CAAC,CAAA;AAEH,WAAOF;EACT;EAEA,MAAgBK,qBAAsD;AACpE,UAAMhB,YAAYC,SAAS,MAAM,KAAKC,kBAAiB,GAAI,MAAM,6BAAA;AACjE,UAAMC,MAAM,MAAMF,SAASD,UAAUG,KAAK,MAAM,kCAAA,EAAA;AAEhD,UAAMQ,SAAiCR,IAAIS,OACzC,CAACC,KAAKC,YAAAA;AACJD,UAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAI,IAAI;AACtE,aAAOF;IACT,GACA,CAAC,CAAA;AAEH,WAAOF;EACT;EAEA,MAAyBM,cAAcC,UAA0C;AAC/E,UAAMC,QAAQD,UAAUE,KAA8BC,yBAAAA;AACtD,QAAI,CAACF;AAAO,aAAO,CAAA;AACnB,UAAMV,YACJU,OAAOpB,UACLuB,MAAMC,QAAQJ,OAAOpB,OAAAA,IACnBoB,MAAMpB,UACN;MAACoB,MAAMpB;QACTyB;AACJ,UAAMb,SAASF,YAAY,MAAMgB,QAAQtB,IAAIM,UAAUiB,IAAI,CAAC3B,YAAY,KAAKD,cAAcC,OAAAA,CAAAA,CAAAA,IAAa;MAAC,MAAM,KAAKiB,mBAAkB;;AACtI,WAAO,MAAMS,QAAQtB,IACnBQ,OAAOe,IAAI,CAACC,UAAU,IAAIC,eAAmC;MAAEb,QAAQc;IAAyB,CAAA,EAAGC,OAAO;MAAEH;IAAM,CAAA,EAAGI,MAAK,CAAA,CAAA;EAE9H;AACF;","names":["assertEx","isBoundWitness","isBoundWitnessWithMeta","SchemaStatsDiviner","isSchemaStatsQueryPayload","SchemaStatsDivinerConfigSchema","SchemaStatsDivinerSchema","PayloadBuilder","MemorySchemaStatsDiviner","SchemaStatsDiviner","configSchemas","SchemaStatsDivinerConfigSchema","divineAddress","address","archivist","assertEx","archivistInstance","all","filtered","filter","isBoundWitness","isBoundWitnessWithMeta","bw","addresses","includes","counts","reduce","acc","payload","schema","divineAllAddresses","divineHandler","payloads","query","find","isSchemaStatsQueryPayload","Array","isArray","undefined","Promise","map","count","PayloadBuilder","SchemaStatsDivinerSchema","fields","build"]}
@@ -38,7 +38,7 @@ var import_diviner_schema_stats_model = require("@xyo-network/diviner-schema-sta
38
38
  var import_payload_builder = require("@xyo-network/payload-builder");
39
39
  var _MemorySchemaStatsDiviner = class _MemorySchemaStatsDiviner extends import_diviner_schema_stats_abstract.SchemaStatsDiviner {
40
40
  async divineAddress(address) {
41
- const archivist = (0, import_assert.assertEx)(await this.getArchivist(), () => "Unable to resolve archivist");
41
+ const archivist = (0, import_assert.assertEx)(await this.archivistInstance(), () => "Unable to resolve archivist");
42
42
  const all = await (0, import_assert.assertEx)(archivist.all, () => 'Archivist does not support "all"')();
43
43
  const filtered = all.filter(import_boundwitness_model.isBoundWitness).filter(import_boundwitness_model.isBoundWitnessWithMeta).filter((bw) => bw.addresses.includes(address));
44
44
  const counts = filtered.reduce((acc, payload) => {
@@ -48,7 +48,7 @@ var _MemorySchemaStatsDiviner = class _MemorySchemaStatsDiviner extends import_d
48
48
  return counts;
49
49
  }
50
50
  async divineAllAddresses() {
51
- const archivist = (0, import_assert.assertEx)(await this.getArchivist(), () => "Unable to resolve archivist");
51
+ const archivist = (0, import_assert.assertEx)(await this.archivistInstance(), () => "Unable to resolve archivist");
52
52
  const all = await (0, import_assert.assertEx)(archivist.all, () => 'Archivist does not support "all"')();
53
53
  const counts = all.reduce((acc, payload) => {
54
54
  acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/MemorySchemaStatsDiviner.ts"],"sourcesContent":["export * from './MemorySchemaStatsDiviner'\n","import { assertEx } from '@xylabs/assert'\nimport { Address } from '@xylabs/hex'\nimport { isBoundWitness, isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'\nimport { SchemaStatsDiviner } from '@xyo-network/diviner-schema-stats-abstract'\nimport {\n isSchemaStatsQueryPayload,\n SchemaStatsDivinerConfigSchema,\n SchemaStatsDivinerParams,\n SchemaStatsDivinerSchema,\n SchemaStatsPayload,\n SchemaStatsQueryPayload,\n} from '@xyo-network/diviner-schema-stats-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemorySchemaStatsDiviner<TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams> extends SchemaStatsDiviner<TParams> {\n static override configSchemas = [SchemaStatsDivinerConfigSchema]\n\n protected async divineAddress(address: Address): Promise<Record<string, number>> {\n const archivist = assertEx(await this.getArchivist(), () => 'Unable to resolve archivist')\n const all = await assertEx(archivist.all, () => 'Archivist does not support \"all\"')()\n const filtered = all\n .filter(isBoundWitness)\n .filter(isBoundWitnessWithMeta)\n .filter((bw) => bw.addresses.includes(address))\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = filtered.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected async divineAllAddresses(): Promise<Record<string, number>> {\n const archivist = assertEx(await this.getArchivist(), () => 'Unable to resolve archivist')\n const all = await assertEx(archivist.all, () => 'Archivist does not support \"all\"')()\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = all.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const query = payloads?.find<SchemaStatsQueryPayload>(isSchemaStatsQueryPayload)\n if (!query) return []\n const addresses =\n query?.address ?\n Array.isArray(query?.address) ?\n query.address\n : [query.address]\n : undefined\n const counts = addresses ? await Promise.all(addresses.map((address) => this.divineAddress(address))) : [await this.divineAllAddresses()]\n return await Promise.all(\n counts.map((count) => new PayloadBuilder<SchemaStatsPayload>({ schema: SchemaStatsDivinerSchema }).fields({ count }).build()),\n )\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACAA,oBAAyB;AAEzB,gCAAuD;AACvD,2CAAmC;AACnC,wCAOO;AACP,6BAA+B;AAGxB,IAAMA,4BAAN,MAAMA,kCAAsGC,wDAAAA;EAGjH,MAAgBC,cAAcC,SAAmD;AAC/E,UAAMC,gBAAYC,wBAAS,MAAM,KAAKC,aAAY,GAAI,MAAM,6BAAA;AAC5D,UAAMC,MAAM,UAAMF,wBAASD,UAAUG,KAAK,MAAM,kCAAA,EAAA;AAChD,UAAMC,WAAWD,IACdE,OAAOC,wCAAAA,EACPD,OAAOE,gDAAAA,EACPF,OAAO,CAACG,OAAOA,GAAGC,UAAUC,SAASX,OAAAA,CAAAA;AAExC,UAAMY,SAAiCP,SAASQ,OAC9C,CAACC,KAAKC,YAAAA;AACJD,UAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAI,IAAI;AACtE,aAAOF;IACT,GACA,CAAC,CAAA;AAEH,WAAOF;EACT;EAEA,MAAgBK,qBAAsD;AACpE,UAAMhB,gBAAYC,wBAAS,MAAM,KAAKC,aAAY,GAAI,MAAM,6BAAA;AAC5D,UAAMC,MAAM,UAAMF,wBAASD,UAAUG,KAAK,MAAM,kCAAA,EAAA;AAEhD,UAAMQ,SAAiCR,IAAIS,OACzC,CAACC,KAAKC,YAAAA;AACJD,UAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAI,IAAI;AACtE,aAAOF;IACT,GACA,CAAC,CAAA;AAEH,WAAOF;EACT;EAEA,MAAyBM,cAAcC,UAA0C;AAC/E,UAAMC,QAAQD,qCAAUE,KAA8BC;AACtD,QAAI,CAACF;AAAO,aAAO,CAAA;AACnB,UAAMV,aACJU,+BAAOpB,WACLuB,MAAMC,QAAQJ,+BAAOpB,OAAAA,IACnBoB,MAAMpB,UACN;MAACoB,MAAMpB;QACTyB;AACJ,UAAMb,SAASF,YAAY,MAAMgB,QAAQtB,IAAIM,UAAUiB,IAAI,CAAC3B,YAAY,KAAKD,cAAcC,OAAAA,CAAAA,CAAAA,IAAa;MAAC,MAAM,KAAKiB,mBAAkB;;AACtI,WAAO,MAAMS,QAAQtB,IACnBQ,OAAOe,IAAI,CAACC,UAAU,IAAIC,sCAAmC;MAAEb,QAAQc;IAAyB,CAAA,EAAGC,OAAO;MAAEH;IAAM,CAAA,EAAGI,MAAK,CAAA,CAAA;EAE9H;AACF;AAjDmHlC;AACjH,cADWD,2BACKoC,iBAAgB;EAACC;;AAD5B,IAAMrC,2BAAN;","names":["MemorySchemaStatsDiviner","SchemaStatsDiviner","divineAddress","address","archivist","assertEx","getArchivist","all","filtered","filter","isBoundWitness","isBoundWitnessWithMeta","bw","addresses","includes","counts","reduce","acc","payload","schema","divineAllAddresses","divineHandler","payloads","query","find","isSchemaStatsQueryPayload","Array","isArray","undefined","Promise","map","count","PayloadBuilder","SchemaStatsDivinerSchema","fields","build","configSchemas","SchemaStatsDivinerConfigSchema"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/MemorySchemaStatsDiviner.ts"],"sourcesContent":["export * from './MemorySchemaStatsDiviner'\n","import { assertEx } from '@xylabs/assert'\nimport { Address } from '@xylabs/hex'\nimport { isBoundWitness, isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'\nimport { SchemaStatsDiviner } from '@xyo-network/diviner-schema-stats-abstract'\nimport {\n isSchemaStatsQueryPayload,\n SchemaStatsDivinerConfigSchema,\n SchemaStatsDivinerParams,\n SchemaStatsDivinerSchema,\n SchemaStatsPayload,\n SchemaStatsQueryPayload,\n} from '@xyo-network/diviner-schema-stats-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemorySchemaStatsDiviner<TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams> extends SchemaStatsDiviner<TParams> {\n static override configSchemas = [SchemaStatsDivinerConfigSchema]\n\n protected async divineAddress(address: Address): Promise<Record<string, number>> {\n const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const all = await assertEx(archivist.all, () => 'Archivist does not support \"all\"')()\n const filtered = all\n .filter(isBoundWitness)\n .filter(isBoundWitnessWithMeta)\n .filter((bw) => bw.addresses.includes(address))\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = filtered.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected async divineAllAddresses(): Promise<Record<string, number>> {\n const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const all = await assertEx(archivist.all, () => 'Archivist does not support \"all\"')()\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = all.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const query = payloads?.find<SchemaStatsQueryPayload>(isSchemaStatsQueryPayload)\n if (!query) return []\n const addresses =\n query?.address ?\n Array.isArray(query?.address) ?\n query.address\n : [query.address]\n : undefined\n const counts = addresses ? await Promise.all(addresses.map((address) => this.divineAddress(address))) : [await this.divineAllAddresses()]\n return await Promise.all(\n counts.map((count) => new PayloadBuilder<SchemaStatsPayload>({ schema: SchemaStatsDivinerSchema }).fields({ count }).build()),\n )\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACAA,oBAAyB;AAEzB,gCAAuD;AACvD,2CAAmC;AACnC,wCAOO;AACP,6BAA+B;AAGxB,IAAMA,4BAAN,MAAMA,kCAAsGC,wDAAAA;EAGjH,MAAgBC,cAAcC,SAAmD;AAC/E,UAAMC,gBAAYC,wBAAS,MAAM,KAAKC,kBAAiB,GAAI,MAAM,6BAAA;AACjE,UAAMC,MAAM,UAAMF,wBAASD,UAAUG,KAAK,MAAM,kCAAA,EAAA;AAChD,UAAMC,WAAWD,IACdE,OAAOC,wCAAAA,EACPD,OAAOE,gDAAAA,EACPF,OAAO,CAACG,OAAOA,GAAGC,UAAUC,SAASX,OAAAA,CAAAA;AAExC,UAAMY,SAAiCP,SAASQ,OAC9C,CAACC,KAAKC,YAAAA;AACJD,UAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAI,IAAI;AACtE,aAAOF;IACT,GACA,CAAC,CAAA;AAEH,WAAOF;EACT;EAEA,MAAgBK,qBAAsD;AACpE,UAAMhB,gBAAYC,wBAAS,MAAM,KAAKC,kBAAiB,GAAI,MAAM,6BAAA;AACjE,UAAMC,MAAM,UAAMF,wBAASD,UAAUG,KAAK,MAAM,kCAAA,EAAA;AAEhD,UAAMQ,SAAiCR,IAAIS,OACzC,CAACC,KAAKC,YAAAA;AACJD,UAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAI,IAAI;AACtE,aAAOF;IACT,GACA,CAAC,CAAA;AAEH,WAAOF;EACT;EAEA,MAAyBM,cAAcC,UAA0C;AAC/E,UAAMC,QAAQD,qCAAUE,KAA8BC;AACtD,QAAI,CAACF;AAAO,aAAO,CAAA;AACnB,UAAMV,aACJU,+BAAOpB,WACLuB,MAAMC,QAAQJ,+BAAOpB,OAAAA,IACnBoB,MAAMpB,UACN;MAACoB,MAAMpB;QACTyB;AACJ,UAAMb,SAASF,YAAY,MAAMgB,QAAQtB,IAAIM,UAAUiB,IAAI,CAAC3B,YAAY,KAAKD,cAAcC,OAAAA,CAAAA,CAAAA,IAAa;MAAC,MAAM,KAAKiB,mBAAkB;;AACtI,WAAO,MAAMS,QAAQtB,IACnBQ,OAAOe,IAAI,CAACC,UAAU,IAAIC,sCAAmC;MAAEb,QAAQc;IAAyB,CAAA,EAAGC,OAAO;MAAEH;IAAM,CAAA,EAAGI,MAAK,CAAA,CAAA;EAE9H;AACF;AAjDmHlC;AACjH,cADWD,2BACKoC,iBAAgB;EAACC;;AAD5B,IAAMrC,2BAAN;","names":["MemorySchemaStatsDiviner","SchemaStatsDiviner","divineAddress","address","archivist","assertEx","archivistInstance","all","filtered","filter","isBoundWitness","isBoundWitnessWithMeta","bw","addresses","includes","counts","reduce","acc","payload","schema","divineAllAddresses","divineHandler","payloads","query","find","isSchemaStatsQueryPayload","Array","isArray","undefined","Promise","map","count","PayloadBuilder","SchemaStatsDivinerSchema","fields","build","configSchemas","SchemaStatsDivinerConfigSchema"]}
@@ -14,7 +14,7 @@ import { isSchemaStatsQueryPayload, SchemaStatsDivinerConfigSchema, SchemaStatsD
14
14
  import { PayloadBuilder } from "@xyo-network/payload-builder";
15
15
  var _MemorySchemaStatsDiviner = class _MemorySchemaStatsDiviner extends SchemaStatsDiviner {
16
16
  async divineAddress(address) {
17
- const archivist = assertEx(await this.getArchivist(), () => "Unable to resolve archivist");
17
+ const archivist = assertEx(await this.archivistInstance(), () => "Unable to resolve archivist");
18
18
  const all = await assertEx(archivist.all, () => 'Archivist does not support "all"')();
19
19
  const filtered = all.filter(isBoundWitness).filter(isBoundWitnessWithMeta).filter((bw) => bw.addresses.includes(address));
20
20
  const counts = filtered.reduce((acc, payload) => {
@@ -24,7 +24,7 @@ var _MemorySchemaStatsDiviner = class _MemorySchemaStatsDiviner extends SchemaSt
24
24
  return counts;
25
25
  }
26
26
  async divineAllAddresses() {
27
- const archivist = assertEx(await this.getArchivist(), () => "Unable to resolve archivist");
27
+ const archivist = assertEx(await this.archivistInstance(), () => "Unable to resolve archivist");
28
28
  const all = await assertEx(archivist.all, () => 'Archivist does not support "all"')();
29
29
  const counts = all.reduce((acc, payload) => {
30
30
  acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/MemorySchemaStatsDiviner.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { Address } from '@xylabs/hex'\nimport { isBoundWitness, isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'\nimport { SchemaStatsDiviner } from '@xyo-network/diviner-schema-stats-abstract'\nimport {\n isSchemaStatsQueryPayload,\n SchemaStatsDivinerConfigSchema,\n SchemaStatsDivinerParams,\n SchemaStatsDivinerSchema,\n SchemaStatsPayload,\n SchemaStatsQueryPayload,\n} from '@xyo-network/diviner-schema-stats-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemorySchemaStatsDiviner<TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams> extends SchemaStatsDiviner<TParams> {\n static override configSchemas = [SchemaStatsDivinerConfigSchema]\n\n protected async divineAddress(address: Address): Promise<Record<string, number>> {\n const archivist = assertEx(await this.getArchivist(), () => 'Unable to resolve archivist')\n const all = await assertEx(archivist.all, () => 'Archivist does not support \"all\"')()\n const filtered = all\n .filter(isBoundWitness)\n .filter(isBoundWitnessWithMeta)\n .filter((bw) => bw.addresses.includes(address))\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = filtered.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected async divineAllAddresses(): Promise<Record<string, number>> {\n const archivist = assertEx(await this.getArchivist(), () => 'Unable to resolve archivist')\n const all = await assertEx(archivist.all, () => 'Archivist does not support \"all\"')()\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = all.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const query = payloads?.find<SchemaStatsQueryPayload>(isSchemaStatsQueryPayload)\n if (!query) return []\n const addresses =\n query?.address ?\n Array.isArray(query?.address) ?\n query.address\n : [query.address]\n : undefined\n const counts = addresses ? await Promise.all(addresses.map((address) => this.divineAddress(address))) : [await this.divineAllAddresses()]\n return await Promise.all(\n counts.map((count) => new PayloadBuilder<SchemaStatsPayload>({ schema: SchemaStatsDivinerSchema }).fields({ count }).build()),\n )\n }\n}\n"],"mappings":";;;;;;;;;AAAA,SAASA,gBAAgB;AAEzB,SAASC,gBAAgBC,8BAA8B;AACvD,SAASC,0BAA0B;AACnC,SACEC,2BACAC,gCAEAC,gCAGK;AACP,SAASC,sBAAsB;AAGxB,IAAMC,4BAAN,MAAMA,kCAAsGC,mBAAAA;EAGjH,MAAgBC,cAAcC,SAAmD;AAC/E,UAAMC,YAAYC,SAAS,MAAM,KAAKC,aAAY,GAAI,MAAM,6BAAA;AAC5D,UAAMC,MAAM,MAAMF,SAASD,UAAUG,KAAK,MAAM,kCAAA,EAAA;AAChD,UAAMC,WAAWD,IACdE,OAAOC,cAAAA,EACPD,OAAOE,sBAAAA,EACPF,OAAO,CAACG,OAAOA,GAAGC,UAAUC,SAASX,OAAAA,CAAAA;AAExC,UAAMY,SAAiCP,SAASQ,OAC9C,CAACC,KAAKC,YAAAA;AACJD,UAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAI,IAAI;AACtE,aAAOF;IACT,GACA,CAAC,CAAA;AAEH,WAAOF;EACT;EAEA,MAAgBK,qBAAsD;AACpE,UAAMhB,YAAYC,SAAS,MAAM,KAAKC,aAAY,GAAI,MAAM,6BAAA;AAC5D,UAAMC,MAAM,MAAMF,SAASD,UAAUG,KAAK,MAAM,kCAAA,EAAA;AAEhD,UAAMQ,SAAiCR,IAAIS,OACzC,CAACC,KAAKC,YAAAA;AACJD,UAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAI,IAAI;AACtE,aAAOF;IACT,GACA,CAAC,CAAA;AAEH,WAAOF;EACT;EAEA,MAAyBM,cAAcC,UAA0C;AAC/E,UAAMC,QAAQD,qCAAUE,KAA8BC;AACtD,QAAI,CAACF;AAAO,aAAO,CAAA;AACnB,UAAMV,aACJU,+BAAOpB,WACLuB,MAAMC,QAAQJ,+BAAOpB,OAAAA,IACnBoB,MAAMpB,UACN;MAACoB,MAAMpB;QACTyB;AACJ,UAAMb,SAASF,YAAY,MAAMgB,QAAQtB,IAAIM,UAAUiB,IAAI,CAAC3B,YAAY,KAAKD,cAAcC,OAAAA,CAAAA,CAAAA,IAAa;MAAC,MAAM,KAAKiB,mBAAkB;;AACtI,WAAO,MAAMS,QAAQtB,IACnBQ,OAAOe,IAAI,CAACC,UAAU,IAAIC,eAAmC;MAAEb,QAAQc;IAAyB,CAAA,EAAGC,OAAO;MAAEH;IAAM,CAAA,EAAGI,MAAK,CAAA,CAAA;EAE9H;AACF;AAjDmHlC;AACjH,cADWD,2BACKoC,iBAAgB;EAACC;;AAD5B,IAAMrC,2BAAN;","names":["assertEx","isBoundWitness","isBoundWitnessWithMeta","SchemaStatsDiviner","isSchemaStatsQueryPayload","SchemaStatsDivinerConfigSchema","SchemaStatsDivinerSchema","PayloadBuilder","MemorySchemaStatsDiviner","SchemaStatsDiviner","divineAddress","address","archivist","assertEx","getArchivist","all","filtered","filter","isBoundWitness","isBoundWitnessWithMeta","bw","addresses","includes","counts","reduce","acc","payload","schema","divineAllAddresses","divineHandler","payloads","query","find","isSchemaStatsQueryPayload","Array","isArray","undefined","Promise","map","count","PayloadBuilder","SchemaStatsDivinerSchema","fields","build","configSchemas","SchemaStatsDivinerConfigSchema"]}
1
+ {"version":3,"sources":["../../src/MemorySchemaStatsDiviner.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { Address } from '@xylabs/hex'\nimport { isBoundWitness, isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'\nimport { SchemaStatsDiviner } from '@xyo-network/diviner-schema-stats-abstract'\nimport {\n isSchemaStatsQueryPayload,\n SchemaStatsDivinerConfigSchema,\n SchemaStatsDivinerParams,\n SchemaStatsDivinerSchema,\n SchemaStatsPayload,\n SchemaStatsQueryPayload,\n} from '@xyo-network/diviner-schema-stats-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemorySchemaStatsDiviner<TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams> extends SchemaStatsDiviner<TParams> {\n static override configSchemas = [SchemaStatsDivinerConfigSchema]\n\n protected async divineAddress(address: Address): Promise<Record<string, number>> {\n const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const all = await assertEx(archivist.all, () => 'Archivist does not support \"all\"')()\n const filtered = all\n .filter(isBoundWitness)\n .filter(isBoundWitnessWithMeta)\n .filter((bw) => bw.addresses.includes(address))\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = filtered.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected async divineAllAddresses(): Promise<Record<string, number>> {\n const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const all = await assertEx(archivist.all, () => 'Archivist does not support \"all\"')()\n // eslint-disable-next-line unicorn/no-array-reduce\n const counts: Record<string, number> = all.reduce(\n (acc, payload) => {\n acc[payload.schema] = acc[payload.schema] ? acc[payload.schema] + 1 : 1\n return acc\n },\n {} as Record<string, number>,\n )\n return counts\n }\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const query = payloads?.find<SchemaStatsQueryPayload>(isSchemaStatsQueryPayload)\n if (!query) return []\n const addresses =\n query?.address ?\n Array.isArray(query?.address) ?\n query.address\n : [query.address]\n : undefined\n const counts = addresses ? await Promise.all(addresses.map((address) => this.divineAddress(address))) : [await this.divineAllAddresses()]\n return await Promise.all(\n counts.map((count) => new PayloadBuilder<SchemaStatsPayload>({ schema: SchemaStatsDivinerSchema }).fields({ count }).build()),\n )\n }\n}\n"],"mappings":";;;;;;;;;AAAA,SAASA,gBAAgB;AAEzB,SAASC,gBAAgBC,8BAA8B;AACvD,SAASC,0BAA0B;AACnC,SACEC,2BACAC,gCAEAC,gCAGK;AACP,SAASC,sBAAsB;AAGxB,IAAMC,4BAAN,MAAMA,kCAAsGC,mBAAAA;EAGjH,MAAgBC,cAAcC,SAAmD;AAC/E,UAAMC,YAAYC,SAAS,MAAM,KAAKC,kBAAiB,GAAI,MAAM,6BAAA;AACjE,UAAMC,MAAM,MAAMF,SAASD,UAAUG,KAAK,MAAM,kCAAA,EAAA;AAChD,UAAMC,WAAWD,IACdE,OAAOC,cAAAA,EACPD,OAAOE,sBAAAA,EACPF,OAAO,CAACG,OAAOA,GAAGC,UAAUC,SAASX,OAAAA,CAAAA;AAExC,UAAMY,SAAiCP,SAASQ,OAC9C,CAACC,KAAKC,YAAAA;AACJD,UAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAI,IAAI;AACtE,aAAOF;IACT,GACA,CAAC,CAAA;AAEH,WAAOF;EACT;EAEA,MAAgBK,qBAAsD;AACpE,UAAMhB,YAAYC,SAAS,MAAM,KAAKC,kBAAiB,GAAI,MAAM,6BAAA;AACjE,UAAMC,MAAM,MAAMF,SAASD,UAAUG,KAAK,MAAM,kCAAA,EAAA;AAEhD,UAAMQ,SAAiCR,IAAIS,OACzC,CAACC,KAAKC,YAAAA;AACJD,UAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAIF,IAAIC,QAAQC,MAAM,IAAI,IAAI;AACtE,aAAOF;IACT,GACA,CAAC,CAAA;AAEH,WAAOF;EACT;EAEA,MAAyBM,cAAcC,UAA0C;AAC/E,UAAMC,QAAQD,qCAAUE,KAA8BC;AACtD,QAAI,CAACF;AAAO,aAAO,CAAA;AACnB,UAAMV,aACJU,+BAAOpB,WACLuB,MAAMC,QAAQJ,+BAAOpB,OAAAA,IACnBoB,MAAMpB,UACN;MAACoB,MAAMpB;QACTyB;AACJ,UAAMb,SAASF,YAAY,MAAMgB,QAAQtB,IAAIM,UAAUiB,IAAI,CAAC3B,YAAY,KAAKD,cAAcC,OAAAA,CAAAA,CAAAA,IAAa;MAAC,MAAM,KAAKiB,mBAAkB;;AACtI,WAAO,MAAMS,QAAQtB,IACnBQ,OAAOe,IAAI,CAACC,UAAU,IAAIC,eAAmC;MAAEb,QAAQc;IAAyB,CAAA,EAAGC,OAAO;MAAEH;IAAM,CAAA,EAAGI,MAAK,CAAA,CAAA;EAE9H;AACF;AAjDmHlC;AACjH,cADWD,2BACKoC,iBAAgB;EAACC;;AAD5B,IAAMrC,2BAAN;","names":["assertEx","isBoundWitness","isBoundWitnessWithMeta","SchemaStatsDiviner","isSchemaStatsQueryPayload","SchemaStatsDivinerConfigSchema","SchemaStatsDivinerSchema","PayloadBuilder","MemorySchemaStatsDiviner","SchemaStatsDiviner","divineAddress","address","archivist","assertEx","archivistInstance","all","filtered","filter","isBoundWitness","isBoundWitnessWithMeta","bw","addresses","includes","counts","reduce","acc","payload","schema","divineAllAddresses","divineHandler","payloads","query","find","isSchemaStatsQueryPayload","Array","isArray","undefined","Promise","map","count","PayloadBuilder","SchemaStatsDivinerSchema","fields","build","configSchemas","SchemaStatsDivinerConfigSchema"]}
package/package.json CHANGED
@@ -12,11 +12,11 @@
12
12
  "dependencies": {
13
13
  "@xylabs/assert": "^3.1.7",
14
14
  "@xylabs/hex": "^3.1.7",
15
- "@xyo-network/boundwitness-model": "~2.95.3",
16
- "@xyo-network/diviner-schema-stats-abstract": "~2.95.3",
17
- "@xyo-network/diviner-schema-stats-model": "~2.95.3",
18
- "@xyo-network/payload-builder": "~2.95.3",
19
- "@xyo-network/payload-model": "~2.95.3"
15
+ "@xyo-network/boundwitness-model": "~2.95.4",
16
+ "@xyo-network/diviner-schema-stats-abstract": "~2.95.4",
17
+ "@xyo-network/diviner-schema-stats-model": "~2.95.4",
18
+ "@xyo-network/payload-builder": "~2.95.4",
19
+ "@xyo-network/payload-model": "~2.95.4"
20
20
  },
21
21
  "devDependencies": {
22
22
  "@xylabs/ts-scripts-yarn3": "^3.9.0",
@@ -62,6 +62,6 @@
62
62
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
63
63
  },
64
64
  "sideEffects": false,
65
- "version": "2.95.3",
65
+ "version": "2.95.4",
66
66
  "type": "module"
67
67
  }
@@ -17,7 +17,7 @@ export class MemorySchemaStatsDiviner<TParams extends SchemaStatsDivinerParams =
17
17
  static override configSchemas = [SchemaStatsDivinerConfigSchema]
18
18
 
19
19
  protected async divineAddress(address: Address): Promise<Record<string, number>> {
20
- const archivist = assertEx(await this.getArchivist(), () => 'Unable to resolve archivist')
20
+ const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')
21
21
  const all = await assertEx(archivist.all, () => 'Archivist does not support "all"')()
22
22
  const filtered = all
23
23
  .filter(isBoundWitness)
@@ -35,7 +35,7 @@ export class MemorySchemaStatsDiviner<TParams extends SchemaStatsDivinerParams =
35
35
  }
36
36
 
37
37
  protected async divineAllAddresses(): Promise<Record<string, number>> {
38
- const archivist = assertEx(await this.getArchivist(), () => 'Unable to resolve archivist')
38
+ const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')
39
39
  const all = await assertEx(archivist.all, () => 'Archivist does not support "all"')()
40
40
  // eslint-disable-next-line unicorn/no-array-reduce
41
41
  const counts: Record<string, number> = all.reduce(