@xylabs/hex 2.13.19 → 2.13.21
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/address.d.cts +0 -1
- package/dist/browser/address.d.cts.map +1 -1
- package/dist/browser/address.d.mts +0 -1
- package/dist/browser/address.d.mts.map +1 -1
- package/dist/browser/address.d.ts +0 -1
- package/dist/browser/address.d.ts.map +1 -1
- package/dist/browser/assert.d.cts.map +1 -1
- package/dist/browser/assert.d.mts.map +1 -1
- package/dist/browser/assert.d.ts.map +1 -1
- package/dist/browser/hex/{from.d.cts → from/from.d.cts} +1 -2
- package/dist/browser/hex/from/from.d.cts.map +1 -0
- package/dist/{node/hex → browser/hex/from}/from.d.mts +1 -2
- package/dist/browser/hex/from/from.d.mts.map +1 -0
- package/dist/{node/hex → browser/hex/from}/from.d.ts +1 -2
- package/dist/browser/hex/from/from.d.ts.map +1 -0
- package/dist/browser/hex/from/fromHexString.d.cts +3 -0
- package/dist/browser/hex/from/fromHexString.d.cts.map +1 -0
- package/dist/browser/hex/from/fromHexString.d.mts +3 -0
- package/dist/browser/hex/from/fromHexString.d.mts.map +1 -0
- package/dist/browser/hex/from/fromHexString.d.ts +3 -0
- package/dist/browser/hex/from/fromHexString.d.ts.map +1 -0
- package/dist/browser/hex/from/index.d.cts +3 -0
- package/dist/browser/hex/from/index.d.cts.map +1 -0
- package/dist/browser/hex/from/index.d.mts +3 -0
- package/dist/browser/hex/from/index.d.mts.map +1 -0
- package/dist/browser/hex/from/index.d.ts +3 -0
- package/dist/browser/hex/from/index.d.ts.map +1 -0
- package/dist/browser/hex/index.d.cts +1 -0
- package/dist/browser/hex/index.d.cts.map +1 -1
- package/dist/browser/hex/index.d.mts +1 -0
- package/dist/browser/hex/index.d.mts.map +1 -1
- package/dist/browser/hex/index.d.ts +1 -0
- package/dist/browser/hex/index.d.ts.map +1 -1
- package/dist/browser/hex/is.d.cts +2 -2
- package/dist/browser/hex/is.d.cts.map +1 -1
- package/dist/browser/hex/is.d.mts +2 -2
- package/dist/browser/hex/is.d.mts.map +1 -1
- package/dist/browser/hex/is.d.ts +2 -2
- package/dist/browser/hex/is.d.ts.map +1 -1
- package/dist/browser/hex/isHexZero.d.cts +2 -0
- package/dist/browser/hex/isHexZero.d.cts.map +1 -0
- package/dist/browser/hex/isHexZero.d.mts +2 -0
- package/dist/browser/hex/isHexZero.d.mts.map +1 -0
- package/dist/browser/hex/isHexZero.d.ts +2 -0
- package/dist/browser/hex/isHexZero.d.ts.map +1 -0
- package/dist/browser/hex/regex.d.cts.map +1 -1
- package/dist/browser/hex/regex.d.mts.map +1 -1
- package/dist/browser/hex/regex.d.ts.map +1 -1
- package/dist/browser/index.cjs +54 -47
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +54 -47
- package/dist/browser/index.js.map +1 -1
- package/dist/node/address.d.cts +0 -1
- package/dist/node/address.d.cts.map +1 -1
- package/dist/node/address.d.mts +0 -1
- package/dist/node/address.d.mts.map +1 -1
- package/dist/node/address.d.ts +0 -1
- package/dist/node/address.d.ts.map +1 -1
- package/dist/node/assert.d.cts.map +1 -1
- package/dist/node/assert.d.mts.map +1 -1
- package/dist/node/assert.d.ts.map +1 -1
- package/dist/node/hex/{from.d.cts → from/from.d.cts} +1 -2
- package/dist/node/hex/from/from.d.cts.map +1 -0
- package/dist/{browser/hex → node/hex/from}/from.d.mts +1 -2
- package/dist/node/hex/from/from.d.mts.map +1 -0
- package/dist/{browser/hex → node/hex/from}/from.d.ts +1 -2
- package/dist/node/hex/from/from.d.ts.map +1 -0
- package/dist/node/hex/from/fromHexString.d.cts +3 -0
- package/dist/node/hex/from/fromHexString.d.cts.map +1 -0
- package/dist/node/hex/from/fromHexString.d.mts +3 -0
- package/dist/node/hex/from/fromHexString.d.mts.map +1 -0
- package/dist/node/hex/from/fromHexString.d.ts +3 -0
- package/dist/node/hex/from/fromHexString.d.ts.map +1 -0
- package/dist/node/hex/from/index.d.cts +3 -0
- package/dist/node/hex/from/index.d.cts.map +1 -0
- package/dist/node/hex/from/index.d.mts +3 -0
- package/dist/node/hex/from/index.d.mts.map +1 -0
- package/dist/node/hex/from/index.d.ts +3 -0
- package/dist/node/hex/from/index.d.ts.map +1 -0
- package/dist/node/hex/index.d.cts +1 -0
- package/dist/node/hex/index.d.cts.map +1 -1
- package/dist/node/hex/index.d.mts +1 -0
- package/dist/node/hex/index.d.mts.map +1 -1
- package/dist/node/hex/index.d.ts +1 -0
- package/dist/node/hex/index.d.ts.map +1 -1
- package/dist/node/hex/is.d.cts +2 -2
- package/dist/node/hex/is.d.cts.map +1 -1
- package/dist/node/hex/is.d.mts +2 -2
- package/dist/node/hex/is.d.mts.map +1 -1
- package/dist/node/hex/is.d.ts +2 -2
- package/dist/node/hex/is.d.ts.map +1 -1
- package/dist/node/hex/isHexZero.d.cts +2 -0
- package/dist/node/hex/isHexZero.d.cts.map +1 -0
- package/dist/node/hex/isHexZero.d.mts +2 -0
- package/dist/node/hex/isHexZero.d.mts.map +1 -0
- package/dist/node/hex/isHexZero.d.ts +2 -0
- package/dist/node/hex/isHexZero.d.ts.map +1 -0
- package/dist/node/hex/regex.d.cts.map +1 -1
- package/dist/node/hex/regex.d.mts.map +1 -1
- package/dist/node/hex/regex.d.ts.map +1 -1
- package/dist/node/index.cjs +54 -48
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +54 -47
- package/dist/node/index.js.map +1 -1
- package/package.json +9 -6
- package/src/address.ts +6 -17
- package/src/assert.ts +2 -1
- package/src/hash.ts +5 -3
- package/src/hex/as.ts +4 -2
- package/src/hex/{from.ts → from/from.ts} +15 -22
- package/src/hex/from/fromHexString.ts +15 -0
- package/src/hex/from/index.ts +2 -0
- package/src/hex/index.ts +1 -0
- package/src/hex/is.ts +7 -10
- package/src/hex/isHexZero.ts +5 -0
- package/src/hex/nibble.ts +1 -1
- package/src/hex/regex.ts +2 -2
- package/dist/browser/hex/from.d.cts.map +0 -1
- package/dist/browser/hex/from.d.mts.map +0 -1
- package/dist/browser/hex/from.d.ts.map +0 -1
- package/dist/node/hex/from.d.cts.map +0 -1
- package/dist/node/hex/from.d.mts.map +0 -1
- package/dist/node/hex/from.d.ts.map +0 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { AssertConfig } from './assert';
|
|
2
2
|
import { HexConfig } from './hex';
|
|
3
|
-
export declare const addressRegex: RegExp;
|
|
4
3
|
export type Address = string;
|
|
5
4
|
export declare const toAddress: (value: unknown, config?: HexConfig) => string;
|
|
6
5
|
export declare const isAddress: (value: unknown, bitLength?: number) => value is string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,MAAM,UAAU,CAAA;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,SAAS,EAAoC,MAAM,OAAO,CAAA;AAEnE,MAAM,MAAM,OAAO,GAAG,MAAM,CAAA;AAE5B,eAAO,MAAM,SAAS,UAAW,OAAO,WAAU,SAAS,WAG1D,CAAA;AAED,eAAO,MAAM,SAAS,UAAW,OAAO,wCAEvC,CAAA;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAA;AAC9D,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { AssertConfig } from './assert';
|
|
2
2
|
import { HexConfig } from './hex';
|
|
3
|
-
export declare const addressRegex: RegExp;
|
|
4
3
|
export type Address = string;
|
|
5
4
|
export declare const toAddress: (value: unknown, config?: HexConfig) => string;
|
|
6
5
|
export declare const isAddress: (value: unknown, bitLength?: number) => value is string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,MAAM,UAAU,CAAA;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,SAAS,EAAoC,MAAM,OAAO,CAAA;AAEnE,MAAM,MAAM,OAAO,GAAG,MAAM,CAAA;AAE5B,eAAO,MAAM,SAAS,UAAW,OAAO,WAAU,SAAS,WAG1D,CAAA;AAED,eAAO,MAAM,SAAS,UAAW,OAAO,wCAEvC,CAAA;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAA;AAC9D,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { AssertConfig } from './assert';
|
|
2
2
|
import { HexConfig } from './hex';
|
|
3
|
-
export declare const addressRegex: RegExp;
|
|
4
3
|
export type Address = string;
|
|
5
4
|
export declare const toAddress: (value: unknown, config?: HexConfig) => string;
|
|
6
5
|
export declare const isAddress: (value: unknown, bitLength?: number) => value is string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,MAAM,UAAU,CAAA;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,SAAS,EAAoC,MAAM,OAAO,CAAA;AAEnE,MAAM,MAAM,OAAO,GAAG,MAAM,CAAA;AAE5B,eAAO,MAAM,SAAS,UAAW,OAAO,WAAU,SAAS,WAG1D,CAAA;AAED,eAAO,MAAM,SAAS,UAAW,OAAO,wCAEvC,CAAA;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAA;AAC9D,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../src/assert.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAA;AAElF,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,cAAc,GAAG,OAAO,CAAA;AAE5D,eAAO,MAAM,WAAW,UAAW,OAAO,UAAU,YAAY,GAAG,SAAS,kBAAkB,MAAM,
|
|
1
|
+
{"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../src/assert.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAA;AAElF,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,cAAc,GAAG,OAAO,CAAA;AAE5D,eAAO,MAAM,WAAW,UAAW,OAAO,UAAU,YAAY,GAAG,SAAS,kBAAkB,MAAM,cASnG,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../src/assert.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAA;AAElF,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,cAAc,GAAG,OAAO,CAAA;AAE5D,eAAO,MAAM,WAAW,UAAW,OAAO,UAAU,YAAY,GAAG,SAAS,kBAAkB,MAAM,
|
|
1
|
+
{"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../src/assert.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAA;AAElF,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,cAAc,GAAG,OAAO,CAAA;AAE5D,eAAO,MAAM,WAAW,UAAW,OAAO,UAAU,YAAY,GAAG,SAAS,kBAAkB,MAAM,cASnG,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../src/assert.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAA;AAElF,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,cAAc,GAAG,OAAO,CAAA;AAE5D,eAAO,MAAM,WAAW,UAAW,OAAO,UAAU,YAAY,GAAG,SAAS,kBAAkB,MAAM,
|
|
1
|
+
{"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../src/assert.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAA;AAElF,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,cAAc,GAAG,OAAO,CAAA;AAE5D,eAAO,MAAM,WAAW,UAAW,OAAO,UAAU,YAAY,GAAG,SAAS,kBAAkB,MAAM,cASnG,CAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { HexConfig } from '
|
|
1
|
+
import { HexConfig } from '../model';
|
|
2
2
|
export declare const hexFromArrayBuffer: (buffer: ArrayBuffer, config?: HexConfig) => string;
|
|
3
3
|
export declare const hexFromBigInt: (value: bigint, config?: HexConfig) => string;
|
|
4
4
|
export declare const hexFromNumber: (value: number, config?: HexConfig) => string;
|
|
5
|
-
export declare const hexFromHexString: (value: string, config?: HexConfig) => string;
|
|
6
5
|
export declare const hexFrom: (value: unknown, config?: HexConfig) => string;
|
|
7
6
|
//# sourceMappingURL=from.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"from.d.ts","sourceRoot":"","sources":["../../../../src/hex/from/from.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAIpC,eAAO,MAAM,kBAAkB,WAAY,WAAW,WAAW,SAAS,KAAG,MAG5E,CAAA;AAED,eAAO,MAAM,aAAa,UAAW,MAAM,WAAU,SAAS,KAAQ,MAKrE,CAAA;AAED,eAAO,MAAM,aAAa,UAAW,MAAM,WAAW,SAAS,KAAG,MAEjE,CAAA;AAED,eAAO,MAAM,OAAO,UAAW,OAAO,WAAW,SAAS,KAAG,MAsB5D,CAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { HexConfig } from '
|
|
1
|
+
import { HexConfig } from '../model';
|
|
2
2
|
export declare const hexFromArrayBuffer: (buffer: ArrayBuffer, config?: HexConfig) => string;
|
|
3
3
|
export declare const hexFromBigInt: (value: bigint, config?: HexConfig) => string;
|
|
4
4
|
export declare const hexFromNumber: (value: number, config?: HexConfig) => string;
|
|
5
|
-
export declare const hexFromHexString: (value: string, config?: HexConfig) => string;
|
|
6
5
|
export declare const hexFrom: (value: unknown, config?: HexConfig) => string;
|
|
7
6
|
//# sourceMappingURL=from.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"from.d.ts","sourceRoot":"","sources":["../../../../src/hex/from/from.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAIpC,eAAO,MAAM,kBAAkB,WAAY,WAAW,WAAW,SAAS,KAAG,MAG5E,CAAA;AAED,eAAO,MAAM,aAAa,UAAW,MAAM,WAAU,SAAS,KAAQ,MAKrE,CAAA;AAED,eAAO,MAAM,aAAa,UAAW,MAAM,WAAW,SAAS,KAAG,MAEjE,CAAA;AAED,eAAO,MAAM,OAAO,UAAW,OAAO,WAAW,SAAS,KAAG,MAsB5D,CAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { HexConfig } from '
|
|
1
|
+
import { HexConfig } from '../model';
|
|
2
2
|
export declare const hexFromArrayBuffer: (buffer: ArrayBuffer, config?: HexConfig) => string;
|
|
3
3
|
export declare const hexFromBigInt: (value: bigint, config?: HexConfig) => string;
|
|
4
4
|
export declare const hexFromNumber: (value: number, config?: HexConfig) => string;
|
|
5
|
-
export declare const hexFromHexString: (value: string, config?: HexConfig) => string;
|
|
6
5
|
export declare const hexFrom: (value: unknown, config?: HexConfig) => string;
|
|
7
6
|
//# sourceMappingURL=from.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"from.d.ts","sourceRoot":"","sources":["../../../../src/hex/from/from.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAIpC,eAAO,MAAM,kBAAkB,WAAY,WAAW,WAAW,SAAS,KAAG,MAG5E,CAAA;AAED,eAAO,MAAM,aAAa,UAAW,MAAM,WAAU,SAAS,KAAQ,MAKrE,CAAA;AAED,eAAO,MAAM,aAAa,UAAW,MAAM,WAAW,SAAS,KAAG,MAEjE,CAAA;AAED,eAAO,MAAM,OAAO,UAAW,OAAO,WAAW,SAAS,KAAG,MAsB5D,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fromHexString.d.ts","sourceRoot":"","sources":["../../../../src/hex/from/fromHexString.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGpC,eAAO,MAAM,gBAAgB,UAAW,MAAM,WAAU,SAAS,KAAQ,MAUxE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fromHexString.d.ts","sourceRoot":"","sources":["../../../../src/hex/from/fromHexString.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGpC,eAAO,MAAM,gBAAgB,UAAW,MAAM,WAAU,SAAS,KAAQ,MAUxE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fromHexString.d.ts","sourceRoot":"","sources":["../../../../src/hex/from/fromHexString.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGpC,eAAO,MAAM,gBAAgB,UAAW,MAAM,WAAU,SAAS,KAAQ,MAUxE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hex/from/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,iBAAiB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hex/from/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,iBAAiB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hex/from/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,iBAAiB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hex/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAA;AACpB,cAAc,QAAQ,CAAA;AACtB,cAAc,MAAM,CAAA;AACpB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hex/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAA;AACpB,cAAc,QAAQ,CAAA;AACtB,cAAc,MAAM,CAAA;AACpB,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hex/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAA;AACpB,cAAc,QAAQ,CAAA;AACtB,cAAc,MAAM,CAAA;AACpB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hex/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAA;AACpB,cAAc,QAAQ,CAAA;AACtB,cAAc,MAAM,CAAA;AACpB,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hex/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAA;AACpB,cAAc,QAAQ,CAAA;AACtB,cAAc,MAAM,CAAA;AACpB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hex/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAA;AACpB,cAAc,QAAQ,CAAA;AACtB,cAAc,MAAM,CAAA;AACpB,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const isHex: (value: unknown,
|
|
1
|
+
import { HexConfig } from './model';
|
|
2
|
+
export declare const isHex: (value: unknown, config?: HexConfig) => value is string;
|
|
3
3
|
//# sourceMappingURL=is.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is.d.ts","sourceRoot":"","sources":["../../../src/hex/is.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"is.d.ts","sourceRoot":"","sources":["../../../src/hex/is.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,SAAS,EAAE,MAAM,SAAS,CAAA;AAIxC,eAAO,MAAM,KAAK,UAAW,OAAO,WAAW,SAAS,oBAWvD,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const isHex: (value: unknown,
|
|
1
|
+
import { HexConfig } from './model';
|
|
2
|
+
export declare const isHex: (value: unknown, config?: HexConfig) => value is string;
|
|
3
3
|
//# sourceMappingURL=is.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is.d.ts","sourceRoot":"","sources":["../../../src/hex/is.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"is.d.ts","sourceRoot":"","sources":["../../../src/hex/is.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,SAAS,EAAE,MAAM,SAAS,CAAA;AAIxC,eAAO,MAAM,KAAK,UAAW,OAAO,WAAW,SAAS,oBAWvD,CAAA"}
|
package/dist/browser/hex/is.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const isHex: (value: unknown,
|
|
1
|
+
import { HexConfig } from './model';
|
|
2
|
+
export declare const isHex: (value: unknown, config?: HexConfig) => value is string;
|
|
3
3
|
//# sourceMappingURL=is.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is.d.ts","sourceRoot":"","sources":["../../../src/hex/is.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"is.d.ts","sourceRoot":"","sources":["../../../src/hex/is.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,SAAS,EAAE,MAAM,SAAS,CAAA;AAIxC,eAAO,MAAM,KAAK,UAAW,OAAO,WAAW,SAAS,oBAWvD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isHexZero.d.ts","sourceRoot":"","sources":["../../../src/hex/isHexZero.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,WAAY,MAAM,wBAEvC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isHexZero.d.ts","sourceRoot":"","sources":["../../../src/hex/isHexZero.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,WAAY,MAAM,wBAEvC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isHexZero.d.ts","sourceRoot":"","sources":["../../../src/hex/isHexZero.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,WAAY,MAAM,wBAEvC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regex.d.ts","sourceRoot":"","sources":["../../../src/hex/regex.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"regex.d.ts","sourceRoot":"","sources":["../../../src/hex/regex.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,QAAgB,CAAA;AACrC,eAAO,MAAM,kBAAkB,QAAiB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regex.d.ts","sourceRoot":"","sources":["../../../src/hex/regex.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"regex.d.ts","sourceRoot":"","sources":["../../../src/hex/regex.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,QAAgB,CAAA;AACrC,eAAO,MAAM,kBAAkB,QAAiB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regex.d.ts","sourceRoot":"","sources":["../../../src/hex/regex.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"regex.d.ts","sourceRoot":"","sources":["../../../src/hex/regex.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,QAAgB,CAAA;AACrC,eAAO,MAAM,kBAAkB,QAAiB,CAAA"}
|
package/dist/browser/index.cjs
CHANGED
|
@@ -21,7 +21,6 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
21
21
|
var src_exports = {};
|
|
22
22
|
__export(src_exports, {
|
|
23
23
|
HashBitLength: () => HashBitLength,
|
|
24
|
-
addressRegex: () => addressRegex,
|
|
25
24
|
asAddress: () => asAddress,
|
|
26
25
|
asHash: () => asHash,
|
|
27
26
|
asHex: () => asHex,
|
|
@@ -50,20 +49,20 @@ var assertError = (value, assert, defaultMessage) => {
|
|
|
50
49
|
if (assert) {
|
|
51
50
|
const assertString = typeof assert === "string" ? assert : typeof assert === "boolean" ? defaultMessage : assert(value, defaultMessage);
|
|
52
51
|
if (assertString) {
|
|
53
|
-
throw Error(assertString === true ? defaultMessage : assertString);
|
|
52
|
+
throw new Error(assertString === true ? defaultMessage : assertString);
|
|
54
53
|
}
|
|
55
54
|
}
|
|
56
55
|
return void 0;
|
|
57
56
|
};
|
|
58
57
|
|
|
59
|
-
// src/hex/from.ts
|
|
58
|
+
// src/hex/from/from.ts
|
|
60
59
|
var import_arraybuffer = require("@xylabs/arraybuffer");
|
|
61
60
|
|
|
62
61
|
// src/hex/nibble.ts
|
|
63
62
|
var bitsToNibbles = (value) => {
|
|
64
63
|
const nibbles = value >> 2;
|
|
65
64
|
if (value !== nibbles << 2)
|
|
66
|
-
throw Error("Bits for nibbles must multiple of 4");
|
|
65
|
+
throw new Error("Bits for nibbles must multiple of 4");
|
|
67
66
|
return nibbles;
|
|
68
67
|
};
|
|
69
68
|
var nibblesToBits = (value) => {
|
|
@@ -71,22 +70,33 @@ var nibblesToBits = (value) => {
|
|
|
71
70
|
};
|
|
72
71
|
|
|
73
72
|
// src/hex/regex.ts
|
|
74
|
-
var hexRegex = /^[
|
|
75
|
-
var hexRegexWithPrefix = /0x[
|
|
73
|
+
var hexRegex = /^[\da-f]+$/i;
|
|
74
|
+
var hexRegexWithPrefix = /0x[\da-f]+$/i;
|
|
76
75
|
|
|
77
76
|
// src/hex/is.ts
|
|
78
|
-
var
|
|
79
|
-
return BigInt(hexFromHexString(value, { prefix: true })) === 0n;
|
|
80
|
-
};
|
|
81
|
-
var isHex = (value, bitLength) => {
|
|
77
|
+
var isHex = (value, config) => {
|
|
82
78
|
if (typeof value !== "string")
|
|
83
79
|
return false;
|
|
84
|
-
|
|
80
|
+
const valueCharLength = config?.prefix ? value.length - 2 : value.length;
|
|
81
|
+
if (config?.bitLength !== void 0 && valueCharLength !== bitsToNibbles(config?.bitLength))
|
|
85
82
|
return false;
|
|
86
|
-
return hexRegex.test(value);
|
|
83
|
+
return config?.prefix ? hexRegexWithPrefix.test(value) : hexRegex.test(value);
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
// src/hex/from/fromHexString.ts
|
|
87
|
+
var hexFromHexString = (value, config = {}) => {
|
|
88
|
+
const { prefix = false, byteSize = 8 } = config;
|
|
89
|
+
const nibbleBoundary = bitsToNibbles(byteSize);
|
|
90
|
+
const unPadded = (value.startsWith("0x") ? value.slice(2) : value).toLowerCase();
|
|
91
|
+
if (isHex(unPadded)) {
|
|
92
|
+
const padded = unPadded.padStart(unPadded.length + unPadded.length % nibbleBoundary, "0");
|
|
93
|
+
return prefix ? `0x${padded}` : padded;
|
|
94
|
+
} else {
|
|
95
|
+
throw new Error("Received string is not a value hex");
|
|
96
|
+
}
|
|
87
97
|
};
|
|
88
98
|
|
|
89
|
-
// src/hex/from.ts
|
|
99
|
+
// src/hex/from/from.ts
|
|
90
100
|
var hexFromArrayBuffer = (buffer, config) => {
|
|
91
101
|
const unPadded = [...new Uint8Array(buffer)].map((x) => x.toString(16).padStart(2, "0")).join("");
|
|
92
102
|
return hexFromHexString(unPadded, config);
|
|
@@ -100,33 +110,27 @@ var hexFromBigInt = (value, config = {}) => {
|
|
|
100
110
|
var hexFromNumber = (value, config) => {
|
|
101
111
|
return hexFromBigInt(BigInt(value), config);
|
|
102
112
|
};
|
|
103
|
-
var hexFromHexString = (value, config = {}) => {
|
|
104
|
-
const { prefix = false, byteSize = 8 } = config;
|
|
105
|
-
const nibbleBoundary = bitsToNibbles(byteSize);
|
|
106
|
-
const unPadded = (value.startsWith("0x") ? value.substring(2) : value).toLowerCase();
|
|
107
|
-
if (isHex(unPadded)) {
|
|
108
|
-
const padded = unPadded.padStart(unPadded.length + unPadded.length % nibbleBoundary, "0");
|
|
109
|
-
return prefix ? `0x${padded}` : padded;
|
|
110
|
-
} else {
|
|
111
|
-
throw Error("Received string is not a value hex");
|
|
112
|
-
}
|
|
113
|
-
};
|
|
114
113
|
var hexFrom = (value, config) => {
|
|
115
114
|
switch (typeof value) {
|
|
116
|
-
case "string":
|
|
115
|
+
case "string": {
|
|
117
116
|
return hexFromHexString(value, config);
|
|
118
|
-
|
|
117
|
+
}
|
|
118
|
+
case "bigint": {
|
|
119
119
|
return hexFromBigInt(value, config);
|
|
120
|
-
|
|
120
|
+
}
|
|
121
|
+
case "number": {
|
|
121
122
|
return hexFromNumber(value, config);
|
|
122
|
-
|
|
123
|
+
}
|
|
124
|
+
case "object": {
|
|
123
125
|
if ((0, import_arraybuffer.isArrayBuffer)(value)) {
|
|
124
126
|
return hexFromArrayBuffer(value, config);
|
|
125
127
|
} else {
|
|
126
|
-
throw Error("Invalid type: object !== ArrayBuffer");
|
|
128
|
+
throw new Error("Invalid type: object !== ArrayBuffer");
|
|
127
129
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
+
}
|
|
131
|
+
default: {
|
|
132
|
+
throw new Error(`Invalid type: ${typeof value}`);
|
|
133
|
+
}
|
|
130
134
|
}
|
|
131
135
|
};
|
|
132
136
|
|
|
@@ -134,15 +138,22 @@ var hexFrom = (value, config) => {
|
|
|
134
138
|
function asHex(value, assert) {
|
|
135
139
|
let stringValue = void 0;
|
|
136
140
|
switch (typeof value) {
|
|
137
|
-
case "string":
|
|
141
|
+
case "string": {
|
|
138
142
|
stringValue = hexFromHexString(value);
|
|
139
143
|
break;
|
|
140
|
-
|
|
144
|
+
}
|
|
145
|
+
default: {
|
|
141
146
|
return assertError(value, assert, `Unsupported type [${typeof value}]`);
|
|
147
|
+
}
|
|
142
148
|
}
|
|
143
149
|
return isHex(stringValue) ? stringValue : assertError(value, assert, `Value is not Hex [${value}]`);
|
|
144
150
|
}
|
|
145
151
|
|
|
152
|
+
// src/hex/isHexZero.ts
|
|
153
|
+
var isHexZero = (value) => {
|
|
154
|
+
return value ? BigInt(hexFromHexString(value, { prefix: true })) === 0n : void 0;
|
|
155
|
+
};
|
|
156
|
+
|
|
146
157
|
// src/hex/legacy.ts
|
|
147
158
|
var toHexLegacy = (buffer) => {
|
|
148
159
|
return [...new Uint8Array(buffer)].map((x) => x.toString(16).padStart(2, "0")).join("");
|
|
@@ -152,29 +163,23 @@ var toHex = (buffer) => {
|
|
|
152
163
|
};
|
|
153
164
|
|
|
154
165
|
// src/address.ts
|
|
155
|
-
var addressRegex = /0x[0-9a-f]+/i;
|
|
156
166
|
var toAddress = (value, config = {}) => {
|
|
157
167
|
const { bitLength = 160, prefix = true } = config;
|
|
158
168
|
return hexFrom(value, { bitLength, prefix, ...config });
|
|
159
169
|
};
|
|
160
170
|
var isAddress = (value, bitLength = 160) => {
|
|
161
|
-
|
|
162
|
-
return false;
|
|
163
|
-
if (!addressRegex.test(value))
|
|
164
|
-
return false;
|
|
165
|
-
const valueHex = value.substring(2);
|
|
166
|
-
if (bitLength !== void 0 && valueHex.length !== bitsToNibbles(bitLength))
|
|
167
|
-
return false;
|
|
168
|
-
return isHex(valueHex, bitLength);
|
|
171
|
+
return isHex(value, { bitLength, prefix: true });
|
|
169
172
|
};
|
|
170
173
|
function asAddress(value, assert) {
|
|
171
174
|
let stringValue = void 0;
|
|
172
175
|
switch (typeof value) {
|
|
173
|
-
case "string":
|
|
176
|
+
case "string": {
|
|
174
177
|
stringValue = hexFromHexString(value, { prefix: true });
|
|
175
178
|
break;
|
|
176
|
-
|
|
179
|
+
}
|
|
180
|
+
default: {
|
|
177
181
|
return assert ? assertError(value, assert, `Unsupported type [${typeof value}]`) : void 0;
|
|
182
|
+
}
|
|
178
183
|
}
|
|
179
184
|
return isAddress(stringValue) ? stringValue : assertError(value, assert, `Value is not an Address [${value}]`);
|
|
180
185
|
}
|
|
@@ -185,16 +190,18 @@ var isHashBitLength = (value) => {
|
|
|
185
190
|
return typeof value === "number" && HashBitLength.includes(value);
|
|
186
191
|
};
|
|
187
192
|
var isHash = (value, bitLength = 256) => {
|
|
188
|
-
return isHex(value, bitLength);
|
|
193
|
+
return isHex(value, { bitLength });
|
|
189
194
|
};
|
|
190
195
|
function asHash(value, assert) {
|
|
191
196
|
let stringValue = void 0;
|
|
192
197
|
switch (typeof value) {
|
|
193
|
-
case "string":
|
|
198
|
+
case "string": {
|
|
194
199
|
stringValue = hexFromHexString(value);
|
|
195
200
|
break;
|
|
196
|
-
|
|
201
|
+
}
|
|
202
|
+
default: {
|
|
197
203
|
return assert ? assertError(value, assert, `Unsupported type [${typeof value}]`) : void 0;
|
|
204
|
+
}
|
|
198
205
|
}
|
|
199
206
|
return isHash(stringValue) ? stringValue : assertError(value, assert, `Value is not a Hash [${value}]`);
|
|
200
207
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/assert.ts","../../src/hex/from.ts","../../src/hex/nibble.ts","../../src/hex/regex.ts","../../src/hex/is.ts","../../src/hex/as.ts","../../src/hex/legacy.ts","../../src/address.ts","../../src/hash.ts"],"sourcesContent":["export * from './address'\nexport * from './hash'\nexport * from './hex'\n","export type AssertCallback = (value: unknown, message: string) => string | boolean\n\nexport type AssertConfig = string | AssertCallback | boolean\n\nexport const assertError = (value: unknown, assert: AssertConfig | undefined, defaultMessage: string) => {\n if (assert) {\n const assertString = typeof assert === 'string' ? assert : typeof assert === 'boolean' ? defaultMessage : assert(value, defaultMessage)\n if (assertString) {\n throw Error(assertString === true ? defaultMessage : assertString)\n }\n }\n return undefined\n}\n","import { isArrayBuffer } from '@xylabs/arraybuffer'\n\nimport { isHex } from './is'\nimport { HexConfig } from './model'\nimport { bitsToNibbles } from './nibble'\n\nexport const hexFromArrayBuffer = (buffer: ArrayBuffer, config?: HexConfig): string => {\n const unPadded = [...new Uint8Array(buffer)].map((x) => x.toString(16).padStart(2, '0')).join('')\n return hexFromHexString(unPadded, config)\n}\n\nexport const hexFromBigInt = (value: bigint, config: HexConfig = {}): string => {\n const { bitLength } = config\n const unPadded = value.toString(16)\n const padded = bitLength === undefined ? unPadded : unPadded.padStart(bitsToNibbles(bitLength), '0')\n return hexFromHexString(padded, config)\n}\n\nexport const hexFromNumber = (value: number, config?: HexConfig): string => {\n return hexFromBigInt(BigInt(value), config)\n}\n\nexport const hexFromHexString = (value: string, config: HexConfig = {}): string => {\n const { prefix = false, byteSize = 8 } = config\n const nibbleBoundary = bitsToNibbles(byteSize)\n const unPadded = (value.startsWith('0x') ? value.substring(2) : value).toLowerCase()\n if (isHex(unPadded)) {\n const padded = unPadded.padStart(unPadded.length + (unPadded.length % nibbleBoundary), '0')\n return prefix ? `0x${padded}` : padded\n } else {\n throw Error('Received string is not a value hex')\n }\n}\n\nexport const hexFrom = (value: unknown, config?: HexConfig): string => {\n switch (typeof value) {\n case 'string':\n return hexFromHexString(value, config)\n case 'bigint':\n return hexFromBigInt(value, config)\n case 'number':\n return hexFromNumber(value, config)\n case 'object':\n if (isArrayBuffer(value)) {\n return hexFromArrayBuffer(value, config)\n } else {\n throw Error('Invalid type: object !== ArrayBuffer')\n }\n default:\n throw Error(`Invalid type: ${typeof value}`)\n }\n}\n","//determine the number of nibbles for a given number of bits\nexport const bitsToNibbles = (value: number): number => {\n const nibbles = value >> 2\n if (value !== nibbles << 2) throw Error('Bits for nibbles must multiple of 4')\n return nibbles\n}\n\n//determine the number of nibbles for a given number of bits\nexport const nibblesToBits = (value: number): number => {\n return value << 2\n}\n","export const hexRegex = /^[0-9a-f]+$/i\nexport const hexRegexWithPrefix = /0x[0-9a-f]+$/i\n","import { hexFromHexString } from './from'\nimport { Hex } from './model'\nimport { bitsToNibbles } from './nibble'\nimport { hexRegex } from './regex'\n\nexport const isHexZero = (value: string) => {\n return BigInt(hexFromHexString(value, { prefix: true })) === 0n\n}\n\nexport const isHex = (value: unknown, bitLength?: number): value is Hex => {\n //Is it a string?\n if (typeof value !== 'string') return false\n\n //If a bitLength specified, does it conform?\n if (bitLength !== undefined && value.length !== bitsToNibbles(bitLength)) return false\n\n //Does it only has hex values?\n return hexRegex.test(value)\n}\n","import { AssertConfig, assertError } from '../assert'\nimport { hexFromHexString } from './from'\nimport { isHex } from './is'\nimport { Hex } from './model'\n\nexport function asHex(value: unknown): Hex | undefined\nexport function asHex(value: unknown, assert: AssertConfig): Hex\nexport function asHex(value: unknown, assert?: AssertConfig): Hex | undefined {\n let stringValue: string | undefined = undefined\n\n switch (typeof value) {\n case 'string':\n stringValue = hexFromHexString(value)\n break\n default:\n return assertError(value, assert, `Unsupported type [${typeof value}]`)\n }\n\n return isHex(stringValue) ? stringValue : assertError(value, assert, `Value is not Hex [${value}]`)\n}\n","export const toHexLegacy = (buffer: ArrayBuffer) => {\n return [...new Uint8Array(buffer)].map((x) => x.toString(16).padStart(2, '0')).join('')\n}\n\n/** @deprecated use toHexLegacy instead */\nexport const toHex = (buffer: ArrayBuffer) => {\n return toHexLegacy(buffer)\n}\n","import { AssertConfig, assertError } from './assert'\nimport { bitsToNibbles, HexConfig, hexFrom, hexFromHexString, isHex } from './hex'\n\nexport const addressRegex = /0x[0-9a-f]+/i\n\nexport type Address = string\n\nexport const toAddress = (value: unknown, config: HexConfig = {}) => {\n const { bitLength = 160, prefix = true } = config\n return hexFrom(value, { bitLength, prefix, ...config })\n}\n\nexport const isAddress = (value: unknown, bitLength = 160): value is Address => {\n //Is it a string?\n if (typeof value !== 'string') return false\n\n //Does it only has hex values and leading 0x?\n if (!addressRegex.test(value)) return false\n\n const valueHex = value.substring(2)\n\n //If a bitLength specified, does it conform?\n if (bitLength !== undefined && valueHex.length !== bitsToNibbles(bitLength)) return false\n\n return isHex(valueHex, bitLength)\n}\n\nexport function asAddress(value: unknown): Address | undefined\nexport function asAddress(value: unknown, assert: AssertConfig): Address\nexport function asAddress(value: unknown, assert?: AssertConfig): Address | undefined {\n let stringValue: string | undefined = undefined\n\n switch (typeof value) {\n case 'string':\n stringValue = hexFromHexString(value, { prefix: true })\n break\n default:\n return assert ? assertError(value, assert, `Unsupported type [${typeof value}]`) : undefined\n }\n return isAddress(stringValue) ? stringValue : assertError(value, assert, `Value is not an Address [${value}]`)\n}\n","import { AssertConfig, assertError } from './assert'\nimport { Hex, hexFromHexString, isHex } from './hex'\n\nexport type HashBitLength = 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096\nexport const HashBitLength: HashBitLength[] = [32, 64, 128, 256, 512, 1024, 2048, 4096]\n\nexport const isHashBitLength = (value: unknown): value is HashBitLength => {\n return typeof value === 'number' && HashBitLength.includes(value as HashBitLength)\n}\n\nexport type Hash = Hex\nexport const isHash = (value: unknown, bitLength: HashBitLength = 256): value is Hash => {\n return isHex(value, bitLength)\n}\n\nexport function asHash(value: unknown): Hash | undefined\nexport function asHash(value: unknown, assert: AssertConfig): Hash\nexport function asHash(value: unknown, assert?: AssertConfig): Hash | undefined {\n let stringValue: string | undefined = undefined\n\n switch (typeof value) {\n case 'string':\n stringValue = hexFromHexString(value)\n break\n default:\n return assert ? assertError(value, assert, `Unsupported type [${typeof value}]`) : undefined\n }\n return isHash(stringValue) ? stringValue : assertError(value, assert, `Value is not a Hash [${value}]`)\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/assert.ts","../../src/hex/from/from.ts","../../src/hex/nibble.ts","../../src/hex/regex.ts","../../src/hex/is.ts","../../src/hex/from/fromHexString.ts","../../src/hex/as.ts","../../src/hex/isHexZero.ts","../../src/hex/legacy.ts","../../src/address.ts","../../src/hash.ts"],"sourcesContent":["export * from './address'\nexport * from './hash'\nexport * from './hex'\n","export type AssertCallback = (value: unknown, message: string) => string | boolean\n\nexport type AssertConfig = string | AssertCallback | boolean\n\nexport const assertError = (value: unknown, assert: AssertConfig | undefined, defaultMessage: string) => {\n if (assert) {\n const assertString = typeof assert === 'string' ? assert : typeof assert === 'boolean' ? defaultMessage : assert(value, defaultMessage)\n if (assertString) {\n throw new Error(assertString === true ? defaultMessage : assertString)\n }\n }\n // eslint-disable-next-line unicorn/no-useless-undefined\n return undefined\n}\n","import { isArrayBuffer } from '@xylabs/arraybuffer'\n\nimport { HexConfig } from '../model'\nimport { bitsToNibbles } from '../nibble'\nimport { hexFromHexString } from './fromHexString'\n\nexport const hexFromArrayBuffer = (buffer: ArrayBuffer, config?: HexConfig): string => {\n const unPadded = [...new Uint8Array(buffer)].map((x) => x.toString(16).padStart(2, '0')).join('')\n return hexFromHexString(unPadded, config)\n}\n\nexport const hexFromBigInt = (value: bigint, config: HexConfig = {}): string => {\n const { bitLength } = config\n const unPadded = value.toString(16)\n const padded = bitLength === undefined ? unPadded : unPadded.padStart(bitsToNibbles(bitLength), '0')\n return hexFromHexString(padded, config)\n}\n\nexport const hexFromNumber = (value: number, config?: HexConfig): string => {\n return hexFromBigInt(BigInt(value), config)\n}\n\nexport const hexFrom = (value: unknown, config?: HexConfig): string => {\n switch (typeof value) {\n case 'string': {\n return hexFromHexString(value, config)\n }\n case 'bigint': {\n return hexFromBigInt(value, config)\n }\n case 'number': {\n return hexFromNumber(value, config)\n }\n case 'object': {\n if (isArrayBuffer(value)) {\n return hexFromArrayBuffer(value, config)\n } else {\n throw new Error('Invalid type: object !== ArrayBuffer')\n }\n }\n default: {\n throw new Error(`Invalid type: ${typeof value}`)\n }\n }\n}\n","//determine the number of nibbles for a given number of bits\nexport const bitsToNibbles = (value: number): number => {\n const nibbles = value >> 2\n if (value !== nibbles << 2) throw new Error('Bits for nibbles must multiple of 4')\n return nibbles\n}\n\n//determine the number of nibbles for a given number of bits\nexport const nibblesToBits = (value: number): number => {\n return value << 2\n}\n","export const hexRegex = /^[\\da-f]+$/i\nexport const hexRegexWithPrefix = /0x[\\da-f]+$/i\n","import { Hex, HexConfig } from './model'\nimport { bitsToNibbles } from './nibble'\nimport { hexRegex, hexRegexWithPrefix } from './regex'\n\nexport const isHex = (value: unknown, config?: HexConfig): value is Hex => {\n //Is it a string?\n if (typeof value !== 'string') return false\n\n const valueCharLength = config?.prefix ? value.length - 2 : value.length\n\n //If a bitLength specified, does it conform?\n if (config?.bitLength !== undefined && valueCharLength !== bitsToNibbles(config?.bitLength)) return false\n\n //Does it only has hex values?\n return config?.prefix ? hexRegexWithPrefix.test(value) : hexRegex.test(value)\n}\n","import { isHex } from '../is'\nimport { HexConfig } from '../model'\nimport { bitsToNibbles } from '../nibble'\n\nexport const hexFromHexString = (value: string, config: HexConfig = {}): string => {\n const { prefix = false, byteSize = 8 } = config\n const nibbleBoundary = bitsToNibbles(byteSize)\n const unPadded = (value.startsWith('0x') ? value.slice(2) : value).toLowerCase()\n if (isHex(unPadded)) {\n const padded = unPadded.padStart(unPadded.length + (unPadded.length % nibbleBoundary), '0')\n return prefix ? `0x${padded}` : padded\n } else {\n throw new Error('Received string is not a value hex')\n }\n}\n","import { AssertConfig, assertError } from '../assert'\nimport { hexFromHexString } from './from'\nimport { isHex } from './is'\nimport { Hex } from './model'\n\nexport function asHex(value: unknown): Hex | undefined\nexport function asHex(value: unknown, assert: AssertConfig): Hex\nexport function asHex(value: unknown, assert?: AssertConfig): Hex | undefined {\n let stringValue: string | undefined = undefined\n\n switch (typeof value) {\n case 'string': {\n stringValue = hexFromHexString(value)\n break\n }\n default: {\n return assertError(value, assert, `Unsupported type [${typeof value}]`)\n }\n }\n\n return isHex(stringValue) ? stringValue : assertError(value, assert, `Value is not Hex [${value}]`)\n}\n","import { hexFromHexString } from './from'\n\nexport const isHexZero = (value?: string) => {\n return value ? BigInt(hexFromHexString(value, { prefix: true })) === 0n : undefined\n}\n","export const toHexLegacy = (buffer: ArrayBuffer) => {\n return [...new Uint8Array(buffer)].map((x) => x.toString(16).padStart(2, '0')).join('')\n}\n\n/** @deprecated use toHexLegacy instead */\nexport const toHex = (buffer: ArrayBuffer) => {\n return toHexLegacy(buffer)\n}\n","import { AssertConfig, assertError } from './assert'\nimport { HexConfig, hexFrom, hexFromHexString, isHex } from './hex'\n\nexport type Address = string\n\nexport const toAddress = (value: unknown, config: HexConfig = {}) => {\n const { bitLength = 160, prefix = true } = config\n return hexFrom(value, { bitLength, prefix, ...config })\n}\n\nexport const isAddress = (value: unknown, bitLength = 160): value is Address => {\n return isHex(value, { bitLength, prefix: true })\n}\n\nexport function asAddress(value: unknown): Address | undefined\nexport function asAddress(value: unknown, assert: AssertConfig): Address\nexport function asAddress(value: unknown, assert?: AssertConfig): Address | undefined {\n let stringValue: string | undefined = undefined\n\n switch (typeof value) {\n case 'string': {\n stringValue = hexFromHexString(value, { prefix: true })\n break\n }\n default: {\n return assert ? assertError(value, assert, `Unsupported type [${typeof value}]`) : undefined\n }\n }\n return isAddress(stringValue) ? stringValue : assertError(value, assert, `Value is not an Address [${value}]`)\n}\n","import { AssertConfig, assertError } from './assert'\nimport { Hex, hexFromHexString, isHex } from './hex'\n\nexport type HashBitLength = 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096\nexport const HashBitLength: HashBitLength[] = [32, 64, 128, 256, 512, 1024, 2048, 4096]\n\nexport const isHashBitLength = (value: unknown): value is HashBitLength => {\n return typeof value === 'number' && HashBitLength.includes(value as HashBitLength)\n}\n\nexport type Hash = Hex\nexport const isHash = (value: unknown, bitLength: HashBitLength = 256): value is Hash => {\n return isHex(value, { bitLength })\n}\n\nexport function asHash(value: unknown): Hash | undefined\nexport function asHash(value: unknown, assert: AssertConfig): Hash\nexport function asHash(value: unknown, assert?: AssertConfig): Hash | undefined {\n let stringValue: string | undefined = undefined\n\n switch (typeof value) {\n case 'string': {\n stringValue = hexFromHexString(value)\n break\n }\n default: {\n return assert ? assertError(value, assert, `Unsupported type [${typeof value}]`) : undefined\n }\n }\n return isHash(stringValue) ? stringValue : assertError(value, assert, `Value is not a Hash [${value}]`)\n}\n"],"mappings":"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","names":[]}
|