@xyo-network/diviner-payload-stats-memory 2.90.23 → 2.91.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.
@@ -1,9 +1,10 @@
1
+ import { Address } from '@xylabs/hex';
1
2
  import { PayloadStatsDiviner } from '@xyo-network/diviner-payload-stats-abstract';
2
3
  import { PayloadStatsDivinerParams } from '@xyo-network/diviner-payload-stats-model';
3
4
  import { Payload } from '@xyo-network/payload-model';
4
5
  export declare class MemoryPayloadStatsDiviner<TParams extends PayloadStatsDivinerParams = PayloadStatsDivinerParams> extends PayloadStatsDiviner<TParams> {
5
6
  static configSchemas: "network.xyo.diviner.payload.stats.config"[];
6
- protected divineAddress(address: string): Promise<number>;
7
+ protected divineAddress(address: Address): Promise<number>;
7
8
  protected divineAllAddresses(): Promise<number>;
8
9
  protected divineHandler(payloads?: Payload[]): Promise<Payload[]>;
9
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryPayloadStatsDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryPayloadStatsDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACjF,OAAO,EAGL,yBAAyB,EAI1B,MAAM,0CAA0C,CAAA;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,+CAAoC;cAEjD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAU/C,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;cAM5B,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CASjF"}
1
+ {"version":3,"file":"MemoryPayloadStatsDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryPayloadStatsDiviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACjF,OAAO,EAGL,yBAAyB,EAI1B,MAAM,0CAA0C,CAAA;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,+CAAoC;cAEjD,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;cAUhD,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;cAM5B,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAcjF"}
@@ -1,9 +1,10 @@
1
+ import { Address } from '@xylabs/hex';
1
2
  import { PayloadStatsDiviner } from '@xyo-network/diviner-payload-stats-abstract';
2
3
  import { PayloadStatsDivinerParams } from '@xyo-network/diviner-payload-stats-model';
3
4
  import { Payload } from '@xyo-network/payload-model';
4
5
  export declare class MemoryPayloadStatsDiviner<TParams extends PayloadStatsDivinerParams = PayloadStatsDivinerParams> extends PayloadStatsDiviner<TParams> {
5
6
  static configSchemas: "network.xyo.diviner.payload.stats.config"[];
6
- protected divineAddress(address: string): Promise<number>;
7
+ protected divineAddress(address: Address): Promise<number>;
7
8
  protected divineAllAddresses(): Promise<number>;
8
9
  protected divineHandler(payloads?: Payload[]): Promise<Payload[]>;
9
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryPayloadStatsDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryPayloadStatsDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACjF,OAAO,EAGL,yBAAyB,EAI1B,MAAM,0CAA0C,CAAA;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,+CAAoC;cAEjD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAU/C,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;cAM5B,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CASjF"}
1
+ {"version":3,"file":"MemoryPayloadStatsDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryPayloadStatsDiviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACjF,OAAO,EAGL,yBAAyB,EAI1B,MAAM,0CAA0C,CAAA;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,+CAAoC;cAEjD,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;cAUhD,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;cAM5B,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAcjF"}
@@ -1,9 +1,10 @@
1
+ import { Address } from '@xylabs/hex';
1
2
  import { PayloadStatsDiviner } from '@xyo-network/diviner-payload-stats-abstract';
2
3
  import { PayloadStatsDivinerParams } from '@xyo-network/diviner-payload-stats-model';
3
4
  import { Payload } from '@xyo-network/payload-model';
4
5
  export declare class MemoryPayloadStatsDiviner<TParams extends PayloadStatsDivinerParams = PayloadStatsDivinerParams> extends PayloadStatsDiviner<TParams> {
5
6
  static configSchemas: "network.xyo.diviner.payload.stats.config"[];
6
- protected divineAddress(address: string): Promise<number>;
7
+ protected divineAddress(address: Address): Promise<number>;
7
8
  protected divineAllAddresses(): Promise<number>;
8
9
  protected divineHandler(payloads?: Payload[]): Promise<Payload[]>;
9
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryPayloadStatsDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryPayloadStatsDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACjF,OAAO,EAGL,yBAAyB,EAI1B,MAAM,0CAA0C,CAAA;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,+CAAoC;cAEjD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAU/C,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;cAM5B,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CASjF"}
1
+ {"version":3,"file":"MemoryPayloadStatsDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryPayloadStatsDiviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACjF,OAAO,EAGL,yBAAyB,EAI1B,MAAM,0CAA0C,CAAA;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,+CAAoC;cAEjD,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;cAUhD,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;cAM5B,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAcjF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/MemoryPayloadStatsDiviner.ts"],"sourcesContent":["export * from './MemoryPayloadStatsDiviner'\n","import { assertEx } from '@xylabs/assert'\nimport { isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'\nimport { PayloadStatsDiviner } from '@xyo-network/diviner-payload-stats-abstract'\nimport {\n isPayloadStatsQueryPayload,\n PayloadStatsDivinerConfigSchema,\n PayloadStatsDivinerParams,\n PayloadStatsDivinerSchema,\n PayloadStatsPayload,\n PayloadStatsQueryPayload,\n} from '@xyo-network/diviner-payload-stats-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemoryPayloadStatsDiviner<TParams extends PayloadStatsDivinerParams = PayloadStatsDivinerParams> extends PayloadStatsDiviner<TParams> {\n static override configSchemas = [PayloadStatsDivinerConfigSchema]\n\n protected async divineAddress(address: string): Promise<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 return all\n .filter(isBoundWitnessWithMeta)\n .filter((bw) => bw.addresses.includes(address))\n .map((bw) => bw.payload_hashes.length)\n .reduce((total, count) => total + count, 0)\n }\n\n protected async divineAllAddresses(): Promise<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 return all.length\n }\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const query = payloads?.find<PayloadStatsQueryPayload>(isPayloadStatsQueryPayload)\n if (!query) return []\n const addresses = query?.address ? (Array.isArray(query?.address) ? query.address : [query.address]) : 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<PayloadStatsPayload>({ schema: PayloadStatsDivinerSchema }).fields({ count }).build()),\n )\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACAA,oBAAyB;AACzB,gCAAuC;AACvC,4CAAoC;AACpC,yCAOO;AACP,6BAA+B;AAGxB,IAAMA,4BAAN,cAA+GC,0DAAAA;EAdtH,OAcsHA;;;EACpH,OAAgBC,gBAAgB;IAACC;;EAEjC,MAAgBC,cAAcC,SAAkC;AAC9D,UAAMC,gBAAYC,wBAAS,MAAM,KAAKC,aAAY,GAAI,6BAAA;AACtD,UAAMC,MAAM,UAAMF,wBAASD,UAAUG,KAAK,kCAAA,EAAA;AAC1C,WAAOA,IACJC,OAAOC,gDAAAA,EACPD,OAAO,CAACE,OAAOA,GAAGC,UAAUC,SAAST,OAAAA,CAAAA,EACrCU,IAAI,CAACH,OAAOA,GAAGI,eAAeC,MAAM,EACpCC,OAAO,CAACC,OAAOC,UAAUD,QAAQC,OAAO,CAAA;EAC7C;EAEA,MAAgBC,qBAAsC;AACpD,UAAMf,gBAAYC,wBAAS,MAAM,KAAKC,aAAY,GAAI,6BAAA;AACtD,UAAMC,MAAM,UAAMF,wBAASD,UAAUG,KAAK,kCAAA,EAAA;AAC1C,WAAOA,IAAIQ;EACb;EAEA,MAAyBK,cAAcC,UAA0C;AAC/E,UAAMC,QAAQD,UAAUE,KAA+BC,6DAAAA;AACvD,QAAI,CAACF;AAAO,aAAO,CAAA;AACnB,UAAMX,YAAYW,OAAOnB,UAAWsB,MAAMC,QAAQJ,OAAOnB,OAAAA,IAAWmB,MAAMnB,UAAU;MAACmB,MAAMnB;QAAYwB;AACvG,UAAMC,SAASjB,YAAY,MAAMkB,QAAQtB,IAAII,UAAUE,IAAI,CAACV,YAAY,KAAKD,cAAcC,OAAAA,CAAAA,CAAAA,IAAa;MAAC,MAAM,KAAKgB,mBAAkB;;AACtI,WAAO,MAAMU,QAAQtB,IACnBqB,OAAOf,IAAI,CAACK,UAAU,IAAIY,sCAAoC;MAAEC,QAAQC;IAA0B,CAAA,EAAGC,OAAO;MAAEf;IAAM,CAAA,EAAGgB,MAAK,CAAA,CAAA;EAEhI;AACF;","names":["MemoryPayloadStatsDiviner","PayloadStatsDiviner","configSchemas","PayloadStatsDivinerConfigSchema","divineAddress","address","archivist","assertEx","getArchivist","all","filter","isBoundWitnessWithMeta","bw","addresses","includes","map","payload_hashes","length","reduce","total","count","divineAllAddresses","divineHandler","payloads","query","find","isPayloadStatsQueryPayload","Array","isArray","undefined","counts","Promise","PayloadBuilder","schema","PayloadStatsDivinerSchema","fields","build"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/MemoryPayloadStatsDiviner.ts"],"sourcesContent":["export * from './MemoryPayloadStatsDiviner'\n","import { assertEx } from '@xylabs/assert'\nimport { Address } from '@xylabs/hex'\nimport { isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'\nimport { PayloadStatsDiviner } from '@xyo-network/diviner-payload-stats-abstract'\nimport {\n isPayloadStatsQueryPayload,\n PayloadStatsDivinerConfigSchema,\n PayloadStatsDivinerParams,\n PayloadStatsDivinerSchema,\n PayloadStatsPayload,\n PayloadStatsQueryPayload,\n} from '@xyo-network/diviner-payload-stats-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemoryPayloadStatsDiviner<TParams extends PayloadStatsDivinerParams = PayloadStatsDivinerParams> extends PayloadStatsDiviner<TParams> {\n static override configSchemas = [PayloadStatsDivinerConfigSchema]\n\n protected async divineAddress(address: Address): Promise<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 return all\n .filter(isBoundWitnessWithMeta)\n .filter((bw) => bw.addresses.includes(address))\n .map((bw) => bw.payload_hashes.length)\n .reduce((total, count) => total + count, 0)\n }\n\n protected async divineAllAddresses(): Promise<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 return all.length\n }\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const query = payloads?.find<PayloadStatsQueryPayload>(isPayloadStatsQueryPayload)\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<PayloadStatsPayload>({ schema: PayloadStatsDivinerSchema }).fields({ count }).build()),\n )\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACAA,oBAAyB;AAEzB,gCAAuC;AACvC,4CAAoC;AACpC,yCAOO;AACP,6BAA+B;AAGxB,IAAMA,4BAAN,cAA+GC,0DAAAA;EAftH,OAesHA;;;EACpH,OAAgBC,gBAAgB;IAACC;;EAEjC,MAAgBC,cAAcC,SAAmC;AAC/D,UAAMC,gBAAYC,wBAAS,MAAM,KAAKC,aAAY,GAAI,6BAAA;AACtD,UAAMC,MAAM,UAAMF,wBAASD,UAAUG,KAAK,kCAAA,EAAA;AAC1C,WAAOA,IACJC,OAAOC,gDAAAA,EACPD,OAAO,CAACE,OAAOA,GAAGC,UAAUC,SAAST,OAAAA,CAAAA,EACrCU,IAAI,CAACH,OAAOA,GAAGI,eAAeC,MAAM,EACpCC,OAAO,CAACC,OAAOC,UAAUD,QAAQC,OAAO,CAAA;EAC7C;EAEA,MAAgBC,qBAAsC;AACpD,UAAMf,gBAAYC,wBAAS,MAAM,KAAKC,aAAY,GAAI,6BAAA;AACtD,UAAMC,MAAM,UAAMF,wBAASD,UAAUG,KAAK,kCAAA,EAAA;AAC1C,WAAOA,IAAIQ;EACb;EAEA,MAAyBK,cAAcC,UAA0C;AAC/E,UAAMC,QAAQD,UAAUE,KAA+BC,6DAAAA;AACvD,QAAI,CAACF;AAAO,aAAO,CAAA;AACnB,UAAMX,YACJW,OAAOnB,UACLsB,MAAMC,QAAQJ,OAAOnB,OAAAA,IACnBmB,MAAMnB,UACN;MAACmB,MAAMnB;QACTwB;AACJ,UAAMC,SAASjB,YAAY,MAAMkB,QAAQtB,IAAII,UAAUE,IAAI,CAACV,YAAY,KAAKD,cAAcC,OAAAA,CAAAA,CAAAA,IAAa;MAAC,MAAM,KAAKgB,mBAAkB;;AACtI,WAAO,MAAMU,QAAQtB,IACnBqB,OAAOf,IAAI,CAACK,UAAU,IAAIY,sCAAoC;MAAEC,QAAQC;IAA0B,CAAA,EAAGC,OAAO;MAAEf;IAAM,CAAA,EAAGgB,MAAK,CAAA,CAAA;EAEhI;AACF;","names":["MemoryPayloadStatsDiviner","PayloadStatsDiviner","configSchemas","PayloadStatsDivinerConfigSchema","divineAddress","address","archivist","assertEx","getArchivist","all","filter","isBoundWitnessWithMeta","bw","addresses","includes","map","payload_hashes","length","reduce","total","count","divineAllAddresses","divineHandler","payloads","query","find","isPayloadStatsQueryPayload","Array","isArray","undefined","counts","Promise","PayloadBuilder","schema","PayloadStatsDivinerSchema","fields","build"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/MemoryPayloadStatsDiviner.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'\nimport { PayloadStatsDiviner } from '@xyo-network/diviner-payload-stats-abstract'\nimport {\n isPayloadStatsQueryPayload,\n PayloadStatsDivinerConfigSchema,\n PayloadStatsDivinerParams,\n PayloadStatsDivinerSchema,\n PayloadStatsPayload,\n PayloadStatsQueryPayload,\n} from '@xyo-network/diviner-payload-stats-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemoryPayloadStatsDiviner<TParams extends PayloadStatsDivinerParams = PayloadStatsDivinerParams> extends PayloadStatsDiviner<TParams> {\n static override configSchemas = [PayloadStatsDivinerConfigSchema]\n\n protected async divineAddress(address: string): Promise<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 return all\n .filter(isBoundWitnessWithMeta)\n .filter((bw) => bw.addresses.includes(address))\n .map((bw) => bw.payload_hashes.length)\n .reduce((total, count) => total + count, 0)\n }\n\n protected async divineAllAddresses(): Promise<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 return all.length\n }\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const query = payloads?.find<PayloadStatsQueryPayload>(isPayloadStatsQueryPayload)\n if (!query) return []\n const addresses = query?.address ? (Array.isArray(query?.address) ? query.address : [query.address]) : 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<PayloadStatsPayload>({ schema: PayloadStatsDivinerSchema }).fields({ count }).build()),\n )\n }\n}\n"],"mappings":";;;;AAAA,SAASA,gBAAgB;AACzB,SAASC,8BAA8B;AACvC,SAASC,2BAA2B;AACpC,SACEC,4BACAC,iCAEAC,iCAGK;AACP,SAASC,sBAAsB;AAGxB,IAAMC,4BAAN,cAA+GC,oBAAAA;EAdtH,OAcsHA;;;EACpH,OAAgBC,gBAAgB;IAACC;;EAEjC,MAAgBC,cAAcC,SAAkC;AAC9D,UAAMC,YAAYC,SAAS,MAAM,KAAKC,aAAY,GAAI,6BAAA;AACtD,UAAMC,MAAM,MAAMF,SAASD,UAAUG,KAAK,kCAAA,EAAA;AAC1C,WAAOA,IACJC,OAAOC,sBAAAA,EACPD,OAAO,CAACE,OAAOA,GAAGC,UAAUC,SAAST,OAAAA,CAAAA,EACrCU,IAAI,CAACH,OAAOA,GAAGI,eAAeC,MAAM,EACpCC,OAAO,CAACC,OAAOC,UAAUD,QAAQC,OAAO,CAAA;EAC7C;EAEA,MAAgBC,qBAAsC;AACpD,UAAMf,YAAYC,SAAS,MAAM,KAAKC,aAAY,GAAI,6BAAA;AACtD,UAAMC,MAAM,MAAMF,SAASD,UAAUG,KAAK,kCAAA,EAAA;AAC1C,WAAOA,IAAIQ;EACb;EAEA,MAAyBK,cAAcC,UAA0C;AAC/E,UAAMC,QAAQD,UAAUE,KAA+BC,0BAAAA;AACvD,QAAI,CAACF;AAAO,aAAO,CAAA;AACnB,UAAMX,YAAYW,OAAOnB,UAAWsB,MAAMC,QAAQJ,OAAOnB,OAAAA,IAAWmB,MAAMnB,UAAU;MAACmB,MAAMnB;QAAYwB;AACvG,UAAMC,SAASjB,YAAY,MAAMkB,QAAQtB,IAAII,UAAUE,IAAI,CAACV,YAAY,KAAKD,cAAcC,OAAAA,CAAAA,CAAAA,IAAa;MAAC,MAAM,KAAKgB,mBAAkB;;AACtI,WAAO,MAAMU,QAAQtB,IACnBqB,OAAOf,IAAI,CAACK,UAAU,IAAIY,eAAoC;MAAEC,QAAQC;IAA0B,CAAA,EAAGC,OAAO;MAAEf;IAAM,CAAA,EAAGgB,MAAK,CAAA,CAAA;EAEhI;AACF;","names":["assertEx","isBoundWitnessWithMeta","PayloadStatsDiviner","isPayloadStatsQueryPayload","PayloadStatsDivinerConfigSchema","PayloadStatsDivinerSchema","PayloadBuilder","MemoryPayloadStatsDiviner","PayloadStatsDiviner","configSchemas","PayloadStatsDivinerConfigSchema","divineAddress","address","archivist","assertEx","getArchivist","all","filter","isBoundWitnessWithMeta","bw","addresses","includes","map","payload_hashes","length","reduce","total","count","divineAllAddresses","divineHandler","payloads","query","find","isPayloadStatsQueryPayload","Array","isArray","undefined","counts","Promise","PayloadBuilder","schema","PayloadStatsDivinerSchema","fields","build"]}
1
+ {"version":3,"sources":["../../src/MemoryPayloadStatsDiviner.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { Address } from '@xylabs/hex'\nimport { isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'\nimport { PayloadStatsDiviner } from '@xyo-network/diviner-payload-stats-abstract'\nimport {\n isPayloadStatsQueryPayload,\n PayloadStatsDivinerConfigSchema,\n PayloadStatsDivinerParams,\n PayloadStatsDivinerSchema,\n PayloadStatsPayload,\n PayloadStatsQueryPayload,\n} from '@xyo-network/diviner-payload-stats-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemoryPayloadStatsDiviner<TParams extends PayloadStatsDivinerParams = PayloadStatsDivinerParams> extends PayloadStatsDiviner<TParams> {\n static override configSchemas = [PayloadStatsDivinerConfigSchema]\n\n protected async divineAddress(address: Address): Promise<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 return all\n .filter(isBoundWitnessWithMeta)\n .filter((bw) => bw.addresses.includes(address))\n .map((bw) => bw.payload_hashes.length)\n .reduce((total, count) => total + count, 0)\n }\n\n protected async divineAllAddresses(): Promise<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 return all.length\n }\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const query = payloads?.find<PayloadStatsQueryPayload>(isPayloadStatsQueryPayload)\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<PayloadStatsPayload>({ schema: PayloadStatsDivinerSchema }).fields({ count }).build()),\n )\n }\n}\n"],"mappings":";;;;AAAA,SAASA,gBAAgB;AAEzB,SAASC,8BAA8B;AACvC,SAASC,2BAA2B;AACpC,SACEC,4BACAC,iCAEAC,iCAGK;AACP,SAASC,sBAAsB;AAGxB,IAAMC,4BAAN,cAA+GC,oBAAAA;EAftH,OAesHA;;;EACpH,OAAgBC,gBAAgB;IAACC;;EAEjC,MAAgBC,cAAcC,SAAmC;AAC/D,UAAMC,YAAYC,SAAS,MAAM,KAAKC,aAAY,GAAI,6BAAA;AACtD,UAAMC,MAAM,MAAMF,SAASD,UAAUG,KAAK,kCAAA,EAAA;AAC1C,WAAOA,IACJC,OAAOC,sBAAAA,EACPD,OAAO,CAACE,OAAOA,GAAGC,UAAUC,SAAST,OAAAA,CAAAA,EACrCU,IAAI,CAACH,OAAOA,GAAGI,eAAeC,MAAM,EACpCC,OAAO,CAACC,OAAOC,UAAUD,QAAQC,OAAO,CAAA;EAC7C;EAEA,MAAgBC,qBAAsC;AACpD,UAAMf,YAAYC,SAAS,MAAM,KAAKC,aAAY,GAAI,6BAAA;AACtD,UAAMC,MAAM,MAAMF,SAASD,UAAUG,KAAK,kCAAA,EAAA;AAC1C,WAAOA,IAAIQ;EACb;EAEA,MAAyBK,cAAcC,UAA0C;AAC/E,UAAMC,QAAQD,UAAUE,KAA+BC,0BAAAA;AACvD,QAAI,CAACF;AAAO,aAAO,CAAA;AACnB,UAAMX,YACJW,OAAOnB,UACLsB,MAAMC,QAAQJ,OAAOnB,OAAAA,IACnBmB,MAAMnB,UACN;MAACmB,MAAMnB;QACTwB;AACJ,UAAMC,SAASjB,YAAY,MAAMkB,QAAQtB,IAAII,UAAUE,IAAI,CAACV,YAAY,KAAKD,cAAcC,OAAAA,CAAAA,CAAAA,IAAa;MAAC,MAAM,KAAKgB,mBAAkB;;AACtI,WAAO,MAAMU,QAAQtB,IACnBqB,OAAOf,IAAI,CAACK,UAAU,IAAIY,eAAoC;MAAEC,QAAQC;IAA0B,CAAA,EAAGC,OAAO;MAAEf;IAAM,CAAA,EAAGgB,MAAK,CAAA,CAAA;EAEhI;AACF;","names":["assertEx","isBoundWitnessWithMeta","PayloadStatsDiviner","isPayloadStatsQueryPayload","PayloadStatsDivinerConfigSchema","PayloadStatsDivinerSchema","PayloadBuilder","MemoryPayloadStatsDiviner","PayloadStatsDiviner","configSchemas","PayloadStatsDivinerConfigSchema","divineAddress","address","archivist","assertEx","getArchivist","all","filter","isBoundWitnessWithMeta","bw","addresses","includes","map","payload_hashes","length","reduce","total","count","divineAllAddresses","divineHandler","payloads","query","find","isPayloadStatsQueryPayload","Array","isArray","undefined","counts","Promise","PayloadBuilder","schema","PayloadStatsDivinerSchema","fields","build"]}
@@ -1,9 +1,10 @@
1
+ import { Address } from '@xylabs/hex';
1
2
  import { PayloadStatsDiviner } from '@xyo-network/diviner-payload-stats-abstract';
2
3
  import { PayloadStatsDivinerParams } from '@xyo-network/diviner-payload-stats-model';
3
4
  import { Payload } from '@xyo-network/payload-model';
4
5
  export declare class MemoryPayloadStatsDiviner<TParams extends PayloadStatsDivinerParams = PayloadStatsDivinerParams> extends PayloadStatsDiviner<TParams> {
5
6
  static configSchemas: "network.xyo.diviner.payload.stats.config"[];
6
- protected divineAddress(address: string): Promise<number>;
7
+ protected divineAddress(address: Address): Promise<number>;
7
8
  protected divineAllAddresses(): Promise<number>;
8
9
  protected divineHandler(payloads?: Payload[]): Promise<Payload[]>;
9
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryPayloadStatsDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryPayloadStatsDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACjF,OAAO,EAGL,yBAAyB,EAI1B,MAAM,0CAA0C,CAAA;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,+CAAoC;cAEjD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAU/C,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;cAM5B,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CASjF"}
1
+ {"version":3,"file":"MemoryPayloadStatsDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryPayloadStatsDiviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACjF,OAAO,EAGL,yBAAyB,EAI1B,MAAM,0CAA0C,CAAA;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,+CAAoC;cAEjD,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;cAUhD,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;cAM5B,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAcjF"}
@@ -1,9 +1,10 @@
1
+ import { Address } from '@xylabs/hex';
1
2
  import { PayloadStatsDiviner } from '@xyo-network/diviner-payload-stats-abstract';
2
3
  import { PayloadStatsDivinerParams } from '@xyo-network/diviner-payload-stats-model';
3
4
  import { Payload } from '@xyo-network/payload-model';
4
5
  export declare class MemoryPayloadStatsDiviner<TParams extends PayloadStatsDivinerParams = PayloadStatsDivinerParams> extends PayloadStatsDiviner<TParams> {
5
6
  static configSchemas: "network.xyo.diviner.payload.stats.config"[];
6
- protected divineAddress(address: string): Promise<number>;
7
+ protected divineAddress(address: Address): Promise<number>;
7
8
  protected divineAllAddresses(): Promise<number>;
8
9
  protected divineHandler(payloads?: Payload[]): Promise<Payload[]>;
9
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryPayloadStatsDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryPayloadStatsDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACjF,OAAO,EAGL,yBAAyB,EAI1B,MAAM,0CAA0C,CAAA;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,+CAAoC;cAEjD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAU/C,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;cAM5B,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CASjF"}
1
+ {"version":3,"file":"MemoryPayloadStatsDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryPayloadStatsDiviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACjF,OAAO,EAGL,yBAAyB,EAI1B,MAAM,0CAA0C,CAAA;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,+CAAoC;cAEjD,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;cAUhD,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;cAM5B,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAcjF"}
@@ -1,9 +1,10 @@
1
+ import { Address } from '@xylabs/hex';
1
2
  import { PayloadStatsDiviner } from '@xyo-network/diviner-payload-stats-abstract';
2
3
  import { PayloadStatsDivinerParams } from '@xyo-network/diviner-payload-stats-model';
3
4
  import { Payload } from '@xyo-network/payload-model';
4
5
  export declare class MemoryPayloadStatsDiviner<TParams extends PayloadStatsDivinerParams = PayloadStatsDivinerParams> extends PayloadStatsDiviner<TParams> {
5
6
  static configSchemas: "network.xyo.diviner.payload.stats.config"[];
6
- protected divineAddress(address: string): Promise<number>;
7
+ protected divineAddress(address: Address): Promise<number>;
7
8
  protected divineAllAddresses(): Promise<number>;
8
9
  protected divineHandler(payloads?: Payload[]): Promise<Payload[]>;
9
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryPayloadStatsDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryPayloadStatsDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACjF,OAAO,EAGL,yBAAyB,EAI1B,MAAM,0CAA0C,CAAA;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,+CAAoC;cAEjD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAU/C,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;cAM5B,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CASjF"}
1
+ {"version":3,"file":"MemoryPayloadStatsDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryPayloadStatsDiviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACjF,OAAO,EAGL,yBAAyB,EAI1B,MAAM,0CAA0C,CAAA;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IAChJ,OAAgB,aAAa,+CAAoC;cAEjD,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;cAUhD,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;cAM5B,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAcjF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/MemoryPayloadStatsDiviner.ts"],"sourcesContent":["export * from './MemoryPayloadStatsDiviner'\n","import { assertEx } from '@xylabs/assert'\nimport { isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'\nimport { PayloadStatsDiviner } from '@xyo-network/diviner-payload-stats-abstract'\nimport {\n isPayloadStatsQueryPayload,\n PayloadStatsDivinerConfigSchema,\n PayloadStatsDivinerParams,\n PayloadStatsDivinerSchema,\n PayloadStatsPayload,\n PayloadStatsQueryPayload,\n} from '@xyo-network/diviner-payload-stats-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemoryPayloadStatsDiviner<TParams extends PayloadStatsDivinerParams = PayloadStatsDivinerParams> extends PayloadStatsDiviner<TParams> {\n static override configSchemas = [PayloadStatsDivinerConfigSchema]\n\n protected async divineAddress(address: string): Promise<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 return all\n .filter(isBoundWitnessWithMeta)\n .filter((bw) => bw.addresses.includes(address))\n .map((bw) => bw.payload_hashes.length)\n .reduce((total, count) => total + count, 0)\n }\n\n protected async divineAllAddresses(): Promise<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 return all.length\n }\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const query = payloads?.find<PayloadStatsQueryPayload>(isPayloadStatsQueryPayload)\n if (!query) return []\n const addresses = query?.address ? (Array.isArray(query?.address) ? query.address : [query.address]) : 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<PayloadStatsPayload>({ schema: PayloadStatsDivinerSchema }).fields({ count }).build()),\n )\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACAA,oBAAyB;AACzB,gCAAuC;AACvC,4CAAoC;AACpC,yCAOO;AACP,6BAA+B;AAGxB,IAAMA,6BAAN,MAAMA,mCAAyGC,0DAAAA;EAGpH,MAAgBC,cAAcC,SAAkC;AAC9D,UAAMC,gBAAYC,wBAAS,MAAM,KAAKC,aAAY,GAAI,6BAAA;AACtD,UAAMC,MAAM,UAAMF,wBAASD,UAAUG,KAAK,kCAAA,EAAA;AAC1C,WAAOA,IACJC,OAAOC,gDAAAA,EACPD,OAAO,CAACE,OAAOA,GAAGC,UAAUC,SAAST,OAAAA,CAAAA,EACrCU,IAAI,CAACH,OAAOA,GAAGI,eAAeC,MAAM,EACpCC,OAAO,CAACC,OAAOC,UAAUD,QAAQC,OAAO,CAAA;EAC7C;EAEA,MAAgBC,qBAAsC;AACpD,UAAMf,gBAAYC,wBAAS,MAAM,KAAKC,aAAY,GAAI,6BAAA;AACtD,UAAMC,MAAM,UAAMF,wBAASD,UAAUG,KAAK,kCAAA,EAAA;AAC1C,WAAOA,IAAIQ;EACb;EAEA,MAAyBK,cAAcC,UAA0C;AAC/E,UAAMC,QAAQD,qCAAUE,KAA+BC;AACvD,QAAI,CAACF;AAAO,aAAO,CAAA;AACnB,UAAMX,aAAYW,+BAAOnB,WAAWsB,MAAMC,QAAQJ,+BAAOnB,OAAAA,IAAWmB,MAAMnB,UAAU;MAACmB,MAAMnB;QAAYwB;AACvG,UAAMC,SAASjB,YAAY,MAAMkB,QAAQtB,IAAII,UAAUE,IAAI,CAACV,YAAY,KAAKD,cAAcC,OAAAA,CAAAA,CAAAA,IAAa;MAAC,MAAM,KAAKgB,mBAAkB;;AACtI,WAAO,MAAMU,QAAQtB,IACnBqB,OAAOf,IAAI,CAACK,UAAU,IAAIY,sCAAoC;MAAEC,QAAQC;IAA0B,CAAA,EAAGC,OAAO;MAAEf;IAAM,CAAA,EAAGgB,MAAK,CAAA,CAAA;EAEhI;AACF;AA5BsHjC;AACpH,cADWD,4BACKmC,iBAAgB;EAACC;;AAD5B,IAAMpC,4BAAN;","names":["MemoryPayloadStatsDiviner","PayloadStatsDiviner","divineAddress","address","archivist","assertEx","getArchivist","all","filter","isBoundWitnessWithMeta","bw","addresses","includes","map","payload_hashes","length","reduce","total","count","divineAllAddresses","divineHandler","payloads","query","find","isPayloadStatsQueryPayload","Array","isArray","undefined","counts","Promise","PayloadBuilder","schema","PayloadStatsDivinerSchema","fields","build","configSchemas","PayloadStatsDivinerConfigSchema"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/MemoryPayloadStatsDiviner.ts"],"sourcesContent":["export * from './MemoryPayloadStatsDiviner'\n","import { assertEx } from '@xylabs/assert'\nimport { Address } from '@xylabs/hex'\nimport { isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'\nimport { PayloadStatsDiviner } from '@xyo-network/diviner-payload-stats-abstract'\nimport {\n isPayloadStatsQueryPayload,\n PayloadStatsDivinerConfigSchema,\n PayloadStatsDivinerParams,\n PayloadStatsDivinerSchema,\n PayloadStatsPayload,\n PayloadStatsQueryPayload,\n} from '@xyo-network/diviner-payload-stats-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemoryPayloadStatsDiviner<TParams extends PayloadStatsDivinerParams = PayloadStatsDivinerParams> extends PayloadStatsDiviner<TParams> {\n static override configSchemas = [PayloadStatsDivinerConfigSchema]\n\n protected async divineAddress(address: Address): Promise<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 return all\n .filter(isBoundWitnessWithMeta)\n .filter((bw) => bw.addresses.includes(address))\n .map((bw) => bw.payload_hashes.length)\n .reduce((total, count) => total + count, 0)\n }\n\n protected async divineAllAddresses(): Promise<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 return all.length\n }\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const query = payloads?.find<PayloadStatsQueryPayload>(isPayloadStatsQueryPayload)\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<PayloadStatsPayload>({ schema: PayloadStatsDivinerSchema }).fields({ count }).build()),\n )\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACAA,oBAAyB;AAEzB,gCAAuC;AACvC,4CAAoC;AACpC,yCAOO;AACP,6BAA+B;AAGxB,IAAMA,6BAAN,MAAMA,mCAAyGC,0DAAAA;EAGpH,MAAgBC,cAAcC,SAAmC;AAC/D,UAAMC,gBAAYC,wBAAS,MAAM,KAAKC,aAAY,GAAI,6BAAA;AACtD,UAAMC,MAAM,UAAMF,wBAASD,UAAUG,KAAK,kCAAA,EAAA;AAC1C,WAAOA,IACJC,OAAOC,gDAAAA,EACPD,OAAO,CAACE,OAAOA,GAAGC,UAAUC,SAAST,OAAAA,CAAAA,EACrCU,IAAI,CAACH,OAAOA,GAAGI,eAAeC,MAAM,EACpCC,OAAO,CAACC,OAAOC,UAAUD,QAAQC,OAAO,CAAA;EAC7C;EAEA,MAAgBC,qBAAsC;AACpD,UAAMf,gBAAYC,wBAAS,MAAM,KAAKC,aAAY,GAAI,6BAAA;AACtD,UAAMC,MAAM,UAAMF,wBAASD,UAAUG,KAAK,kCAAA,EAAA;AAC1C,WAAOA,IAAIQ;EACb;EAEA,MAAyBK,cAAcC,UAA0C;AAC/E,UAAMC,QAAQD,qCAAUE,KAA+BC;AACvD,QAAI,CAACF;AAAO,aAAO,CAAA;AACnB,UAAMX,aACJW,+BAAOnB,WACLsB,MAAMC,QAAQJ,+BAAOnB,OAAAA,IACnBmB,MAAMnB,UACN;MAACmB,MAAMnB;QACTwB;AACJ,UAAMC,SAASjB,YAAY,MAAMkB,QAAQtB,IAAII,UAAUE,IAAI,CAACV,YAAY,KAAKD,cAAcC,OAAAA,CAAAA,CAAAA,IAAa;MAAC,MAAM,KAAKgB,mBAAkB;;AACtI,WAAO,MAAMU,QAAQtB,IACnBqB,OAAOf,IAAI,CAACK,UAAU,IAAIY,sCAAoC;MAAEC,QAAQC;IAA0B,CAAA,EAAGC,OAAO;MAAEf;IAAM,CAAA,EAAGgB,MAAK,CAAA,CAAA;EAEhI;AACF;AAjCsHjC;AACpH,cADWD,4BACKmC,iBAAgB;EAACC;;AAD5B,IAAMpC,4BAAN;","names":["MemoryPayloadStatsDiviner","PayloadStatsDiviner","divineAddress","address","archivist","assertEx","getArchivist","all","filter","isBoundWitnessWithMeta","bw","addresses","includes","map","payload_hashes","length","reduce","total","count","divineAllAddresses","divineHandler","payloads","query","find","isPayloadStatsQueryPayload","Array","isArray","undefined","counts","Promise","PayloadBuilder","schema","PayloadStatsDivinerSchema","fields","build","configSchemas","PayloadStatsDivinerConfigSchema"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/MemoryPayloadStatsDiviner.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'\nimport { PayloadStatsDiviner } from '@xyo-network/diviner-payload-stats-abstract'\nimport {\n isPayloadStatsQueryPayload,\n PayloadStatsDivinerConfigSchema,\n PayloadStatsDivinerParams,\n PayloadStatsDivinerSchema,\n PayloadStatsPayload,\n PayloadStatsQueryPayload,\n} from '@xyo-network/diviner-payload-stats-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemoryPayloadStatsDiviner<TParams extends PayloadStatsDivinerParams = PayloadStatsDivinerParams> extends PayloadStatsDiviner<TParams> {\n static override configSchemas = [PayloadStatsDivinerConfigSchema]\n\n protected async divineAddress(address: string): Promise<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 return all\n .filter(isBoundWitnessWithMeta)\n .filter((bw) => bw.addresses.includes(address))\n .map((bw) => bw.payload_hashes.length)\n .reduce((total, count) => total + count, 0)\n }\n\n protected async divineAllAddresses(): Promise<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 return all.length\n }\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const query = payloads?.find<PayloadStatsQueryPayload>(isPayloadStatsQueryPayload)\n if (!query) return []\n const addresses = query?.address ? (Array.isArray(query?.address) ? query.address : [query.address]) : 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<PayloadStatsPayload>({ schema: PayloadStatsDivinerSchema }).fields({ count }).build()),\n )\n }\n}\n"],"mappings":";;;;;;;;;AAAA,SAASA,gBAAgB;AACzB,SAASC,8BAA8B;AACvC,SAASC,2BAA2B;AACpC,SACEC,4BACAC,iCAEAC,iCAGK;AACP,SAASC,sBAAsB;AAGxB,IAAMC,6BAAN,MAAMA,mCAAyGC,oBAAAA;EAGpH,MAAgBC,cAAcC,SAAkC;AAC9D,UAAMC,YAAYC,SAAS,MAAM,KAAKC,aAAY,GAAI,6BAAA;AACtD,UAAMC,MAAM,MAAMF,SAASD,UAAUG,KAAK,kCAAA,EAAA;AAC1C,WAAOA,IACJC,OAAOC,sBAAAA,EACPD,OAAO,CAACE,OAAOA,GAAGC,UAAUC,SAAST,OAAAA,CAAAA,EACrCU,IAAI,CAACH,OAAOA,GAAGI,eAAeC,MAAM,EACpCC,OAAO,CAACC,OAAOC,UAAUD,QAAQC,OAAO,CAAA;EAC7C;EAEA,MAAgBC,qBAAsC;AACpD,UAAMf,YAAYC,SAAS,MAAM,KAAKC,aAAY,GAAI,6BAAA;AACtD,UAAMC,MAAM,MAAMF,SAASD,UAAUG,KAAK,kCAAA,EAAA;AAC1C,WAAOA,IAAIQ;EACb;EAEA,MAAyBK,cAAcC,UAA0C;AAC/E,UAAMC,QAAQD,qCAAUE,KAA+BC;AACvD,QAAI,CAACF;AAAO,aAAO,CAAA;AACnB,UAAMX,aAAYW,+BAAOnB,WAAWsB,MAAMC,QAAQJ,+BAAOnB,OAAAA,IAAWmB,MAAMnB,UAAU;MAACmB,MAAMnB;QAAYwB;AACvG,UAAMC,SAASjB,YAAY,MAAMkB,QAAQtB,IAAII,UAAUE,IAAI,CAACV,YAAY,KAAKD,cAAcC,OAAAA,CAAAA,CAAAA,IAAa;MAAC,MAAM,KAAKgB,mBAAkB;;AACtI,WAAO,MAAMU,QAAQtB,IACnBqB,OAAOf,IAAI,CAACK,UAAU,IAAIY,eAAoC;MAAEC,QAAQC;IAA0B,CAAA,EAAGC,OAAO;MAAEf;IAAM,CAAA,EAAGgB,MAAK,CAAA,CAAA;EAEhI;AACF;AA5BsHjC;AACpH,cADWD,4BACKmC,iBAAgB;EAACC;;AAD5B,IAAMpC,4BAAN;","names":["assertEx","isBoundWitnessWithMeta","PayloadStatsDiviner","isPayloadStatsQueryPayload","PayloadStatsDivinerConfigSchema","PayloadStatsDivinerSchema","PayloadBuilder","MemoryPayloadStatsDiviner","PayloadStatsDiviner","divineAddress","address","archivist","assertEx","getArchivist","all","filter","isBoundWitnessWithMeta","bw","addresses","includes","map","payload_hashes","length","reduce","total","count","divineAllAddresses","divineHandler","payloads","query","find","isPayloadStatsQueryPayload","Array","isArray","undefined","counts","Promise","PayloadBuilder","schema","PayloadStatsDivinerSchema","fields","build","configSchemas","PayloadStatsDivinerConfigSchema"]}
1
+ {"version":3,"sources":["../../src/MemoryPayloadStatsDiviner.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { Address } from '@xylabs/hex'\nimport { isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'\nimport { PayloadStatsDiviner } from '@xyo-network/diviner-payload-stats-abstract'\nimport {\n isPayloadStatsQueryPayload,\n PayloadStatsDivinerConfigSchema,\n PayloadStatsDivinerParams,\n PayloadStatsDivinerSchema,\n PayloadStatsPayload,\n PayloadStatsQueryPayload,\n} from '@xyo-network/diviner-payload-stats-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport class MemoryPayloadStatsDiviner<TParams extends PayloadStatsDivinerParams = PayloadStatsDivinerParams> extends PayloadStatsDiviner<TParams> {\n static override configSchemas = [PayloadStatsDivinerConfigSchema]\n\n protected async divineAddress(address: Address): Promise<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 return all\n .filter(isBoundWitnessWithMeta)\n .filter((bw) => bw.addresses.includes(address))\n .map((bw) => bw.payload_hashes.length)\n .reduce((total, count) => total + count, 0)\n }\n\n protected async divineAllAddresses(): Promise<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 return all.length\n }\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const query = payloads?.find<PayloadStatsQueryPayload>(isPayloadStatsQueryPayload)\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<PayloadStatsPayload>({ schema: PayloadStatsDivinerSchema }).fields({ count }).build()),\n )\n }\n}\n"],"mappings":";;;;;;;;;AAAA,SAASA,gBAAgB;AAEzB,SAASC,8BAA8B;AACvC,SAASC,2BAA2B;AACpC,SACEC,4BACAC,iCAEAC,iCAGK;AACP,SAASC,sBAAsB;AAGxB,IAAMC,6BAAN,MAAMA,mCAAyGC,oBAAAA;EAGpH,MAAgBC,cAAcC,SAAmC;AAC/D,UAAMC,YAAYC,SAAS,MAAM,KAAKC,aAAY,GAAI,6BAAA;AACtD,UAAMC,MAAM,MAAMF,SAASD,UAAUG,KAAK,kCAAA,EAAA;AAC1C,WAAOA,IACJC,OAAOC,sBAAAA,EACPD,OAAO,CAACE,OAAOA,GAAGC,UAAUC,SAAST,OAAAA,CAAAA,EACrCU,IAAI,CAACH,OAAOA,GAAGI,eAAeC,MAAM,EACpCC,OAAO,CAACC,OAAOC,UAAUD,QAAQC,OAAO,CAAA;EAC7C;EAEA,MAAgBC,qBAAsC;AACpD,UAAMf,YAAYC,SAAS,MAAM,KAAKC,aAAY,GAAI,6BAAA;AACtD,UAAMC,MAAM,MAAMF,SAASD,UAAUG,KAAK,kCAAA,EAAA;AAC1C,WAAOA,IAAIQ;EACb;EAEA,MAAyBK,cAAcC,UAA0C;AAC/E,UAAMC,QAAQD,qCAAUE,KAA+BC;AACvD,QAAI,CAACF;AAAO,aAAO,CAAA;AACnB,UAAMX,aACJW,+BAAOnB,WACLsB,MAAMC,QAAQJ,+BAAOnB,OAAAA,IACnBmB,MAAMnB,UACN;MAACmB,MAAMnB;QACTwB;AACJ,UAAMC,SAASjB,YAAY,MAAMkB,QAAQtB,IAAII,UAAUE,IAAI,CAACV,YAAY,KAAKD,cAAcC,OAAAA,CAAAA,CAAAA,IAAa;MAAC,MAAM,KAAKgB,mBAAkB;;AACtI,WAAO,MAAMU,QAAQtB,IACnBqB,OAAOf,IAAI,CAACK,UAAU,IAAIY,eAAoC;MAAEC,QAAQC;IAA0B,CAAA,EAAGC,OAAO;MAAEf;IAAM,CAAA,EAAGgB,MAAK,CAAA,CAAA;EAEhI;AACF;AAjCsHjC;AACpH,cADWD,4BACKmC,iBAAgB;EAACC;;AAD5B,IAAMpC,4BAAN;","names":["assertEx","isBoundWitnessWithMeta","PayloadStatsDiviner","isPayloadStatsQueryPayload","PayloadStatsDivinerConfigSchema","PayloadStatsDivinerSchema","PayloadBuilder","MemoryPayloadStatsDiviner","PayloadStatsDiviner","divineAddress","address","archivist","assertEx","getArchivist","all","filter","isBoundWitnessWithMeta","bw","addresses","includes","map","payload_hashes","length","reduce","total","count","divineAllAddresses","divineHandler","payloads","query","find","isPayloadStatsQueryPayload","Array","isArray","undefined","counts","Promise","PayloadBuilder","schema","PayloadStatsDivinerSchema","fields","build","configSchemas","PayloadStatsDivinerConfigSchema"]}
package/package.json CHANGED
@@ -10,16 +10,17 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/assert": "^2.14.3",
14
- "@xyo-network/boundwitness-model": "~2.90.23",
15
- "@xyo-network/diviner-payload-stats-abstract": "~2.90.23",
16
- "@xyo-network/diviner-payload-stats-model": "~2.90.23",
17
- "@xyo-network/payload-builder": "~2.90.23",
18
- "@xyo-network/payload-model": "~2.90.23"
13
+ "@xylabs/assert": "^3.0.0",
14
+ "@xylabs/hex": "^3.0.0",
15
+ "@xyo-network/boundwitness-model": "~2.91.0",
16
+ "@xyo-network/diviner-payload-stats-abstract": "~2.91.0",
17
+ "@xyo-network/diviner-payload-stats-model": "~2.91.0",
18
+ "@xyo-network/payload-builder": "~2.91.0",
19
+ "@xyo-network/payload-model": "~2.91.0"
19
20
  },
20
21
  "devDependencies": {
21
- "@xylabs/ts-scripts-yarn3": "^3.2.42",
22
- "@xylabs/tsconfig": "^3.2.42",
22
+ "@xylabs/ts-scripts-yarn3": "^3.4.1",
23
+ "@xylabs/tsconfig": "^3.4.1",
23
24
  "typescript": "^5.3.3"
24
25
  },
25
26
  "description": "Primary SDK for using XYO Protocol 2.0",
@@ -61,6 +62,6 @@
61
62
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
62
63
  },
63
64
  "sideEffects": false,
64
- "version": "2.90.23",
65
+ "version": "2.91.0",
65
66
  "type": "module"
66
67
  }
@@ -1,4 +1,5 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
+ import { Address } from '@xylabs/hex'
2
3
  import { isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'
3
4
  import { PayloadStatsDiviner } from '@xyo-network/diviner-payload-stats-abstract'
4
5
  import {
@@ -15,7 +16,7 @@ import { Payload } from '@xyo-network/payload-model'
15
16
  export class MemoryPayloadStatsDiviner<TParams extends PayloadStatsDivinerParams = PayloadStatsDivinerParams> extends PayloadStatsDiviner<TParams> {
16
17
  static override configSchemas = [PayloadStatsDivinerConfigSchema]
17
18
 
18
- protected async divineAddress(address: string): Promise<number> {
19
+ protected async divineAddress(address: Address): Promise<number> {
19
20
  const archivist = assertEx(await this.getArchivist(), 'Unable to resolve archivist')
20
21
  const all = await assertEx(archivist.all, 'Archivist does not support "all"')()
21
22
  return all
@@ -34,7 +35,12 @@ export class MemoryPayloadStatsDiviner<TParams extends PayloadStatsDivinerParams
34
35
  protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {
35
36
  const query = payloads?.find<PayloadStatsQueryPayload>(isPayloadStatsQueryPayload)
36
37
  if (!query) return []
37
- const addresses = query?.address ? (Array.isArray(query?.address) ? query.address : [query.address]) : undefined
38
+ const addresses =
39
+ query?.address ?
40
+ Array.isArray(query?.address) ?
41
+ query.address
42
+ : [query.address]
43
+ : undefined
38
44
  const counts = addresses ? await Promise.all(addresses.map((address) => this.divineAddress(address))) : [await this.divineAllAddresses()]
39
45
  return await Promise.all(
40
46
  counts.map((count) => new PayloadBuilder<PayloadStatsPayload>({ schema: PayloadStatsDivinerSchema }).fields({ count }).build()),