@polkadot/types-codec 9.14.2 → 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.
Files changed (157) hide show
  1. package/abstract/Array.js +140 -155
  2. package/abstract/Base.js +95 -112
  3. package/abstract/Int.js +212 -220
  4. package/abstract/Object.js +34 -45
  5. package/abstract/index.js +3 -6
  6. package/base/Compact.js +149 -165
  7. package/base/DoNotConstruct.js +61 -64
  8. package/base/Enum.js +345 -382
  9. package/base/Int.js +14 -18
  10. package/base/Null.js +71 -82
  11. package/base/Option.js +217 -226
  12. package/base/Result.js +54 -67
  13. package/base/Tuple.js +96 -101
  14. package/base/UInt.js +11 -15
  15. package/base/Vec.js +84 -89
  16. package/base/VecAny.js +8 -12
  17. package/base/VecFixed.js +59 -70
  18. package/base/index.js +12 -15
  19. package/bundle.js +7 -10
  20. package/cjs/abstract/Array.js +138 -159
  21. package/cjs/abstract/Base.js +96 -117
  22. package/cjs/abstract/Int.js +215 -238
  23. package/cjs/abstract/Object.js +30 -49
  24. package/cjs/abstract/index.js +8 -25
  25. package/cjs/base/Compact.js +151 -173
  26. package/cjs/base/DoNotConstruct.js +63 -70
  27. package/cjs/base/Enum.js +350 -396
  28. package/cjs/base/Int.js +16 -24
  29. package/cjs/base/Null.js +70 -86
  30. package/cjs/base/Option.js +220 -234
  31. package/cjs/base/Result.js +56 -71
  32. package/cjs/base/Tuple.js +103 -109
  33. package/cjs/base/UInt.js +13 -19
  34. package/cjs/base/Vec.js +94 -101
  35. package/cjs/base/VecAny.js +10 -16
  36. package/cjs/base/VecFixed.js +66 -79
  37. package/cjs/base/index.js +26 -88
  38. package/cjs/bundle.js +11 -86
  39. package/cjs/detectOther.js +2 -10
  40. package/cjs/detectPackage.js +6 -11
  41. package/cjs/extended/BTreeMap.js +10 -16
  42. package/cjs/extended/BTreeSet.js +162 -178
  43. package/cjs/extended/BitVec.js +70 -77
  44. package/cjs/extended/Bytes.js +59 -62
  45. package/cjs/extended/HashMap.js +10 -16
  46. package/cjs/extended/Linkage.js +50 -60
  47. package/cjs/extended/Map.js +176 -181
  48. package/cjs/extended/OptionBool.js +65 -68
  49. package/cjs/extended/Range.js +37 -46
  50. package/cjs/extended/RangeInclusive.js +13 -21
  51. package/cjs/extended/Type.js +14 -22
  52. package/cjs/extended/U8aFixed.js +33 -43
  53. package/cjs/extended/WrapperKeepOpaque.js +99 -99
  54. package/cjs/extended/WrapperOpaque.js +19 -28
  55. package/cjs/extended/index.js +31 -108
  56. package/cjs/index.js +3 -15
  57. package/cjs/native/Bool.js +101 -116
  58. package/cjs/native/Date.js +125 -151
  59. package/cjs/native/Float.js +95 -114
  60. package/cjs/native/Json.js +102 -124
  61. package/cjs/native/Raw.js +128 -150
  62. package/cjs/native/Set.js +200 -220
  63. package/cjs/native/Struct.data.js +2 -9
  64. package/cjs/native/Struct.js +238 -251
  65. package/cjs/native/Text.js +137 -149
  66. package/cjs/native/index.js +21 -78
  67. package/cjs/packageInfo.js +2 -16
  68. package/cjs/primitive/F32.js +8 -11
  69. package/cjs/primitive/F64.js +8 -11
  70. package/cjs/primitive/I128.js +8 -11
  71. package/cjs/primitive/I16.js +8 -11
  72. package/cjs/primitive/I256.js +8 -11
  73. package/cjs/primitive/I32.js +8 -11
  74. package/cjs/primitive/I64.js +8 -11
  75. package/cjs/primitive/I8.js +8 -11
  76. package/cjs/primitive/U128.js +8 -11
  77. package/cjs/primitive/U16.js +8 -11
  78. package/cjs/primitive/U256.js +8 -11
  79. package/cjs/primitive/U32.js +8 -11
  80. package/cjs/primitive/U64.js +8 -11
  81. package/cjs/primitive/U8.js +8 -11
  82. package/cjs/primitive/USize.js +7 -13
  83. package/cjs/primitive/index.js +47 -199
  84. package/cjs/types/codec.js +2 -1
  85. package/cjs/types/helpers.js +2 -1
  86. package/cjs/types/index.js +6 -48
  87. package/cjs/types/interfaces.js +2 -1
  88. package/cjs/types/registry.js +2 -1
  89. package/cjs/utils/compareArray.js +12 -17
  90. package/cjs/utils/compareMap.js +23 -26
  91. package/cjs/utils/compareSet.js +17 -23
  92. package/cjs/utils/decodeU8a.js +63 -74
  93. package/cjs/utils/index.js +24 -91
  94. package/cjs/utils/mapToTypeMap.js +13 -18
  95. package/cjs/utils/sanitize.js +198 -204
  96. package/cjs/utils/sortValues.js +39 -49
  97. package/cjs/utils/typeToConstructor.js +8 -11
  98. package/cjs/utils/typesToMap.js +10 -16
  99. package/cjs/utils/util.js +6 -11
  100. package/detectOther.js +0 -5
  101. package/detectPackage.js +2 -7
  102. package/extended/BTreeMap.js +8 -11
  103. package/extended/BTreeSet.js +159 -171
  104. package/extended/BitVec.js +63 -70
  105. package/extended/Bytes.js +56 -57
  106. package/extended/HashMap.js +8 -11
  107. package/extended/Linkage.js +46 -51
  108. package/extended/Map.js +173 -173
  109. package/extended/OptionBool.js +62 -62
  110. package/extended/Range.js +31 -39
  111. package/extended/RangeInclusive.js +11 -16
  112. package/extended/Type.js +12 -17
  113. package/extended/U8aFixed.js +30 -36
  114. package/extended/WrapperKeepOpaque.js +92 -91
  115. package/extended/WrapperOpaque.js +17 -23
  116. package/extended/index.js +14 -17
  117. package/index.js +2 -5
  118. package/native/Bool.js +102 -111
  119. package/native/Date.js +126 -144
  120. package/native/Float.js +94 -107
  121. package/native/Json.js +104 -114
  122. package/native/Raw.js +130 -146
  123. package/native/Set.js +194 -209
  124. package/native/Struct.data.js +0 -3
  125. package/native/Struct.js +233 -241
  126. package/native/Text.js +135 -143
  127. package/native/index.js +8 -11
  128. package/package.json +8 -5
  129. package/packageInfo.js +1 -11
  130. package/primitive/F32.js +3 -7
  131. package/primitive/F64.js +3 -7
  132. package/primitive/I128.js +3 -7
  133. package/primitive/I16.js +3 -7
  134. package/primitive/I256.js +3 -7
  135. package/primitive/I32.js +3 -7
  136. package/primitive/I64.js +3 -7
  137. package/primitive/I8.js +3 -7
  138. package/primitive/U128.js +3 -7
  139. package/primitive/U16.js +3 -7
  140. package/primitive/U256.js +3 -7
  141. package/primitive/U32.js +3 -7
  142. package/primitive/U64.js +3 -7
  143. package/primitive/U8.js +3 -7
  144. package/primitive/USize.js +5 -9
  145. package/primitive/index.js +15 -18
  146. package/types/index.js +4 -7
  147. package/utils/compareArray.js +7 -11
  148. package/utils/compareMap.js +18 -19
  149. package/utils/compareSet.js +12 -16
  150. package/utils/decodeU8a.js +54 -61
  151. package/utils/index.js +9 -12
  152. package/utils/mapToTypeMap.js +9 -13
  153. package/utils/sanitize.js +182 -185
  154. package/utils/sortValues.js +32 -36
  155. package/utils/typeToConstructor.js +3 -4
  156. package/utils/typesToMap.js +5 -8
  157. package/utils/util.js +1 -4
@@ -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
- var _util = require("@polkadot/util");
8
- var _Raw = require("../native/Raw");
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
- if (!value.length) {
18
- return [new Uint8Array(), 0];
19
- }
20
-
21
- // handle all other Uint8Array inputs, these do have a length prefix
22
- const [offset, length] = (0, _util.compactFromU8aLim)(value);
23
- const total = offset + length;
24
- if (length > MAX_LENGTH) {
25
- throw new Error(`Bytes length ${length.toString()} exceeds ${MAX_LENGTH}`);
26
- } else if (total > value.length) {
27
- throw new Error(`Bytes: required length less than remainder, expected at least ${total}, found ${value.length}`);
28
- }
29
- return [value.subarray(offset, total), total];
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 _Raw.Raw {
40
- constructor(registry, value) {
41
- const [u8a, decodedLength] = (0, _util.isU8a)(value) && !(value instanceof _Raw.Raw) ? decodeBytesU8a(value) : Array.isArray(value) || (0, _util.isString)(value) ? [(0, _util.u8aToU8a)(value), 0] : [value, 0];
42
- super(registry, u8a, decodedLength);
43
- }
44
-
45
- /**
46
- * @description The length of the value when encoded as a Uint8Array
47
- */
48
- get encodedLength() {
49
- return this.length + (0, _util.compactToU8a)(this.length).length;
50
- }
51
-
52
- /**
53
- * @description Returns a breakdown of the hex encoding for this Codec
54
- */
55
- inspect(isBare) {
56
- const clength = (0, _util.compactToU8a)(this.length);
57
- return {
58
- outer: isBare ? [super.toU8a()] : this.length ? [clength, super.toU8a()] : [clength]
59
- };
60
- }
61
-
62
- /**
63
- * @description Returns the base runtime type name for this instance
64
- */
65
- toRawType() {
66
- return 'Bytes';
67
- }
68
-
69
- /**
70
- * @description Encodes the value as a Uint8Array as per the SCALE specifications
71
- * @param isBare true when the value has none of the type-specific prefixes (internal)
72
- */
73
- toU8a(isBare) {
74
- return isBare ? super.toU8a(isBare) : (0, _util.compactAddLength)(this);
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;
@@ -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
- var _Map = require("./Map");
8
- // Copyright 2017-2023 @polkadot/types-codec authors & contributors
9
- // SPDX-License-Identifier: Apache-2.0
10
-
11
- class HashMap extends _Map.CodecMap {
12
- static with(keyType, valType) {
13
- return class extends HashMap {
14
- constructor(registry, value) {
15
- super(registry, keyType, valType, value);
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;
@@ -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
- var _Option = require("../base/Option");
8
- var _Tuple = require("../base/Tuple");
9
- var _Vec = require("../base/Vec");
10
- var _Struct = require("../native/Struct");
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 _Struct.Struct {
21
- constructor(registry, Type, value) {
22
- super(registry, {
23
- previous: _Option.Option.with(Type),
24
- // eslint-disable-next-line sort-keys
25
- next: _Option.Option.with(Type)
26
- }, value);
27
- }
28
- static withKey(Type) {
29
- return class extends Linkage {
30
- constructor(registry, value) {
31
- super(registry, Type, value);
32
- }
33
- };
34
- }
35
- get previous() {
36
- return this.get('previous');
37
- }
38
- get next() {
39
- return this.get('next');
40
- }
41
-
42
- /**
43
- * @description Returns the base runtime type name for this instance
44
- */
45
- toRawType() {
46
- return `Linkage<${this.next.toRawType(true)}>`;
47
- }
48
-
49
- /**
50
- * @description Custom toU8a which with bare mode does not return the linkage if empty
51
- */
52
- toU8a() {
53
- // As part of a storage query (where these appear), in the case of empty, the values
54
- // are NOT populated by the node - follow the same logic, leaving it empty
55
- return this.isEmpty ? EMPTY : super.toU8a();
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
- exports.Linkage = Linkage;
64
- class LinkageResult extends _Tuple.Tuple {
65
- constructor(registry, _ref, _ref2) {
66
- let [TypeKey, keys] = _ref;
67
- let [TypeValue, values] = _ref2;
68
- super(registry, {
69
- Keys: _Vec.Vec.with(TypeKey),
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;