@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.
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,27 +1,21 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.compareSet = compareSet;
7
- var _util = require("@polkadot/util");
8
- // Copyright 2017-2023 @polkadot/types-codec authors & contributors
9
- // SPDX-License-Identifier: Apache-2.0
10
-
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compareSet = void 0;
4
+ const util_1 = require("@polkadot/util");
11
5
  function compareSetArray(a, b) {
12
- // equal number of entries and each entry in the array should match
13
- return a.size === b.length && !b.some(e => !a.has(e));
6
+ // equal number of entries and each entry in the array should match
7
+ return (a.size === b.length) && !b.some((e) => !a.has(e));
14
8
  }
15
-
16
- // NOTE These are used internally and when comparing objects, expects that
17
- // when the second is an Set<string, Codec> that the first has to be as well
18
9
  function compareSet(a, b) {
19
- if (Array.isArray(b)) {
20
- return compareSetArray(a, b);
21
- } else if (b instanceof Set) {
22
- return compareSetArray(a, [...b.values()]);
23
- } else if ((0, _util.isObject)(b)) {
24
- return compareSetArray(a, Object.values(b));
25
- }
26
- return false;
27
- }
10
+ if (Array.isArray(b)) {
11
+ return compareSetArray(a, b);
12
+ }
13
+ else if (b instanceof Set) {
14
+ return compareSetArray(a, [...b.values()]);
15
+ }
16
+ else if ((0, util_1.isObject)(b)) {
17
+ return compareSetArray(a, Object.values(b));
18
+ }
19
+ return false;
20
+ }
21
+ exports.compareSet = compareSet;
@@ -1,34 +1,21 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.decodeU8a = decodeU8a;
7
- exports.decodeU8aStruct = decodeU8aStruct;
8
- exports.decodeU8aVec = decodeU8aVec;
9
- var _util = require("@polkadot/util");
10
- // Copyright 2017-2023 @polkadot/types-codec authors & contributors
11
- // SPDX-License-Identifier: Apache-2.0
12
-
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decodeU8aVec = exports.decodeU8aStruct = exports.decodeU8a = void 0;
4
+ const util_1 = require("@polkadot/util");
13
5
  /** @internal */
14
- function formatFailure(registry, fn, result, _ref, u8a, i, count, Type, key) {
15
- let {
16
- message
17
- } = _ref;
18
- let type = '';
19
- try {
20
- type = `: ${new Type(registry).toRawType()}`;
21
- } catch {
22
- // ignore
23
- }
24
-
25
- // This is extra debugging info (we most-probably want this in in some way, shape or form,
26
- // but at this point not quite sure how to include and format it (it can be quite massive)
27
- // console.error(JSON.stringify(result, null, 2));
28
-
29
- return `${fn}: failed at ${(0, _util.u8aToHex)(u8a.subarray(0, 16))}…${key ? ` on ${key}` : ''} (index ${i + 1}/${count})${type}:: ${message}`;
6
+ function formatFailure(registry, fn, result, { message }, u8a, i, count, Type, key) {
7
+ let type = '';
8
+ try {
9
+ type = `: ${new Type(registry).toRawType()}`;
10
+ }
11
+ catch {
12
+ // ignore
13
+ }
14
+ // This is extra debugging info (we most-probably want this in in some way, shape or form,
15
+ // but at this point not quite sure how to include and format it (it can be quite massive)
16
+ // console.error(JSON.stringify(result, null, 2));
17
+ return `${fn}: failed at ${(0, util_1.u8aToHex)(u8a.subarray(0, 16))}…${key ? ` on ${key}` : ''} (index ${i + 1}/${count})${type}:: ${message}`;
30
18
  }
31
-
32
19
  /**
33
20
  * @internal
34
21
  *
@@ -39,48 +26,48 @@ function formatFailure(registry, fn, result, _ref, u8a, i, count, Type, key) {
39
26
  * @param result - The result array (will be returned with values pushed)
40
27
  * @param types - The array of CodecClass to decode the U8a against.
41
28
  */
42
- function decodeU8a(registry, result, u8a, _ref2) {
43
- let [Types, keys] = _ref2;
44
- const count = result.length;
45
- let offset = 0;
46
- let i = 0;
47
- try {
48
- while (i < count) {
49
- const value = new Types[i](registry, u8a.subarray(offset));
50
- offset += value.initialU8aLength || value.encodedLength;
51
- result[i] = value;
52
- i++;
29
+ function decodeU8a(registry, result, u8a, [Types, keys]) {
30
+ const count = result.length;
31
+ let offset = 0;
32
+ let i = 0;
33
+ try {
34
+ while (i < count) {
35
+ const value = new Types[i](registry, u8a.subarray(offset));
36
+ offset += value.initialU8aLength || value.encodedLength;
37
+ result[i] = value;
38
+ i++;
39
+ }
40
+ }
41
+ catch (error) {
42
+ throw new Error(formatFailure(registry, 'decodeU8a', result, error, u8a.subarray(offset), i, count, Types[i], keys[i]));
53
43
  }
54
- } catch (error) {
55
- throw new Error(formatFailure(registry, 'decodeU8a', result, error, u8a.subarray(offset), i, count, Types[i], keys[i]));
56
- }
57
- return [result, offset];
44
+ return [result, offset];
58
45
  }
59
-
46
+ exports.decodeU8a = decodeU8a;
60
47
  /**
61
48
  * @internal
62
49
  *
63
50
  * Split from decodeU8a since this is specialized to zip returns ... while we duplicate, this
64
51
  * is all on the hot-path, so it is not great, however there is (some) method behind the madness
65
52
  */
66
- function decodeU8aStruct(registry, result, u8a, _ref3) {
67
- let [Types, keys] = _ref3;
68
- const count = result.length;
69
- let offset = 0;
70
- let i = 0;
71
- try {
72
- while (i < count) {
73
- const value = new Types[i](registry, u8a.subarray(offset));
74
- offset += value.initialU8aLength || value.encodedLength;
75
- result[i] = [keys[i], value];
76
- i++;
53
+ function decodeU8aStruct(registry, result, u8a, [Types, keys]) {
54
+ const count = result.length;
55
+ let offset = 0;
56
+ let i = 0;
57
+ try {
58
+ while (i < count) {
59
+ const value = new Types[i](registry, u8a.subarray(offset));
60
+ offset += value.initialU8aLength || value.encodedLength;
61
+ result[i] = [keys[i], value];
62
+ i++;
63
+ }
64
+ }
65
+ catch (error) {
66
+ throw new Error(formatFailure(registry, 'decodeU8aStruct', result, error, u8a.subarray(offset), i, count, Types[i], keys[i]));
77
67
  }
78
- } catch (error) {
79
- throw new Error(formatFailure(registry, 'decodeU8aStruct', result, error, u8a.subarray(offset), i, count, Types[i], keys[i]));
80
- }
81
- return [result, offset];
68
+ return [result, offset];
82
69
  }
83
-
70
+ exports.decodeU8aStruct = decodeU8aStruct;
84
71
  /**
85
72
  * @internal
86
73
  *
@@ -88,18 +75,20 @@ function decodeU8aStruct(registry, result, u8a, _ref3) {
88
75
  * is all on the hot-path, so it is not great, however there is (some) method behind the madness
89
76
  */
90
77
  function decodeU8aVec(registry, result, u8a, startAt, Type) {
91
- const count = result.length;
92
- let offset = startAt;
93
- let i = 0;
94
- try {
95
- while (i < count) {
96
- const value = new Type(registry, u8a.subarray(offset));
97
- offset += value.initialU8aLength || value.encodedLength;
98
- result[i] = value;
99
- i++;
78
+ const count = result.length;
79
+ let offset = startAt;
80
+ let i = 0;
81
+ try {
82
+ while (i < count) {
83
+ const value = new Type(registry, u8a.subarray(offset));
84
+ offset += value.initialU8aLength || value.encodedLength;
85
+ result[i] = value;
86
+ i++;
87
+ }
100
88
  }
101
- } catch (error) {
102
- throw new Error(formatFailure(registry, 'decodeU8aVec', result, error, u8a.subarray(offset), i, count, Type));
103
- }
104
- return [offset, offset - startAt];
105
- }
89
+ catch (error) {
90
+ throw new Error(formatFailure(registry, 'decodeU8aVec', result, error, u8a.subarray(offset), i, count, Type));
91
+ }
92
+ return [offset, offset - startAt];
93
+ }
94
+ exports.decodeU8aVec = decodeU8aVec;
@@ -1,92 +1,25 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "compareArray", {
7
- enumerable: true,
8
- get: function () {
9
- return _compareArray.compareArray;
10
- }
11
- });
12
- Object.defineProperty(exports, "compareMap", {
13
- enumerable: true,
14
- get: function () {
15
- return _compareMap.compareMap;
16
- }
17
- });
18
- Object.defineProperty(exports, "compareSet", {
19
- enumerable: true,
20
- get: function () {
21
- return _compareSet.compareSet;
22
- }
23
- });
24
- Object.defineProperty(exports, "decodeU8a", {
25
- enumerable: true,
26
- get: function () {
27
- return _decodeU8a.decodeU8a;
28
- }
29
- });
30
- Object.defineProperty(exports, "decodeU8aStruct", {
31
- enumerable: true,
32
- get: function () {
33
- return _decodeU8a.decodeU8aStruct;
34
- }
35
- });
36
- Object.defineProperty(exports, "decodeU8aVec", {
37
- enumerable: true,
38
- get: function () {
39
- return _decodeU8a.decodeU8aVec;
40
- }
41
- });
42
- Object.defineProperty(exports, "mapToTypeMap", {
43
- enumerable: true,
44
- get: function () {
45
- return _mapToTypeMap.mapToTypeMap;
46
- }
47
- });
48
- Object.defineProperty(exports, "sanitize", {
49
- enumerable: true,
50
- get: function () {
51
- return _sanitize.sanitize;
52
- }
53
- });
54
- Object.defineProperty(exports, "sortAsc", {
55
- enumerable: true,
56
- get: function () {
57
- return _sortValues.sortAsc;
58
- }
59
- });
60
- Object.defineProperty(exports, "sortMap", {
61
- enumerable: true,
62
- get: function () {
63
- return _sortValues.sortMap;
64
- }
65
- });
66
- Object.defineProperty(exports, "sortSet", {
67
- enumerable: true,
68
- get: function () {
69
- return _sortValues.sortSet;
70
- }
71
- });
72
- Object.defineProperty(exports, "typeToConstructor", {
73
- enumerable: true,
74
- get: function () {
75
- return _typeToConstructor.typeToConstructor;
76
- }
77
- });
78
- Object.defineProperty(exports, "typesToMap", {
79
- enumerable: true,
80
- get: function () {
81
- return _typesToMap.typesToMap;
82
- }
83
- });
84
- var _compareArray = require("./compareArray");
85
- var _compareMap = require("./compareMap");
86
- var _compareSet = require("./compareSet");
87
- var _decodeU8a = require("./decodeU8a");
88
- var _mapToTypeMap = require("./mapToTypeMap");
89
- var _typeToConstructor = require("./typeToConstructor");
90
- var _sanitize = require("./sanitize");
91
- var _sortValues = require("./sortValues");
92
- var _typesToMap = require("./typesToMap");
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.typesToMap = exports.sortMap = exports.sortSet = exports.sortAsc = exports.sanitize = exports.typeToConstructor = exports.mapToTypeMap = exports.decodeU8aVec = exports.decodeU8aStruct = exports.decodeU8a = exports.compareSet = exports.compareMap = exports.compareArray = void 0;
4
+ var compareArray_1 = require("./compareArray");
5
+ Object.defineProperty(exports, "compareArray", { enumerable: true, get: function () { return compareArray_1.compareArray; } });
6
+ var compareMap_1 = require("./compareMap");
7
+ Object.defineProperty(exports, "compareMap", { enumerable: true, get: function () { return compareMap_1.compareMap; } });
8
+ var compareSet_1 = require("./compareSet");
9
+ Object.defineProperty(exports, "compareSet", { enumerable: true, get: function () { return compareSet_1.compareSet; } });
10
+ var decodeU8a_1 = require("./decodeU8a");
11
+ Object.defineProperty(exports, "decodeU8a", { enumerable: true, get: function () { return decodeU8a_1.decodeU8a; } });
12
+ Object.defineProperty(exports, "decodeU8aStruct", { enumerable: true, get: function () { return decodeU8a_1.decodeU8aStruct; } });
13
+ Object.defineProperty(exports, "decodeU8aVec", { enumerable: true, get: function () { return decodeU8a_1.decodeU8aVec; } });
14
+ var mapToTypeMap_1 = require("./mapToTypeMap");
15
+ Object.defineProperty(exports, "mapToTypeMap", { enumerable: true, get: function () { return mapToTypeMap_1.mapToTypeMap; } });
16
+ var typeToConstructor_1 = require("./typeToConstructor");
17
+ Object.defineProperty(exports, "typeToConstructor", { enumerable: true, get: function () { return typeToConstructor_1.typeToConstructor; } });
18
+ var sanitize_1 = require("./sanitize");
19
+ Object.defineProperty(exports, "sanitize", { enumerable: true, get: function () { return sanitize_1.sanitize; } });
20
+ var sortValues_1 = require("./sortValues");
21
+ Object.defineProperty(exports, "sortAsc", { enumerable: true, get: function () { return sortValues_1.sortAsc; } });
22
+ Object.defineProperty(exports, "sortSet", { enumerable: true, get: function () { return sortValues_1.sortSet; } });
23
+ Object.defineProperty(exports, "sortMap", { enumerable: true, get: function () { return sortValues_1.sortMap; } });
24
+ var typesToMap_1 = require("./typesToMap");
25
+ Object.defineProperty(exports, "typesToMap", { enumerable: true, get: function () { return typesToMap_1.typesToMap; } });
@@ -1,23 +1,18 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.mapToTypeMap = mapToTypeMap;
7
- var _typeToConstructor = require("./typeToConstructor");
8
- // Copyright 2017-2023 @polkadot/types-codec authors & contributors
9
- // SPDX-License-Identifier: Apache-2.0
10
-
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapToTypeMap = void 0;
4
+ const typeToConstructor_1 = require("./typeToConstructor");
11
5
  /**
12
6
  * @description takes an input map of the form `{ [string]: string | CodecClass }` and returns a map of `{ [string]: CodecClass }`
13
7
  */
14
8
  function mapToTypeMap(registry, input) {
15
- const entries = Object.entries(input);
16
- const count = entries.length;
17
- const output = [new Array(count), new Array(count)];
18
- for (let i = 0; i < count; i++) {
19
- output[1][i] = entries[i][0];
20
- output[0][i] = (0, _typeToConstructor.typeToConstructor)(registry, entries[i][1]);
21
- }
22
- return output;
23
- }
9
+ const entries = Object.entries(input);
10
+ const count = entries.length;
11
+ const output = [new Array(count), new Array(count)];
12
+ for (let i = 0; i < count; i++) {
13
+ output[1][i] = entries[i][0];
14
+ output[0][i] = (0, typeToConstructor_1.typeToConstructor)(registry, entries[i][1]);
15
+ }
16
+ return output;
17
+ }
18
+ exports.mapToTypeMap = mapToTypeMap;