@xyo-network/diviner-schema-stats-memory 5.2.5 → 5.2.7

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,7 +1,7 @@
1
1
  import type { Address } from '@xylabs/hex';
2
2
  import { SchemaStatsDiviner } from '@xyo-network/diviner-schema-stats-abstract';
3
3
  import type { SchemaStatsDivinerParams } from '@xyo-network/diviner-schema-stats-model';
4
- import type { Payload, Schema } from '@xyo-network/payload-model';
4
+ import { type Payload, type Schema } from '@xyo-network/payload-model';
5
5
  export declare class MemorySchemaStatsDiviner<TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams> extends SchemaStatsDiviner<TParams> {
6
6
  static readonly configSchemas: Schema[];
7
7
  static readonly defaultConfigSchema: Schema;
@@ -1 +1 @@
1
- {"version":3,"file":"MemorySchemaStatsDiviner.d.ts","sourceRoot":"","sources":["../../src/MemorySchemaStatsDiviner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAA;AAC/E,OAAO,KAAK,EACV,wBAAwB,EAGzB,MAAM,yCAAyC,CAAA;AAOhD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEjE,qBAAa,wBAAwB,CAAC,OAAO,SAAS,wBAAwB,GAAG,wBAAwB,CAAE,SAAQ,kBAAkB,CAAC,OAAO,CAAC;IAC5I,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA2D;IAC3G,gBAAyB,mBAAmB,EAAE,MAAM,CAAiC;cAErE,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;cAiBhE,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;cAc5C,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAcjF"}
1
+ {"version":3,"file":"MemorySchemaStatsDiviner.d.ts","sourceRoot":"","sources":["../../src/MemorySchemaStatsDiviner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAA;AAC/E,OAAO,KAAK,EACV,wBAAwB,EAGzB,MAAM,yCAAyC,CAAA;AAOhD,OAAO,EACU,KAAK,OAAO,EAAE,KAAK,MAAM,EACzC,MAAM,4BAA4B,CAAA;AAEnC,qBAAa,wBAAwB,CAAC,OAAO,SAAS,wBAAwB,GAAG,wBAAwB,CAAE,SAAQ,kBAAkB,CAAC,OAAO,CAAC;IAC5I,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA2D;IAC3G,gBAAyB,mBAAmB,EAAE,MAAM,CAAiC;cAErE,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;cAiBhE,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;cAc5C,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAcjF"}
@@ -1,6 +1,6 @@
1
1
  // src/MemorySchemaStatsDiviner.ts
2
2
  import { assertEx } from "@xylabs/assert";
3
- import { isBoundWitnessWithStorageMeta } from "@xyo-network/boundwitness-model";
3
+ import { isBoundWitness } from "@xyo-network/boundwitness-model";
4
4
  import { SchemaStatsDiviner } from "@xyo-network/diviner-schema-stats-abstract";
5
5
  import {
6
6
  isSchemaStatsQueryPayload,
@@ -8,13 +8,16 @@ import {
8
8
  SchemaStatsDivinerSchema
9
9
  } from "@xyo-network/diviner-schema-stats-model";
10
10
  import { PayloadBuilder } from "@xyo-network/payload-builder";
11
+ import {
12
+ isStorageMeta
13
+ } from "@xyo-network/payload-model";
11
14
  var MemorySchemaStatsDiviner = class extends SchemaStatsDiviner {
12
15
  static configSchemas = [...super.configSchemas, SchemaStatsDivinerConfigSchema];
13
16
  static defaultConfigSchema = SchemaStatsDivinerConfigSchema;
14
17
  async divineAddress(address) {
15
18
  const archivist = assertEx(await this.archivistInstance(), () => "Unable to resolve archivist");
16
19
  const all = await archivist.next({ limit: 2e4 });
17
- const filtered = all.filter(isBoundWitnessWithStorageMeta).filter((bw) => bw.addresses.includes(address));
20
+ const filtered = all.filter((x) => isBoundWitness(x) && isStorageMeta(x)).filter((bw) => bw.addresses.includes(address));
18
21
  const counts = filtered.reduce(
19
22
  (acc, payload) => {
20
23
  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 type { Address } from '@xylabs/hex'\nimport { isBoundWitnessWithStorageMeta } from '@xyo-network/boundwitness-model'\nimport { SchemaStatsDiviner } from '@xyo-network/diviner-schema-stats-abstract'\nimport type {\n SchemaStatsDivinerParams,\n SchemaStatsPayload,\n SchemaStatsQueryPayload,\n} from '@xyo-network/diviner-schema-stats-model'\nimport {\n isSchemaStatsQueryPayload,\n SchemaStatsDivinerConfigSchema,\n SchemaStatsDivinerSchema,\n} from '@xyo-network/diviner-schema-stats-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { Payload, Schema } from '@xyo-network/payload-model'\n\nexport class MemorySchemaStatsDiviner<TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams> extends SchemaStatsDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, SchemaStatsDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = 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 archivist.next({ limit: 20_000 })\n const filtered = all\n .filter(isBoundWitnessWithStorageMeta)\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 archivist.next({ limit: 20_000 })\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,SAAS,gBAAgB;AAEzB,SAAS,qCAAqC;AAC9C,SAAS,0BAA0B;AAMnC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,sBAAsB;AAGxB,IAAM,2BAAN,cAA4G,mBAA4B;AAAA,EAC7I,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,8BAA8B;AAAA,EAC1G,OAAyB,sBAA8B;AAAA,EAEvD,MAAgB,cAAc,SAAmD;AAC/E,UAAM,YAAY,SAAS,MAAM,KAAK,kBAAkB,GAAG,MAAM,6BAA6B;AAC9F,UAAM,MAAM,MAAM,UAAU,KAAK,EAAE,OAAO,IAAO,CAAC;AAClD,UAAM,WAAW,IACd,OAAO,6BAA6B,EACpC,OAAO,QAAM,GAAG,UAAU,SAAS,OAAO,CAAC;AAE9C,UAAM,SAAiC,SAAS;AAAA,MAC9C,CAAC,KAAK,YAAY;AAChB,YAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI;AACtE,eAAO;AAAA,MACT;AAAA,MACA,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAgB,qBAAsD;AACpE,UAAM,YAAY,SAAS,MAAM,KAAK,kBAAkB,GAAG,MAAM,6BAA6B;AAC9F,UAAM,MAAM,MAAM,UAAU,KAAK,EAAE,OAAO,IAAO,CAAC;AAElD,UAAM,SAAiC,IAAI;AAAA,MACzC,CAAC,KAAK,YAAY;AAChB,YAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI;AACtE,eAAO;AAAA,MACT;AAAA,MACA,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAyB,cAAc,UAA0C;AAC/E,UAAM,QAAQ,UAAU,KAA8B,yBAAyB;AAC/E,QAAI,CAAC,MAAO,QAAO,CAAC;AACpB,UAAM,YACF,OAAO,UACL,MAAM,QAAQ,OAAO,OAAO,IAC1B,MAAM,UACN,CAAC,MAAM,OAAO,IAChB;AACN,UAAM,SAAS,YAAY,MAAM,QAAQ,IAAI,UAAU,IAAI,aAAW,KAAK,cAAc,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,mBAAmB,CAAC;AACtI,WAAO,MAAM,QAAQ;AAAA,MACnB,OAAO,IAAI,WAAS,IAAI,eAAmC,EAAE,QAAQ,yBAAyB,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC;AAAA,IAC5H;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/MemorySchemaStatsDiviner.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport type { Address } from '@xylabs/hex'\nimport { isBoundWitness } from '@xyo-network/boundwitness-model'\nimport { SchemaStatsDiviner } from '@xyo-network/diviner-schema-stats-abstract'\nimport type {\n SchemaStatsDivinerParams,\n SchemaStatsPayload,\n SchemaStatsQueryPayload,\n} from '@xyo-network/diviner-schema-stats-model'\nimport {\n isSchemaStatsQueryPayload,\n SchemaStatsDivinerConfigSchema,\n SchemaStatsDivinerSchema,\n} from '@xyo-network/diviner-schema-stats-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport {\n isStorageMeta, type Payload, type Schema,\n} from '@xyo-network/payload-model'\n\nexport class MemorySchemaStatsDiviner<TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams> extends SchemaStatsDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, SchemaStatsDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = 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 archivist.next({ limit: 20_000 })\n const filtered = all\n .filter(x => isBoundWitness(x) && isStorageMeta(x))\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 archivist.next({ limit: 20_000 })\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,SAAS,gBAAgB;AAEzB,SAAS,sBAAsB;AAC/B,SAAS,0BAA0B;AAMnC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,sBAAsB;AAC/B;AAAA,EACE;AAAA,OACK;AAEA,IAAM,2BAAN,cAA4G,mBAA4B;AAAA,EAC7I,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,8BAA8B;AAAA,EAC1G,OAAyB,sBAA8B;AAAA,EAEvD,MAAgB,cAAc,SAAmD;AAC/E,UAAM,YAAY,SAAS,MAAM,KAAK,kBAAkB,GAAG,MAAM,6BAA6B;AAC9F,UAAM,MAAM,MAAM,UAAU,KAAK,EAAE,OAAO,IAAO,CAAC;AAClD,UAAM,WAAW,IACd,OAAO,OAAK,eAAe,CAAC,KAAK,cAAc,CAAC,CAAC,EACjD,OAAO,QAAM,GAAG,UAAU,SAAS,OAAO,CAAC;AAE9C,UAAM,SAAiC,SAAS;AAAA,MAC9C,CAAC,KAAK,YAAY;AAChB,YAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI;AACtE,eAAO;AAAA,MACT;AAAA,MACA,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAgB,qBAAsD;AACpE,UAAM,YAAY,SAAS,MAAM,KAAK,kBAAkB,GAAG,MAAM,6BAA6B;AAC9F,UAAM,MAAM,MAAM,UAAU,KAAK,EAAE,OAAO,IAAO,CAAC;AAElD,UAAM,SAAiC,IAAI;AAAA,MACzC,CAAC,KAAK,YAAY;AAChB,YAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI,QAAQ,MAAM,IAAI,IAAI;AACtE,eAAO;AAAA,MACT;AAAA,MACA,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAyB,cAAc,UAA0C;AAC/E,UAAM,QAAQ,UAAU,KAA8B,yBAAyB;AAC/E,QAAI,CAAC,MAAO,QAAO,CAAC;AACpB,UAAM,YACF,OAAO,UACL,MAAM,QAAQ,OAAO,OAAO,IAC1B,MAAM,UACN,CAAC,MAAM,OAAO,IAChB;AACN,UAAM,SAAS,YAAY,MAAM,QAAQ,IAAI,UAAU,IAAI,aAAW,KAAK,cAAc,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,mBAAmB,CAAC;AACtI,WAAO,MAAM,QAAQ;AAAA,MACnB,OAAO,IAAI,WAAS,IAAI,eAAmC,EAAE,QAAQ,yBAAyB,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC;AAAA,IAC5H;AAAA,EACF;AACF;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/diviner-schema-stats-memory",
3
- "version": "5.2.5",
3
+ "version": "5.2.7",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -36,13 +36,13 @@
36
36
  "!**/*.test.*"
37
37
  ],
38
38
  "dependencies": {
39
- "@xylabs/assert": "~5.0.39",
40
- "@xylabs/hex": "~5.0.39",
41
- "@xyo-network/boundwitness-model": "~5.2.5",
42
- "@xyo-network/diviner-schema-stats-abstract": "~5.2.5",
43
- "@xyo-network/diviner-schema-stats-model": "~5.2.5",
44
- "@xyo-network/payload-builder": "~5.2.5",
45
- "@xyo-network/payload-model": "~5.2.5"
39
+ "@xylabs/assert": "~5.0.42",
40
+ "@xylabs/hex": "~5.0.42",
41
+ "@xyo-network/boundwitness-model": "~5.2.7",
42
+ "@xyo-network/diviner-schema-stats-abstract": "~5.2.7",
43
+ "@xyo-network/diviner-schema-stats-model": "~5.2.7",
44
+ "@xyo-network/payload-builder": "~5.2.7",
45
+ "@xyo-network/payload-model": "~5.2.7"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@xylabs/ts-scripts-yarn3": "~7.2.8",
@@ -1,6 +1,6 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
2
  import type { Address } from '@xylabs/hex'
3
- import { isBoundWitnessWithStorageMeta } from '@xyo-network/boundwitness-model'
3
+ import { isBoundWitness } from '@xyo-network/boundwitness-model'
4
4
  import { SchemaStatsDiviner } from '@xyo-network/diviner-schema-stats-abstract'
5
5
  import type {
6
6
  SchemaStatsDivinerParams,
@@ -13,7 +13,9 @@ import {
13
13
  SchemaStatsDivinerSchema,
14
14
  } from '@xyo-network/diviner-schema-stats-model'
15
15
  import { PayloadBuilder } from '@xyo-network/payload-builder'
16
- import type { Payload, Schema } from '@xyo-network/payload-model'
16
+ import {
17
+ isStorageMeta, type Payload, type Schema,
18
+ } from '@xyo-network/payload-model'
17
19
 
18
20
  export class MemorySchemaStatsDiviner<TParams extends SchemaStatsDivinerParams = SchemaStatsDivinerParams> extends SchemaStatsDiviner<TParams> {
19
21
  static override readonly configSchemas: Schema[] = [...super.configSchemas, SchemaStatsDivinerConfigSchema]
@@ -23,7 +25,7 @@ export class MemorySchemaStatsDiviner<TParams extends SchemaStatsDivinerParams =
23
25
  const archivist = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')
24
26
  const all = await archivist.next({ limit: 20_000 })
25
27
  const filtered = all
26
- .filter(isBoundWitnessWithStorageMeta)
28
+ .filter(x => isBoundWitness(x) && isStorageMeta(x))
27
29
  .filter(bw => bw.addresses.includes(address))
28
30
  // eslint-disable-next-line unicorn/no-array-reduce
29
31
  const counts: Record<string, number> = filtered.reduce(