@xyo-network/diviner-range 2.96.2 → 2.97.1

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.
@@ -2,9 +2,11 @@ import { AbstractDiviner } from '@xyo-network/diviner-abstract';
2
2
  import { DivinerParams } from '@xyo-network/diviner-model';
3
3
  import { BigIntPayload, BigIntRangePayload, NumberPayload, NumberRangePayload, RangeDivinerConfig, RangePayload } from '@xyo-network/diviner-range-model';
4
4
  import { AnyConfigSchema } from '@xyo-network/module-model';
5
+ import { Schema } from '@xyo-network/payload-model';
5
6
  export type RangeDivinerParams = DivinerParams<AnyConfigSchema<RangeDivinerConfig>>;
6
7
  export declare class RangeDiviner<TParams extends RangeDivinerParams = RangeDivinerParams> extends AbstractDiviner<TParams, RangePayload, NumberPayload | BigIntPayload> {
7
- static configSchemas: string[];
8
+ static configSchemas: Schema[];
9
+ static defaultConfigSchema: Schema;
8
10
  get ranges(): RangePayload[] | undefined;
9
11
  protected static generateBigIntRange(range: BigIntRangePayload): BigIntPayload[];
10
12
  protected static generateNumberRange(range: NumberRangePayload): NumberPayload[];
@@ -1 +1 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EACL,aAAa,EACb,kBAAkB,EAKlB,aAAa,EACb,kBAAkB,EAElB,kBAAkB,EAElB,YAAY,EACb,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAA;AAEnF,qBAAa,YAAY,CAAC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,CAAE,SAAQ,eAAe,CACxG,OAAO,EACP,YAAY,EACZ,aAAa,GAAG,aAAa,CAC9B;IACC,OAAgB,aAAa,WAA6B;IAE1D,IAAI,MAAM,+BAET;IAED,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;IAchF,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;cAc7D,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC,EAAE;CAa7F"}
1
+ {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EACL,aAAa,EACb,kBAAkB,EAKlB,aAAa,EACb,kBAAkB,EAElB,kBAAkB,EAElB,YAAY,EACb,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEnD,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAA;AAEnF,qBAAa,YAAY,CAAC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,CAAE,SAAQ,eAAe,CACxG,OAAO,EACP,YAAY,EACZ,aAAa,GAAG,aAAa,CAC9B;IACC,OAAgB,aAAa,EAAE,MAAM,EAAE,CAAqD;IAC5F,OAAgB,mBAAmB,EAAE,MAAM,CAA2B;IAEtE,IAAI,MAAM,+BAET;IAED,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;IAchF,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;cAc7D,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC,EAAE;CAa7F"}
@@ -2,9 +2,11 @@ import { AbstractDiviner } from '@xyo-network/diviner-abstract';
2
2
  import { DivinerParams } from '@xyo-network/diviner-model';
3
3
  import { BigIntPayload, BigIntRangePayload, NumberPayload, NumberRangePayload, RangeDivinerConfig, RangePayload } from '@xyo-network/diviner-range-model';
4
4
  import { AnyConfigSchema } from '@xyo-network/module-model';
5
+ import { Schema } from '@xyo-network/payload-model';
5
6
  export type RangeDivinerParams = DivinerParams<AnyConfigSchema<RangeDivinerConfig>>;
6
7
  export declare class RangeDiviner<TParams extends RangeDivinerParams = RangeDivinerParams> extends AbstractDiviner<TParams, RangePayload, NumberPayload | BigIntPayload> {
7
- static configSchemas: string[];
8
+ static configSchemas: Schema[];
9
+ static defaultConfigSchema: Schema;
8
10
  get ranges(): RangePayload[] | undefined;
9
11
  protected static generateBigIntRange(range: BigIntRangePayload): BigIntPayload[];
10
12
  protected static generateNumberRange(range: NumberRangePayload): NumberPayload[];
@@ -1 +1 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EACL,aAAa,EACb,kBAAkB,EAKlB,aAAa,EACb,kBAAkB,EAElB,kBAAkB,EAElB,YAAY,EACb,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAA;AAEnF,qBAAa,YAAY,CAAC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,CAAE,SAAQ,eAAe,CACxG,OAAO,EACP,YAAY,EACZ,aAAa,GAAG,aAAa,CAC9B;IACC,OAAgB,aAAa,WAA6B;IAE1D,IAAI,MAAM,+BAET;IAED,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;IAchF,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;cAc7D,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC,EAAE;CAa7F"}
1
+ {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EACL,aAAa,EACb,kBAAkB,EAKlB,aAAa,EACb,kBAAkB,EAElB,kBAAkB,EAElB,YAAY,EACb,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEnD,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAA;AAEnF,qBAAa,YAAY,CAAC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,CAAE,SAAQ,eAAe,CACxG,OAAO,EACP,YAAY,EACZ,aAAa,GAAG,aAAa,CAC9B;IACC,OAAgB,aAAa,EAAE,MAAM,EAAE,CAAqD;IAC5F,OAAgB,mBAAmB,EAAE,MAAM,CAA2B;IAEtE,IAAI,MAAM,+BAET;IAED,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;IAchF,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;cAc7D,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC,EAAE;CAa7F"}
@@ -2,9 +2,11 @@ import { AbstractDiviner } from '@xyo-network/diviner-abstract';
2
2
  import { DivinerParams } from '@xyo-network/diviner-model';
3
3
  import { BigIntPayload, BigIntRangePayload, NumberPayload, NumberRangePayload, RangeDivinerConfig, RangePayload } from '@xyo-network/diviner-range-model';
4
4
  import { AnyConfigSchema } from '@xyo-network/module-model';
5
+ import { Schema } from '@xyo-network/payload-model';
5
6
  export type RangeDivinerParams = DivinerParams<AnyConfigSchema<RangeDivinerConfig>>;
6
7
  export declare class RangeDiviner<TParams extends RangeDivinerParams = RangeDivinerParams> extends AbstractDiviner<TParams, RangePayload, NumberPayload | BigIntPayload> {
7
- static configSchemas: string[];
8
+ static configSchemas: Schema[];
9
+ static defaultConfigSchema: Schema;
8
10
  get ranges(): RangePayload[] | undefined;
9
11
  protected static generateBigIntRange(range: BigIntRangePayload): BigIntPayload[];
10
12
  protected static generateNumberRange(range: NumberRangePayload): NumberPayload[];
@@ -1 +1 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EACL,aAAa,EACb,kBAAkB,EAKlB,aAAa,EACb,kBAAkB,EAElB,kBAAkB,EAElB,YAAY,EACb,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAA;AAEnF,qBAAa,YAAY,CAAC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,CAAE,SAAQ,eAAe,CACxG,OAAO,EACP,YAAY,EACZ,aAAa,GAAG,aAAa,CAC9B;IACC,OAAgB,aAAa,WAA6B;IAE1D,IAAI,MAAM,+BAET;IAED,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;IAchF,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;cAc7D,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC,EAAE;CAa7F"}
1
+ {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EACL,aAAa,EACb,kBAAkB,EAKlB,aAAa,EACb,kBAAkB,EAElB,kBAAkB,EAElB,YAAY,EACb,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEnD,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAA;AAEnF,qBAAa,YAAY,CAAC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,CAAE,SAAQ,eAAe,CACxG,OAAO,EACP,YAAY,EACZ,aAAa,GAAG,aAAa,CAC9B;IACC,OAAgB,aAAa,EAAE,MAAM,EAAE,CAAqD;IAC5F,OAAgB,mBAAmB,EAAE,MAAM,CAA2B;IAEtE,IAAI,MAAM,+BAET;IAED,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;IAchF,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;cAc7D,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC,EAAE;CAa7F"}
@@ -35,8 +35,10 @@ var RangeDiviner = class _RangeDiviner extends import_diviner_abstract.AbstractD
35
35
  __name(this, "RangeDiviner");
36
36
  }
37
37
  static configSchemas = [
38
+ ...super.configSchemas,
38
39
  import_diviner_range_model.RangeDivinerConfigSchema
39
40
  ];
41
+ static defaultConfigSchema = import_diviner_range_model.RangeDivinerConfigSchema;
40
42
  get ranges() {
41
43
  return this.config.ranges;
42
44
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/Diviner.ts"],"sourcesContent":["export * from './Diviner'\nexport * from '@xyo-network/diviner-range-model'\n","import { hexFrom } from '@xylabs/hex'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerParams } from '@xyo-network/diviner-model'\nimport {\n BigIntPayload,\n BigIntRangePayload,\n BigIntSchema,\n isBigIntRangePayload,\n isNumberRangePayload,\n isRangePayload,\n NumberPayload,\n NumberRangePayload,\n NumberSchema,\n RangeDivinerConfig,\n RangeDivinerConfigSchema,\n RangePayload,\n} from '@xyo-network/diviner-range-model'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\n\nexport type RangeDivinerParams = DivinerParams<AnyConfigSchema<RangeDivinerConfig>>\n\nexport class RangeDiviner<TParams extends RangeDivinerParams = RangeDivinerParams> extends AbstractDiviner<\n TParams,\n RangePayload,\n NumberPayload | BigIntPayload\n> {\n static override configSchemas = [RangeDivinerConfigSchema]\n\n get ranges() {\n return this.config.ranges\n }\n\n protected static generateBigIntRange(range: BigIntRangePayload): BigIntPayload[] {\n const result: BigIntPayload[] = []\n const count = BigInt(range.count)\n const start = BigInt(hexFrom(range.start, { prefix: true }))\n for (let i = 0n; i < count; i++) {\n const payload: BigIntPayload = {\n schema: BigIntSchema,\n value: hexFrom(start + i, { prefix: true }),\n }\n result.push(payload)\n }\n return result\n }\n\n protected static generateNumberRange(range: NumberRangePayload): NumberPayload[] {\n const result: NumberPayload[] = []\n const count = range.count\n const start = range.start\n for (let i = 0; i < count; i++) {\n const payload: NumberPayload = {\n schema: NumberSchema,\n value: start + i,\n }\n result.push(payload)\n }\n return result\n }\n\n protected override divineHandler(ranges?: RangePayload[]): (NumberPayload | BigIntPayload)[] {\n const result: (BigIntPayload | NumberPayload)[] = []\n for (const range of ranges?.filter(isRangePayload) ?? []) {\n if (isBigIntRangePayload(range)) {\n result.push(...RangeDiviner.generateBigIntRange(range))\n } else if (isNumberRangePayload(range)) {\n result.push(...RangeDiviner.generateNumberRange(range))\n } else {\n throw new Error(`Only number and bigint ranges are supported: ${JSON.stringify(range, null, 2)}`)\n }\n }\n return result\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACAA,iBAAwB;AACxB,8BAAgC;AAEhC,iCAaO;AAKA,IAAMA,eAAN,MAAMA,sBAA8EC,wCAAAA;EArB3F,OAqB2FA;;;EAKzF,OAAgBC,gBAAgB;IAACC;;EAEjC,IAAIC,SAAS;AACX,WAAO,KAAKC,OAAOD;EACrB;EAEA,OAAiBE,oBAAoBC,OAA4C;AAC/E,UAAMC,SAA0B,CAAA;AAChC,UAAMC,QAAQC,OAAOH,MAAME,KAAK;AAChC,UAAME,QAAQD,WAAOE,oBAAQL,MAAMI,OAAO;MAAEE,QAAQ;IAAK,CAAA,CAAA;AACzD,aAASC,IAAI,IAAIA,IAAIL,OAAOK,KAAK;AAC/B,YAAMC,UAAyB;QAC7BC,QAAQC;QACRC,WAAON,oBAAQD,QAAQG,GAAG;UAAED,QAAQ;QAAK,CAAA;MAC3C;AACAL,aAAOW,KAAKJ,OAAAA;IACd;AACA,WAAOP;EACT;EAEA,OAAiBY,oBAAoBb,OAA4C;AAC/E,UAAMC,SAA0B,CAAA;AAChC,UAAMC,QAAQF,MAAME;AACpB,UAAME,QAAQJ,MAAMI;AACpB,aAASG,IAAI,GAAGA,IAAIL,OAAOK,KAAK;AAC9B,YAAMC,UAAyB;QAC7BC,QAAQK;QACRH,OAAOP,QAAQG;MACjB;AACAN,aAAOW,KAAKJ,OAAAA;IACd;AACA,WAAOP;EACT;EAEmBc,cAAclB,QAA4D;AAC3F,UAAMI,SAA4C,CAAA;AAClD,eAAWD,SAASH,QAAQmB,OAAOC,yCAAAA,KAAmB,CAAA,GAAI;AACxD,cAAIC,iDAAqBlB,KAAAA,GAAQ;AAC/BC,eAAOW,KAAI,GAAInB,cAAaM,oBAAoBC,KAAAA,CAAAA;MAClD,eAAWmB,iDAAqBnB,KAAAA,GAAQ;AACtCC,eAAOW,KAAI,GAAInB,cAAaoB,oBAAoBb,KAAAA,CAAAA;MAClD,OAAO;AACL,cAAM,IAAIoB,MAAM,gDAAgDC,KAAKC,UAAUtB,OAAO,MAAM,CAAA,CAAA,EAAI;MAClG;IACF;AACA,WAAOC;EACT;AACF;;;ADxEA,wBAAc,6CADd;","names":["RangeDiviner","AbstractDiviner","configSchemas","RangeDivinerConfigSchema","ranges","config","generateBigIntRange","range","result","count","BigInt","start","hexFrom","prefix","i","payload","schema","BigIntSchema","value","push","generateNumberRange","NumberSchema","divineHandler","filter","isRangePayload","isBigIntRangePayload","isNumberRangePayload","Error","JSON","stringify"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/Diviner.ts"],"sourcesContent":["export * from './Diviner'\nexport * from '@xyo-network/diviner-range-model'\n","import { hexFrom } from '@xylabs/hex'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerParams } from '@xyo-network/diviner-model'\nimport {\n BigIntPayload,\n BigIntRangePayload,\n BigIntSchema,\n isBigIntRangePayload,\n isNumberRangePayload,\n isRangePayload,\n NumberPayload,\n NumberRangePayload,\n NumberSchema,\n RangeDivinerConfig,\n RangeDivinerConfigSchema,\n RangePayload,\n} from '@xyo-network/diviner-range-model'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Schema } from '@xyo-network/payload-model'\n\nexport type RangeDivinerParams = DivinerParams<AnyConfigSchema<RangeDivinerConfig>>\n\nexport class RangeDiviner<TParams extends RangeDivinerParams = RangeDivinerParams> extends AbstractDiviner<\n TParams,\n RangePayload,\n NumberPayload | BigIntPayload\n> {\n static override configSchemas: Schema[] = [...super.configSchemas, RangeDivinerConfigSchema]\n static override defaultConfigSchema: Schema = RangeDivinerConfigSchema\n\n get ranges() {\n return this.config.ranges\n }\n\n protected static generateBigIntRange(range: BigIntRangePayload): BigIntPayload[] {\n const result: BigIntPayload[] = []\n const count = BigInt(range.count)\n const start = BigInt(hexFrom(range.start, { prefix: true }))\n for (let i = 0n; i < count; i++) {\n const payload: BigIntPayload = {\n schema: BigIntSchema,\n value: hexFrom(start + i, { prefix: true }),\n }\n result.push(payload)\n }\n return result\n }\n\n protected static generateNumberRange(range: NumberRangePayload): NumberPayload[] {\n const result: NumberPayload[] = []\n const count = range.count\n const start = range.start\n for (let i = 0; i < count; i++) {\n const payload: NumberPayload = {\n schema: NumberSchema,\n value: start + i,\n }\n result.push(payload)\n }\n return result\n }\n\n protected override divineHandler(ranges?: RangePayload[]): (NumberPayload | BigIntPayload)[] {\n const result: (BigIntPayload | NumberPayload)[] = []\n for (const range of ranges?.filter(isRangePayload) ?? []) {\n if (isBigIntRangePayload(range)) {\n result.push(...RangeDiviner.generateBigIntRange(range))\n } else if (isNumberRangePayload(range)) {\n result.push(...RangeDiviner.generateNumberRange(range))\n } else {\n throw new Error(`Only number and bigint ranges are supported: ${JSON.stringify(range, null, 2)}`)\n }\n }\n return result\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACAA,iBAAwB;AACxB,8BAAgC;AAEhC,iCAaO;AAMA,IAAMA,eAAN,MAAMA,sBAA8EC,wCAAAA;EAtB3F,OAsB2FA;;;EAKzF,OAAgBC,gBAA0B;OAAI,MAAMA;IAAeC;;EACnE,OAAgBC,sBAA8BD;EAE9C,IAAIE,SAAS;AACX,WAAO,KAAKC,OAAOD;EACrB;EAEA,OAAiBE,oBAAoBC,OAA4C;AAC/E,UAAMC,SAA0B,CAAA;AAChC,UAAMC,QAAQC,OAAOH,MAAME,KAAK;AAChC,UAAME,QAAQD,WAAOE,oBAAQL,MAAMI,OAAO;MAAEE,QAAQ;IAAK,CAAA,CAAA;AACzD,aAASC,IAAI,IAAIA,IAAIL,OAAOK,KAAK;AAC/B,YAAMC,UAAyB;QAC7BC,QAAQC;QACRC,WAAON,oBAAQD,QAAQG,GAAG;UAAED,QAAQ;QAAK,CAAA;MAC3C;AACAL,aAAOW,KAAKJ,OAAAA;IACd;AACA,WAAOP;EACT;EAEA,OAAiBY,oBAAoBb,OAA4C;AAC/E,UAAMC,SAA0B,CAAA;AAChC,UAAMC,QAAQF,MAAME;AACpB,UAAME,QAAQJ,MAAMI;AACpB,aAASG,IAAI,GAAGA,IAAIL,OAAOK,KAAK;AAC9B,YAAMC,UAAyB;QAC7BC,QAAQK;QACRH,OAAOP,QAAQG;MACjB;AACAN,aAAOW,KAAKJ,OAAAA;IACd;AACA,WAAOP;EACT;EAEmBc,cAAclB,QAA4D;AAC3F,UAAMI,SAA4C,CAAA;AAClD,eAAWD,SAASH,QAAQmB,OAAOC,yCAAAA,KAAmB,CAAA,GAAI;AACxD,cAAIC,iDAAqBlB,KAAAA,GAAQ;AAC/BC,eAAOW,KAAI,GAAIpB,cAAaO,oBAAoBC,KAAAA,CAAAA;MAClD,eAAWmB,iDAAqBnB,KAAAA,GAAQ;AACtCC,eAAOW,KAAI,GAAIpB,cAAaqB,oBAAoBb,KAAAA,CAAAA;MAClD,OAAO;AACL,cAAM,IAAIoB,MAAM,gDAAgDC,KAAKC,UAAUtB,OAAO,MAAM,CAAA,CAAA,EAAI;MAClG;IACF;AACA,WAAOC;EACT;AACF;;;AD1EA,wBAAc,6CADd;","names":["RangeDiviner","AbstractDiviner","configSchemas","RangeDivinerConfigSchema","defaultConfigSchema","ranges","config","generateBigIntRange","range","result","count","BigInt","start","hexFrom","prefix","i","payload","schema","BigIntSchema","value","push","generateNumberRange","NumberSchema","divineHandler","filter","isRangePayload","isBigIntRangePayload","isNumberRangePayload","Error","JSON","stringify"]}
@@ -10,8 +10,10 @@ var RangeDiviner = class _RangeDiviner extends AbstractDiviner {
10
10
  __name(this, "RangeDiviner");
11
11
  }
12
12
  static configSchemas = [
13
+ ...super.configSchemas,
13
14
  RangeDivinerConfigSchema
14
15
  ];
16
+ static defaultConfigSchema = RangeDivinerConfigSchema;
15
17
  get ranges() {
16
18
  return this.config.ranges;
17
19
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Diviner.ts","../../src/index.ts"],"sourcesContent":["import { hexFrom } from '@xylabs/hex'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerParams } from '@xyo-network/diviner-model'\nimport {\n BigIntPayload,\n BigIntRangePayload,\n BigIntSchema,\n isBigIntRangePayload,\n isNumberRangePayload,\n isRangePayload,\n NumberPayload,\n NumberRangePayload,\n NumberSchema,\n RangeDivinerConfig,\n RangeDivinerConfigSchema,\n RangePayload,\n} from '@xyo-network/diviner-range-model'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\n\nexport type RangeDivinerParams = DivinerParams<AnyConfigSchema<RangeDivinerConfig>>\n\nexport class RangeDiviner<TParams extends RangeDivinerParams = RangeDivinerParams> extends AbstractDiviner<\n TParams,\n RangePayload,\n NumberPayload | BigIntPayload\n> {\n static override configSchemas = [RangeDivinerConfigSchema]\n\n get ranges() {\n return this.config.ranges\n }\n\n protected static generateBigIntRange(range: BigIntRangePayload): BigIntPayload[] {\n const result: BigIntPayload[] = []\n const count = BigInt(range.count)\n const start = BigInt(hexFrom(range.start, { prefix: true }))\n for (let i = 0n; i < count; i++) {\n const payload: BigIntPayload = {\n schema: BigIntSchema,\n value: hexFrom(start + i, { prefix: true }),\n }\n result.push(payload)\n }\n return result\n }\n\n protected static generateNumberRange(range: NumberRangePayload): NumberPayload[] {\n const result: NumberPayload[] = []\n const count = range.count\n const start = range.start\n for (let i = 0; i < count; i++) {\n const payload: NumberPayload = {\n schema: NumberSchema,\n value: start + i,\n }\n result.push(payload)\n }\n return result\n }\n\n protected override divineHandler(ranges?: RangePayload[]): (NumberPayload | BigIntPayload)[] {\n const result: (BigIntPayload | NumberPayload)[] = []\n for (const range of ranges?.filter(isRangePayload) ?? []) {\n if (isBigIntRangePayload(range)) {\n result.push(...RangeDiviner.generateBigIntRange(range))\n } else if (isNumberRangePayload(range)) {\n result.push(...RangeDiviner.generateNumberRange(range))\n } else {\n throw new Error(`Only number and bigint ranges are supported: ${JSON.stringify(range, null, 2)}`)\n }\n }\n return result\n }\n}\n","export * from './Diviner'\nexport * from '@xyo-network/diviner-range-model'\n"],"mappings":";;;;AAAA,SAASA,eAAe;AACxB,SAASC,uBAAuB;AAEhC,SAGEC,cACAC,sBACAC,sBACAC,gBAGAC,cAEAC,gCAEK;AAKA,IAAMC,eAAN,MAAMA,sBAA8EC,gBAAAA;EArB3F,OAqB2FA;;;EAKzF,OAAgBC,gBAAgB;IAACC;;EAEjC,IAAIC,SAAS;AACX,WAAO,KAAKC,OAAOD;EACrB;EAEA,OAAiBE,oBAAoBC,OAA4C;AAC/E,UAAMC,SAA0B,CAAA;AAChC,UAAMC,QAAQC,OAAOH,MAAME,KAAK;AAChC,UAAME,QAAQD,OAAOE,QAAQL,MAAMI,OAAO;MAAEE,QAAQ;IAAK,CAAA,CAAA;AACzD,aAASC,IAAI,IAAIA,IAAIL,OAAOK,KAAK;AAC/B,YAAMC,UAAyB;QAC7BC,QAAQC;QACRC,OAAON,QAAQD,QAAQG,GAAG;UAAED,QAAQ;QAAK,CAAA;MAC3C;AACAL,aAAOW,KAAKJ,OAAAA;IACd;AACA,WAAOP;EACT;EAEA,OAAiBY,oBAAoBb,OAA4C;AAC/E,UAAMC,SAA0B,CAAA;AAChC,UAAMC,QAAQF,MAAME;AACpB,UAAME,QAAQJ,MAAMI;AACpB,aAASG,IAAI,GAAGA,IAAIL,OAAOK,KAAK;AAC9B,YAAMC,UAAyB;QAC7BC,QAAQK;QACRH,OAAOP,QAAQG;MACjB;AACAN,aAAOW,KAAKJ,OAAAA;IACd;AACA,WAAOP;EACT;EAEmBc,cAAclB,QAA4D;AAC3F,UAAMI,SAA4C,CAAA;AAClD,eAAWD,SAASH,QAAQmB,OAAOC,cAAAA,KAAmB,CAAA,GAAI;AACxD,UAAIC,qBAAqBlB,KAAAA,GAAQ;AAC/BC,eAAOW,KAAI,GAAInB,cAAaM,oBAAoBC,KAAAA,CAAAA;MAClD,WAAWmB,qBAAqBnB,KAAAA,GAAQ;AACtCC,eAAOW,KAAI,GAAInB,cAAaoB,oBAAoBb,KAAAA,CAAAA;MAClD,OAAO;AACL,cAAM,IAAIoB,MAAM,gDAAgDC,KAAKC,UAAUtB,OAAO,MAAM,CAAA,CAAA,EAAI;MAClG;IACF;AACA,WAAOC;EACT;AACF;;;ACxEA,cAAc;","names":["hexFrom","AbstractDiviner","BigIntSchema","isBigIntRangePayload","isNumberRangePayload","isRangePayload","NumberSchema","RangeDivinerConfigSchema","RangeDiviner","AbstractDiviner","configSchemas","RangeDivinerConfigSchema","ranges","config","generateBigIntRange","range","result","count","BigInt","start","hexFrom","prefix","i","payload","schema","BigIntSchema","value","push","generateNumberRange","NumberSchema","divineHandler","filter","isRangePayload","isBigIntRangePayload","isNumberRangePayload","Error","JSON","stringify"]}
1
+ {"version":3,"sources":["../../src/Diviner.ts","../../src/index.ts"],"sourcesContent":["import { hexFrom } from '@xylabs/hex'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerParams } from '@xyo-network/diviner-model'\nimport {\n BigIntPayload,\n BigIntRangePayload,\n BigIntSchema,\n isBigIntRangePayload,\n isNumberRangePayload,\n isRangePayload,\n NumberPayload,\n NumberRangePayload,\n NumberSchema,\n RangeDivinerConfig,\n RangeDivinerConfigSchema,\n RangePayload,\n} from '@xyo-network/diviner-range-model'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Schema } from '@xyo-network/payload-model'\n\nexport type RangeDivinerParams = DivinerParams<AnyConfigSchema<RangeDivinerConfig>>\n\nexport class RangeDiviner<TParams extends RangeDivinerParams = RangeDivinerParams> extends AbstractDiviner<\n TParams,\n RangePayload,\n NumberPayload | BigIntPayload\n> {\n static override configSchemas: Schema[] = [...super.configSchemas, RangeDivinerConfigSchema]\n static override defaultConfigSchema: Schema = RangeDivinerConfigSchema\n\n get ranges() {\n return this.config.ranges\n }\n\n protected static generateBigIntRange(range: BigIntRangePayload): BigIntPayload[] {\n const result: BigIntPayload[] = []\n const count = BigInt(range.count)\n const start = BigInt(hexFrom(range.start, { prefix: true }))\n for (let i = 0n; i < count; i++) {\n const payload: BigIntPayload = {\n schema: BigIntSchema,\n value: hexFrom(start + i, { prefix: true }),\n }\n result.push(payload)\n }\n return result\n }\n\n protected static generateNumberRange(range: NumberRangePayload): NumberPayload[] {\n const result: NumberPayload[] = []\n const count = range.count\n const start = range.start\n for (let i = 0; i < count; i++) {\n const payload: NumberPayload = {\n schema: NumberSchema,\n value: start + i,\n }\n result.push(payload)\n }\n return result\n }\n\n protected override divineHandler(ranges?: RangePayload[]): (NumberPayload | BigIntPayload)[] {\n const result: (BigIntPayload | NumberPayload)[] = []\n for (const range of ranges?.filter(isRangePayload) ?? []) {\n if (isBigIntRangePayload(range)) {\n result.push(...RangeDiviner.generateBigIntRange(range))\n } else if (isNumberRangePayload(range)) {\n result.push(...RangeDiviner.generateNumberRange(range))\n } else {\n throw new Error(`Only number and bigint ranges are supported: ${JSON.stringify(range, null, 2)}`)\n }\n }\n return result\n }\n}\n","export * from './Diviner'\nexport * from '@xyo-network/diviner-range-model'\n"],"mappings":";;;;AAAA,SAASA,eAAe;AACxB,SAASC,uBAAuB;AAEhC,SAGEC,cACAC,sBACAC,sBACAC,gBAGAC,cAEAC,gCAEK;AAMA,IAAMC,eAAN,MAAMA,sBAA8EC,gBAAAA;EAtB3F,OAsB2FA;;;EAKzF,OAAgBC,gBAA0B;OAAI,MAAMA;IAAeC;;EACnE,OAAgBC,sBAA8BD;EAE9C,IAAIE,SAAS;AACX,WAAO,KAAKC,OAAOD;EACrB;EAEA,OAAiBE,oBAAoBC,OAA4C;AAC/E,UAAMC,SAA0B,CAAA;AAChC,UAAMC,QAAQC,OAAOH,MAAME,KAAK;AAChC,UAAME,QAAQD,OAAOE,QAAQL,MAAMI,OAAO;MAAEE,QAAQ;IAAK,CAAA,CAAA;AACzD,aAASC,IAAI,IAAIA,IAAIL,OAAOK,KAAK;AAC/B,YAAMC,UAAyB;QAC7BC,QAAQC;QACRC,OAAON,QAAQD,QAAQG,GAAG;UAAED,QAAQ;QAAK,CAAA;MAC3C;AACAL,aAAOW,KAAKJ,OAAAA;IACd;AACA,WAAOP;EACT;EAEA,OAAiBY,oBAAoBb,OAA4C;AAC/E,UAAMC,SAA0B,CAAA;AAChC,UAAMC,QAAQF,MAAME;AACpB,UAAME,QAAQJ,MAAMI;AACpB,aAASG,IAAI,GAAGA,IAAIL,OAAOK,KAAK;AAC9B,YAAMC,UAAyB;QAC7BC,QAAQK;QACRH,OAAOP,QAAQG;MACjB;AACAN,aAAOW,KAAKJ,OAAAA;IACd;AACA,WAAOP;EACT;EAEmBc,cAAclB,QAA4D;AAC3F,UAAMI,SAA4C,CAAA;AAClD,eAAWD,SAASH,QAAQmB,OAAOC,cAAAA,KAAmB,CAAA,GAAI;AACxD,UAAIC,qBAAqBlB,KAAAA,GAAQ;AAC/BC,eAAOW,KAAI,GAAIpB,cAAaO,oBAAoBC,KAAAA,CAAAA;MAClD,WAAWmB,qBAAqBnB,KAAAA,GAAQ;AACtCC,eAAOW,KAAI,GAAIpB,cAAaqB,oBAAoBb,KAAAA,CAAAA;MAClD,OAAO;AACL,cAAM,IAAIoB,MAAM,gDAAgDC,KAAKC,UAAUtB,OAAO,MAAM,CAAA,CAAA,EAAI;MAClG;IACF;AACA,WAAOC;EACT;AACF;;;AC1EA,cAAc;","names":["hexFrom","AbstractDiviner","BigIntSchema","isBigIntRangePayload","isNumberRangePayload","isRangePayload","NumberSchema","RangeDivinerConfigSchema","RangeDiviner","AbstractDiviner","configSchemas","RangeDivinerConfigSchema","defaultConfigSchema","ranges","config","generateBigIntRange","range","result","count","BigInt","start","hexFrom","prefix","i","payload","schema","BigIntSchema","value","push","generateNumberRange","NumberSchema","divineHandler","filter","isRangePayload","isBigIntRangePayload","isNumberRangePayload","Error","JSON","stringify"]}
@@ -2,9 +2,11 @@ import { AbstractDiviner } from '@xyo-network/diviner-abstract';
2
2
  import { DivinerParams } from '@xyo-network/diviner-model';
3
3
  import { BigIntPayload, BigIntRangePayload, NumberPayload, NumberRangePayload, RangeDivinerConfig, RangePayload } from '@xyo-network/diviner-range-model';
4
4
  import { AnyConfigSchema } from '@xyo-network/module-model';
5
+ import { Schema } from '@xyo-network/payload-model';
5
6
  export type RangeDivinerParams = DivinerParams<AnyConfigSchema<RangeDivinerConfig>>;
6
7
  export declare class RangeDiviner<TParams extends RangeDivinerParams = RangeDivinerParams> extends AbstractDiviner<TParams, RangePayload, NumberPayload | BigIntPayload> {
7
- static configSchemas: string[];
8
+ static configSchemas: Schema[];
9
+ static defaultConfigSchema: Schema;
8
10
  get ranges(): RangePayload[] | undefined;
9
11
  protected static generateBigIntRange(range: BigIntRangePayload): BigIntPayload[];
10
12
  protected static generateNumberRange(range: NumberRangePayload): NumberPayload[];
@@ -1 +1 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EACL,aAAa,EACb,kBAAkB,EAKlB,aAAa,EACb,kBAAkB,EAElB,kBAAkB,EAElB,YAAY,EACb,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAA;AAEnF,qBAAa,YAAY,CAAC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,CAAE,SAAQ,eAAe,CACxG,OAAO,EACP,YAAY,EACZ,aAAa,GAAG,aAAa,CAC9B;IACC,OAAgB,aAAa,WAA6B;IAE1D,IAAI,MAAM,+BAET;IAED,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;IAchF,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;cAc7D,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC,EAAE;CAa7F"}
1
+ {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EACL,aAAa,EACb,kBAAkB,EAKlB,aAAa,EACb,kBAAkB,EAElB,kBAAkB,EAElB,YAAY,EACb,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEnD,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAA;AAEnF,qBAAa,YAAY,CAAC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,CAAE,SAAQ,eAAe,CACxG,OAAO,EACP,YAAY,EACZ,aAAa,GAAG,aAAa,CAC9B;IACC,OAAgB,aAAa,EAAE,MAAM,EAAE,CAAqD;IAC5F,OAAgB,mBAAmB,EAAE,MAAM,CAA2B;IAEtE,IAAI,MAAM,+BAET;IAED,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;IAchF,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;cAc7D,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC,EAAE;CAa7F"}
@@ -2,9 +2,11 @@ import { AbstractDiviner } from '@xyo-network/diviner-abstract';
2
2
  import { DivinerParams } from '@xyo-network/diviner-model';
3
3
  import { BigIntPayload, BigIntRangePayload, NumberPayload, NumberRangePayload, RangeDivinerConfig, RangePayload } from '@xyo-network/diviner-range-model';
4
4
  import { AnyConfigSchema } from '@xyo-network/module-model';
5
+ import { Schema } from '@xyo-network/payload-model';
5
6
  export type RangeDivinerParams = DivinerParams<AnyConfigSchema<RangeDivinerConfig>>;
6
7
  export declare class RangeDiviner<TParams extends RangeDivinerParams = RangeDivinerParams> extends AbstractDiviner<TParams, RangePayload, NumberPayload | BigIntPayload> {
7
- static configSchemas: string[];
8
+ static configSchemas: Schema[];
9
+ static defaultConfigSchema: Schema;
8
10
  get ranges(): RangePayload[] | undefined;
9
11
  protected static generateBigIntRange(range: BigIntRangePayload): BigIntPayload[];
10
12
  protected static generateNumberRange(range: NumberRangePayload): NumberPayload[];
@@ -1 +1 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EACL,aAAa,EACb,kBAAkB,EAKlB,aAAa,EACb,kBAAkB,EAElB,kBAAkB,EAElB,YAAY,EACb,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAA;AAEnF,qBAAa,YAAY,CAAC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,CAAE,SAAQ,eAAe,CACxG,OAAO,EACP,YAAY,EACZ,aAAa,GAAG,aAAa,CAC9B;IACC,OAAgB,aAAa,WAA6B;IAE1D,IAAI,MAAM,+BAET;IAED,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;IAchF,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;cAc7D,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC,EAAE;CAa7F"}
1
+ {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EACL,aAAa,EACb,kBAAkB,EAKlB,aAAa,EACb,kBAAkB,EAElB,kBAAkB,EAElB,YAAY,EACb,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEnD,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAA;AAEnF,qBAAa,YAAY,CAAC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,CAAE,SAAQ,eAAe,CACxG,OAAO,EACP,YAAY,EACZ,aAAa,GAAG,aAAa,CAC9B;IACC,OAAgB,aAAa,EAAE,MAAM,EAAE,CAAqD;IAC5F,OAAgB,mBAAmB,EAAE,MAAM,CAA2B;IAEtE,IAAI,MAAM,+BAET;IAED,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;IAchF,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;cAc7D,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC,EAAE;CAa7F"}
@@ -2,9 +2,11 @@ import { AbstractDiviner } from '@xyo-network/diviner-abstract';
2
2
  import { DivinerParams } from '@xyo-network/diviner-model';
3
3
  import { BigIntPayload, BigIntRangePayload, NumberPayload, NumberRangePayload, RangeDivinerConfig, RangePayload } from '@xyo-network/diviner-range-model';
4
4
  import { AnyConfigSchema } from '@xyo-network/module-model';
5
+ import { Schema } from '@xyo-network/payload-model';
5
6
  export type RangeDivinerParams = DivinerParams<AnyConfigSchema<RangeDivinerConfig>>;
6
7
  export declare class RangeDiviner<TParams extends RangeDivinerParams = RangeDivinerParams> extends AbstractDiviner<TParams, RangePayload, NumberPayload | BigIntPayload> {
7
- static configSchemas: string[];
8
+ static configSchemas: Schema[];
9
+ static defaultConfigSchema: Schema;
8
10
  get ranges(): RangePayload[] | undefined;
9
11
  protected static generateBigIntRange(range: BigIntRangePayload): BigIntPayload[];
10
12
  protected static generateNumberRange(range: NumberRangePayload): NumberPayload[];
@@ -1 +1 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EACL,aAAa,EACb,kBAAkB,EAKlB,aAAa,EACb,kBAAkB,EAElB,kBAAkB,EAElB,YAAY,EACb,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAA;AAEnF,qBAAa,YAAY,CAAC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,CAAE,SAAQ,eAAe,CACxG,OAAO,EACP,YAAY,EACZ,aAAa,GAAG,aAAa,CAC9B;IACC,OAAgB,aAAa,WAA6B;IAE1D,IAAI,MAAM,+BAET;IAED,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;IAchF,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;cAc7D,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC,EAAE;CAa7F"}
1
+ {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EACL,aAAa,EACb,kBAAkB,EAKlB,aAAa,EACb,kBAAkB,EAElB,kBAAkB,EAElB,YAAY,EACb,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAEnD,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAA;AAEnF,qBAAa,YAAY,CAAC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,CAAE,SAAQ,eAAe,CACxG,OAAO,EACP,YAAY,EACZ,aAAa,GAAG,aAAa,CAC9B;IACC,OAAgB,aAAa,EAAE,MAAM,EAAE,CAAqD;IAC5F,OAAgB,mBAAmB,EAAE,MAAM,CAA2B;IAEtE,IAAI,MAAM,+BAET;IAED,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;IAchF,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,EAAE;cAc7D,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC,EAAE;CAa7F"}
@@ -2,7 +2,9 @@
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
5
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __reflectGet = Reflect.get;
6
8
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7
9
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
10
  var __export = (target, all) => {
@@ -23,6 +25,7 @@ var __publicField = (obj, key, value) => {
23
25
  __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
24
26
  return value;
25
27
  };
28
+ var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
26
29
 
27
30
  // src/index.ts
28
31
  var src_exports = {};
@@ -85,8 +88,10 @@ var _RangeDiviner = class _RangeDiviner extends import_diviner_abstract.Abstract
85
88
  };
86
89
  __name(_RangeDiviner, "RangeDiviner");
87
90
  __publicField(_RangeDiviner, "configSchemas", [
91
+ ...__superGet(_RangeDiviner, _RangeDiviner, "configSchemas"),
88
92
  import_diviner_range_model.RangeDivinerConfigSchema
89
93
  ]);
94
+ __publicField(_RangeDiviner, "defaultConfigSchema", import_diviner_range_model.RangeDivinerConfigSchema);
90
95
  var RangeDiviner = _RangeDiviner;
91
96
 
92
97
  // src/index.ts
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/Diviner.ts"],"sourcesContent":["export * from './Diviner'\nexport * from '@xyo-network/diviner-range-model'\n","import { hexFrom } from '@xylabs/hex'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerParams } from '@xyo-network/diviner-model'\nimport {\n BigIntPayload,\n BigIntRangePayload,\n BigIntSchema,\n isBigIntRangePayload,\n isNumberRangePayload,\n isRangePayload,\n NumberPayload,\n NumberRangePayload,\n NumberSchema,\n RangeDivinerConfig,\n RangeDivinerConfigSchema,\n RangePayload,\n} from '@xyo-network/diviner-range-model'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\n\nexport type RangeDivinerParams = DivinerParams<AnyConfigSchema<RangeDivinerConfig>>\n\nexport class RangeDiviner<TParams extends RangeDivinerParams = RangeDivinerParams> extends AbstractDiviner<\n TParams,\n RangePayload,\n NumberPayload | BigIntPayload\n> {\n static override configSchemas = [RangeDivinerConfigSchema]\n\n get ranges() {\n return this.config.ranges\n }\n\n protected static generateBigIntRange(range: BigIntRangePayload): BigIntPayload[] {\n const result: BigIntPayload[] = []\n const count = BigInt(range.count)\n const start = BigInt(hexFrom(range.start, { prefix: true }))\n for (let i = 0n; i < count; i++) {\n const payload: BigIntPayload = {\n schema: BigIntSchema,\n value: hexFrom(start + i, { prefix: true }),\n }\n result.push(payload)\n }\n return result\n }\n\n protected static generateNumberRange(range: NumberRangePayload): NumberPayload[] {\n const result: NumberPayload[] = []\n const count = range.count\n const start = range.start\n for (let i = 0; i < count; i++) {\n const payload: NumberPayload = {\n schema: NumberSchema,\n value: start + i,\n }\n result.push(payload)\n }\n return result\n }\n\n protected override divineHandler(ranges?: RangePayload[]): (NumberPayload | BigIntPayload)[] {\n const result: (BigIntPayload | NumberPayload)[] = []\n for (const range of ranges?.filter(isRangePayload) ?? []) {\n if (isBigIntRangePayload(range)) {\n result.push(...RangeDiviner.generateBigIntRange(range))\n } else if (isNumberRangePayload(range)) {\n result.push(...RangeDiviner.generateNumberRange(range))\n } else {\n throw new Error(`Only number and bigint ranges are supported: ${JSON.stringify(range, null, 2)}`)\n }\n }\n return result\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACAA,iBAAwB;AACxB,8BAAgC;AAEhC,iCAaO;AAKA,IAAMA,gBAAN,MAAMA,sBAA8EC,wCAAAA;EAOzF,IAAIC,SAAS;AACX,WAAO,KAAKC,OAAOD;EACrB;EAEA,OAAiBE,oBAAoBC,OAA4C;AAC/E,UAAMC,SAA0B,CAAA;AAChC,UAAMC,QAAQC,OAAOH,MAAME,KAAK;AAChC,UAAME,QAAQD,WAAOE,oBAAQL,MAAMI,OAAO;MAAEE,QAAQ;IAAK,CAAA,CAAA;AACzD,aAASC,IAAI,IAAIA,IAAIL,OAAOK,KAAK;AAC/B,YAAMC,UAAyB;QAC7BC,QAAQC;QACRC,WAAON,oBAAQD,QAAQG,GAAG;UAAED,QAAQ;QAAK,CAAA;MAC3C;AACAL,aAAOW,KAAKJ,OAAAA;IACd;AACA,WAAOP;EACT;EAEA,OAAiBY,oBAAoBb,OAA4C;AAC/E,UAAMC,SAA0B,CAAA;AAChC,UAAMC,QAAQF,MAAME;AACpB,UAAME,QAAQJ,MAAMI;AACpB,aAASG,IAAI,GAAGA,IAAIL,OAAOK,KAAK;AAC9B,YAAMC,UAAyB;QAC7BC,QAAQK;QACRH,OAAOP,QAAQG;MACjB;AACAN,aAAOW,KAAKJ,OAAAA;IACd;AACA,WAAOP;EACT;EAEmBc,cAAclB,QAA4D;AAC3F,UAAMI,SAA4C,CAAA;AAClD,eAAWD,UAASH,iCAAQmB,OAAOC,+CAAmB,CAAA,GAAI;AACxD,cAAIC,iDAAqBlB,KAAAA,GAAQ;AAC/BC,eAAOW,KAAI,GAAIjB,cAAaI,oBAAoBC,KAAAA,CAAAA;MAClD,eAAWmB,iDAAqBnB,KAAAA,GAAQ;AACtCC,eAAOW,KAAI,GAAIjB,cAAakB,oBAAoBb,KAAAA,CAAAA;MAClD,OAAO;AACL,cAAM,IAAIoB,MAAM,gDAAgDC,KAAKC,UAAUtB,OAAO,MAAM,CAAA,CAAA,EAAI;MAClG;IACF;AACA,WAAOC;EACT;AACF;AApD2FL;AAKzF,cALWD,eAKK4B,iBAAgB;EAACC;;AAL5B,IAAM7B,eAAN;;;ADpBP,wBAAc,6CADd;","names":["RangeDiviner","AbstractDiviner","ranges","config","generateBigIntRange","range","result","count","BigInt","start","hexFrom","prefix","i","payload","schema","BigIntSchema","value","push","generateNumberRange","NumberSchema","divineHandler","filter","isRangePayload","isBigIntRangePayload","isNumberRangePayload","Error","JSON","stringify","configSchemas","RangeDivinerConfigSchema"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/Diviner.ts"],"sourcesContent":["export * from './Diviner'\nexport * from '@xyo-network/diviner-range-model'\n","import { hexFrom } from '@xylabs/hex'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerParams } from '@xyo-network/diviner-model'\nimport {\n BigIntPayload,\n BigIntRangePayload,\n BigIntSchema,\n isBigIntRangePayload,\n isNumberRangePayload,\n isRangePayload,\n NumberPayload,\n NumberRangePayload,\n NumberSchema,\n RangeDivinerConfig,\n RangeDivinerConfigSchema,\n RangePayload,\n} from '@xyo-network/diviner-range-model'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Schema } from '@xyo-network/payload-model'\n\nexport type RangeDivinerParams = DivinerParams<AnyConfigSchema<RangeDivinerConfig>>\n\nexport class RangeDiviner<TParams extends RangeDivinerParams = RangeDivinerParams> extends AbstractDiviner<\n TParams,\n RangePayload,\n NumberPayload | BigIntPayload\n> {\n static override configSchemas: Schema[] = [...super.configSchemas, RangeDivinerConfigSchema]\n static override defaultConfigSchema: Schema = RangeDivinerConfigSchema\n\n get ranges() {\n return this.config.ranges\n }\n\n protected static generateBigIntRange(range: BigIntRangePayload): BigIntPayload[] {\n const result: BigIntPayload[] = []\n const count = BigInt(range.count)\n const start = BigInt(hexFrom(range.start, { prefix: true }))\n for (let i = 0n; i < count; i++) {\n const payload: BigIntPayload = {\n schema: BigIntSchema,\n value: hexFrom(start + i, { prefix: true }),\n }\n result.push(payload)\n }\n return result\n }\n\n protected static generateNumberRange(range: NumberRangePayload): NumberPayload[] {\n const result: NumberPayload[] = []\n const count = range.count\n const start = range.start\n for (let i = 0; i < count; i++) {\n const payload: NumberPayload = {\n schema: NumberSchema,\n value: start + i,\n }\n result.push(payload)\n }\n return result\n }\n\n protected override divineHandler(ranges?: RangePayload[]): (NumberPayload | BigIntPayload)[] {\n const result: (BigIntPayload | NumberPayload)[] = []\n for (const range of ranges?.filter(isRangePayload) ?? []) {\n if (isBigIntRangePayload(range)) {\n result.push(...RangeDiviner.generateBigIntRange(range))\n } else if (isNumberRangePayload(range)) {\n result.push(...RangeDiviner.generateNumberRange(range))\n } else {\n throw new Error(`Only number and bigint ranges are supported: ${JSON.stringify(range, null, 2)}`)\n }\n }\n return result\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACAA,iBAAwB;AACxB,8BAAgC;AAEhC,iCAaO;AAMA,IAAMA,gBAAN,MAAMA,sBAA8EC,wCAAAA;EAQzF,IAAIC,SAAS;AACX,WAAO,KAAKC,OAAOD;EACrB;EAEA,OAAiBE,oBAAoBC,OAA4C;AAC/E,UAAMC,SAA0B,CAAA;AAChC,UAAMC,QAAQC,OAAOH,MAAME,KAAK;AAChC,UAAME,QAAQD,WAAOE,oBAAQL,MAAMI,OAAO;MAAEE,QAAQ;IAAK,CAAA,CAAA;AACzD,aAASC,IAAI,IAAIA,IAAIL,OAAOK,KAAK;AAC/B,YAAMC,UAAyB;QAC7BC,QAAQC;QACRC,WAAON,oBAAQD,QAAQG,GAAG;UAAED,QAAQ;QAAK,CAAA;MAC3C;AACAL,aAAOW,KAAKJ,OAAAA;IACd;AACA,WAAOP;EACT;EAEA,OAAiBY,oBAAoBb,OAA4C;AAC/E,UAAMC,SAA0B,CAAA;AAChC,UAAMC,QAAQF,MAAME;AACpB,UAAME,QAAQJ,MAAMI;AACpB,aAASG,IAAI,GAAGA,IAAIL,OAAOK,KAAK;AAC9B,YAAMC,UAAyB;QAC7BC,QAAQK;QACRH,OAAOP,QAAQG;MACjB;AACAN,aAAOW,KAAKJ,OAAAA;IACd;AACA,WAAOP;EACT;EAEmBc,cAAclB,QAA4D;AAC3F,UAAMI,SAA4C,CAAA;AAClD,eAAWD,UAASH,iCAAQmB,OAAOC,+CAAmB,CAAA,GAAI;AACxD,cAAIC,iDAAqBlB,KAAAA,GAAQ;AAC/BC,eAAOW,KAAI,GAAIjB,cAAaI,oBAAoBC,KAAAA,CAAAA;MAClD,eAAWmB,iDAAqBnB,KAAAA,GAAQ;AACtCC,eAAOW,KAAI,GAAIjB,cAAakB,oBAAoBb,KAAAA,CAAAA;MAClD,OAAO;AACL,cAAM,IAAIoB,MAAM,gDAAgDC,KAAKC,UAAUtB,OAAO,MAAM,CAAA,CAAA,EAAI;MAClG;IACF;AACA,WAAOC;EACT;AACF;AArD2FL;AAKzF,cALWD,eAKK4B,iBAA0B;KAAI,yCAAMA;EAAeC;;AACnE,cANW7B,eAMK8B,uBAA8BD;AANzC,IAAM7B,eAAN;;;ADrBP,wBAAc,6CADd;","names":["RangeDiviner","AbstractDiviner","ranges","config","generateBigIntRange","range","result","count","BigInt","start","hexFrom","prefix","i","payload","schema","BigIntSchema","value","push","generateNumberRange","NumberSchema","divineHandler","filter","isRangePayload","isBigIntRangePayload","isNumberRangePayload","Error","JSON","stringify","configSchemas","RangeDivinerConfigSchema","defaultConfigSchema"]}
@@ -1,10 +1,13 @@
1
1
  var __defProp = Object.defineProperty;
2
+ var __getProtoOf = Object.getPrototypeOf;
3
+ var __reflectGet = Reflect.get;
2
4
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
5
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
4
6
  var __publicField = (obj, key, value) => {
5
7
  __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
6
8
  return value;
7
9
  };
10
+ var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
8
11
 
9
12
  // src/Diviner.ts
10
13
  import { hexFrom } from "@xylabs/hex";
@@ -60,8 +63,10 @@ var _RangeDiviner = class _RangeDiviner extends AbstractDiviner {
60
63
  };
61
64
  __name(_RangeDiviner, "RangeDiviner");
62
65
  __publicField(_RangeDiviner, "configSchemas", [
66
+ ...__superGet(_RangeDiviner, _RangeDiviner, "configSchemas"),
63
67
  RangeDivinerConfigSchema
64
68
  ]);
69
+ __publicField(_RangeDiviner, "defaultConfigSchema", RangeDivinerConfigSchema);
65
70
  var RangeDiviner = _RangeDiviner;
66
71
 
67
72
  // src/index.ts
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Diviner.ts","../../src/index.ts"],"sourcesContent":["import { hexFrom } from '@xylabs/hex'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerParams } from '@xyo-network/diviner-model'\nimport {\n BigIntPayload,\n BigIntRangePayload,\n BigIntSchema,\n isBigIntRangePayload,\n isNumberRangePayload,\n isRangePayload,\n NumberPayload,\n NumberRangePayload,\n NumberSchema,\n RangeDivinerConfig,\n RangeDivinerConfigSchema,\n RangePayload,\n} from '@xyo-network/diviner-range-model'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\n\nexport type RangeDivinerParams = DivinerParams<AnyConfigSchema<RangeDivinerConfig>>\n\nexport class RangeDiviner<TParams extends RangeDivinerParams = RangeDivinerParams> extends AbstractDiviner<\n TParams,\n RangePayload,\n NumberPayload | BigIntPayload\n> {\n static override configSchemas = [RangeDivinerConfigSchema]\n\n get ranges() {\n return this.config.ranges\n }\n\n protected static generateBigIntRange(range: BigIntRangePayload): BigIntPayload[] {\n const result: BigIntPayload[] = []\n const count = BigInt(range.count)\n const start = BigInt(hexFrom(range.start, { prefix: true }))\n for (let i = 0n; i < count; i++) {\n const payload: BigIntPayload = {\n schema: BigIntSchema,\n value: hexFrom(start + i, { prefix: true }),\n }\n result.push(payload)\n }\n return result\n }\n\n protected static generateNumberRange(range: NumberRangePayload): NumberPayload[] {\n const result: NumberPayload[] = []\n const count = range.count\n const start = range.start\n for (let i = 0; i < count; i++) {\n const payload: NumberPayload = {\n schema: NumberSchema,\n value: start + i,\n }\n result.push(payload)\n }\n return result\n }\n\n protected override divineHandler(ranges?: RangePayload[]): (NumberPayload | BigIntPayload)[] {\n const result: (BigIntPayload | NumberPayload)[] = []\n for (const range of ranges?.filter(isRangePayload) ?? []) {\n if (isBigIntRangePayload(range)) {\n result.push(...RangeDiviner.generateBigIntRange(range))\n } else if (isNumberRangePayload(range)) {\n result.push(...RangeDiviner.generateNumberRange(range))\n } else {\n throw new Error(`Only number and bigint ranges are supported: ${JSON.stringify(range, null, 2)}`)\n }\n }\n return result\n }\n}\n","export * from './Diviner'\nexport * from '@xyo-network/diviner-range-model'\n"],"mappings":";;;;;;;;;AAAA,SAASA,eAAe;AACxB,SAASC,uBAAuB;AAEhC,SAGEC,cACAC,sBACAC,sBACAC,gBAGAC,cAEAC,gCAEK;AAKA,IAAMC,gBAAN,MAAMA,sBAA8EC,gBAAAA;EAOzF,IAAIC,SAAS;AACX,WAAO,KAAKC,OAAOD;EACrB;EAEA,OAAiBE,oBAAoBC,OAA4C;AAC/E,UAAMC,SAA0B,CAAA;AAChC,UAAMC,QAAQC,OAAOH,MAAME,KAAK;AAChC,UAAME,QAAQD,OAAOE,QAAQL,MAAMI,OAAO;MAAEE,QAAQ;IAAK,CAAA,CAAA;AACzD,aAASC,IAAI,IAAIA,IAAIL,OAAOK,KAAK;AAC/B,YAAMC,UAAyB;QAC7BC,QAAQC;QACRC,OAAON,QAAQD,QAAQG,GAAG;UAAED,QAAQ;QAAK,CAAA;MAC3C;AACAL,aAAOW,KAAKJ,OAAAA;IACd;AACA,WAAOP;EACT;EAEA,OAAiBY,oBAAoBb,OAA4C;AAC/E,UAAMC,SAA0B,CAAA;AAChC,UAAMC,QAAQF,MAAME;AACpB,UAAME,QAAQJ,MAAMI;AACpB,aAASG,IAAI,GAAGA,IAAIL,OAAOK,KAAK;AAC9B,YAAMC,UAAyB;QAC7BC,QAAQK;QACRH,OAAOP,QAAQG;MACjB;AACAN,aAAOW,KAAKJ,OAAAA;IACd;AACA,WAAOP;EACT;EAEmBc,cAAclB,QAA4D;AAC3F,UAAMI,SAA4C,CAAA;AAClD,eAAWD,UAASH,iCAAQmB,OAAOC,oBAAmB,CAAA,GAAI;AACxD,UAAIC,qBAAqBlB,KAAAA,GAAQ;AAC/BC,eAAOW,KAAI,GAAIjB,cAAaI,oBAAoBC,KAAAA,CAAAA;MAClD,WAAWmB,qBAAqBnB,KAAAA,GAAQ;AACtCC,eAAOW,KAAI,GAAIjB,cAAakB,oBAAoBb,KAAAA,CAAAA;MAClD,OAAO;AACL,cAAM,IAAIoB,MAAM,gDAAgDC,KAAKC,UAAUtB,OAAO,MAAM,CAAA,CAAA,EAAI;MAClG;IACF;AACA,WAAOC;EACT;AACF;AApD2FL;AAKzF,cALWD,eAKK4B,iBAAgB;EAACC;;AAL5B,IAAM7B,eAAN;;;ACpBP,cAAc;","names":["hexFrom","AbstractDiviner","BigIntSchema","isBigIntRangePayload","isNumberRangePayload","isRangePayload","NumberSchema","RangeDivinerConfigSchema","RangeDiviner","AbstractDiviner","ranges","config","generateBigIntRange","range","result","count","BigInt","start","hexFrom","prefix","i","payload","schema","BigIntSchema","value","push","generateNumberRange","NumberSchema","divineHandler","filter","isRangePayload","isBigIntRangePayload","isNumberRangePayload","Error","JSON","stringify","configSchemas","RangeDivinerConfigSchema"]}
1
+ {"version":3,"sources":["../../src/Diviner.ts","../../src/index.ts"],"sourcesContent":["import { hexFrom } from '@xylabs/hex'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerParams } from '@xyo-network/diviner-model'\nimport {\n BigIntPayload,\n BigIntRangePayload,\n BigIntSchema,\n isBigIntRangePayload,\n isNumberRangePayload,\n isRangePayload,\n NumberPayload,\n NumberRangePayload,\n NumberSchema,\n RangeDivinerConfig,\n RangeDivinerConfigSchema,\n RangePayload,\n} from '@xyo-network/diviner-range-model'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Schema } from '@xyo-network/payload-model'\n\nexport type RangeDivinerParams = DivinerParams<AnyConfigSchema<RangeDivinerConfig>>\n\nexport class RangeDiviner<TParams extends RangeDivinerParams = RangeDivinerParams> extends AbstractDiviner<\n TParams,\n RangePayload,\n NumberPayload | BigIntPayload\n> {\n static override configSchemas: Schema[] = [...super.configSchemas, RangeDivinerConfigSchema]\n static override defaultConfigSchema: Schema = RangeDivinerConfigSchema\n\n get ranges() {\n return this.config.ranges\n }\n\n protected static generateBigIntRange(range: BigIntRangePayload): BigIntPayload[] {\n const result: BigIntPayload[] = []\n const count = BigInt(range.count)\n const start = BigInt(hexFrom(range.start, { prefix: true }))\n for (let i = 0n; i < count; i++) {\n const payload: BigIntPayload = {\n schema: BigIntSchema,\n value: hexFrom(start + i, { prefix: true }),\n }\n result.push(payload)\n }\n return result\n }\n\n protected static generateNumberRange(range: NumberRangePayload): NumberPayload[] {\n const result: NumberPayload[] = []\n const count = range.count\n const start = range.start\n for (let i = 0; i < count; i++) {\n const payload: NumberPayload = {\n schema: NumberSchema,\n value: start + i,\n }\n result.push(payload)\n }\n return result\n }\n\n protected override divineHandler(ranges?: RangePayload[]): (NumberPayload | BigIntPayload)[] {\n const result: (BigIntPayload | NumberPayload)[] = []\n for (const range of ranges?.filter(isRangePayload) ?? []) {\n if (isBigIntRangePayload(range)) {\n result.push(...RangeDiviner.generateBigIntRange(range))\n } else if (isNumberRangePayload(range)) {\n result.push(...RangeDiviner.generateNumberRange(range))\n } else {\n throw new Error(`Only number and bigint ranges are supported: ${JSON.stringify(range, null, 2)}`)\n }\n }\n return result\n }\n}\n","export * from './Diviner'\nexport * from '@xyo-network/diviner-range-model'\n"],"mappings":";;;;;;;;;;;;AAAA,SAASA,eAAe;AACxB,SAASC,uBAAuB;AAEhC,SAGEC,cACAC,sBACAC,sBACAC,gBAGAC,cAEAC,gCAEK;AAMA,IAAMC,gBAAN,MAAMA,sBAA8EC,gBAAAA;EAQzF,IAAIC,SAAS;AACX,WAAO,KAAKC,OAAOD;EACrB;EAEA,OAAiBE,oBAAoBC,OAA4C;AAC/E,UAAMC,SAA0B,CAAA;AAChC,UAAMC,QAAQC,OAAOH,MAAME,KAAK;AAChC,UAAME,QAAQD,OAAOE,QAAQL,MAAMI,OAAO;MAAEE,QAAQ;IAAK,CAAA,CAAA;AACzD,aAASC,IAAI,IAAIA,IAAIL,OAAOK,KAAK;AAC/B,YAAMC,UAAyB;QAC7BC,QAAQC;QACRC,OAAON,QAAQD,QAAQG,GAAG;UAAED,QAAQ;QAAK,CAAA;MAC3C;AACAL,aAAOW,KAAKJ,OAAAA;IACd;AACA,WAAOP;EACT;EAEA,OAAiBY,oBAAoBb,OAA4C;AAC/E,UAAMC,SAA0B,CAAA;AAChC,UAAMC,QAAQF,MAAME;AACpB,UAAME,QAAQJ,MAAMI;AACpB,aAASG,IAAI,GAAGA,IAAIL,OAAOK,KAAK;AAC9B,YAAMC,UAAyB;QAC7BC,QAAQK;QACRH,OAAOP,QAAQG;MACjB;AACAN,aAAOW,KAAKJ,OAAAA;IACd;AACA,WAAOP;EACT;EAEmBc,cAAclB,QAA4D;AAC3F,UAAMI,SAA4C,CAAA;AAClD,eAAWD,UAASH,iCAAQmB,OAAOC,oBAAmB,CAAA,GAAI;AACxD,UAAIC,qBAAqBlB,KAAAA,GAAQ;AAC/BC,eAAOW,KAAI,GAAIjB,cAAaI,oBAAoBC,KAAAA,CAAAA;MAClD,WAAWmB,qBAAqBnB,KAAAA,GAAQ;AACtCC,eAAOW,KAAI,GAAIjB,cAAakB,oBAAoBb,KAAAA,CAAAA;MAClD,OAAO;AACL,cAAM,IAAIoB,MAAM,gDAAgDC,KAAKC,UAAUtB,OAAO,MAAM,CAAA,CAAA,EAAI;MAClG;IACF;AACA,WAAOC;EACT;AACF;AArD2FL;AAKzF,cALWD,eAKK4B,iBAA0B;KAAI,yCAAMA;EAAeC;;AACnE,cANW7B,eAMK8B,uBAA8BD;AANzC,IAAM7B,eAAN;;;ACrBP,cAAc;","names":["hexFrom","AbstractDiviner","BigIntSchema","isBigIntRangePayload","isNumberRangePayload","isRangePayload","NumberSchema","RangeDivinerConfigSchema","RangeDiviner","AbstractDiviner","ranges","config","generateBigIntRange","range","result","count","BigInt","start","hexFrom","prefix","i","payload","schema","BigIntSchema","value","push","generateNumberRange","NumberSchema","divineHandler","filter","isRangePayload","isBigIntRangePayload","isNumberRangePayload","Error","JSON","stringify","configSchemas","RangeDivinerConfigSchema","defaultConfigSchema"]}
package/package.json CHANGED
@@ -11,10 +11,11 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@xylabs/hex": "^3.1.8",
14
- "@xyo-network/diviner-abstract": "~2.96.2",
15
- "@xyo-network/diviner-model": "~2.96.2",
16
- "@xyo-network/diviner-range-model": "~2.96.2",
17
- "@xyo-network/module-model": "~2.96.2"
14
+ "@xyo-network/diviner-abstract": "~2.97.1",
15
+ "@xyo-network/diviner-model": "~2.97.1",
16
+ "@xyo-network/diviner-range-model": "~2.97.1",
17
+ "@xyo-network/module-model": "~2.97.1",
18
+ "@xyo-network/payload-model": "~2.97.1"
18
19
  },
19
20
  "devDependencies": {
20
21
  "@xylabs/ts-scripts-yarn3": "^3.9.1",
@@ -60,6 +61,6 @@
60
61
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
61
62
  },
62
63
  "sideEffects": false,
63
- "version": "2.96.2",
64
+ "version": "2.97.1",
64
65
  "type": "module"
65
66
  }
package/src/Diviner.ts CHANGED
@@ -16,6 +16,7 @@ import {
16
16
  RangePayload,
17
17
  } from '@xyo-network/diviner-range-model'
18
18
  import { AnyConfigSchema } from '@xyo-network/module-model'
19
+ import { Schema } from '@xyo-network/payload-model'
19
20
 
20
21
  export type RangeDivinerParams = DivinerParams<AnyConfigSchema<RangeDivinerConfig>>
21
22
 
@@ -24,7 +25,8 @@ export class RangeDiviner<TParams extends RangeDivinerParams = RangeDivinerParam
24
25
  RangePayload,
25
26
  NumberPayload | BigIntPayload
26
27
  > {
27
- static override configSchemas = [RangeDivinerConfigSchema]
28
+ static override configSchemas: Schema[] = [...super.configSchemas, RangeDivinerConfigSchema]
29
+ static override defaultConfigSchema: Schema = RangeDivinerConfigSchema
28
30
 
29
31
  get ranges() {
30
32
  return this.config.ranges