@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/cjs/native/Set.js CHANGED
@@ -1,74 +1,68 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
2
+ var _CodecSet_allowed, _CodecSet_byteLength;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
6
4
  exports.CodecSet = void 0;
7
- var _util = require("@polkadot/util");
8
- var _utils = require("../utils");
9
- // Copyright 2017-2023 @polkadot/types-codec authors & contributors
10
- // SPDX-License-Identifier: Apache-2.0
11
-
5
+ const tslib_1 = require("tslib");
6
+ const util_1 = require("@polkadot/util");
7
+ const index_js_1 = require("../utils/index.js");
12
8
  function encodeSet(setValues, values) {
13
- const encoded = new _util.BN(0);
14
- for (let i = 0; i < values.length; i++) {
15
- encoded.ior((0, _util.bnToBn)(setValues[values[i]] || 0));
16
- }
17
- return encoded;
9
+ const encoded = new util_1.BN(0);
10
+ for (let i = 0; i < values.length; i++) {
11
+ encoded.ior((0, util_1.bnToBn)(setValues[values[i]] || 0));
12
+ }
13
+ return encoded;
18
14
  }
19
-
20
15
  /** @internal */
21
16
  function decodeSetArray(setValues, values) {
22
- const result = new Array(values.length);
23
- for (let i = 0; i < values.length; i++) {
24
- const key = values[i];
25
- if ((0, _util.isUndefined)(setValues[key])) {
26
- throw new Error(`Set: Invalid key '${key}' passed to Set, allowed ${Object.keys(setValues).join(', ')}`);
27
- }
28
- result[i] = key;
29
- }
30
- return result;
17
+ const result = new Array(values.length);
18
+ for (let i = 0; i < values.length; i++) {
19
+ const key = values[i];
20
+ if ((0, util_1.isUndefined)(setValues[key])) {
21
+ throw new Error(`Set: Invalid key '${key}' passed to Set, allowed ${Object.keys(setValues).join(', ')}`);
22
+ }
23
+ result[i] = key;
24
+ }
25
+ return result;
31
26
  }
32
-
33
27
  /** @internal */
34
28
  function decodeSetNumber(setValues, _value) {
35
- const bn = (0, _util.bnToBn)(_value);
36
- const keys = Object.keys(setValues);
37
- const result = [];
38
- for (let i = 0; i < keys.length; i++) {
39
- const key = keys[i];
40
- if (bn.and((0, _util.bnToBn)(setValues[key])).eq((0, _util.bnToBn)(setValues[key]))) {
41
- result.push(key);
42
- }
43
- }
44
- const computed = encodeSet(setValues, result);
45
- if (!bn.eq(computed)) {
46
- throw new Error(`Set: Mismatch decoding '${bn.toString()}', computed as '${computed.toString()}' with ${result.join(', ')}`);
47
- }
48
- return result;
29
+ const bn = (0, util_1.bnToBn)(_value);
30
+ const keys = Object.keys(setValues);
31
+ const result = [];
32
+ for (let i = 0; i < keys.length; i++) {
33
+ const key = keys[i];
34
+ if (bn.and((0, util_1.bnToBn)(setValues[key])).eq((0, util_1.bnToBn)(setValues[key]))) {
35
+ result.push(key);
36
+ }
37
+ }
38
+ const computed = encodeSet(setValues, result);
39
+ if (!bn.eq(computed)) {
40
+ throw new Error(`Set: Mismatch decoding '${bn.toString()}', computed as '${computed.toString()}' with ${result.join(', ')}`);
41
+ }
42
+ return result;
49
43
  }
50
-
51
44
  /** @internal */
52
- function decodeSet(setValues) {
53
- let value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
54
- let bitLength = arguments.length > 2 ? arguments[2] : undefined;
55
- if (bitLength % 8 !== 0) {
56
- throw new Error(`Expected valid bitLength, power of 8, found ${bitLength}`);
57
- }
58
- const byteLength = bitLength / 8;
59
- if ((0, _util.isU8a)(value)) {
60
- return value.length === 0 ? [] : decodeSetNumber(setValues, (0, _util.u8aToBn)(value.subarray(0, byteLength), {
61
- isLe: true
62
- }));
63
- } else if ((0, _util.isString)(value)) {
64
- return decodeSet(setValues, (0, _util.u8aToU8a)(value), byteLength);
65
- } else if (value instanceof Set || Array.isArray(value)) {
66
- const input = Array.isArray(value) ? value : [...value.values()];
67
- return decodeSetArray(setValues, input);
68
- }
69
- return decodeSetNumber(setValues, value);
45
+ function decodeSet(setValues, value = 0, bitLength) {
46
+ if (bitLength % 8 !== 0) {
47
+ throw new Error(`Expected valid bitLength, power of 8, found ${bitLength}`);
48
+ }
49
+ const byteLength = bitLength / 8;
50
+ if ((0, util_1.isU8a)(value)) {
51
+ return value.length === 0
52
+ ? []
53
+ : decodeSetNumber(setValues, (0, util_1.u8aToBn)(value.subarray(0, byteLength), { isLe: true }));
54
+ }
55
+ else if ((0, util_1.isString)(value)) {
56
+ return decodeSet(setValues, (0, util_1.u8aToU8a)(value), byteLength);
57
+ }
58
+ else if (value instanceof Set || Array.isArray(value)) {
59
+ const input = Array.isArray(value)
60
+ ? value
61
+ : [...value.values()];
62
+ return decodeSetArray(setValues, input);
63
+ }
64
+ return decodeSetNumber(setValues, value);
70
65
  }
71
-
72
66
  /**
73
67
  * @name Set
74
68
  * @description
@@ -76,165 +70,151 @@ function decodeSet(setValues) {
76
70
  * a bitwise representation of the values.
77
71
  */
78
72
  class CodecSet extends Set {
79
- #allowed;
80
- #byteLength;
81
- constructor(registry, setValues, value) {
82
- let bitLength = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 8;
83
- super(decodeSet(setValues, value, bitLength));
84
- this.registry = registry;
85
- this.#allowed = setValues;
86
- this.#byteLength = bitLength / 8;
87
- }
88
- static with(values, bitLength) {
89
- var _class;
90
- return _class = class extends CodecSet {
91
- constructor(registry, value) {
92
- super(registry, values, value, bitLength);
93
- }
94
- }, (() => {
95
- const keys = Object.keys(values);
96
- const isKeys = new Array(keys.length);
97
- for (let i = 0; i < keys.length; i++) {
98
- isKeys[i] = `is${(0, _util.stringPascalCase)(keys[i])}`;
99
- }
100
- (0, _util.objectProperties)(_class.prototype, isKeys, (_, i, self) => self.strings.includes(keys[i]));
101
- })(), _class;
102
- }
103
-
104
- /**
105
- * @description The length of the value when encoded as a Uint8Array
106
- */
107
- get encodedLength() {
108
- return this.#byteLength;
109
- }
110
-
111
- /**
112
- * @description returns a hash of the contents
113
- */
114
- get hash() {
115
- return this.registry.hash(this.toU8a());
116
- }
117
-
118
- /**
119
- * @description true is the Set contains no values
120
- */
121
- get isEmpty() {
122
- return this.size === 0;
123
- }
124
-
125
- /**
126
- * @description The actual set values as a string[]
127
- */
128
- get strings() {
129
- return [...super.values()];
130
- }
131
-
132
- /**
133
- * @description The encoded value for the set members
134
- */
135
- get valueEncoded() {
136
- return encodeSet(this.#allowed, this.strings);
137
- }
138
-
139
- /**
140
- * @description adds a value to the Set (extended to allow for validity checking)
141
- */
142
- add = key => {
143
- // ^^^ add = () property done to assign this instance's this, otherwise Set.add creates "some" chaos
144
- // we have the isUndefined(this._setValues) in here as well, add is used internally
145
- // in the Set constructor (so it is undefined at this point, and should allow)
146
- if (this.#allowed && (0, _util.isUndefined)(this.#allowed[key])) {
147
- throw new Error(`Set: Invalid key '${key}' on add`);
148
- }
149
- super.add(key);
150
- return this;
151
- };
152
-
153
- /**
154
- * @description Compares the value of the input to see if there is a match
155
- */
156
- eq(other) {
157
- if (Array.isArray(other)) {
158
- // we don't actually care about the order, sort the values
159
- return (0, _utils.compareArray)(this.strings.sort(), other.sort());
160
- } else if (other instanceof Set) {
161
- return this.eq([...other.values()]);
162
- } else if ((0, _util.isNumber)(other) || (0, _util.isBn)(other)) {
163
- return this.valueEncoded.eq((0, _util.bnToBn)(other));
164
- }
165
- return false;
166
- }
167
-
168
- /**
169
- * @description Returns a breakdown of the hex encoding for this Codec
170
- */
171
- inspect() {
172
- return {
173
- outer: [this.toU8a()]
174
- };
175
- }
176
-
177
- /**
178
- * @description Returns a hex string representation of the value
179
- */
180
- toHex() {
181
- return (0, _util.u8aToHex)(this.toU8a());
182
- }
183
-
184
- /**
185
- * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
186
- */
187
- toHuman() {
188
- return this.toJSON();
189
- }
190
-
191
- /**
192
- * @description Converts the Object to JSON, typically used for RPC transfers
193
- */
194
- toJSON() {
195
- return this.strings;
196
- }
197
-
198
- /**
199
- * @description The encoded value for the set members
200
- */
201
- toNumber() {
202
- return this.valueEncoded.toNumber();
203
- }
204
-
205
- /**
206
- * @description Converts the value in a best-fit primitive form
207
- */
208
- toPrimitive() {
209
- return this.toJSON();
210
- }
211
-
212
- /**
213
- * @description Returns the base runtime type name for this instance
214
- */
215
- toRawType() {
216
- return (0, _util.stringify)({
217
- _set: this.#allowed
218
- });
219
- }
220
-
221
- /**
222
- * @description Returns the string representation of the value
223
- */
224
- toString() {
225
- return `[${this.strings.join(', ')}]`;
226
- }
227
-
228
- /**
229
- * @description Encodes the value as a Uint8Array as per the SCALE specifications
230
- * @param isBare true when the value has none of the type-specific prefixes (internal)
231
- */
232
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
233
- toU8a(isBare) {
234
- return (0, _util.bnToU8a)(this.valueEncoded, {
235
- bitLength: this.#byteLength * 8,
236
- isLe: true
237
- });
238
- }
73
+ constructor(registry, setValues, value, bitLength = 8) {
74
+ super(decodeSet(setValues, value, bitLength));
75
+ _CodecSet_allowed.set(this, void 0);
76
+ _CodecSet_byteLength.set(this, void 0);
77
+ /**
78
+ * @description adds a value to the Set (extended to allow for validity checking)
79
+ */
80
+ this.add = (key) => {
81
+ // ^^^ add = () property done to assign this instance's this, otherwise Set.add creates "some" chaos
82
+ // we have the isUndefined(this._setValues) in here as well, add is used internally
83
+ // in the Set constructor (so it is undefined at this point, and should allow)
84
+ if (tslib_1.__classPrivateFieldGet(this, _CodecSet_allowed, "f") && (0, util_1.isUndefined)(tslib_1.__classPrivateFieldGet(this, _CodecSet_allowed, "f")[key])) {
85
+ throw new Error(`Set: Invalid key '${key}' on add`);
86
+ }
87
+ super.add(key);
88
+ return this;
89
+ };
90
+ this.registry = registry;
91
+ tslib_1.__classPrivateFieldSet(this, _CodecSet_allowed, setValues, "f");
92
+ tslib_1.__classPrivateFieldSet(this, _CodecSet_byteLength, bitLength / 8, "f");
93
+ }
94
+ static with(values, bitLength) {
95
+ var _a;
96
+ return _a = class extends CodecSet {
97
+ constructor(registry, value) {
98
+ super(registry, values, value, bitLength);
99
+ }
100
+ },
101
+ (() => {
102
+ const keys = Object.keys(values);
103
+ const isKeys = new Array(keys.length);
104
+ for (let i = 0; i < keys.length; i++) {
105
+ isKeys[i] = `is${(0, util_1.stringPascalCase)(keys[i])}`;
106
+ }
107
+ (0, util_1.objectProperties)(_a.prototype, isKeys, (_, i, self) => self.strings.includes(keys[i]));
108
+ })(),
109
+ _a;
110
+ }
111
+ /**
112
+ * @description The length of the value when encoded as a Uint8Array
113
+ */
114
+ get encodedLength() {
115
+ return tslib_1.__classPrivateFieldGet(this, _CodecSet_byteLength, "f");
116
+ }
117
+ /**
118
+ * @description returns a hash of the contents
119
+ */
120
+ get hash() {
121
+ return this.registry.hash(this.toU8a());
122
+ }
123
+ /**
124
+ * @description true is the Set contains no values
125
+ */
126
+ get isEmpty() {
127
+ return this.size === 0;
128
+ }
129
+ /**
130
+ * @description The actual set values as a string[]
131
+ */
132
+ get strings() {
133
+ return [...super.values()];
134
+ }
135
+ /**
136
+ * @description The encoded value for the set members
137
+ */
138
+ get valueEncoded() {
139
+ return encodeSet(tslib_1.__classPrivateFieldGet(this, _CodecSet_allowed, "f"), this.strings);
140
+ }
141
+ /**
142
+ * @description Compares the value of the input to see if there is a match
143
+ */
144
+ eq(other) {
145
+ if (Array.isArray(other)) {
146
+ // we don't actually care about the order, sort the values
147
+ return (0, index_js_1.compareArray)(this.strings.sort(), other.sort());
148
+ }
149
+ else if (other instanceof Set) {
150
+ return this.eq([...other.values()]);
151
+ }
152
+ else if ((0, util_1.isNumber)(other) || (0, util_1.isBn)(other)) {
153
+ return this.valueEncoded.eq((0, util_1.bnToBn)(other));
154
+ }
155
+ return false;
156
+ }
157
+ /**
158
+ * @description Returns a breakdown of the hex encoding for this Codec
159
+ */
160
+ inspect() {
161
+ return {
162
+ outer: [this.toU8a()]
163
+ };
164
+ }
165
+ /**
166
+ * @description Returns a hex string representation of the value
167
+ */
168
+ toHex() {
169
+ return (0, util_1.u8aToHex)(this.toU8a());
170
+ }
171
+ /**
172
+ * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
173
+ */
174
+ toHuman() {
175
+ return this.toJSON();
176
+ }
177
+ /**
178
+ * @description Converts the Object to JSON, typically used for RPC transfers
179
+ */
180
+ toJSON() {
181
+ return this.strings;
182
+ }
183
+ /**
184
+ * @description The encoded value for the set members
185
+ */
186
+ toNumber() {
187
+ return this.valueEncoded.toNumber();
188
+ }
189
+ /**
190
+ * @description Converts the value in a best-fit primitive form
191
+ */
192
+ toPrimitive() {
193
+ return this.toJSON();
194
+ }
195
+ /**
196
+ * @description Returns the base runtime type name for this instance
197
+ */
198
+ toRawType() {
199
+ return (0, util_1.stringify)({ _set: tslib_1.__classPrivateFieldGet(this, _CodecSet_allowed, "f") });
200
+ }
201
+ /**
202
+ * @description Returns the string representation of the value
203
+ */
204
+ toString() {
205
+ return `[${this.strings.join(', ')}]`;
206
+ }
207
+ /**
208
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
209
+ * @param isBare true when the value has none of the type-specific prefixes (internal)
210
+ */
211
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
212
+ toU8a(isBare) {
213
+ return (0, util_1.bnToU8a)(this.valueEncoded, {
214
+ bitLength: tslib_1.__classPrivateFieldGet(this, _CodecSet_byteLength, "f") * 8,
215
+ isLe: true
216
+ });
217
+ }
239
218
  }
240
- exports.CodecSet = CodecSet;
219
+ exports.CodecSet = CodecSet;
220
+ _CodecSet_allowed = new WeakMap(), _CodecSet_byteLength = new WeakMap();