@xyo-network/diviner-payload-stats-memory 2.90.2 → 2.90.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.
- package/dist/browser/index.cjs +1 -1
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +2 -2
- package/dist/browser/index.js.map +1 -1
- package/dist/node/index.cjs +1 -1
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +2 -2
- package/dist/node/index.js.map +1 -1
- package/package.json +7 -7
- package/src/MemoryPayloadStatsDiviner.ts +2 -2
package/dist/browser/index.cjs
CHANGED
|
@@ -41,7 +41,7 @@ var MemoryPayloadStatsDiviner = class extends import_diviner_payload_stats_abstr
|
|
|
41
41
|
async divineAddress(address) {
|
|
42
42
|
const archivist = (0, import_assert.assertEx)(await this.getArchivist(), "Unable to resolve archivist");
|
|
43
43
|
const all = await (0, import_assert.assertEx)(archivist.all, 'Archivist does not support "all"')();
|
|
44
|
-
return all.filter(import_boundwitness_model.
|
|
44
|
+
return all.filter(import_boundwitness_model.isBoundWitnessWithMeta).filter((bw) => bw.addresses.includes(address)).map((bw) => bw.payload_hashes.length).reduce((total, count) => total + count, 0);
|
|
45
45
|
}
|
|
46
46
|
async divineAllAddresses() {
|
|
47
47
|
const archivist = (0, import_assert.assertEx)(await this.getArchivist(), "Unable to resolve archivist");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/MemoryPayloadStatsDiviner.ts"],"sourcesContent":["export * from './MemoryPayloadStatsDiviner'\n","import { assertEx } from '@xylabs/assert'\nimport {
|
|
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"]}
|
package/dist/browser/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
3
3
|
|
|
4
4
|
// src/MemoryPayloadStatsDiviner.ts
|
|
5
5
|
import { assertEx } from "@xylabs/assert";
|
|
6
|
-
import {
|
|
6
|
+
import { isBoundWitnessWithMeta } from "@xyo-network/boundwitness-model";
|
|
7
7
|
import { PayloadStatsDiviner } from "@xyo-network/diviner-payload-stats-abstract";
|
|
8
8
|
import { isPayloadStatsQueryPayload, PayloadStatsDivinerConfigSchema, PayloadStatsDivinerSchema } from "@xyo-network/diviner-payload-stats-model";
|
|
9
9
|
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
@@ -17,7 +17,7 @@ var MemoryPayloadStatsDiviner = class extends PayloadStatsDiviner {
|
|
|
17
17
|
async divineAddress(address) {
|
|
18
18
|
const archivist = assertEx(await this.getArchivist(), "Unable to resolve archivist");
|
|
19
19
|
const all = await assertEx(archivist.all, 'Archivist does not support "all"')();
|
|
20
|
-
return all.filter(
|
|
20
|
+
return all.filter(isBoundWitnessWithMeta).filter((bw) => bw.addresses.includes(address)).map((bw) => bw.payload_hashes.length).reduce((total, count) => total + count, 0);
|
|
21
21
|
}
|
|
22
22
|
async divineAllAddresses() {
|
|
23
23
|
const archivist = assertEx(await this.getArchivist(), "Unable to resolve archivist");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/MemoryPayloadStatsDiviner.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport {
|
|
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"]}
|
package/dist/node/index.cjs
CHANGED
|
@@ -40,7 +40,7 @@ var _MemoryPayloadStatsDiviner = class _MemoryPayloadStatsDiviner extends import
|
|
|
40
40
|
async divineAddress(address) {
|
|
41
41
|
const archivist = (0, import_assert.assertEx)(await this.getArchivist(), "Unable to resolve archivist");
|
|
42
42
|
const all = await (0, import_assert.assertEx)(archivist.all, 'Archivist does not support "all"')();
|
|
43
|
-
return all.filter(import_boundwitness_model.
|
|
43
|
+
return all.filter(import_boundwitness_model.isBoundWitnessWithMeta).filter((bw) => bw.addresses.includes(address)).map((bw) => bw.payload_hashes.length).reduce((total, count) => total + count, 0);
|
|
44
44
|
}
|
|
45
45
|
async divineAllAddresses() {
|
|
46
46
|
const archivist = (0, import_assert.assertEx)(await this.getArchivist(), "Unable to resolve archivist");
|
package/dist/node/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/MemoryPayloadStatsDiviner.ts"],"sourcesContent":["export * from './MemoryPayloadStatsDiviner'\n","import { assertEx } from '@xylabs/assert'\nimport {
|
|
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"]}
|
package/dist/node/index.js
CHANGED
|
@@ -8,7 +8,7 @@ var __publicField = (obj, key, value) => {
|
|
|
8
8
|
|
|
9
9
|
// src/MemoryPayloadStatsDiviner.ts
|
|
10
10
|
import { assertEx } from "@xylabs/assert";
|
|
11
|
-
import {
|
|
11
|
+
import { isBoundWitnessWithMeta } from "@xyo-network/boundwitness-model";
|
|
12
12
|
import { PayloadStatsDiviner } from "@xyo-network/diviner-payload-stats-abstract";
|
|
13
13
|
import { isPayloadStatsQueryPayload, PayloadStatsDivinerConfigSchema, PayloadStatsDivinerSchema } from "@xyo-network/diviner-payload-stats-model";
|
|
14
14
|
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
@@ -16,7 +16,7 @@ var _MemoryPayloadStatsDiviner = class _MemoryPayloadStatsDiviner extends Payloa
|
|
|
16
16
|
async divineAddress(address) {
|
|
17
17
|
const archivist = assertEx(await this.getArchivist(), "Unable to resolve archivist");
|
|
18
18
|
const all = await assertEx(archivist.all, 'Archivist does not support "all"')();
|
|
19
|
-
return all.filter(
|
|
19
|
+
return all.filter(isBoundWitnessWithMeta).filter((bw) => bw.addresses.includes(address)).map((bw) => bw.payload_hashes.length).reduce((total, count) => total + count, 0);
|
|
20
20
|
}
|
|
21
21
|
async divineAllAddresses() {
|
|
22
22
|
const archivist = assertEx(await this.getArchivist(), "Unable to resolve archivist");
|
package/dist/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/MemoryPayloadStatsDiviner.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport {
|
|
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"]}
|
package/package.json
CHANGED
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@xylabs/assert": "^2.14.
|
|
14
|
-
"@xyo-network/boundwitness-model": "~2.90.
|
|
15
|
-
"@xyo-network/diviner-payload-stats-abstract": "~2.90.
|
|
16
|
-
"@xyo-network/diviner-payload-stats-model": "~2.90.
|
|
17
|
-
"@xyo-network/payload-builder": "~2.90.
|
|
18
|
-
"@xyo-network/payload-model": "~2.90.
|
|
13
|
+
"@xylabs/assert": "^2.14.1",
|
|
14
|
+
"@xyo-network/boundwitness-model": "~2.90.4",
|
|
15
|
+
"@xyo-network/diviner-payload-stats-abstract": "~2.90.4",
|
|
16
|
+
"@xyo-network/diviner-payload-stats-model": "~2.90.4",
|
|
17
|
+
"@xyo-network/payload-builder": "~2.90.4",
|
|
18
|
+
"@xyo-network/payload-model": "~2.90.4"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@xylabs/ts-scripts-yarn3": "^3.2.42",
|
|
@@ -61,6 +61,6 @@
|
|
|
61
61
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
|
|
62
62
|
},
|
|
63
63
|
"sideEffects": false,
|
|
64
|
-
"version": "2.90.
|
|
64
|
+
"version": "2.90.4",
|
|
65
65
|
"type": "module"
|
|
66
66
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
|
-
import {
|
|
2
|
+
import { isBoundWitnessWithMeta } from '@xyo-network/boundwitness-model'
|
|
3
3
|
import { PayloadStatsDiviner } from '@xyo-network/diviner-payload-stats-abstract'
|
|
4
4
|
import {
|
|
5
5
|
isPayloadStatsQueryPayload,
|
|
@@ -19,7 +19,7 @@ export class MemoryPayloadStatsDiviner<TParams extends PayloadStatsDivinerParams
|
|
|
19
19
|
const archivist = assertEx(await this.getArchivist(), 'Unable to resolve archivist')
|
|
20
20
|
const all = await assertEx(archivist.all, 'Archivist does not support "all"')()
|
|
21
21
|
return all
|
|
22
|
-
.filter(
|
|
22
|
+
.filter(isBoundWitnessWithMeta)
|
|
23
23
|
.filter((bw) => bw.addresses.includes(address))
|
|
24
24
|
.map((bw) => bw.payload_hashes.length)
|
|
25
25
|
.reduce((total, count) => total + count, 0)
|