@xyo-network/diviner-range 2.98.5 → 2.99.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/Diviner.d.cts +2 -2
- package/dist/browser/Diviner.d.cts.map +1 -1
- package/dist/browser/Diviner.d.mts +2 -2
- package/dist/browser/Diviner.d.mts.map +1 -1
- package/dist/browser/Diviner.d.ts +2 -2
- package/dist/browser/Diviner.d.ts.map +1 -1
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/node/Diviner.d.cts +2 -2
- package/dist/node/Diviner.d.cts.map +1 -1
- package/dist/node/Diviner.d.mts +2 -2
- package/dist/node/Diviner.d.mts.map +1 -1
- package/dist/node/Diviner.d.ts +2 -2
- package/dist/node/Diviner.d.ts.map +1 -1
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js.map +1 -1
- package/package.json +6 -6
- package/src/Diviner.ts +2 -2
|
@@ -5,8 +5,8 @@ import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
|
5
5
|
import { Schema } from '@xyo-network/payload-model';
|
|
6
6
|
export type RangeDivinerParams = DivinerParams<AnyConfigSchema<RangeDivinerConfig>>;
|
|
7
7
|
export declare class RangeDiviner<TParams extends RangeDivinerParams = RangeDivinerParams> extends AbstractDiviner<TParams, RangePayload, NumberPayload | BigIntPayload> {
|
|
8
|
-
static configSchemas: Schema[];
|
|
9
|
-
static defaultConfigSchema: Schema;
|
|
8
|
+
static readonly configSchemas: Schema[];
|
|
9
|
+
static readonly defaultConfigSchema: Schema;
|
|
10
10
|
get ranges(): RangePayload[] | undefined;
|
|
11
11
|
protected static generateBigIntRange(range: BigIntRangePayload): BigIntPayload[];
|
|
12
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;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,
|
|
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,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAqD;IACrG,gBAAyB,mBAAmB,EAAE,MAAM,CAA2B;IAE/E,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"}
|
|
@@ -5,8 +5,8 @@ import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
|
5
5
|
import { Schema } from '@xyo-network/payload-model';
|
|
6
6
|
export type RangeDivinerParams = DivinerParams<AnyConfigSchema<RangeDivinerConfig>>;
|
|
7
7
|
export declare class RangeDiviner<TParams extends RangeDivinerParams = RangeDivinerParams> extends AbstractDiviner<TParams, RangePayload, NumberPayload | BigIntPayload> {
|
|
8
|
-
static configSchemas: Schema[];
|
|
9
|
-
static defaultConfigSchema: Schema;
|
|
8
|
+
static readonly configSchemas: Schema[];
|
|
9
|
+
static readonly defaultConfigSchema: Schema;
|
|
10
10
|
get ranges(): RangePayload[] | undefined;
|
|
11
11
|
protected static generateBigIntRange(range: BigIntRangePayload): BigIntPayload[];
|
|
12
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;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,
|
|
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,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAqD;IACrG,gBAAyB,mBAAmB,EAAE,MAAM,CAA2B;IAE/E,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"}
|
|
@@ -5,8 +5,8 @@ import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
|
5
5
|
import { Schema } from '@xyo-network/payload-model';
|
|
6
6
|
export type RangeDivinerParams = DivinerParams<AnyConfigSchema<RangeDivinerConfig>>;
|
|
7
7
|
export declare class RangeDiviner<TParams extends RangeDivinerParams = RangeDivinerParams> extends AbstractDiviner<TParams, RangePayload, NumberPayload | BigIntPayload> {
|
|
8
|
-
static configSchemas: Schema[];
|
|
9
|
-
static defaultConfigSchema: Schema;
|
|
8
|
+
static readonly configSchemas: Schema[];
|
|
9
|
+
static readonly defaultConfigSchema: Schema;
|
|
10
10
|
get ranges(): RangePayload[] | undefined;
|
|
11
11
|
protected static generateBigIntRange(range: BigIntRangePayload): BigIntPayload[];
|
|
12
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;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,
|
|
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,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAqD;IACrG,gBAAyB,mBAAmB,EAAE,MAAM,CAA2B;IAE/E,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 +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'\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,
|
|
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 readonly configSchemas: Schema[] = [...super.configSchemas, RangeDivinerConfigSchema]\n static override readonly 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,OAAyBC,gBAA0B;OAAI,MAAMA;IAAeC;;EAC5E,OAAyBC,sBAA8BD;EAEvD,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"]}
|
|
@@ -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'\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,
|
|
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 readonly configSchemas: Schema[] = [...super.configSchemas, RangeDivinerConfigSchema]\n static override readonly 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,OAAyBC,gBAA0B;OAAI,MAAMA;IAAeC;;EAC5E,OAAyBC,sBAA8BD;EAEvD,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"]}
|
package/dist/node/Diviner.d.cts
CHANGED
|
@@ -5,8 +5,8 @@ import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
|
5
5
|
import { Schema } from '@xyo-network/payload-model';
|
|
6
6
|
export type RangeDivinerParams = DivinerParams<AnyConfigSchema<RangeDivinerConfig>>;
|
|
7
7
|
export declare class RangeDiviner<TParams extends RangeDivinerParams = RangeDivinerParams> extends AbstractDiviner<TParams, RangePayload, NumberPayload | BigIntPayload> {
|
|
8
|
-
static configSchemas: Schema[];
|
|
9
|
-
static defaultConfigSchema: Schema;
|
|
8
|
+
static readonly configSchemas: Schema[];
|
|
9
|
+
static readonly defaultConfigSchema: Schema;
|
|
10
10
|
get ranges(): RangePayload[] | undefined;
|
|
11
11
|
protected static generateBigIntRange(range: BigIntRangePayload): BigIntPayload[];
|
|
12
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;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,
|
|
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,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAqD;IACrG,gBAAyB,mBAAmB,EAAE,MAAM,CAA2B;IAE/E,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"}
|
package/dist/node/Diviner.d.mts
CHANGED
|
@@ -5,8 +5,8 @@ import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
|
5
5
|
import { Schema } from '@xyo-network/payload-model';
|
|
6
6
|
export type RangeDivinerParams = DivinerParams<AnyConfigSchema<RangeDivinerConfig>>;
|
|
7
7
|
export declare class RangeDiviner<TParams extends RangeDivinerParams = RangeDivinerParams> extends AbstractDiviner<TParams, RangePayload, NumberPayload | BigIntPayload> {
|
|
8
|
-
static configSchemas: Schema[];
|
|
9
|
-
static defaultConfigSchema: Schema;
|
|
8
|
+
static readonly configSchemas: Schema[];
|
|
9
|
+
static readonly defaultConfigSchema: Schema;
|
|
10
10
|
get ranges(): RangePayload[] | undefined;
|
|
11
11
|
protected static generateBigIntRange(range: BigIntRangePayload): BigIntPayload[];
|
|
12
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;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,
|
|
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,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAqD;IACrG,gBAAyB,mBAAmB,EAAE,MAAM,CAA2B;IAE/E,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"}
|
package/dist/node/Diviner.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
|
5
5
|
import { Schema } from '@xyo-network/payload-model';
|
|
6
6
|
export type RangeDivinerParams = DivinerParams<AnyConfigSchema<RangeDivinerConfig>>;
|
|
7
7
|
export declare class RangeDiviner<TParams extends RangeDivinerParams = RangeDivinerParams> extends AbstractDiviner<TParams, RangePayload, NumberPayload | BigIntPayload> {
|
|
8
|
-
static configSchemas: Schema[];
|
|
9
|
-
static defaultConfigSchema: Schema;
|
|
8
|
+
static readonly configSchemas: Schema[];
|
|
9
|
+
static readonly defaultConfigSchema: Schema;
|
|
10
10
|
get ranges(): RangePayload[] | undefined;
|
|
11
11
|
protected static generateBigIntRange(range: BigIntRangePayload): BigIntPayload[];
|
|
12
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;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,
|
|
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,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAqD;IACrG,gBAAyB,mBAAmB,EAAE,MAAM,CAA2B;IAE/E,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"}
|
package/dist/node/index.cjs.map
CHANGED
|
@@ -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'\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,
|
|
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 readonly configSchemas: Schema[] = [...super.configSchemas, RangeDivinerConfigSchema]\n static override readonly 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,eAKc4B,iBAA0B;KAAI,yCAAMA;EAAeC;;AAC5E,cANW7B,eAMc8B,uBAA8BD;AANlD,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"]}
|
package/dist/node/index.js.map
CHANGED
|
@@ -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'\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,
|
|
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 readonly configSchemas: Schema[] = [...super.configSchemas, RangeDivinerConfigSchema]\n static override readonly 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,eAKc4B,iBAA0B;KAAI,yCAAMA;EAAeC;;AAC5E,cANW7B,eAMc8B,uBAA8BD;AANlD,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,11 +11,11 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/hex": "^3.1.10",
|
|
14
|
-
"@xyo-network/diviner-abstract": "~2.
|
|
15
|
-
"@xyo-network/diviner-model": "~2.
|
|
16
|
-
"@xyo-network/diviner-range-model": "~2.
|
|
17
|
-
"@xyo-network/module-model": "~2.
|
|
18
|
-
"@xyo-network/payload-model": "~2.
|
|
14
|
+
"@xyo-network/diviner-abstract": "~2.99.0",
|
|
15
|
+
"@xyo-network/diviner-model": "~2.99.0",
|
|
16
|
+
"@xyo-network/diviner-range-model": "~2.99.0",
|
|
17
|
+
"@xyo-network/module-model": "~2.99.0",
|
|
18
|
+
"@xyo-network/payload-model": "~2.99.0"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@xylabs/ts-scripts-yarn3": "^3.9.1",
|
|
@@ -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.
|
|
64
|
+
"version": "2.99.0",
|
|
65
65
|
"type": "module"
|
|
66
66
|
}
|
package/src/Diviner.ts
CHANGED
|
@@ -25,8 +25,8 @@ export class RangeDiviner<TParams extends RangeDivinerParams = RangeDivinerParam
|
|
|
25
25
|
RangePayload,
|
|
26
26
|
NumberPayload | BigIntPayload
|
|
27
27
|
> {
|
|
28
|
-
static override configSchemas: Schema[] = [...super.configSchemas, RangeDivinerConfigSchema]
|
|
29
|
-
static override defaultConfigSchema: Schema = RangeDivinerConfigSchema
|
|
28
|
+
static override readonly configSchemas: Schema[] = [...super.configSchemas, RangeDivinerConfigSchema]
|
|
29
|
+
static override readonly defaultConfigSchema: Schema = RangeDivinerConfigSchema
|
|
30
30
|
|
|
31
31
|
get ranges() {
|
|
32
32
|
return this.config.ranges
|