@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.
Files changed (229) hide show
  1. package/abstract/Array.d.ts +1 -1
  2. package/abstract/Array.js +136 -155
  3. package/abstract/Base.d.ts +1 -1
  4. package/abstract/Base.js +95 -113
  5. package/abstract/Int.d.ts +1 -1
  6. package/abstract/Int.js +209 -220
  7. package/abstract/Object.d.ts +1 -1
  8. package/abstract/Object.js +29 -45
  9. package/abstract/index.d.ts +3 -3
  10. package/abstract/index.js +3 -6
  11. package/base/Compact.d.ts +1 -1
  12. package/base/Compact.js +149 -166
  13. package/base/DoNotConstruct.d.ts +1 -1
  14. package/base/DoNotConstruct.js +62 -65
  15. package/base/Enum.d.ts +1 -1
  16. package/base/Enum.js +347 -383
  17. package/base/Int.d.ts +2 -2
  18. package/base/Int.js +14 -18
  19. package/base/Null.d.ts +1 -1
  20. package/base/Null.js +68 -82
  21. package/base/Option.d.ts +1 -1
  22. package/base/Option.js +217 -227
  23. package/base/Result.d.ts +2 -2
  24. package/base/Result.js +54 -67
  25. package/base/Tuple.d.ts +2 -2
  26. package/base/Tuple.js +100 -102
  27. package/base/UInt.d.ts +2 -2
  28. package/base/UInt.js +11 -15
  29. package/base/Vec.d.ts +2 -2
  30. package/base/Vec.js +88 -90
  31. package/base/VecAny.d.ts +2 -2
  32. package/base/VecAny.js +8 -12
  33. package/base/VecFixed.d.ts +2 -2
  34. package/base/VecFixed.js +63 -71
  35. package/base/index.d.ts +12 -12
  36. package/base/index.js +12 -15
  37. package/bundle.d.ts +7 -7
  38. package/bundle.js +7 -10
  39. package/cjs/abstract/Array.js +138 -159
  40. package/cjs/abstract/Base.js +96 -117
  41. package/cjs/abstract/Int.js +215 -238
  42. package/cjs/abstract/Object.js +30 -49
  43. package/cjs/abstract/index.js +8 -25
  44. package/cjs/base/Compact.js +151 -173
  45. package/cjs/base/DoNotConstruct.js +63 -70
  46. package/cjs/base/Enum.js +350 -396
  47. package/cjs/base/Int.js +16 -24
  48. package/cjs/base/Null.js +70 -86
  49. package/cjs/base/Option.js +220 -234
  50. package/cjs/base/Result.js +56 -71
  51. package/cjs/base/Tuple.js +103 -109
  52. package/cjs/base/UInt.js +13 -19
  53. package/cjs/base/Vec.js +94 -101
  54. package/cjs/base/VecAny.js +10 -16
  55. package/cjs/base/VecFixed.js +66 -79
  56. package/cjs/base/index.js +26 -88
  57. package/cjs/bundle.js +11 -86
  58. package/cjs/detectOther.js +2 -10
  59. package/cjs/detectPackage.js +6 -11
  60. package/cjs/extended/BTreeMap.js +10 -16
  61. package/cjs/extended/BTreeSet.js +162 -178
  62. package/cjs/extended/BitVec.js +70 -77
  63. package/cjs/extended/Bytes.js +59 -62
  64. package/cjs/extended/HashMap.js +10 -16
  65. package/cjs/extended/Linkage.js +50 -60
  66. package/cjs/extended/Map.js +176 -181
  67. package/cjs/extended/OptionBool.js +65 -68
  68. package/cjs/extended/Range.js +37 -46
  69. package/cjs/extended/RangeInclusive.js +13 -21
  70. package/cjs/extended/Type.js +14 -22
  71. package/cjs/extended/U8aFixed.js +33 -43
  72. package/cjs/extended/WrapperKeepOpaque.js +99 -99
  73. package/cjs/extended/WrapperOpaque.js +19 -28
  74. package/cjs/extended/index.js +31 -108
  75. package/cjs/index.js +4 -16
  76. package/cjs/native/Bool.js +101 -116
  77. package/cjs/native/Date.js +125 -151
  78. package/cjs/native/Float.js +95 -114
  79. package/cjs/native/Json.js +102 -124
  80. package/cjs/native/Raw.js +128 -150
  81. package/cjs/native/Set.js +200 -220
  82. package/cjs/native/Struct.data.js +2 -9
  83. package/cjs/native/Struct.js +238 -251
  84. package/cjs/native/Text.js +137 -149
  85. package/cjs/native/index.js +21 -78
  86. package/cjs/packageInfo.js +2 -16
  87. package/cjs/primitive/F32.js +8 -11
  88. package/cjs/primitive/F64.js +8 -11
  89. package/cjs/primitive/I128.js +8 -11
  90. package/cjs/primitive/I16.js +8 -11
  91. package/cjs/primitive/I256.js +8 -11
  92. package/cjs/primitive/I32.js +8 -11
  93. package/cjs/primitive/I64.js +8 -11
  94. package/cjs/primitive/I8.js +8 -11
  95. package/cjs/primitive/U128.js +8 -11
  96. package/cjs/primitive/U16.js +8 -11
  97. package/cjs/primitive/U256.js +8 -11
  98. package/cjs/primitive/U32.js +8 -11
  99. package/cjs/primitive/U64.js +8 -11
  100. package/cjs/primitive/U8.js +8 -11
  101. package/cjs/primitive/USize.js +7 -13
  102. package/cjs/primitive/index.js +47 -199
  103. package/cjs/types/codec.js +2 -1
  104. package/cjs/types/helpers.js +2 -1
  105. package/cjs/types/index.js +6 -48
  106. package/cjs/types/interfaces.js +2 -1
  107. package/cjs/types/registry.js +2 -1
  108. package/cjs/utils/compareArray.js +12 -17
  109. package/cjs/utils/compareMap.js +23 -26
  110. package/cjs/utils/compareSet.js +17 -23
  111. package/cjs/utils/decodeU8a.js +63 -74
  112. package/cjs/utils/index.js +24 -91
  113. package/cjs/utils/mapToTypeMap.js +13 -18
  114. package/cjs/utils/sanitize.js +198 -204
  115. package/cjs/utils/sortValues.js +39 -49
  116. package/cjs/utils/typeToConstructor.js +8 -11
  117. package/cjs/utils/typesToMap.js +10 -16
  118. package/cjs/utils/util.js +6 -11
  119. package/detectOther.js +0 -5
  120. package/detectPackage.js +2 -7
  121. package/extended/BTreeMap.d.ts +2 -2
  122. package/extended/BTreeMap.js +8 -11
  123. package/extended/BTreeSet.d.ts +1 -1
  124. package/extended/BTreeSet.js +159 -172
  125. package/extended/BitVec.d.ts +2 -2
  126. package/extended/BitVec.js +67 -71
  127. package/extended/Bytes.d.ts +2 -2
  128. package/extended/Bytes.js +56 -57
  129. package/extended/HashMap.d.ts +2 -2
  130. package/extended/HashMap.js +8 -11
  131. package/extended/Linkage.d.ts +4 -4
  132. package/extended/Linkage.js +46 -51
  133. package/extended/Map.d.ts +1 -1
  134. package/extended/Map.js +173 -174
  135. package/extended/OptionBool.d.ts +3 -3
  136. package/extended/OptionBool.js +62 -62
  137. package/extended/Range.d.ts +2 -2
  138. package/extended/Range.js +35 -40
  139. package/extended/RangeInclusive.d.ts +2 -2
  140. package/extended/RangeInclusive.js +11 -16
  141. package/extended/Type.d.ts +2 -2
  142. package/extended/Type.js +12 -17
  143. package/extended/U8aFixed.d.ts +2 -2
  144. package/extended/U8aFixed.js +30 -36
  145. package/extended/WrapperKeepOpaque.d.ts +2 -2
  146. package/extended/WrapperKeepOpaque.js +96 -92
  147. package/extended/WrapperOpaque.d.ts +2 -2
  148. package/extended/WrapperOpaque.js +17 -23
  149. package/extended/index.d.ts +14 -14
  150. package/extended/index.js +14 -17
  151. package/index.d.ts +2 -2
  152. package/index.js +2 -5
  153. package/native/Bool.d.ts +1 -1
  154. package/native/Bool.js +99 -111
  155. package/native/Date.d.ts +1 -1
  156. package/native/Date.js +123 -144
  157. package/native/Float.d.ts +1 -1
  158. package/native/Float.js +93 -108
  159. package/native/Json.d.ts +1 -1
  160. package/native/Json.js +100 -114
  161. package/native/Raw.d.ts +1 -1
  162. package/native/Raw.js +126 -146
  163. package/native/Set.d.ts +1 -1
  164. package/native/Set.js +197 -211
  165. package/native/Struct.d.ts +1 -1
  166. package/native/Struct.data.js +0 -3
  167. package/native/Struct.js +235 -242
  168. package/native/Text.d.ts +1 -1
  169. package/native/Text.js +135 -144
  170. package/native/index.d.ts +8 -8
  171. package/native/index.js +8 -11
  172. package/package.json +8 -5
  173. package/packageInfo.js +1 -11
  174. package/primitive/F32.d.ts +2 -2
  175. package/primitive/F32.js +6 -7
  176. package/primitive/F64.d.ts +2 -2
  177. package/primitive/F64.js +6 -7
  178. package/primitive/I128.d.ts +2 -2
  179. package/primitive/I128.js +6 -7
  180. package/primitive/I16.d.ts +2 -2
  181. package/primitive/I16.js +6 -7
  182. package/primitive/I256.d.ts +2 -2
  183. package/primitive/I256.js +6 -7
  184. package/primitive/I32.d.ts +2 -2
  185. package/primitive/I32.js +6 -7
  186. package/primitive/I64.d.ts +2 -2
  187. package/primitive/I64.js +6 -7
  188. package/primitive/I8.d.ts +2 -2
  189. package/primitive/I8.js +6 -7
  190. package/primitive/U128.d.ts +2 -2
  191. package/primitive/U128.js +6 -7
  192. package/primitive/U16.d.ts +2 -2
  193. package/primitive/U16.js +6 -7
  194. package/primitive/U256.d.ts +2 -2
  195. package/primitive/U256.js +6 -7
  196. package/primitive/U32.d.ts +2 -2
  197. package/primitive/U32.js +6 -7
  198. package/primitive/U64.d.ts +2 -2
  199. package/primitive/U64.js +6 -7
  200. package/primitive/U8.d.ts +2 -2
  201. package/primitive/U8.js +6 -7
  202. package/primitive/USize.d.ts +2 -2
  203. package/primitive/USize.js +5 -9
  204. package/primitive/index.d.ts +15 -15
  205. package/primitive/index.js +15 -18
  206. package/types/codec.d.ts +3 -3
  207. package/types/helpers.d.ts +1 -1
  208. package/types/index.d.ts +4 -4
  209. package/types/index.js +4 -7
  210. package/types/interfaces.d.ts +2 -2
  211. package/types/registry.d.ts +3 -3
  212. package/utils/compareArray.js +7 -11
  213. package/utils/compareMap.js +18 -19
  214. package/utils/compareSet.js +12 -16
  215. package/utils/decodeU8a.d.ts +1 -1
  216. package/utils/decodeU8a.js +54 -61
  217. package/utils/index.d.ts +9 -9
  218. package/utils/index.js +9 -12
  219. package/utils/mapToTypeMap.d.ts +1 -1
  220. package/utils/mapToTypeMap.js +9 -13
  221. package/utils/sanitize.d.ts +1 -1
  222. package/utils/sanitize.js +182 -185
  223. package/utils/sortValues.d.ts +1 -1
  224. package/utils/sortValues.js +32 -36
  225. package/utils/typeToConstructor.d.ts +1 -1
  226. package/utils/typeToConstructor.js +3 -4
  227. package/utils/typesToMap.d.ts +1 -1
  228. package/utils/typesToMap.js +5 -8
  229. package/utils/util.js +1 -4
package/extended/Bytes.js CHANGED
@@ -1,29 +1,22 @@
1
- // Copyright 2017-2023 @polkadot/types-codec authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
1
  import { compactAddLength, compactFromU8aLim, compactToU8a, isString, isU8a, u8aToU8a } from '@polkadot/util';
5
- import { Raw } from "../native/Raw.js";
6
-
7
- // Bytes are used for things like on-chain code, so it has a healthy limit
2
+ import { Raw } from '../native/Raw.js';
8
3
  const MAX_LENGTH = 10 * 1024 * 1024;
9
-
10
4
  /** @internal */
11
5
  function decodeBytesU8a(value) {
12
- if (!value.length) {
13
- return [new Uint8Array(), 0];
14
- }
15
-
16
- // handle all other Uint8Array inputs, these do have a length prefix
17
- const [offset, length] = compactFromU8aLim(value);
18
- const total = offset + length;
19
- if (length > MAX_LENGTH) {
20
- throw new Error(`Bytes length ${length.toString()} exceeds ${MAX_LENGTH}`);
21
- } else if (total > value.length) {
22
- throw new Error(`Bytes: required length less than remainder, expected at least ${total}, found ${value.length}`);
23
- }
24
- return [value.subarray(offset, total), total];
6
+ if (!value.length) {
7
+ return [new Uint8Array(), 0];
8
+ }
9
+ // handle all other Uint8Array inputs, these do have a length prefix
10
+ const [offset, length] = compactFromU8aLim(value);
11
+ const total = offset + length;
12
+ if (length > MAX_LENGTH) {
13
+ throw new Error(`Bytes length ${length.toString()} exceeds ${MAX_LENGTH}`);
14
+ }
15
+ else if (total > value.length) {
16
+ throw new Error(`Bytes: required length less than remainder, expected at least ${total}, found ${value.length}`);
17
+ }
18
+ return [value.subarray(offset, total), total];
25
19
  }
26
-
27
20
  /**
28
21
  * @name Bytes
29
22
  * @description
@@ -32,40 +25,46 @@ function decodeBytesU8a(value) {
32
25
  * as what is found in [[Text]] and [[Vec]])
33
26
  */
34
27
  export class Bytes extends Raw {
35
- constructor(registry, value) {
36
- const [u8a, decodedLength] = isU8a(value) && !(value instanceof Raw) ? decodeBytesU8a(value) : Array.isArray(value) || isString(value) ? [u8aToU8a(value), 0] : [value, 0];
37
- super(registry, u8a, decodedLength);
38
- }
39
-
40
- /**
41
- * @description The length of the value when encoded as a Uint8Array
42
- */
43
- get encodedLength() {
44
- return this.length + compactToU8a(this.length).length;
45
- }
46
-
47
- /**
48
- * @description Returns a breakdown of the hex encoding for this Codec
49
- */
50
- inspect(isBare) {
51
- const clength = compactToU8a(this.length);
52
- return {
53
- outer: isBare ? [super.toU8a()] : this.length ? [clength, super.toU8a()] : [clength]
54
- };
55
- }
56
-
57
- /**
58
- * @description Returns the base runtime type name for this instance
59
- */
60
- toRawType() {
61
- return 'Bytes';
62
- }
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 ? super.toU8a(isBare) : compactAddLength(this);
70
- }
28
+ constructor(registry, value) {
29
+ const [u8a, decodedLength] = isU8a(value) && !(value instanceof Raw)
30
+ ? decodeBytesU8a(value)
31
+ : Array.isArray(value) || isString(value)
32
+ ? [u8aToU8a(value), 0]
33
+ : [value, 0];
34
+ super(registry, u8a, decodedLength);
35
+ }
36
+ /**
37
+ * @description The length of the value when encoded as a Uint8Array
38
+ */
39
+ get encodedLength() {
40
+ return this.length + compactToU8a(this.length).length;
41
+ }
42
+ /**
43
+ * @description Returns a breakdown of the hex encoding for this Codec
44
+ */
45
+ inspect(isBare) {
46
+ const clength = compactToU8a(this.length);
47
+ return {
48
+ outer: isBare
49
+ ? [super.toU8a()]
50
+ : this.length
51
+ ? [clength, super.toU8a()]
52
+ : [clength]
53
+ };
54
+ }
55
+ /**
56
+ * @description Returns the base runtime type name for this instance
57
+ */
58
+ toRawType() {
59
+ return 'Bytes';
60
+ }
61
+ /**
62
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
63
+ * @param isBare true when the value has none of the type-specific prefixes (internal)
64
+ */
65
+ toU8a(isBare) {
66
+ return isBare
67
+ ? super.toU8a(isBare)
68
+ : compactAddLength(this);
69
+ }
71
70
  }
@@ -1,5 +1,5 @@
1
- import type { Codec, CodecClass } from '../types';
2
- import { CodecMap } from './Map';
1
+ import type { Codec, CodecClass } from '../types/index.js';
2
+ import { CodecMap } from './Map.js';
3
3
  export declare class HashMap<K extends Codec = Codec, V extends Codec = Codec> extends CodecMap<K, V> {
4
4
  static with<K extends Codec, V extends Codec>(keyType: CodecClass<K> | string, valType: CodecClass<V> | string): CodecClass<CodecMap<K, V>>;
5
5
  }
@@ -1,13 +1,10 @@
1
- // Copyright 2017-2023 @polkadot/types-codec authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import { CodecMap } from "./Map.js";
1
+ import { CodecMap } from './Map.js';
5
2
  export class HashMap extends CodecMap {
6
- static with(keyType, valType) {
7
- return class extends HashMap {
8
- constructor(registry, value) {
9
- super(registry, keyType, valType, value);
10
- }
11
- };
12
- }
3
+ static with(keyType, valType) {
4
+ return class extends HashMap {
5
+ constructor(registry, value) {
6
+ super(registry, keyType, valType, value);
7
+ }
8
+ };
9
+ }
13
10
  }
@@ -1,7 +1,7 @@
1
- import type { Codec, CodecClass, Registry } from '../types';
2
- import { Option } from '../base/Option';
3
- import { Tuple } from '../base/Tuple';
4
- import { Struct } from '../native/Struct';
1
+ import type { Codec, CodecClass, Registry } from '../types/index.js';
2
+ import { Option } from '../base/Option.js';
3
+ import { Tuple } from '../base/Tuple.js';
4
+ import { Struct } from '../native/Struct.js';
5
5
  type TypeWithValues = [CodecClass, any[]];
6
6
  /**
7
7
  * @name Linkage
@@ -1,64 +1,59 @@
1
- // Copyright 2017-2023 @polkadot/types-codec authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import { Option } from "../base/Option.js";
5
- import { Tuple } from "../base/Tuple.js";
6
- import { Vec } from "../base/Vec.js";
7
- import { Struct } from "../native/Struct.js";
1
+ import { Option } from '../base/Option.js';
2
+ import { Tuple } from '../base/Tuple.js';
3
+ import { Vec } from '../base/Vec.js';
4
+ import { Struct } from '../native/Struct.js';
8
5
  const EMPTY = new Uint8Array();
9
-
10
6
  /**
11
7
  * @name Linkage
12
8
  * @description The wrapper for the result from a LinkedMap
13
9
  */
14
10
  export class Linkage extends Struct {
15
- constructor(registry, Type, value) {
16
- super(registry, {
17
- previous: Option.with(Type),
18
- // eslint-disable-next-line sort-keys
19
- next: Option.with(Type)
20
- }, value);
21
- }
22
- static withKey(Type) {
23
- return class extends Linkage {
24
- constructor(registry, value) {
25
- super(registry, Type, value);
26
- }
27
- };
28
- }
29
- get previous() {
30
- return this.get('previous');
31
- }
32
- get next() {
33
- return this.get('next');
34
- }
35
-
36
- /**
37
- * @description Returns the base runtime type name for this instance
38
- */
39
- toRawType() {
40
- return `Linkage<${this.next.toRawType(true)}>`;
41
- }
42
-
43
- /**
44
- * @description Custom toU8a which with bare mode does not return the linkage if empty
45
- */
46
- toU8a() {
47
- // As part of a storage query (where these appear), in the case of empty, the values
48
- // are NOT populated by the node - follow the same logic, leaving it empty
49
- return this.isEmpty ? EMPTY : super.toU8a();
50
- }
11
+ constructor(registry, Type, value) {
12
+ super(registry, {
13
+ previous: Option.with(Type),
14
+ // eslint-disable-next-line sort-keys
15
+ next: Option.with(Type)
16
+ }, value);
17
+ }
18
+ static withKey(Type) {
19
+ return class extends Linkage {
20
+ constructor(registry, value) {
21
+ super(registry, Type, value);
22
+ }
23
+ };
24
+ }
25
+ get previous() {
26
+ return this.get('previous');
27
+ }
28
+ get next() {
29
+ return this.get('next');
30
+ }
31
+ /**
32
+ * @description Returns the base runtime type name for this instance
33
+ */
34
+ toRawType() {
35
+ return `Linkage<${this.next.toRawType(true)}>`;
36
+ }
37
+ /**
38
+ * @description Custom toU8a which with bare mode does not return the linkage if empty
39
+ */
40
+ toU8a() {
41
+ // As part of a storage query (where these appear), in the case of empty, the values
42
+ // are NOT populated by the node - follow the same logic, leaving it empty
43
+ return this.isEmpty
44
+ ? EMPTY
45
+ : super.toU8a();
46
+ }
51
47
  }
52
-
53
48
  /**
54
49
  * @name LinkageResult
55
50
  * @description A Linkage keys/Values tuple
56
51
  */
57
52
  export class LinkageResult extends Tuple {
58
- constructor(registry, [TypeKey, keys], [TypeValue, values]) {
59
- super(registry, {
60
- Keys: Vec.with(TypeKey),
61
- Values: Vec.with(TypeValue)
62
- }, [keys, values]);
63
- }
53
+ constructor(registry, [TypeKey, keys], [TypeValue, values]) {
54
+ super(registry, {
55
+ Keys: Vec.with(TypeKey),
56
+ Values: Vec.with(TypeValue)
57
+ }, [keys, values]);
58
+ }
64
59
  }
package/extended/Map.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { HexString } from '@polkadot/util/types';
2
- import type { AnyJson, Codec, CodecClass, IMap, Inspect, IU8a, Registry } from '../types';
2
+ import type { AnyJson, Codec, CodecClass, IMap, Inspect, IU8a, Registry } from '../types/index.js';
3
3
  export declare class CodecMap<K extends Codec = Codec, V extends Codec = Codec> extends Map<K, V> implements IMap<K, V> {
4
4
  #private;
5
5
  readonly registry: Registry;