@polkadot/types-codec 9.14.1 → 10.0.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.js +140 -155
- package/abstract/Base.js +95 -112
- package/abstract/Int.js +212 -220
- package/abstract/Object.js +34 -45
- package/abstract/index.js +3 -6
- package/base/Compact.js +149 -165
- package/base/DoNotConstruct.js +61 -64
- package/base/Enum.js +345 -382
- package/base/Int.js +14 -18
- package/base/Null.js +71 -82
- package/base/Option.js +217 -226
- package/base/Result.js +54 -67
- package/base/Tuple.js +96 -101
- package/base/UInt.js +11 -15
- package/base/Vec.js +84 -89
- package/base/VecAny.js +8 -12
- package/base/VecFixed.js +59 -70
- package/base/index.js +12 -15
- 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 +3 -15
- 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.js +8 -11
- package/extended/BTreeSet.js +159 -171
- package/extended/BitVec.js +63 -70
- package/extended/Bytes.js +56 -57
- package/extended/HashMap.js +8 -11
- package/extended/Linkage.js +46 -51
- package/extended/Map.js +173 -173
- package/extended/OptionBool.js +62 -62
- package/extended/Range.js +31 -39
- package/extended/RangeInclusive.js +11 -16
- package/extended/Type.js +12 -17
- package/extended/U8aFixed.js +30 -36
- package/extended/WrapperKeepOpaque.js +92 -91
- package/extended/WrapperOpaque.js +17 -23
- package/extended/index.js +14 -17
- package/index.js +2 -5
- package/native/Bool.js +102 -111
- package/native/Date.js +126 -144
- package/native/Float.js +94 -107
- package/native/Json.js +104 -114
- package/native/Raw.js +130 -146
- package/native/Set.js +194 -209
- package/native/Struct.data.js +0 -3
- package/native/Struct.js +233 -241
- package/native/Text.js +135 -143
- package/native/index.js +8 -11
- package/package.json +8 -5
- package/packageInfo.js +1 -11
- package/primitive/F32.js +3 -7
- package/primitive/F64.js +3 -7
- package/primitive/I128.js +3 -7
- package/primitive/I16.js +3 -7
- package/primitive/I256.js +3 -7
- package/primitive/I32.js +3 -7
- package/primitive/I64.js +3 -7
- package/primitive/I8.js +3 -7
- package/primitive/U128.js +3 -7
- package/primitive/U16.js +3 -7
- package/primitive/U256.js +3 -7
- package/primitive/U32.js +3 -7
- package/primitive/U64.js +3 -7
- package/primitive/U8.js +3 -7
- package/primitive/USize.js +5 -9
- package/primitive/index.js +15 -18
- package/types/index.js +4 -7
- package/utils/compareArray.js +7 -11
- package/utils/compareMap.js +18 -19
- package/utils/compareSet.js +12 -16
- package/utils/decodeU8a.js +54 -61
- package/utils/index.js +9 -12
- package/utils/mapToTypeMap.js +9 -13
- package/utils/sanitize.js +182 -185
- package/utils/sortValues.js +32 -36
- package/utils/typeToConstructor.js +3 -4
- package/utils/typesToMap.js +5 -8
- package/utils/util.js +1 -4
package/native/Float.js
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
// Copyright 2017-2023 @polkadot/types-codec authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
1
|
import { floatToU8a, isHex, isU8a, u8aToFloat, u8aToHex, u8aToU8a } from '@polkadot/util';
|
|
5
2
|
/**
|
|
6
3
|
* @name Float
|
|
@@ -11,108 +8,98 @@ import { floatToU8a, isHex, isU8a, u8aToFloat, u8aToHex, u8aToU8a } from '@polka
|
|
|
11
8
|
* in some eth_* RPCs
|
|
12
9
|
*/
|
|
13
10
|
export class Float extends Number {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* @description Encodes the value as a Uint8Array as per the SCALE specifications
|
|
112
|
-
*/
|
|
113
|
-
toU8a() {
|
|
114
|
-
return floatToU8a(this, {
|
|
115
|
-
bitLength: this.#bitLength
|
|
116
|
-
});
|
|
117
|
-
}
|
|
11
|
+
encodedLength;
|
|
12
|
+
registry;
|
|
13
|
+
createdAtHash;
|
|
14
|
+
initialU8aLength;
|
|
15
|
+
isStorageFallback;
|
|
16
|
+
#bitLength;
|
|
17
|
+
constructor(registry, value, { bitLength = 32 } = {}) {
|
|
18
|
+
super(isU8a(value) || isHex(value)
|
|
19
|
+
? value.length === 0
|
|
20
|
+
? 0
|
|
21
|
+
: u8aToFloat(u8aToU8a(value), { bitLength })
|
|
22
|
+
: (value || 0));
|
|
23
|
+
this.#bitLength = bitLength;
|
|
24
|
+
this.encodedLength = bitLength / 8;
|
|
25
|
+
this.initialU8aLength = this.encodedLength;
|
|
26
|
+
this.registry = registry;
|
|
27
|
+
}
|
|
28
|
+
static with(bitLength) {
|
|
29
|
+
return class extends Float {
|
|
30
|
+
constructor(registry, value) {
|
|
31
|
+
super(registry, value, { bitLength });
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @description returns a hash of the contents
|
|
37
|
+
*/
|
|
38
|
+
get hash() {
|
|
39
|
+
return this.registry.hash(this.toU8a());
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* @description Returns true if the type wraps an empty/default all-0 value
|
|
43
|
+
*/
|
|
44
|
+
get isEmpty() {
|
|
45
|
+
return this.valueOf() === 0;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* @description Compares the value of the input to see if there is a match
|
|
49
|
+
*/
|
|
50
|
+
eq(other) {
|
|
51
|
+
return this.valueOf() === Number(other);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* @description Returns a breakdown of the hex encoding for this Codec
|
|
55
|
+
*/
|
|
56
|
+
inspect() {
|
|
57
|
+
return {
|
|
58
|
+
outer: [this.toU8a()]
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* @description Returns a hex string representation of the value
|
|
63
|
+
*/
|
|
64
|
+
toHex() {
|
|
65
|
+
return u8aToHex(this.toU8a());
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
|
|
69
|
+
*/
|
|
70
|
+
toHuman() {
|
|
71
|
+
return this.toString();
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* @description Converts the Object to JSON, typically used for RPC transfers
|
|
75
|
+
*/
|
|
76
|
+
toJSON() {
|
|
77
|
+
// Not sure if this is actually a hex or a string value
|
|
78
|
+
// (would need to check against RPCs to see the result here)
|
|
79
|
+
return this.toHex();
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* @description Returns the number representation (Same as valueOf)
|
|
83
|
+
*/
|
|
84
|
+
toNumber() {
|
|
85
|
+
return this.valueOf();
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* @description Converts the value in a best-fit primitive form
|
|
89
|
+
*/
|
|
90
|
+
toPrimitive() {
|
|
91
|
+
return this.toNumber();
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* @description Returns the base runtime type name for this instance
|
|
95
|
+
*/
|
|
96
|
+
toRawType() {
|
|
97
|
+
return `f${this.#bitLength}`;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* @description Encodes the value as a Uint8Array as per the SCALE specifications
|
|
101
|
+
*/
|
|
102
|
+
toU8a() {
|
|
103
|
+
return floatToU8a(this, { bitLength: this.#bitLength });
|
|
104
|
+
}
|
|
118
105
|
}
|
package/native/Json.js
CHANGED
|
@@ -1,14 +1,9 @@
|
|
|
1
|
-
// Copyright 2017-2023 @polkadot/types-codec authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
1
|
import { isFunction, objectProperties, stringify } from '@polkadot/util';
|
|
5
|
-
import { compareMap } from
|
|
6
|
-
|
|
2
|
+
import { compareMap } from '../utils/index.js';
|
|
7
3
|
/** @internal */
|
|
8
4
|
function decodeJson(value) {
|
|
9
|
-
|
|
5
|
+
return Object.entries(value || {});
|
|
10
6
|
}
|
|
11
|
-
|
|
12
7
|
/**
|
|
13
8
|
* @name Json
|
|
14
9
|
* @description
|
|
@@ -18,111 +13,106 @@ function decodeJson(value) {
|
|
|
18
13
|
* @noInheritDoc
|
|
19
14
|
*/
|
|
20
15
|
export class Json extends Map {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
*/
|
|
124
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
125
|
-
toU8a(isBare) {
|
|
126
|
-
throw new Error('Unimplemented');
|
|
127
|
-
}
|
|
16
|
+
registry;
|
|
17
|
+
createdAtHash;
|
|
18
|
+
initialU8aLength;
|
|
19
|
+
isStorageFallback;
|
|
20
|
+
constructor(registry, value) {
|
|
21
|
+
const decoded = decodeJson(value);
|
|
22
|
+
super(decoded);
|
|
23
|
+
this.registry = registry;
|
|
24
|
+
objectProperties(this, decoded.map(([k]) => k), (k) => this.get(k));
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @description Always 0, never encodes as a Uint8Array
|
|
28
|
+
*/
|
|
29
|
+
get encodedLength() {
|
|
30
|
+
return 0;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* @description returns a hash of the contents
|
|
34
|
+
*/
|
|
35
|
+
get hash() {
|
|
36
|
+
return this.registry.hash(this.toU8a());
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* @description Checks if the value is an empty value
|
|
40
|
+
*/
|
|
41
|
+
get isEmpty() {
|
|
42
|
+
return [...this.keys()].length === 0;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @description Compares the value of the input to see if there is a match
|
|
46
|
+
*/
|
|
47
|
+
eq(other) {
|
|
48
|
+
return compareMap(this, other);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* @description Returns a typed value from the internal map
|
|
52
|
+
*/
|
|
53
|
+
getT(key) {
|
|
54
|
+
return this.get(key);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* @description Unimplemented, will throw
|
|
58
|
+
*/
|
|
59
|
+
inspect() {
|
|
60
|
+
throw new Error('Unimplemented');
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* @description Unimplemented, will throw
|
|
64
|
+
*/
|
|
65
|
+
toHex() {
|
|
66
|
+
throw new Error('Unimplemented');
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
|
|
70
|
+
*/
|
|
71
|
+
toHuman() {
|
|
72
|
+
return [...this.entries()].reduce((json, [key, value]) => {
|
|
73
|
+
json[key] = isFunction(value.toHuman)
|
|
74
|
+
? value.toHuman()
|
|
75
|
+
: value;
|
|
76
|
+
return json;
|
|
77
|
+
}, {});
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* @description Converts the Object to JSON, typically used for RPC transfers
|
|
81
|
+
*/
|
|
82
|
+
toJSON() {
|
|
83
|
+
return [...this.entries()].reduce((json, [key, value]) => {
|
|
84
|
+
json[key] = value;
|
|
85
|
+
return json;
|
|
86
|
+
}, {});
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* @description Converts the value in a best-fit primitive form
|
|
90
|
+
*/
|
|
91
|
+
toPrimitive() {
|
|
92
|
+
return [...this.entries()].reduce((json, [key, value]) => {
|
|
93
|
+
json[key] = isFunction(value.toPrimitive)
|
|
94
|
+
? value.toPrimitive()
|
|
95
|
+
: value;
|
|
96
|
+
return json;
|
|
97
|
+
}, {});
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* @description Returns the base runtime type name for this instance
|
|
101
|
+
*/
|
|
102
|
+
toRawType() {
|
|
103
|
+
return 'Json';
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* @description Returns the string representation of the value
|
|
107
|
+
*/
|
|
108
|
+
toString() {
|
|
109
|
+
return stringify(this.toJSON());
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* @description Unimplemented, will throw
|
|
113
|
+
*/
|
|
114
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
115
|
+
toU8a(isBare) {
|
|
116
|
+
throw new Error('Unimplemented');
|
|
117
|
+
}
|
|
128
118
|
}
|