@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
package/cjs/base/Tuple.js CHANGED
@@ -1,126 +1,120 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
2
+ var _Tuple_Types;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
6
4
  exports.Tuple = void 0;
7
- var _util = require("@polkadot/util");
8
- var _Array = require("../abstract/Array");
9
- var _utils = require("../utils");
10
- // Copyright 2017-2023 @polkadot/types-codec authors & contributors
11
- // SPDX-License-Identifier: Apache-2.0
12
-
5
+ const tslib_1 = require("tslib");
6
+ const util_1 = require("@polkadot/util");
7
+ const Array_1 = require("../abstract/Array");
8
+ const utils_1 = require("../utils");
13
9
  function noopSetDefinition(d) {
14
- return d;
10
+ return d;
15
11
  }
16
-
17
12
  /** @internal */
18
13
  function decodeTuple(registry, result, value, Classes) {
19
- if (Array.isArray(value)) {
20
- const Types = Classes[0];
21
- for (let i = 0; i < Types.length; i++) {
22
- try {
23
- const entry = value == null ? void 0 : value[i];
24
- result[i] = entry instanceof Types[i] ? entry : new Types[i](registry, entry);
25
- } catch (error) {
26
- throw new Error(`Tuple: failed on ${i}:: ${error.message}`);
27
- }
14
+ if (Array.isArray(value)) {
15
+ const Types = Classes[0];
16
+ for (let i = 0; i < Types.length; i++) {
17
+ try {
18
+ const entry = value?.[i];
19
+ result[i] = entry instanceof Types[i]
20
+ ? entry
21
+ : new Types[i](registry, entry);
22
+ }
23
+ catch (error) {
24
+ throw new Error(`Tuple: failed on ${i}:: ${error.message}`);
25
+ }
26
+ }
27
+ return [result, 0];
28
28
  }
29
- return [result, 0];
30
- } else if ((0, _util.isHex)(value)) {
31
- return (0, _utils.decodeU8a)(registry, result, (0, _util.u8aToU8a)(value), Classes);
32
- } else if (!value || !result.length) {
33
- const Types = Classes[0];
34
- for (let i = 0; i < Types.length; i++) {
35
- result[i] = new Types[i](registry);
29
+ else if ((0, util_1.isHex)(value)) {
30
+ return (0, utils_1.decodeU8a)(registry, result, (0, util_1.u8aToU8a)(value), Classes);
36
31
  }
37
- return [result, 0];
38
- }
39
- throw new Error(`Expected array input to Tuple decoding, found ${typeof value}: ${(0, _util.stringify)(value)}`);
32
+ else if (!value || !result.length) {
33
+ const Types = Classes[0];
34
+ for (let i = 0; i < Types.length; i++) {
35
+ result[i] = new Types[i](registry);
36
+ }
37
+ return [result, 0];
38
+ }
39
+ throw new Error(`Expected array input to Tuple decoding, found ${typeof value}: ${(0, util_1.stringify)(value)}`);
40
40
  }
41
-
42
41
  /**
43
42
  * @name Tuple
44
43
  * @description
45
44
  * A Tuple defines an anonymous fixed-length array, where each element has its
46
45
  * own type. It extends the base JS `Array` object.
47
46
  */
48
- class Tuple extends _Array.AbstractArray {
49
- #Types;
50
- constructor(registry, Types, value) {
51
- let {
52
- definition,
53
- setDefinition = noopSetDefinition
54
- } = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
55
- const Classes = definition || setDefinition(Array.isArray(Types) ? [Types.map(t => (0, _utils.typeToConstructor)(registry, t)), []] : (0, _util.isFunction)(Types) || (0, _util.isString)(Types) ? [[(0, _utils.typeToConstructor)(registry, Types)], []] : (0, _utils.mapToTypeMap)(registry, Types));
56
- super(registry, Classes[0].length);
57
- this.initialU8aLength = ((0, _util.isU8a)(value) ? (0, _utils.decodeU8a)(registry, this, value, Classes) : decodeTuple(registry, this, value, Classes))[1];
58
- this.#Types = Classes;
59
- }
60
- static with(Types) {
61
- let definition;
62
-
63
- // eslint-disable-next-line no-return-assign
64
- const setDefinition = d => definition = d;
65
- return class extends Tuple {
66
- constructor(registry, value) {
67
- super(registry, Types, value, {
68
- definition,
69
- setDefinition
70
- });
71
- }
72
- };
73
- }
74
-
75
- /**
76
- * @description The length of the value when encoded as a Uint8Array
77
- */
78
- get encodedLength() {
79
- let total = 0;
80
- for (let i = 0; i < this.length; i++) {
81
- total += this[i].encodedLength;
47
+ class Tuple extends Array_1.AbstractArray {
48
+ constructor(registry, Types, value, { definition, setDefinition = noopSetDefinition } = {}) {
49
+ const Classes = definition || setDefinition(Array.isArray(Types)
50
+ ? [Types.map((t) => (0, utils_1.typeToConstructor)(registry, t)), []]
51
+ : (0, util_1.isFunction)(Types) || (0, util_1.isString)(Types)
52
+ ? [[(0, utils_1.typeToConstructor)(registry, Types)], []]
53
+ : (0, utils_1.mapToTypeMap)(registry, Types));
54
+ super(registry, Classes[0].length);
55
+ _Tuple_Types.set(this, void 0);
56
+ this.initialU8aLength = ((0, util_1.isU8a)(value)
57
+ ? (0, utils_1.decodeU8a)(registry, this, value, Classes)
58
+ : decodeTuple(registry, this, value, Classes))[1];
59
+ tslib_1.__classPrivateFieldSet(this, _Tuple_Types, Classes, "f");
60
+ }
61
+ static with(Types) {
62
+ let definition;
63
+ // eslint-disable-next-line no-return-assign
64
+ const setDefinition = (d) => definition = d;
65
+ return class extends Tuple {
66
+ constructor(registry, value) {
67
+ super(registry, Types, value, { definition, setDefinition });
68
+ }
69
+ };
70
+ }
71
+ /**
72
+ * @description The length of the value when encoded as a Uint8Array
73
+ */
74
+ get encodedLength() {
75
+ let total = 0;
76
+ for (let i = 0; i < this.length; i++) {
77
+ total += this[i].encodedLength;
78
+ }
79
+ return total;
80
+ }
81
+ /**
82
+ * @description The types definition of the tuple
83
+ */
84
+ get Types() {
85
+ return tslib_1.__classPrivateFieldGet(this, _Tuple_Types, "f")[1].length
86
+ ? tslib_1.__classPrivateFieldGet(this, _Tuple_Types, "f")[1]
87
+ : tslib_1.__classPrivateFieldGet(this, _Tuple_Types, "f")[0].map((T) => new T(this.registry).toRawType());
88
+ }
89
+ /**
90
+ * @description Returns a breakdown of the hex encoding for this Codec
91
+ */
92
+ inspect() {
93
+ return {
94
+ inner: this.inspectInner()
95
+ };
96
+ }
97
+ /**
98
+ * @description Returns the base runtime type name for this instance
99
+ */
100
+ toRawType() {
101
+ const types = tslib_1.__classPrivateFieldGet(this, _Tuple_Types, "f")[0].map((T) => this.registry.getClassName(T) || new T(this.registry).toRawType());
102
+ return `(${types.join(',')})`;
103
+ }
104
+ /**
105
+ * @description Returns the string representation of the value
106
+ */
107
+ toString() {
108
+ // Overwrite the default toString representation of Array.
109
+ return (0, util_1.stringify)(this.toJSON());
110
+ }
111
+ /**
112
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
113
+ * @param isBare true when the value has none of the type-specific prefixes (internal)
114
+ */
115
+ toU8a(isBare) {
116
+ return (0, util_1.u8aConcatStrict)(this.toU8aInner(isBare));
82
117
  }
83
- return total;
84
- }
85
-
86
- /**
87
- * @description The types definition of the tuple
88
- */
89
- get Types() {
90
- return this.#Types[1].length ? this.#Types[1] : this.#Types[0].map(T => new T(this.registry).toRawType());
91
- }
92
-
93
- /**
94
- * @description Returns a breakdown of the hex encoding for this Codec
95
- */
96
- inspect() {
97
- return {
98
- inner: this.inspectInner()
99
- };
100
- }
101
-
102
- /**
103
- * @description Returns the base runtime type name for this instance
104
- */
105
- toRawType() {
106
- const types = this.#Types[0].map(T => this.registry.getClassName(T) || new T(this.registry).toRawType());
107
- return `(${types.join(',')})`;
108
- }
109
-
110
- /**
111
- * @description Returns the string representation of the value
112
- */
113
- toString() {
114
- // Overwrite the default toString representation of Array.
115
- return (0, _util.stringify)(this.toJSON());
116
- }
117
-
118
- /**
119
- * @description Encodes the value as a Uint8Array as per the SCALE specifications
120
- * @param isBare true when the value has none of the type-specific prefixes (internal)
121
- */
122
- toU8a(isBare) {
123
- return (0, _util.u8aConcatStrict)(this.toU8aInner(isBare));
124
- }
125
118
  }
126
- exports.Tuple = Tuple;
119
+ exports.Tuple = Tuple;
120
+ _Tuple_Types = new WeakMap();
package/cjs/base/UInt.js CHANGED
@@ -1,13 +1,7 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
2
+ Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.UInt = void 0;
7
- var _Int = require("../abstract/Int");
8
- // Copyright 2017-2023 @polkadot/types-codec authors & contributors
9
- // SPDX-License-Identifier: Apache-2.0
10
-
4
+ const Int_1 = require("../abstract/Int");
11
5
  /**
12
6
  * @name UInt
13
7
  * @description
@@ -18,16 +12,16 @@ var _Int = require("../abstract/Int");
18
12
  * is available here.
19
13
  * @noInheritDoc
20
14
  */
21
- class UInt extends _Int.AbstractInt {
22
- static with(bitLength, typeName) {
23
- return class extends UInt {
24
- constructor(registry, value) {
25
- super(registry, value, bitLength);
26
- }
27
- toRawType() {
28
- return typeName || super.toRawType();
29
- }
30
- };
31
- }
15
+ class UInt extends Int_1.AbstractInt {
16
+ static with(bitLength, typeName) {
17
+ return class extends UInt {
18
+ constructor(registry, value) {
19
+ super(registry, value, bitLength);
20
+ }
21
+ toRawType() {
22
+ return typeName || super.toRawType();
23
+ }
24
+ };
25
+ }
32
26
  }
33
27
  exports.UInt = UInt;
package/cjs/base/Vec.js CHANGED
@@ -1,59 +1,59 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.Vec = void 0;
7
- exports.decodeVec = decodeVec;
8
- var _util = require("@polkadot/util");
9
- var _Array = require("../abstract/Array");
10
- var _utils = require("../utils");
11
- // Copyright 2017-2023 @polkadot/types-codec authors & contributors
12
- // SPDX-License-Identifier: Apache-2.0
13
-
2
+ var _Vec_Type;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Vec = exports.decodeVec = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const util_1 = require("@polkadot/util");
7
+ const Array_1 = require("../abstract/Array");
8
+ const utils_1 = require("../utils");
14
9
  const MAX_LENGTH = 64 * 1024;
15
- const l = (0, _util.logger)('Vec');
10
+ const l = (0, util_1.logger)('Vec');
16
11
  function noopSetDefinition(d) {
17
- return d;
12
+ return d;
18
13
  }
19
14
  function decodeVecLength(value) {
20
- if (Array.isArray(value)) {
21
- return [value, value.length, 0];
22
- } else if ((0, _util.isU8a)(value) || (0, _util.isHex)(value)) {
23
- const u8a = (0, _util.u8aToU8a)(value);
24
- const [startAt, length] = (0, _util.compactFromU8aLim)(u8a);
25
- if (length > MAX_LENGTH) {
26
- throw new Error(`Vec length ${length.toString()} exceeds ${MAX_LENGTH}`);
15
+ if (Array.isArray(value)) {
16
+ return [value, value.length, 0];
17
+ }
18
+ else if ((0, util_1.isU8a)(value) || (0, util_1.isHex)(value)) {
19
+ const u8a = (0, util_1.u8aToU8a)(value);
20
+ const [startAt, length] = (0, util_1.compactFromU8aLim)(u8a);
21
+ if (length > MAX_LENGTH) {
22
+ throw new Error(`Vec length ${length.toString()} exceeds ${MAX_LENGTH}`);
23
+ }
24
+ return [u8a, length, startAt];
25
+ }
26
+ else if (!value) {
27
+ return [null, 0, 0];
27
28
  }
28
- return [u8a, length, startAt];
29
- } else if (!value) {
30
- return [null, 0, 0];
31
- }
32
- throw new Error(`Expected array/hex input to Vec<*> decoding, found ${typeof value}: ${(0, _util.stringify)(value)}`);
29
+ throw new Error(`Expected array/hex input to Vec<*> decoding, found ${typeof value}: ${(0, util_1.stringify)(value)}`);
33
30
  }
34
31
  function decodeVec(registry, result, value, startAt, Type) {
35
- if (Array.isArray(value)) {
36
- const count = result.length;
37
- for (let i = 0; i < count; i++) {
38
- // 26/08/2022 this is actually a false positive - after recent eslint upgdates
39
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
40
- const entry = value[i];
41
- try {
42
- result[i] = entry instanceof Type ? entry : new Type(registry, entry);
43
- } catch (error) {
44
- l.error(`Unable to decode on index ${i}`, error.message);
45
- throw error;
46
- }
32
+ if (Array.isArray(value)) {
33
+ const count = result.length;
34
+ for (let i = 0; i < count; i++) {
35
+ // 26/08/2022 this is actually a false positive - after recent eslint upgdates
36
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
37
+ const entry = value[i];
38
+ try {
39
+ result[i] = entry instanceof Type
40
+ ? entry
41
+ : new Type(registry, entry);
42
+ }
43
+ catch (error) {
44
+ l.error(`Unable to decode on index ${i}`, error.message);
45
+ throw error;
46
+ }
47
+ }
48
+ return [0, 0];
47
49
  }
48
- return [0, 0];
49
- } else if (!value) {
50
- return [0, 0];
51
- }
52
-
53
- // we don't need more checks, we already limited it via the length decoding
54
- return (0, _utils.decodeU8aVec)(registry, result, (0, _util.u8aToU8a)(value), startAt, Type);
50
+ else if (!value) {
51
+ return [0, 0];
52
+ }
53
+ // we don't need more checks, we already limited it via the length decoding
54
+ return (0, utils_1.decodeU8aVec)(registry, result, (0, util_1.u8aToU8a)(value), startAt, Type);
55
55
  }
56
-
56
+ exports.decodeVec = decodeVec;
57
57
  /**
58
58
  * @name Vec
59
59
  * @description
@@ -61,60 +61,53 @@ function decodeVec(registry, result, value, startAt, Type) {
61
61
  * construction with the passed `Type` in the constructor. It is an extension to Array, providing
62
62
  * specific encoding/decoding on top of the base type.
63
63
  */
64
- class Vec extends _Array.AbstractArray {
65
- #Type;
66
- constructor(registry, Type) {
67
- let value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
68
- let {
69
- definition,
70
- setDefinition = noopSetDefinition
71
- } = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
72
- const [decodeFrom, length, startAt] = decodeVecLength(value);
73
- super(registry, length);
74
- this.#Type = definition || setDefinition((0, _utils.typeToConstructor)(registry, Type));
75
- this.initialU8aLength = ((0, _util.isU8a)(decodeFrom) ? (0, _utils.decodeU8aVec)(registry, this, decodeFrom, startAt, this.#Type) : decodeVec(registry, this, decodeFrom, startAt, this.#Type))[0];
76
- }
77
- static with(Type) {
78
- let definition;
79
-
80
- // eslint-disable-next-line no-return-assign
81
- const setDefinition = d => definition = d;
82
- return class extends Vec {
83
- constructor(registry, value) {
84
- super(registry, Type, value, {
85
- definition,
86
- setDefinition
87
- });
88
- }
89
- };
90
- }
91
-
92
- /**
93
- * @description The type for the items
94
- */
95
- get Type() {
96
- return this.#Type.name;
97
- }
98
-
99
- /**
100
- * @description Finds the index of the value in the array
101
- */
102
- indexOf(_other) {
103
- // convert type first, this removes overhead from the eq
104
- const other = _other instanceof this.#Type ? _other : new this.#Type(this.registry, _other);
105
- for (let i = 0; i < this.length; i++) {
106
- if (other.eq(this[i])) {
107
- return i;
108
- }
64
+ class Vec extends Array_1.AbstractArray {
65
+ constructor(registry, Type, value = [], { definition, setDefinition = noopSetDefinition } = {}) {
66
+ const [decodeFrom, length, startAt] = decodeVecLength(value);
67
+ super(registry, length);
68
+ _Vec_Type.set(this, void 0);
69
+ tslib_1.__classPrivateFieldSet(this, _Vec_Type, definition || setDefinition((0, utils_1.typeToConstructor)(registry, Type)), "f");
70
+ this.initialU8aLength = ((0, util_1.isU8a)(decodeFrom)
71
+ ? (0, utils_1.decodeU8aVec)(registry, this, decodeFrom, startAt, tslib_1.__classPrivateFieldGet(this, _Vec_Type, "f"))
72
+ : decodeVec(registry, this, decodeFrom, startAt, tslib_1.__classPrivateFieldGet(this, _Vec_Type, "f")))[0];
73
+ }
74
+ static with(Type) {
75
+ let definition;
76
+ // eslint-disable-next-line no-return-assign
77
+ const setDefinition = (d) => (definition = d);
78
+ return class extends Vec {
79
+ constructor(registry, value) {
80
+ super(registry, Type, value, { definition, setDefinition });
81
+ }
82
+ };
83
+ }
84
+ /**
85
+ * @description The type for the items
86
+ */
87
+ get Type() {
88
+ return tslib_1.__classPrivateFieldGet(this, _Vec_Type, "f").name;
89
+ }
90
+ /**
91
+ * @description Finds the index of the value in the array
92
+ */
93
+ indexOf(_other) {
94
+ // convert type first, this removes overhead from the eq
95
+ const other = _other instanceof tslib_1.__classPrivateFieldGet(this, _Vec_Type, "f")
96
+ ? _other
97
+ : new (tslib_1.__classPrivateFieldGet(this, _Vec_Type, "f"))(this.registry, _other);
98
+ for (let i = 0; i < this.length; i++) {
99
+ if (other.eq(this[i])) {
100
+ return i;
101
+ }
102
+ }
103
+ return -1;
104
+ }
105
+ /**
106
+ * @description Returns the base runtime type name for this instance
107
+ */
108
+ toRawType() {
109
+ return `Vec<${this.registry.getClassName(tslib_1.__classPrivateFieldGet(this, _Vec_Type, "f")) || new (tslib_1.__classPrivateFieldGet(this, _Vec_Type, "f"))(this.registry).toRawType()}>`;
109
110
  }
110
- return -1;
111
- }
112
-
113
- /**
114
- * @description Returns the base runtime type name for this instance
115
- */
116
- toRawType() {
117
- return `Vec<${this.registry.getClassName(this.#Type) || new this.#Type(this.registry).toRawType()}>`;
118
- }
119
111
  }
120
- exports.Vec = Vec;
112
+ exports.Vec = Vec;
113
+ _Vec_Type = new WeakMap();
@@ -1,13 +1,7 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
2
+ Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.VecAny = void 0;
7
- var _Array = require("../abstract/Array");
8
- // Copyright 2017-2023 @polkadot/types-codec authors & contributors
9
- // SPDX-License-Identifier: Apache-2.0
10
-
4
+ const Array_1 = require("../abstract/Array");
11
5
  /**
12
6
  * @name VecAny
13
7
  * @description
@@ -15,13 +9,13 @@ var _Array = require("../abstract/Array");
15
9
  * a vector, this can be used to manage array-like structures with variable arguments of
16
10
  * any types
17
11
  */
18
- class VecAny extends _Array.AbstractArray {
19
- /**
20
- * @description Returns the base runtime type name for this instance
21
- */
22
- toRawType() {
23
- // FIXME This is basically an any type, cannot instantiate via createType
24
- return 'Vec<Codec>';
25
- }
12
+ class VecAny extends Array_1.AbstractArray {
13
+ /**
14
+ * @description Returns the base runtime type name for this instance
15
+ */
16
+ toRawType() {
17
+ // FIXME This is basically an any type, cannot instantiate via createType
18
+ return 'Vec<Codec>';
19
+ }
26
20
  }
27
21
  exports.VecAny = VecAny;