@xyo-network/diviner-range 2.85.5 → 2.85.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/Diviner.d.cts +1 -1
- package/dist/browser/Diviner.d.mts +1 -1
- package/dist/browser/Diviner.d.ts +1 -1
- package/dist/browser/index.cjs +2 -2
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +1 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/node/Diviner.d.cts +1 -1
- package/dist/node/Diviner.d.mts +1 -1
- package/dist/node/Diviner.d.ts +1 -1
- package/dist/node/index.cjs +2 -2
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/package.json +5 -5
- package/src/Diviner.ts +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AbstractDiviner } from '@xyo-network/abstract
|
|
1
|
+
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';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AbstractDiviner } from '@xyo-network/abstract
|
|
1
|
+
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';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AbstractDiviner } from '@xyo-network/abstract
|
|
1
|
+
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';
|
package/dist/browser/index.cjs
CHANGED
|
@@ -28,9 +28,9 @@ module.exports = __toCommonJS(src_exports);
|
|
|
28
28
|
|
|
29
29
|
// src/Diviner.ts
|
|
30
30
|
var import_hex = require("@xylabs/hex");
|
|
31
|
-
var
|
|
31
|
+
var import_diviner_abstract = require("@xyo-network/diviner-abstract");
|
|
32
32
|
var import_diviner_range_model = require("@xyo-network/diviner-range-model");
|
|
33
|
-
var RangeDiviner = class _RangeDiviner extends
|
|
33
|
+
var RangeDiviner = class _RangeDiviner extends import_diviner_abstract.AbstractDiviner {
|
|
34
34
|
static {
|
|
35
35
|
__name(this, "RangeDiviner");
|
|
36
36
|
}
|
|
@@ -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/abstract
|
|
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"]}
|
package/dist/browser/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
3
3
|
|
|
4
4
|
// src/Diviner.ts
|
|
5
5
|
import { hexFrom } from "@xylabs/hex";
|
|
6
|
-
import { AbstractDiviner } from "@xyo-network/abstract
|
|
6
|
+
import { AbstractDiviner } from "@xyo-network/diviner-abstract";
|
|
7
7
|
import { BigIntSchema, isBigIntRangePayload, isNumberRangePayload, isRangePayload, NumberSchema, RangeDivinerConfigSchema } from "@xyo-network/diviner-range-model";
|
|
8
8
|
var RangeDiviner = class _RangeDiviner extends AbstractDiviner {
|
|
9
9
|
static {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Diviner.ts","../../src/index.ts"],"sourcesContent":["import { hexFrom } from '@xylabs/hex'\nimport { AbstractDiviner } from '@xyo-network/abstract
|
|
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"]}
|
package/dist/node/Diviner.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AbstractDiviner } from '@xyo-network/abstract
|
|
1
|
+
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';
|
package/dist/node/Diviner.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AbstractDiviner } from '@xyo-network/abstract
|
|
1
|
+
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';
|
package/dist/node/Diviner.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AbstractDiviner } from '@xyo-network/abstract
|
|
1
|
+
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';
|
package/dist/node/index.cjs
CHANGED
|
@@ -33,9 +33,9 @@ module.exports = __toCommonJS(src_exports);
|
|
|
33
33
|
|
|
34
34
|
// src/Diviner.ts
|
|
35
35
|
var import_hex = require("@xylabs/hex");
|
|
36
|
-
var
|
|
36
|
+
var import_diviner_abstract = require("@xyo-network/diviner-abstract");
|
|
37
37
|
var import_diviner_range_model = require("@xyo-network/diviner-range-model");
|
|
38
|
-
var _RangeDiviner = class _RangeDiviner extends
|
|
38
|
+
var _RangeDiviner = class _RangeDiviner extends import_diviner_abstract.AbstractDiviner {
|
|
39
39
|
get ranges() {
|
|
40
40
|
return this.config.ranges;
|
|
41
41
|
}
|
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/abstract
|
|
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"]}
|
package/dist/node/index.js
CHANGED
|
@@ -8,7 +8,7 @@ var __publicField = (obj, key, value) => {
|
|
|
8
8
|
|
|
9
9
|
// src/Diviner.ts
|
|
10
10
|
import { hexFrom } from "@xylabs/hex";
|
|
11
|
-
import { AbstractDiviner } from "@xyo-network/abstract
|
|
11
|
+
import { AbstractDiviner } from "@xyo-network/diviner-abstract";
|
|
12
12
|
import { BigIntSchema, isBigIntRangePayload, isNumberRangePayload, isRangePayload, NumberSchema, RangeDivinerConfigSchema } from "@xyo-network/diviner-range-model";
|
|
13
13
|
var _RangeDiviner = class _RangeDiviner extends AbstractDiviner {
|
|
14
14
|
get ranges() {
|
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/abstract
|
|
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"]}
|
package/package.json
CHANGED
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/hex": "^2.13.23",
|
|
14
|
-
"@xyo-network/abstract
|
|
15
|
-
"@xyo-network/diviner-model": "~2.85.
|
|
16
|
-
"@xyo-network/diviner-range-model": "~2.85.
|
|
17
|
-
"@xyo-network/module-model": "~2.85.
|
|
14
|
+
"@xyo-network/diviner-abstract": "~2.85.7",
|
|
15
|
+
"@xyo-network/diviner-model": "~2.85.7",
|
|
16
|
+
"@xyo-network/diviner-range-model": "~2.85.7",
|
|
17
|
+
"@xyo-network/module-model": "~2.85.7"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"@xylabs/ts-scripts-yarn3": "^3.2.25",
|
|
@@ -60,6 +60,6 @@
|
|
|
60
60
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
|
|
61
61
|
},
|
|
62
62
|
"sideEffects": false,
|
|
63
|
-
"version": "2.85.
|
|
63
|
+
"version": "2.85.7",
|
|
64
64
|
"type": "module"
|
|
65
65
|
}
|
package/src/Diviner.ts
CHANGED