@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/cjs/extended/Bytes.js
CHANGED
|
@@ -1,34 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.Bytes = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
// Copyright 2017-2023 @polkadot/types-codec authors & contributors
|
|
10
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
11
|
-
|
|
12
|
-
// Bytes are used for things like on-chain code, so it has a healthy limit
|
|
4
|
+
const util_1 = require("@polkadot/util");
|
|
5
|
+
const Raw_1 = require("../native/Raw");
|
|
13
6
|
const MAX_LENGTH = 10 * 1024 * 1024;
|
|
14
|
-
|
|
15
7
|
/** @internal */
|
|
16
8
|
function decodeBytesU8a(value) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
9
|
+
if (!value.length) {
|
|
10
|
+
return [new Uint8Array(), 0];
|
|
11
|
+
}
|
|
12
|
+
// handle all other Uint8Array inputs, these do have a length prefix
|
|
13
|
+
const [offset, length] = (0, util_1.compactFromU8aLim)(value);
|
|
14
|
+
const total = offset + length;
|
|
15
|
+
if (length > MAX_LENGTH) {
|
|
16
|
+
throw new Error(`Bytes length ${length.toString()} exceeds ${MAX_LENGTH}`);
|
|
17
|
+
}
|
|
18
|
+
else if (total > value.length) {
|
|
19
|
+
throw new Error(`Bytes: required length less than remainder, expected at least ${total}, found ${value.length}`);
|
|
20
|
+
}
|
|
21
|
+
return [value.subarray(offset, total), total];
|
|
30
22
|
}
|
|
31
|
-
|
|
32
23
|
/**
|
|
33
24
|
* @name Bytes
|
|
34
25
|
* @description
|
|
@@ -36,42 +27,48 @@ function decodeBytesU8a(value) {
|
|
|
36
27
|
* is that this version allows for length-encoding. (i.e. it is a variable-item codec, the same
|
|
37
28
|
* as what is found in [[Text]] and [[Vec]])
|
|
38
29
|
*/
|
|
39
|
-
class Bytes extends
|
|
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
|
-
|
|
30
|
+
class Bytes extends Raw_1.Raw {
|
|
31
|
+
constructor(registry, value) {
|
|
32
|
+
const [u8a, decodedLength] = (0, util_1.isU8a)(value) && !(value instanceof Raw_1.Raw)
|
|
33
|
+
? decodeBytesU8a(value)
|
|
34
|
+
: Array.isArray(value) || (0, util_1.isString)(value)
|
|
35
|
+
? [(0, util_1.u8aToU8a)(value), 0]
|
|
36
|
+
: [value, 0];
|
|
37
|
+
super(registry, u8a, decodedLength);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* @description The length of the value when encoded as a Uint8Array
|
|
41
|
+
*/
|
|
42
|
+
get encodedLength() {
|
|
43
|
+
return this.length + (0, util_1.compactToU8a)(this.length).length;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* @description Returns a breakdown of the hex encoding for this Codec
|
|
47
|
+
*/
|
|
48
|
+
inspect(isBare) {
|
|
49
|
+
const clength = (0, util_1.compactToU8a)(this.length);
|
|
50
|
+
return {
|
|
51
|
+
outer: isBare
|
|
52
|
+
? [super.toU8a()]
|
|
53
|
+
: this.length
|
|
54
|
+
? [clength, super.toU8a()]
|
|
55
|
+
: [clength]
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* @description Returns the base runtime type name for this instance
|
|
60
|
+
*/
|
|
61
|
+
toRawType() {
|
|
62
|
+
return 'Bytes';
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* @description Encodes the value as a Uint8Array as per the SCALE specifications
|
|
66
|
+
* @param isBare true when the value has none of the type-specific prefixes (internal)
|
|
67
|
+
*/
|
|
68
|
+
toU8a(isBare) {
|
|
69
|
+
return isBare
|
|
70
|
+
? super.toU8a(isBare)
|
|
71
|
+
: (0, util_1.compactAddLength)(this);
|
|
72
|
+
}
|
|
76
73
|
}
|
|
77
74
|
exports.Bytes = Bytes;
|
package/cjs/extended/HashMap.js
CHANGED
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.HashMap = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
}
|
|
4
|
+
const Map_1 = require("./Map");
|
|
5
|
+
class HashMap extends Map_1.CodecMap {
|
|
6
|
+
static with(keyType, valType) {
|
|
7
|
+
return class extends HashMap {
|
|
8
|
+
constructor(registry, value) {
|
|
9
|
+
super(registry, keyType, valType, value);
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
}
|
|
19
13
|
}
|
|
20
14
|
exports.HashMap = HashMap;
|
package/cjs/extended/Linkage.js
CHANGED
|
@@ -1,74 +1,64 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.LinkageResult = exports.Linkage = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
// Copyright 2017-2023 @polkadot/types-codec authors & contributors
|
|
12
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
13
|
-
|
|
4
|
+
const Option_1 = require("../base/Option");
|
|
5
|
+
const Tuple_1 = require("../base/Tuple");
|
|
6
|
+
const Vec_1 = require("../base/Vec");
|
|
7
|
+
const Struct_1 = require("../native/Struct");
|
|
14
8
|
const EMPTY = new Uint8Array();
|
|
15
|
-
|
|
16
9
|
/**
|
|
17
10
|
* @name Linkage
|
|
18
11
|
* @description The wrapper for the result from a LinkedMap
|
|
19
12
|
*/
|
|
20
|
-
class Linkage extends
|
|
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
|
-
|
|
13
|
+
class Linkage extends Struct_1.Struct {
|
|
14
|
+
constructor(registry, Type, value) {
|
|
15
|
+
super(registry, {
|
|
16
|
+
previous: Option_1.Option.with(Type),
|
|
17
|
+
// eslint-disable-next-line sort-keys
|
|
18
|
+
next: Option_1.Option.with(Type)
|
|
19
|
+
}, value);
|
|
20
|
+
}
|
|
21
|
+
static withKey(Type) {
|
|
22
|
+
return class extends Linkage {
|
|
23
|
+
constructor(registry, value) {
|
|
24
|
+
super(registry, Type, value);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
get previous() {
|
|
29
|
+
return this.get('previous');
|
|
30
|
+
}
|
|
31
|
+
get next() {
|
|
32
|
+
return this.get('next');
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* @description Returns the base runtime type name for this instance
|
|
36
|
+
*/
|
|
37
|
+
toRawType() {
|
|
38
|
+
return `Linkage<${this.next.toRawType(true)}>`;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @description Custom toU8a which with bare mode does not return the linkage if empty
|
|
42
|
+
*/
|
|
43
|
+
toU8a() {
|
|
44
|
+
// As part of a storage query (where these appear), in the case of empty, the values
|
|
45
|
+
// are NOT populated by the node - follow the same logic, leaving it empty
|
|
46
|
+
return this.isEmpty
|
|
47
|
+
? EMPTY
|
|
48
|
+
: super.toU8a();
|
|
49
|
+
}
|
|
57
50
|
}
|
|
58
|
-
|
|
51
|
+
exports.Linkage = Linkage;
|
|
59
52
|
/**
|
|
60
53
|
* @name LinkageResult
|
|
61
54
|
* @description A Linkage keys/Values tuple
|
|
62
55
|
*/
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
Values: _Vec.Vec.with(TypeValue)
|
|
71
|
-
}, [keys, values]);
|
|
72
|
-
}
|
|
56
|
+
class LinkageResult extends Tuple_1.Tuple {
|
|
57
|
+
constructor(registry, [TypeKey, keys], [TypeValue, values]) {
|
|
58
|
+
super(registry, {
|
|
59
|
+
Keys: Vec_1.Vec.with(TypeKey),
|
|
60
|
+
Values: Vec_1.Vec.with(TypeValue)
|
|
61
|
+
}, [keys, values]);
|
|
62
|
+
}
|
|
73
63
|
}
|
|
74
64
|
exports.LinkageResult = LinkageResult;
|