@polkadot/types-codec 9.14.2 → 10.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/abstract/Array.d.ts +1 -1
- package/abstract/Array.js +136 -155
- package/abstract/Base.d.ts +1 -1
- package/abstract/Base.js +95 -113
- package/abstract/Int.d.ts +1 -1
- package/abstract/Int.js +209 -220
- package/abstract/Object.d.ts +1 -1
- package/abstract/Object.js +29 -45
- package/abstract/index.d.ts +3 -3
- package/abstract/index.js +3 -6
- package/base/Compact.d.ts +1 -1
- package/base/Compact.js +149 -166
- package/base/DoNotConstruct.d.ts +1 -1
- package/base/DoNotConstruct.js +62 -65
- package/base/Enum.d.ts +1 -1
- package/base/Enum.js +347 -383
- package/base/Int.d.ts +2 -2
- package/base/Int.js +14 -18
- package/base/Null.d.ts +1 -1
- package/base/Null.js +68 -82
- package/base/Option.d.ts +1 -1
- package/base/Option.js +217 -227
- package/base/Result.d.ts +2 -2
- package/base/Result.js +54 -67
- package/base/Tuple.d.ts +2 -2
- package/base/Tuple.js +100 -102
- package/base/UInt.d.ts +2 -2
- package/base/UInt.js +11 -15
- package/base/Vec.d.ts +2 -2
- package/base/Vec.js +88 -90
- package/base/VecAny.d.ts +2 -2
- package/base/VecAny.js +8 -12
- package/base/VecFixed.d.ts +2 -2
- package/base/VecFixed.js +63 -71
- package/base/index.d.ts +12 -12
- package/base/index.js +12 -15
- package/bundle.d.ts +7 -7
- package/bundle.js +7 -10
- package/cjs/abstract/Array.js +138 -159
- package/cjs/abstract/Base.js +96 -117
- package/cjs/abstract/Int.js +215 -238
- package/cjs/abstract/Object.js +30 -49
- package/cjs/abstract/index.js +8 -25
- package/cjs/base/Compact.js +151 -173
- package/cjs/base/DoNotConstruct.js +63 -70
- package/cjs/base/Enum.js +350 -396
- package/cjs/base/Int.js +16 -24
- package/cjs/base/Null.js +70 -86
- package/cjs/base/Option.js +220 -234
- package/cjs/base/Result.js +56 -71
- package/cjs/base/Tuple.js +103 -109
- package/cjs/base/UInt.js +13 -19
- package/cjs/base/Vec.js +94 -101
- package/cjs/base/VecAny.js +10 -16
- package/cjs/base/VecFixed.js +66 -79
- package/cjs/base/index.js +26 -88
- package/cjs/bundle.js +11 -86
- package/cjs/detectOther.js +2 -10
- package/cjs/detectPackage.js +6 -11
- package/cjs/extended/BTreeMap.js +10 -16
- package/cjs/extended/BTreeSet.js +162 -178
- package/cjs/extended/BitVec.js +70 -77
- package/cjs/extended/Bytes.js +59 -62
- package/cjs/extended/HashMap.js +10 -16
- package/cjs/extended/Linkage.js +50 -60
- package/cjs/extended/Map.js +176 -181
- package/cjs/extended/OptionBool.js +65 -68
- package/cjs/extended/Range.js +37 -46
- package/cjs/extended/RangeInclusive.js +13 -21
- package/cjs/extended/Type.js +14 -22
- package/cjs/extended/U8aFixed.js +33 -43
- package/cjs/extended/WrapperKeepOpaque.js +99 -99
- package/cjs/extended/WrapperOpaque.js +19 -28
- package/cjs/extended/index.js +31 -108
- package/cjs/index.js +4 -16
- package/cjs/native/Bool.js +101 -116
- package/cjs/native/Date.js +125 -151
- package/cjs/native/Float.js +95 -114
- package/cjs/native/Json.js +102 -124
- package/cjs/native/Raw.js +128 -150
- package/cjs/native/Set.js +200 -220
- package/cjs/native/Struct.data.js +2 -9
- package/cjs/native/Struct.js +238 -251
- package/cjs/native/Text.js +137 -149
- package/cjs/native/index.js +21 -78
- package/cjs/packageInfo.js +2 -16
- package/cjs/primitive/F32.js +8 -11
- package/cjs/primitive/F64.js +8 -11
- package/cjs/primitive/I128.js +8 -11
- package/cjs/primitive/I16.js +8 -11
- package/cjs/primitive/I256.js +8 -11
- package/cjs/primitive/I32.js +8 -11
- package/cjs/primitive/I64.js +8 -11
- package/cjs/primitive/I8.js +8 -11
- package/cjs/primitive/U128.js +8 -11
- package/cjs/primitive/U16.js +8 -11
- package/cjs/primitive/U256.js +8 -11
- package/cjs/primitive/U32.js +8 -11
- package/cjs/primitive/U64.js +8 -11
- package/cjs/primitive/U8.js +8 -11
- package/cjs/primitive/USize.js +7 -13
- package/cjs/primitive/index.js +47 -199
- package/cjs/types/codec.js +2 -1
- package/cjs/types/helpers.js +2 -1
- package/cjs/types/index.js +6 -48
- package/cjs/types/interfaces.js +2 -1
- package/cjs/types/registry.js +2 -1
- package/cjs/utils/compareArray.js +12 -17
- package/cjs/utils/compareMap.js +23 -26
- package/cjs/utils/compareSet.js +17 -23
- package/cjs/utils/decodeU8a.js +63 -74
- package/cjs/utils/index.js +24 -91
- package/cjs/utils/mapToTypeMap.js +13 -18
- package/cjs/utils/sanitize.js +198 -204
- package/cjs/utils/sortValues.js +39 -49
- package/cjs/utils/typeToConstructor.js +8 -11
- package/cjs/utils/typesToMap.js +10 -16
- package/cjs/utils/util.js +6 -11
- package/detectOther.js +0 -5
- package/detectPackage.js +2 -7
- package/extended/BTreeMap.d.ts +2 -2
- package/extended/BTreeMap.js +8 -11
- package/extended/BTreeSet.d.ts +1 -1
- package/extended/BTreeSet.js +159 -172
- package/extended/BitVec.d.ts +2 -2
- package/extended/BitVec.js +67 -71
- package/extended/Bytes.d.ts +2 -2
- package/extended/Bytes.js +56 -57
- package/extended/HashMap.d.ts +2 -2
- package/extended/HashMap.js +8 -11
- package/extended/Linkage.d.ts +4 -4
- package/extended/Linkage.js +46 -51
- package/extended/Map.d.ts +1 -1
- package/extended/Map.js +173 -174
- package/extended/OptionBool.d.ts +3 -3
- package/extended/OptionBool.js +62 -62
- package/extended/Range.d.ts +2 -2
- package/extended/Range.js +35 -40
- package/extended/RangeInclusive.d.ts +2 -2
- package/extended/RangeInclusive.js +11 -16
- package/extended/Type.d.ts +2 -2
- package/extended/Type.js +12 -17
- package/extended/U8aFixed.d.ts +2 -2
- package/extended/U8aFixed.js +30 -36
- package/extended/WrapperKeepOpaque.d.ts +2 -2
- package/extended/WrapperKeepOpaque.js +96 -92
- package/extended/WrapperOpaque.d.ts +2 -2
- package/extended/WrapperOpaque.js +17 -23
- package/extended/index.d.ts +14 -14
- package/extended/index.js +14 -17
- package/index.d.ts +2 -2
- package/index.js +2 -5
- package/native/Bool.d.ts +1 -1
- package/native/Bool.js +99 -111
- package/native/Date.d.ts +1 -1
- package/native/Date.js +123 -144
- package/native/Float.d.ts +1 -1
- package/native/Float.js +93 -108
- package/native/Json.d.ts +1 -1
- package/native/Json.js +100 -114
- package/native/Raw.d.ts +1 -1
- package/native/Raw.js +126 -146
- package/native/Set.d.ts +1 -1
- package/native/Set.js +197 -211
- package/native/Struct.d.ts +1 -1
- package/native/Struct.data.js +0 -3
- package/native/Struct.js +235 -242
- package/native/Text.d.ts +1 -1
- package/native/Text.js +135 -144
- package/native/index.d.ts +8 -8
- package/native/index.js +8 -11
- package/package.json +8 -5
- package/packageInfo.js +1 -11
- package/primitive/F32.d.ts +2 -2
- package/primitive/F32.js +6 -7
- package/primitive/F64.d.ts +2 -2
- package/primitive/F64.js +6 -7
- package/primitive/I128.d.ts +2 -2
- package/primitive/I128.js +6 -7
- package/primitive/I16.d.ts +2 -2
- package/primitive/I16.js +6 -7
- package/primitive/I256.d.ts +2 -2
- package/primitive/I256.js +6 -7
- package/primitive/I32.d.ts +2 -2
- package/primitive/I32.js +6 -7
- package/primitive/I64.d.ts +2 -2
- package/primitive/I64.js +6 -7
- package/primitive/I8.d.ts +2 -2
- package/primitive/I8.js +6 -7
- package/primitive/U128.d.ts +2 -2
- package/primitive/U128.js +6 -7
- package/primitive/U16.d.ts +2 -2
- package/primitive/U16.js +6 -7
- package/primitive/U256.d.ts +2 -2
- package/primitive/U256.js +6 -7
- package/primitive/U32.d.ts +2 -2
- package/primitive/U32.js +6 -7
- package/primitive/U64.d.ts +2 -2
- package/primitive/U64.js +6 -7
- package/primitive/U8.d.ts +2 -2
- package/primitive/U8.js +6 -7
- package/primitive/USize.d.ts +2 -2
- package/primitive/USize.js +5 -9
- package/primitive/index.d.ts +15 -15
- package/primitive/index.js +15 -18
- package/types/codec.d.ts +3 -3
- package/types/helpers.d.ts +1 -1
- package/types/index.d.ts +4 -4
- package/types/index.js +4 -7
- package/types/interfaces.d.ts +2 -2
- package/types/registry.d.ts +3 -3
- package/utils/compareArray.js +7 -11
- package/utils/compareMap.js +18 -19
- package/utils/compareSet.js +12 -16
- package/utils/decodeU8a.d.ts +1 -1
- package/utils/decodeU8a.js +54 -61
- package/utils/index.d.ts +9 -9
- package/utils/index.js +9 -12
- package/utils/mapToTypeMap.d.ts +1 -1
- package/utils/mapToTypeMap.js +9 -13
- package/utils/sanitize.d.ts +1 -1
- package/utils/sanitize.js +182 -185
- package/utils/sortValues.d.ts +1 -1
- package/utils/sortValues.js +32 -36
- package/utils/typeToConstructor.d.ts +1 -1
- package/utils/typeToConstructor.js +3 -4
- package/utils/typesToMap.d.ts +1 -1
- package/utils/typesToMap.js +5 -8
- package/utils/util.js +1 -4
package/primitive/U128.js
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
import { UInt } from "../base/UInt.js";
|
|
5
|
-
|
|
1
|
+
import { UInt } from '../base/UInt.js';
|
|
6
2
|
/**
|
|
7
3
|
* @name u128
|
|
8
4
|
* @description
|
|
9
5
|
* A 128-bit unsigned integer
|
|
10
6
|
*/
|
|
11
7
|
export class u128 extends UInt.with(128) {
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
// NOTE without this, we cannot properly determine extensions
|
|
11
|
+
this.__UIntType = 'u128';
|
|
12
|
+
}
|
|
14
13
|
}
|
package/primitive/U16.d.ts
CHANGED
package/primitive/U16.js
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
import { UInt } from "../base/UInt.js";
|
|
5
|
-
|
|
1
|
+
import { UInt } from '../base/UInt.js';
|
|
6
2
|
/**
|
|
7
3
|
* @name u16
|
|
8
4
|
* @description
|
|
9
5
|
* A 16-bit unsigned integer
|
|
10
6
|
*/
|
|
11
7
|
export class u16 extends UInt.with(16) {
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
// NOTE without this, we cannot properly determine extensions
|
|
11
|
+
this.__UIntType = 'u16';
|
|
12
|
+
}
|
|
14
13
|
}
|
package/primitive/U256.d.ts
CHANGED
package/primitive/U256.js
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
import { UInt } from "../base/UInt.js";
|
|
5
|
-
|
|
1
|
+
import { UInt } from '../base/UInt.js';
|
|
6
2
|
/**
|
|
7
3
|
* @name u256
|
|
8
4
|
* @description
|
|
9
5
|
* A 256-bit unsigned integer
|
|
10
6
|
*/
|
|
11
7
|
export class u256 extends UInt.with(256) {
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
// NOTE without this, we cannot properly determine extensions
|
|
11
|
+
this.__UIntType = 'u256';
|
|
12
|
+
}
|
|
14
13
|
}
|
package/primitive/U32.d.ts
CHANGED
package/primitive/U32.js
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
import { UInt } from "../base/UInt.js";
|
|
5
|
-
|
|
1
|
+
import { UInt } from '../base/UInt.js';
|
|
6
2
|
/**
|
|
7
3
|
* @name u32
|
|
8
4
|
* @description
|
|
9
5
|
* A 32-bit unsigned integer
|
|
10
6
|
*/
|
|
11
7
|
export class u32 extends UInt.with(32) {
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
// NOTE without this, we cannot properly determine extensions
|
|
11
|
+
this.__UIntType = 'u32';
|
|
12
|
+
}
|
|
14
13
|
}
|
package/primitive/U64.d.ts
CHANGED
package/primitive/U64.js
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
import { UInt } from "../base/UInt.js";
|
|
5
|
-
|
|
1
|
+
import { UInt } from '../base/UInt.js';
|
|
6
2
|
/**
|
|
7
3
|
* @name u64
|
|
8
4
|
* @description
|
|
9
5
|
* A 64-bit unsigned integer
|
|
10
6
|
*/
|
|
11
7
|
export class u64 extends UInt.with(64) {
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
// NOTE without this, we cannot properly determine extensions
|
|
11
|
+
this.__UIntType = 'u64';
|
|
12
|
+
}
|
|
14
13
|
}
|
package/primitive/U8.d.ts
CHANGED
package/primitive/U8.js
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
import { UInt } from "../base/UInt.js";
|
|
5
|
-
|
|
1
|
+
import { UInt } from '../base/UInt.js';
|
|
6
2
|
/**
|
|
7
3
|
* @name u8
|
|
8
4
|
* @description
|
|
9
5
|
* An 8-bit unsigned integer
|
|
10
6
|
*/
|
|
11
7
|
export class u8 extends UInt.with(8) {
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
// NOTE without this, we cannot properly determine extensions
|
|
11
|
+
this.__UIntType = 'u8';
|
|
12
|
+
}
|
|
14
13
|
}
|
package/primitive/USize.d.ts
CHANGED
package/primitive/USize.js
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
import { u32 } from "./U32.js";
|
|
5
|
-
|
|
1
|
+
import { u32 } from './U32.js';
|
|
6
2
|
/**
|
|
7
3
|
* @name USize
|
|
8
4
|
* @description
|
|
@@ -11,8 +7,8 @@ import { u32 } from "./U32.js";
|
|
|
11
7
|
* It is not to be used, since it created consensus mismatches.
|
|
12
8
|
*/
|
|
13
9
|
export class usize extends u32 {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
10
|
+
constructor(registry, value) {
|
|
11
|
+
super(registry, value);
|
|
12
|
+
throw new Error('The `usize` type should not be used. Since it is platform-specific, it creates incompatibilities between native (generally u64) and WASM (always u32) code. Use one of the `u32` or `u64` types explicitly.');
|
|
13
|
+
}
|
|
18
14
|
}
|
package/primitive/index.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export { f32, f32 as F32 } from './F32';
|
|
2
|
-
export { f64, f64 as F64 } from './F64';
|
|
3
|
-
export { i8, i8 as I8 } from './I8';
|
|
4
|
-
export { i16, i16 as I16 } from './I16';
|
|
5
|
-
export { i32, i32 as I32 } from './I32';
|
|
6
|
-
export { i64, i64 as I64 } from './I64';
|
|
7
|
-
export { i128, i128 as I128 } from './I128';
|
|
8
|
-
export { i256, i256 as I256 } from './I256';
|
|
9
|
-
export { u8, u8 as U8 } from './U8';
|
|
10
|
-
export { u16, u16 as U16 } from './U16';
|
|
11
|
-
export { u32, u32 as U32 } from './U32';
|
|
12
|
-
export { u64, u64 as U64 } from './U64';
|
|
13
|
-
export { u128, u128 as U128 } from './U128';
|
|
14
|
-
export { u256, u256 as U256 } from './U256';
|
|
15
|
-
export { usize, usize as USize } from './USize';
|
|
1
|
+
export { f32, f32 as F32 } from './F32.js';
|
|
2
|
+
export { f64, f64 as F64 } from './F64.js';
|
|
3
|
+
export { i8, i8 as I8 } from './I8.js';
|
|
4
|
+
export { i16, i16 as I16 } from './I16.js';
|
|
5
|
+
export { i32, i32 as I32 } from './I32.js';
|
|
6
|
+
export { i64, i64 as I64 } from './I64.js';
|
|
7
|
+
export { i128, i128 as I128 } from './I128.js';
|
|
8
|
+
export { i256, i256 as I256 } from './I256.js';
|
|
9
|
+
export { u8, u8 as U8 } from './U8.js';
|
|
10
|
+
export { u16, u16 as U16 } from './U16.js';
|
|
11
|
+
export { u32, u32 as U32 } from './U32.js';
|
|
12
|
+
export { u64, u64 as U64 } from './U64.js';
|
|
13
|
+
export { u128, u128 as U128 } from './U128.js';
|
|
14
|
+
export { u256, u256 as U256 } from './U256.js';
|
|
15
|
+
export { usize, usize as USize } from './USize.js';
|
package/primitive/index.js
CHANGED
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
11
|
-
export {
|
|
12
|
-
export {
|
|
13
|
-
export {
|
|
14
|
-
export {
|
|
15
|
-
export {
|
|
16
|
-
export { u128, u128 as U128 } from "./U128.js";
|
|
17
|
-
export { u256, u256 as U256 } from "./U256.js";
|
|
18
|
-
export { usize, usize as USize } from "./USize.js";
|
|
1
|
+
export { f32, f32 as F32 } from './F32.js';
|
|
2
|
+
export { f64, f64 as F64 } from './F64.js';
|
|
3
|
+
export { i8, i8 as I8 } from './I8.js';
|
|
4
|
+
export { i16, i16 as I16 } from './I16.js';
|
|
5
|
+
export { i32, i32 as I32 } from './I32.js';
|
|
6
|
+
export { i64, i64 as I64 } from './I64.js';
|
|
7
|
+
export { i128, i128 as I128 } from './I128.js';
|
|
8
|
+
export { i256, i256 as I256 } from './I256.js';
|
|
9
|
+
export { u8, u8 as U8 } from './U8.js';
|
|
10
|
+
export { u16, u16 as U16 } from './U16.js';
|
|
11
|
+
export { u32, u32 as U32 } from './U32.js';
|
|
12
|
+
export { u64, u64 as U64 } from './U64.js';
|
|
13
|
+
export { u128, u128 as U128 } from './U128.js';
|
|
14
|
+
export { u256, u256 as U256 } from './U256.js';
|
|
15
|
+
export { usize, usize as USize } from './USize.js';
|
package/types/codec.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { HexString } from '@polkadot/util/types';
|
|
2
|
-
import type { AnyJson, ToString } from './helpers';
|
|
3
|
-
import type { IU8a } from './interfaces';
|
|
4
|
-
import type { Registry } from './registry';
|
|
2
|
+
import type { AnyJson, ToString } from './helpers.js';
|
|
3
|
+
import type { IU8a } from './interfaces.js';
|
|
4
|
+
import type { Registry } from './registry.js';
|
|
5
5
|
export type BareOpts = boolean | Record<string, boolean>;
|
|
6
6
|
export interface Inspect {
|
|
7
7
|
inner?: Inspect[];
|
package/types/helpers.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="bn.js" />
|
|
2
2
|
import type { BN } from '@polkadot/util';
|
|
3
3
|
import type { HexString } from '@polkadot/util/types';
|
|
4
|
-
import type { Codec } from './codec';
|
|
4
|
+
import type { Codec } from './codec.js';
|
|
5
5
|
export type AnyJson = string | number | boolean | null | undefined | AnyJson[] | {
|
|
6
6
|
[index: string]: AnyJson;
|
|
7
7
|
};
|
package/types/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './codec';
|
|
2
|
-
export * from './helpers';
|
|
3
|
-
export * from './interfaces';
|
|
4
|
-
export * from './registry';
|
|
1
|
+
export * from './codec.js';
|
|
2
|
+
export * from './helpers.js';
|
|
3
|
+
export * from './interfaces.js';
|
|
4
|
+
export * from './registry.js';
|
package/types/index.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export * from
|
|
5
|
-
export * from "./helpers.js";
|
|
6
|
-
export * from "./interfaces.js";
|
|
7
|
-
export * from "./registry.js";
|
|
1
|
+
export * from './codec.js';
|
|
2
|
+
export * from './helpers.js';
|
|
3
|
+
export * from './interfaces.js';
|
|
4
|
+
export * from './registry.js';
|
package/types/interfaces.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="bn.js" />
|
|
2
2
|
import type { BN } from '@polkadot/util';
|
|
3
|
-
import type { ArgsDef, Codec } from './codec';
|
|
4
|
-
import type { AnyTuple } from './helpers';
|
|
3
|
+
import type { ArgsDef, Codec } from './codec.js';
|
|
4
|
+
import type { AnyTuple } from './helpers.js';
|
|
5
5
|
export interface ICompact<T extends INumber = INumber> extends Codec {
|
|
6
6
|
toBigInt(): bigint;
|
|
7
7
|
toBn(): BN;
|
package/types/registry.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/// <reference types="bn.js" />
|
|
2
2
|
import type { BN } from '@polkadot/util';
|
|
3
|
-
import type { Codec, CodecClass } from './codec';
|
|
4
|
-
import type { AnyTuple, LookupString } from './helpers';
|
|
5
|
-
import type { ICompact, IEnum, IMap, IMethod, INumber, IOption, IResult, ISet, IStruct, ITuple, IU8a, IVec } from './interfaces';
|
|
3
|
+
import type { Codec, CodecClass } from './codec.js';
|
|
4
|
+
import type { AnyTuple, LookupString } from './helpers.js';
|
|
5
|
+
import type { ICompact, IEnum, IMap, IMethod, INumber, IOption, IResult, ISet, IStruct, ITuple, IU8a, IVec } from './interfaces.js';
|
|
6
6
|
export type OnlyCodec<K, T, Types> = K extends keyof Types ? Types[K] : T extends ICompact | IEnum | IMap | IMethod | INumber | IOption | IResult | ISet | IStruct | ITuple | IU8a | IVec ? T : T extends Codec ? T : never;
|
|
7
7
|
export interface RegistryError {
|
|
8
8
|
args: string[];
|
package/utils/compareArray.js
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
// Copyright 2017-2023 @polkadot/types-codec authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
1
|
import { isUndefined } from '@polkadot/util';
|
|
5
|
-
import { hasEq } from
|
|
6
|
-
|
|
7
|
-
// NOTE These are used internally and when comparing objects, expects that
|
|
8
|
-
// when the second is an Codec[] that the first has to be as well
|
|
2
|
+
import { hasEq } from './util.js';
|
|
9
3
|
export function compareArray(a, b) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
4
|
+
if (Array.isArray(b)) {
|
|
5
|
+
return (a.length === b.length) && isUndefined(a.find((v, index) => hasEq(v)
|
|
6
|
+
? !v.eq(b[index])
|
|
7
|
+
: v !== b[index]));
|
|
8
|
+
}
|
|
9
|
+
return false;
|
|
14
10
|
}
|
package/utils/compareMap.js
CHANGED
|
@@ -1,28 +1,27 @@
|
|
|
1
|
-
// Copyright 2017-2023 @polkadot/types-codec authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
1
|
import { isObject, isUndefined } from '@polkadot/util';
|
|
5
|
-
import { hasEq } from
|
|
2
|
+
import { hasEq } from './util.js';
|
|
6
3
|
function hasMismatch(a, b) {
|
|
7
|
-
|
|
4
|
+
return isUndefined(a) || (hasEq(a)
|
|
5
|
+
? !a.eq(b)
|
|
6
|
+
: a !== b);
|
|
8
7
|
}
|
|
9
8
|
function notEntry(value) {
|
|
10
|
-
|
|
9
|
+
return !Array.isArray(value) || value.length !== 2;
|
|
11
10
|
}
|
|
12
11
|
function compareMapArray(a, b) {
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
// equal number of entries and each entry in the array should match
|
|
13
|
+
return (a.size === b.length) && !b.some((e) => notEntry(e) ||
|
|
14
|
+
hasMismatch(a.get(e[0]), e[1]));
|
|
15
15
|
}
|
|
16
|
-
|
|
17
|
-
// NOTE These are used internally and when comparing objects, expects that
|
|
18
|
-
// when the second is an Map<string, Codec> that the first has to be as well
|
|
19
16
|
export function compareMap(a, b) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
17
|
+
if (Array.isArray(b)) {
|
|
18
|
+
return compareMapArray(a, b);
|
|
19
|
+
}
|
|
20
|
+
else if (b instanceof Map) {
|
|
21
|
+
return compareMapArray(a, [...b.entries()]);
|
|
22
|
+
}
|
|
23
|
+
else if (isObject(b)) {
|
|
24
|
+
return compareMapArray(a, Object.entries(b));
|
|
25
|
+
}
|
|
26
|
+
return false;
|
|
28
27
|
}
|
package/utils/compareSet.js
CHANGED
|
@@ -1,21 +1,17 @@
|
|
|
1
|
-
// Copyright 2017-2023 @polkadot/types-codec authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
1
|
import { isObject } from '@polkadot/util';
|
|
5
2
|
function compareSetArray(a, b) {
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
// equal number of entries and each entry in the array should match
|
|
4
|
+
return (a.size === b.length) && !b.some((e) => !a.has(e));
|
|
8
5
|
}
|
|
9
|
-
|
|
10
|
-
// NOTE These are used internally and when comparing objects, expects that
|
|
11
|
-
// when the second is an Set<string, Codec> that the first has to be as well
|
|
12
6
|
export function compareSet(a, b) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
7
|
+
if (Array.isArray(b)) {
|
|
8
|
+
return compareSetArray(a, b);
|
|
9
|
+
}
|
|
10
|
+
else if (b instanceof Set) {
|
|
11
|
+
return compareSetArray(a, [...b.values()]);
|
|
12
|
+
}
|
|
13
|
+
else if (isObject(b)) {
|
|
14
|
+
return compareSetArray(a, Object.values(b));
|
|
15
|
+
}
|
|
16
|
+
return false;
|
|
21
17
|
}
|
package/utils/decodeU8a.d.ts
CHANGED
package/utils/decodeU8a.js
CHANGED
|
@@ -1,26 +1,18 @@
|
|
|
1
|
-
// Copyright 2017-2023 @polkadot/types-codec authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
1
|
import { u8aToHex } from '@polkadot/util';
|
|
5
|
-
|
|
6
2
|
/** @internal */
|
|
7
|
-
function formatFailure(registry, fn, result, {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
// console.error(JSON.stringify(result, null, 2));
|
|
20
|
-
|
|
21
|
-
return `${fn}: failed at ${u8aToHex(u8a.subarray(0, 16))}…${key ? ` on ${key}` : ''} (index ${i + 1}/${count})${type}:: ${message}`;
|
|
3
|
+
function formatFailure(registry, fn, result, { message }, u8a, i, count, Type, key) {
|
|
4
|
+
let type = '';
|
|
5
|
+
try {
|
|
6
|
+
type = `: ${new Type(registry).toRawType()}`;
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
// ignore
|
|
10
|
+
}
|
|
11
|
+
// This is extra debugging info (we most-probably want this in in some way, shape or form,
|
|
12
|
+
// but at this point not quite sure how to include and format it (it can be quite massive)
|
|
13
|
+
// console.error(JSON.stringify(result, null, 2));
|
|
14
|
+
return `${fn}: failed at ${u8aToHex(u8a.subarray(0, 16))}…${key ? ` on ${key}` : ''} (index ${i + 1}/${count})${type}:: ${message}`;
|
|
22
15
|
}
|
|
23
|
-
|
|
24
16
|
/**
|
|
25
17
|
* @internal
|
|
26
18
|
*
|
|
@@ -32,22 +24,22 @@ function formatFailure(registry, fn, result, {
|
|
|
32
24
|
* @param types - The array of CodecClass to decode the U8a against.
|
|
33
25
|
*/
|
|
34
26
|
export function decodeU8a(registry, result, u8a, [Types, keys]) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
27
|
+
const count = result.length;
|
|
28
|
+
let offset = 0;
|
|
29
|
+
let i = 0;
|
|
30
|
+
try {
|
|
31
|
+
while (i < count) {
|
|
32
|
+
const value = new Types[i](registry, u8a.subarray(offset));
|
|
33
|
+
offset += value.initialU8aLength || value.encodedLength;
|
|
34
|
+
result[i] = value;
|
|
35
|
+
i++;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
throw new Error(formatFailure(registry, 'decodeU8a', result, error, u8a.subarray(offset), i, count, Types[i], keys[i]));
|
|
44
40
|
}
|
|
45
|
-
|
|
46
|
-
throw new Error(formatFailure(registry, 'decodeU8a', result, error, u8a.subarray(offset), i, count, Types[i], keys[i]));
|
|
47
|
-
}
|
|
48
|
-
return [result, offset];
|
|
41
|
+
return [result, offset];
|
|
49
42
|
}
|
|
50
|
-
|
|
51
43
|
/**
|
|
52
44
|
* @internal
|
|
53
45
|
*
|
|
@@ -55,22 +47,22 @@ export function decodeU8a(registry, result, u8a, [Types, keys]) {
|
|
|
55
47
|
* is all on the hot-path, so it is not great, however there is (some) method behind the madness
|
|
56
48
|
*/
|
|
57
49
|
export function decodeU8aStruct(registry, result, u8a, [Types, keys]) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
50
|
+
const count = result.length;
|
|
51
|
+
let offset = 0;
|
|
52
|
+
let i = 0;
|
|
53
|
+
try {
|
|
54
|
+
while (i < count) {
|
|
55
|
+
const value = new Types[i](registry, u8a.subarray(offset));
|
|
56
|
+
offset += value.initialU8aLength || value.encodedLength;
|
|
57
|
+
result[i] = [keys[i], value];
|
|
58
|
+
i++;
|
|
59
|
+
}
|
|
67
60
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
61
|
+
catch (error) {
|
|
62
|
+
throw new Error(formatFailure(registry, 'decodeU8aStruct', result, error, u8a.subarray(offset), i, count, Types[i], keys[i]));
|
|
63
|
+
}
|
|
64
|
+
return [result, offset];
|
|
72
65
|
}
|
|
73
|
-
|
|
74
66
|
/**
|
|
75
67
|
* @internal
|
|
76
68
|
*
|
|
@@ -78,18 +70,19 @@ export function decodeU8aStruct(registry, result, u8a, [Types, keys]) {
|
|
|
78
70
|
* is all on the hot-path, so it is not great, however there is (some) method behind the madness
|
|
79
71
|
*/
|
|
80
72
|
export function decodeU8aVec(registry, result, u8a, startAt, Type) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
73
|
+
const count = result.length;
|
|
74
|
+
let offset = startAt;
|
|
75
|
+
let i = 0;
|
|
76
|
+
try {
|
|
77
|
+
while (i < count) {
|
|
78
|
+
const value = new Type(registry, u8a.subarray(offset));
|
|
79
|
+
offset += value.initialU8aLength || value.encodedLength;
|
|
80
|
+
result[i] = value;
|
|
81
|
+
i++;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
throw new Error(formatFailure(registry, 'decodeU8aVec', result, error, u8a.subarray(offset), i, count, Type));
|
|
90
86
|
}
|
|
91
|
-
|
|
92
|
-
throw new Error(formatFailure(registry, 'decodeU8aVec', result, error, u8a.subarray(offset), i, count, Type));
|
|
93
|
-
}
|
|
94
|
-
return [offset, offset - startAt];
|
|
87
|
+
return [offset, offset - startAt];
|
|
95
88
|
}
|
package/utils/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { compareArray } from './compareArray';
|
|
2
|
-
export { compareMap } from './compareMap';
|
|
3
|
-
export { compareSet } from './compareSet';
|
|
4
|
-
export { decodeU8a, decodeU8aStruct, decodeU8aVec } from './decodeU8a';
|
|
5
|
-
export { mapToTypeMap } from './mapToTypeMap';
|
|
6
|
-
export { typeToConstructor } from './typeToConstructor';
|
|
7
|
-
export { sanitize } from './sanitize';
|
|
8
|
-
export { sortAsc, sortSet, sortMap } from './sortValues';
|
|
9
|
-
export { typesToMap } from './typesToMap';
|
|
1
|
+
export { compareArray } from './compareArray.js';
|
|
2
|
+
export { compareMap } from './compareMap.js';
|
|
3
|
+
export { compareSet } from './compareSet.js';
|
|
4
|
+
export { decodeU8a, decodeU8aStruct, decodeU8aVec } from './decodeU8a.js';
|
|
5
|
+
export { mapToTypeMap } from './mapToTypeMap.js';
|
|
6
|
+
export { typeToConstructor } from './typeToConstructor.js';
|
|
7
|
+
export { sanitize } from './sanitize.js';
|
|
8
|
+
export { sortAsc, sortSet, sortMap } from './sortValues.js';
|
|
9
|
+
export { typesToMap } from './typesToMap.js';
|