@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
@@ -1,54 +1,53 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
2
+ var _Option_Type, _Option_raw;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
6
4
  exports.Option = void 0;
7
- var _util = require("@polkadot/util");
8
- var _utils = require("../utils");
9
- var _Null = require("./Null");
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 index_js_1 = require("../utils/index.js");
8
+ const Null_js_1 = require("./Null.js");
13
9
  function noopSetDefinition(d) {
14
- return d;
10
+ return d;
15
11
  }
16
- class None extends _Null.Null {
17
- /**
18
- * @description Returns the base runtime type name for this instance
19
- */
20
- toRawType() {
21
- return 'None';
22
- }
12
+ class None extends Null_js_1.Null {
13
+ /**
14
+ * @description Returns the base runtime type name for this instance
15
+ */
16
+ toRawType() {
17
+ return 'None';
18
+ }
23
19
  }
24
-
25
20
  /** @internal */
26
21
  function decodeOption(registry, Type, value) {
27
- if (value instanceof Type) {
28
- // don't re-create, use as it (which also caters for derived types)
29
- return value;
30
- } else if (value instanceof Option) {
31
- if (value.value instanceof Type) {
32
- // same instance, return it
33
- return value.value;
34
- } else if (value.isNone) {
35
- // internal is None, we are also none
36
- return new None(registry);
37
- }
38
-
39
- // convert the actual value into known
40
- return new Type(registry, value.value);
41
- } else if ((0, _util.isNull)(value) || (0, _util.isUndefined)(value) || value === '0x' || value instanceof None) {
42
- // anyhting empty we pass as-is
43
- return new None(registry);
44
- } else if ((0, _util.isU8a)(value)) {
45
- // the isU8a check happens last in the if-tree - since the wrapped value
46
- // may be an instance of it, so Type and Option checks go in first
47
- return !value.length || value[0] === 0 ? new None(registry) : new Type(registry, value.subarray(1));
48
- }
49
- return new Type(registry, value);
22
+ if (value instanceof Type) {
23
+ // don't re-create, use as it (which also caters for derived types)
24
+ return value;
25
+ }
26
+ else if (value instanceof Option) {
27
+ if (value.value instanceof Type) {
28
+ // same instance, return it
29
+ return value.value;
30
+ }
31
+ else if (value.isNone) {
32
+ // internal is None, we are also none
33
+ return new None(registry);
34
+ }
35
+ // convert the actual value into known
36
+ return new Type(registry, value.value);
37
+ }
38
+ else if ((0, util_1.isNull)(value) || (0, util_1.isUndefined)(value) || value === '0x' || value instanceof None) {
39
+ // anyhting empty we pass as-is
40
+ return new None(registry);
41
+ }
42
+ else if ((0, util_1.isU8a)(value)) {
43
+ // the isU8a check happens last in the if-tree - since the wrapped value
44
+ // may be an instance of it, so Type and Option checks go in first
45
+ return !value.length || value[0] === 0
46
+ ? new None(registry)
47
+ : new Type(registry, value.subarray(1));
48
+ }
49
+ return new Type(registry, value);
50
50
  }
51
-
52
51
  /**
53
52
  * @name Option
54
53
  * @description
@@ -58,195 +57,182 @@ function decodeOption(registry, Type, value) {
58
57
  * with a value if/as required/found.
59
58
  */
60
59
  class Option {
61
- #Type;
62
- #raw;
63
- constructor(registry, typeName, value) {
64
- let {
65
- definition,
66
- setDefinition = noopSetDefinition
67
- } = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
68
- const Type = definition || setDefinition((0, _utils.typeToConstructor)(registry, typeName));
69
- const decoded = (0, _util.isU8a)(value) && value.length && !(0, _util.isCodec)(value) ? value[0] === 0 ? new None(registry) : new Type(registry, value.subarray(1)) : decodeOption(registry, Type, value);
70
- this.registry = registry;
71
- this.#Type = Type;
72
- this.#raw = decoded;
73
- if (decoded != null && decoded.initialU8aLength) {
74
- this.initialU8aLength = 1 + decoded.initialU8aLength;
75
- }
76
- }
77
- static with(Type) {
78
- let definition;
79
- const setDefinition = d => {
80
- definition = d;
81
- return d;
82
- };
83
- return class extends Option {
84
- constructor(registry, value) {
85
- super(registry, Type, value, {
86
- definition,
87
- setDefinition
88
- });
89
- }
90
- };
91
- }
92
-
93
- /**
94
- * @description The length of the value when encoded as a Uint8Array
95
- */
96
- get encodedLength() {
97
- // boolean byte (has value, doesn't have) along with wrapped length
98
- return 1 + this.#raw.encodedLength;
99
- }
100
-
101
- /**
102
- * @description returns a hash of the contents
103
- */
104
- get hash() {
105
- return this.registry.hash(this.toU8a());
106
- }
107
-
108
- /**
109
- * @description Checks if the Option has no value
110
- */
111
- get isEmpty() {
112
- return this.isNone;
113
- }
114
-
115
- /**
116
- * @description Checks if the Option has no value
117
- */
118
- get isNone() {
119
- return this.#raw instanceof None;
120
- }
121
-
122
- /**
123
- * @description Checks if the Option has a value
124
- */
125
- get isSome() {
126
- return !this.isNone;
127
- }
128
-
129
- /**
130
- * @description The actual value for the Option
131
- */
132
- get value() {
133
- return this.#raw;
134
- }
135
-
136
- /**
137
- * @description Compares the value of the input to see if there is a match
138
- */
139
- eq(other) {
140
- if (other instanceof Option) {
141
- return this.isSome === other.isSome && this.value.eq(other.value);
142
- }
143
- return this.value.eq(other);
144
- }
145
-
146
- /**
147
- * @description Returns a breakdown of the hex encoding for this Codec
148
- */
149
- inspect() {
150
- if (this.isNone) {
151
- return {
152
- outer: [new Uint8Array([0])]
153
- };
154
- }
155
- const {
156
- inner,
157
- outer = []
158
- } = this.#raw.inspect();
159
- return {
160
- inner,
161
- outer: [new Uint8Array([1]), ...outer]
162
- };
163
- }
164
-
165
- /**
166
- * @description Returns a hex string representation of the value
167
- */
168
- toHex() {
169
- // This attempts to align with the JSON encoding - actually in this case
170
- // the isSome value is correct, however the `isNone` may be problematic
171
- return this.isNone ? '0x' : (0, _util.u8aToHex)(this.toU8a().subarray(1));
172
- }
173
-
174
- /**
175
- * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
176
- */
177
- toHuman(isExtended) {
178
- return this.#raw.toHuman(isExtended);
179
- }
180
-
181
- /**
182
- * @description Converts the Object to JSON, typically used for RPC transfers
183
- */
184
- toJSON() {
185
- return this.isNone ? null : this.#raw.toJSON();
186
- }
187
-
188
- /**
189
- * @description Converts the value in a best-fit primitive form
190
- */
191
- toPrimitive() {
192
- return this.isNone ? null : this.#raw.toPrimitive();
193
- }
194
-
195
- /**
196
- * @description Returns the base runtime type name for this instance
197
- */
198
- toRawType(isBare) {
199
- const wrapped = this.registry.getClassName(this.#Type) || new this.#Type(this.registry).toRawType();
200
- return isBare ? wrapped : `Option<${wrapped}>`;
201
- }
202
-
203
- /**
204
- * @description Returns the string representation of the value
205
- */
206
- toString() {
207
- return this.#raw.toString();
208
- }
209
-
210
- /**
211
- * @description Encodes the value as a Uint8Array as per the SCALE specifications
212
- * @param isBare true when the value has none of the type-specific prefixes (internal)
213
- */
214
- toU8a(isBare) {
215
- if (isBare) {
216
- return this.#raw.toU8a(true);
217
- }
218
- const u8a = new Uint8Array(this.encodedLength);
219
- if (this.isSome) {
220
- u8a.set([1]);
221
- u8a.set(this.#raw.toU8a(), 1);
222
- }
223
- return u8a;
224
- }
225
-
226
- /**
227
- * @description Returns the value that the Option represents (if available), throws if null
228
- */
229
- unwrap() {
230
- if (this.isNone) {
231
- throw new Error('Option: unwrapping a None value');
232
- }
233
- return this.#raw;
234
- }
235
-
236
- /**
237
- * @description Returns the value that the Option represents (if available) or defaultValue if none
238
- * @param defaultValue The value to return if the option isNone
239
- */
240
- unwrapOr(defaultValue) {
241
- return this.isSome ? this.unwrap() : defaultValue;
242
- }
243
-
244
- /**
245
- * @description Returns the value that the Option represents (if available) or defaultValue if none
246
- * @param defaultValue The value to return if the option isNone
247
- */
248
- unwrapOrDefault() {
249
- return this.isSome ? this.unwrap() : new this.#Type(this.registry);
250
- }
60
+ constructor(registry, typeName, value, { definition, setDefinition = noopSetDefinition } = {}) {
61
+ _Option_Type.set(this, void 0);
62
+ _Option_raw.set(this, void 0);
63
+ const Type = definition || setDefinition((0, index_js_1.typeToConstructor)(registry, typeName));
64
+ const decoded = (0, util_1.isU8a)(value) && value.length && !(0, util_1.isCodec)(value)
65
+ ? value[0] === 0
66
+ ? new None(registry)
67
+ : new Type(registry, value.subarray(1))
68
+ : decodeOption(registry, Type, value);
69
+ this.registry = registry;
70
+ tslib_1.__classPrivateFieldSet(this, _Option_Type, Type, "f");
71
+ tslib_1.__classPrivateFieldSet(this, _Option_raw, decoded, "f");
72
+ if (decoded?.initialU8aLength) {
73
+ this.initialU8aLength = 1 + decoded.initialU8aLength;
74
+ }
75
+ }
76
+ static with(Type) {
77
+ let definition;
78
+ const setDefinition = (d) => {
79
+ definition = d;
80
+ return d;
81
+ };
82
+ return class extends Option {
83
+ constructor(registry, value) {
84
+ super(registry, Type, value, { definition, setDefinition });
85
+ }
86
+ };
87
+ }
88
+ /**
89
+ * @description The length of the value when encoded as a Uint8Array
90
+ */
91
+ get encodedLength() {
92
+ // boolean byte (has value, doesn't have) along with wrapped length
93
+ return 1 + tslib_1.__classPrivateFieldGet(this, _Option_raw, "f").encodedLength;
94
+ }
95
+ /**
96
+ * @description returns a hash of the contents
97
+ */
98
+ get hash() {
99
+ return this.registry.hash(this.toU8a());
100
+ }
101
+ /**
102
+ * @description Checks if the Option has no value
103
+ */
104
+ get isEmpty() {
105
+ return this.isNone;
106
+ }
107
+ /**
108
+ * @description Checks if the Option has no value
109
+ */
110
+ get isNone() {
111
+ return tslib_1.__classPrivateFieldGet(this, _Option_raw, "f") instanceof None;
112
+ }
113
+ /**
114
+ * @description Checks if the Option has a value
115
+ */
116
+ get isSome() {
117
+ return !this.isNone;
118
+ }
119
+ /**
120
+ * @description The actual value for the Option
121
+ */
122
+ get value() {
123
+ return tslib_1.__classPrivateFieldGet(this, _Option_raw, "f");
124
+ }
125
+ /**
126
+ * @description Compares the value of the input to see if there is a match
127
+ */
128
+ eq(other) {
129
+ if (other instanceof Option) {
130
+ return (this.isSome === other.isSome) && this.value.eq(other.value);
131
+ }
132
+ return this.value.eq(other);
133
+ }
134
+ /**
135
+ * @description Returns a breakdown of the hex encoding for this Codec
136
+ */
137
+ inspect() {
138
+ if (this.isNone) {
139
+ return { outer: [new Uint8Array([0])] };
140
+ }
141
+ const { inner, outer = [] } = tslib_1.__classPrivateFieldGet(this, _Option_raw, "f").inspect();
142
+ return {
143
+ inner,
144
+ outer: [new Uint8Array([1]), ...outer]
145
+ };
146
+ }
147
+ /**
148
+ * @description Returns a hex string representation of the value
149
+ */
150
+ toHex() {
151
+ // This attempts to align with the JSON encoding - actually in this case
152
+ // the isSome value is correct, however the `isNone` may be problematic
153
+ return this.isNone
154
+ ? '0x'
155
+ : (0, util_1.u8aToHex)(this.toU8a().subarray(1));
156
+ }
157
+ /**
158
+ * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
159
+ */
160
+ toHuman(isExtended) {
161
+ return tslib_1.__classPrivateFieldGet(this, _Option_raw, "f").toHuman(isExtended);
162
+ }
163
+ /**
164
+ * @description Converts the Object to JSON, typically used for RPC transfers
165
+ */
166
+ toJSON() {
167
+ return this.isNone
168
+ ? null
169
+ : tslib_1.__classPrivateFieldGet(this, _Option_raw, "f").toJSON();
170
+ }
171
+ /**
172
+ * @description Converts the value in a best-fit primitive form
173
+ */
174
+ toPrimitive() {
175
+ return this.isNone
176
+ ? null
177
+ : tslib_1.__classPrivateFieldGet(this, _Option_raw, "f").toPrimitive();
178
+ }
179
+ /**
180
+ * @description Returns the base runtime type name for this instance
181
+ */
182
+ toRawType(isBare) {
183
+ const wrapped = this.registry.getClassName(tslib_1.__classPrivateFieldGet(this, _Option_Type, "f")) || new (tslib_1.__classPrivateFieldGet(this, _Option_Type, "f"))(this.registry).toRawType();
184
+ return isBare
185
+ ? wrapped
186
+ : `Option<${wrapped}>`;
187
+ }
188
+ /**
189
+ * @description Returns the string representation of the value
190
+ */
191
+ toString() {
192
+ return tslib_1.__classPrivateFieldGet(this, _Option_raw, "f").toString();
193
+ }
194
+ /**
195
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
196
+ * @param isBare true when the value has none of the type-specific prefixes (internal)
197
+ */
198
+ toU8a(isBare) {
199
+ if (isBare) {
200
+ return tslib_1.__classPrivateFieldGet(this, _Option_raw, "f").toU8a(true);
201
+ }
202
+ const u8a = new Uint8Array(this.encodedLength);
203
+ if (this.isSome) {
204
+ u8a.set([1]);
205
+ u8a.set(tslib_1.__classPrivateFieldGet(this, _Option_raw, "f").toU8a(), 1);
206
+ }
207
+ return u8a;
208
+ }
209
+ /**
210
+ * @description Returns the value that the Option represents (if available), throws if null
211
+ */
212
+ unwrap() {
213
+ if (this.isNone) {
214
+ throw new Error('Option: unwrapping a None value');
215
+ }
216
+ return tslib_1.__classPrivateFieldGet(this, _Option_raw, "f");
217
+ }
218
+ /**
219
+ * @description Returns the value that the Option represents (if available) or defaultValue if none
220
+ * @param defaultValue The value to return if the option isNone
221
+ */
222
+ unwrapOr(defaultValue) {
223
+ return this.isSome
224
+ ? this.unwrap()
225
+ : defaultValue;
226
+ }
227
+ /**
228
+ * @description Returns the value that the Option represents (if available) or defaultValue if none
229
+ * @param defaultValue The value to return if the option isNone
230
+ */
231
+ unwrapOrDefault() {
232
+ return this.isSome
233
+ ? this.unwrap()
234
+ : new (tslib_1.__classPrivateFieldGet(this, _Option_Type, "f"))(this.registry);
235
+ }
251
236
  }
252
- exports.Option = Option;
237
+ exports.Option = Option;
238
+ _Option_Type = new WeakMap(), _Option_raw = new WeakMap();
@@ -1,82 +1,67 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
2
+ Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.Result = void 0;
7
- var _Enum = require("./Enum");
8
- // Copyright 2017-2023 @polkadot/types-codec authors & contributors
9
- // SPDX-License-Identifier: Apache-2.0
10
-
4
+ const Enum_js_1 = require("./Enum.js");
11
5
  /**
12
6
  * @name Result
13
7
  * @description
14
8
  * A Result maps to the Rust Result type, that can either wrap a success or error value
15
9
  */
16
- class Result extends _Enum.Enum {
17
- constructor(registry, Ok, Err, value) {
18
- // NOTE This is order-dependent, Ok (with index 0) needs to be first
19
- // eslint-disable-next-line sort-keys
20
- super(registry, {
21
- Ok,
22
- Err
23
- }, value);
24
- }
25
- static with(Types) {
26
- return class extends Result {
27
- constructor(registry, value) {
28
- super(registry, Types.Ok, Types.Err, value);
29
- }
30
- };
31
- }
32
-
33
- /**
34
- * @description Returns the wrapper Err value (if isErr)
35
- */
36
- get asErr() {
37
- if (!this.isErr) {
38
- throw new Error('Cannot extract Err value from Ok result, check isErr first');
10
+ class Result extends Enum_js_1.Enum {
11
+ constructor(registry, Ok, Err, value) {
12
+ // NOTE This is order-dependent, Ok (with index 0) needs to be first
13
+ // eslint-disable-next-line sort-keys
14
+ super(registry, { Ok, Err }, value);
39
15
  }
40
- return this.value;
41
- }
42
-
43
- /**
44
- * @description Returns the wrapper Ok value (if isOk)
45
- */
46
- get asOk() {
47
- if (!this.isOk) {
48
- throw new Error('Cannot extract Ok value from Err result, check isOk first');
16
+ static with(Types) {
17
+ return class extends Result {
18
+ constructor(registry, value) {
19
+ super(registry, Types.Ok, Types.Err, value);
20
+ }
21
+ };
22
+ }
23
+ /**
24
+ * @description Returns the wrapper Err value (if isErr)
25
+ */
26
+ get asErr() {
27
+ if (!this.isErr) {
28
+ throw new Error('Cannot extract Err value from Ok result, check isErr first');
29
+ }
30
+ return this.value;
31
+ }
32
+ /**
33
+ * @description Returns the wrapper Ok value (if isOk)
34
+ */
35
+ get asOk() {
36
+ if (!this.isOk) {
37
+ throw new Error('Cannot extract Ok value from Err result, check isOk first');
38
+ }
39
+ return this.value;
40
+ }
41
+ /**
42
+ * @description Checks if the Result has no value
43
+ */
44
+ get isEmpty() {
45
+ return this.isOk && this.value.isEmpty;
46
+ }
47
+ /**
48
+ * @description Checks if the Result wraps an Err value
49
+ */
50
+ get isErr() {
51
+ return !this.isOk;
52
+ }
53
+ /**
54
+ * @description Checks if the Result wraps an Ok value
55
+ */
56
+ get isOk() {
57
+ return this.index === 0;
58
+ }
59
+ /**
60
+ * @description Returns the base runtime type name for this instance
61
+ */
62
+ toRawType() {
63
+ const Types = this._toRawStruct();
64
+ return `Result<${Types.Ok},${Types.Err}>`;
49
65
  }
50
- return this.value;
51
- }
52
-
53
- /**
54
- * @description Checks if the Result has no value
55
- */
56
- get isEmpty() {
57
- return this.isOk && this.value.isEmpty;
58
- }
59
-
60
- /**
61
- * @description Checks if the Result wraps an Err value
62
- */
63
- get isErr() {
64
- return !this.isOk;
65
- }
66
-
67
- /**
68
- * @description Checks if the Result wraps an Ok value
69
- */
70
- get isOk() {
71
- return this.index === 0;
72
- }
73
-
74
- /**
75
- * @description Returns the base runtime type name for this instance
76
- */
77
- toRawType() {
78
- const Types = this._toRawStruct();
79
- return `Result<${Types.Ok},${Types.Err}>`;
80
- }
81
66
  }
82
67
  exports.Result = Result;