@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,13 +1,9 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
2
+ var _Float_bitLength;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
6
4
  exports.Float = void 0;
7
- var _util = require("@polkadot/util");
8
- // Copyright 2017-2023 @polkadot/types-codec authors & contributors
9
- // SPDX-License-Identifier: Apache-2.0
10
-
5
+ const tslib_1 = require("tslib");
6
+ const util_1 = require("@polkadot/util");
11
7
  /**
12
8
  * @name Float
13
9
  * @description
@@ -17,110 +13,95 @@ var _util = require("@polkadot/util");
17
13
  * in some eth_* RPCs
18
14
  */
19
15
  class Float extends Number {
20
- #bitLength;
21
- constructor(registry, value) {
22
- let {
23
- bitLength = 32
24
- } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
25
- super((0, _util.isU8a)(value) || (0, _util.isHex)(value) ? value.length === 0 ? 0 : (0, _util.u8aToFloat)((0, _util.u8aToU8a)(value), {
26
- bitLength
27
- }) : value || 0);
28
- this.#bitLength = bitLength;
29
- this.encodedLength = bitLength / 8;
30
- this.initialU8aLength = this.encodedLength;
31
- this.registry = registry;
32
- }
33
- static with(bitLength) {
34
- return class extends Float {
35
- constructor(registry, value) {
36
- super(registry, value, {
37
- bitLength
38
- });
39
- }
40
- };
41
- }
42
-
43
- /**
44
- * @description returns a hash of the contents
45
- */
46
- get hash() {
47
- return this.registry.hash(this.toU8a());
48
- }
49
-
50
- /**
51
- * @description Returns true if the type wraps an empty/default all-0 value
52
- */
53
- get isEmpty() {
54
- return this.valueOf() === 0;
55
- }
56
-
57
- /**
58
- * @description Compares the value of the input to see if there is a match
59
- */
60
- eq(other) {
61
- return this.valueOf() === Number(other);
62
- }
63
-
64
- /**
65
- * @description Returns a breakdown of the hex encoding for this Codec
66
- */
67
- inspect() {
68
- return {
69
- outer: [this.toU8a()]
70
- };
71
- }
72
-
73
- /**
74
- * @description Returns a hex string representation of the value
75
- */
76
- toHex() {
77
- return (0, _util.u8aToHex)(this.toU8a());
78
- }
79
-
80
- /**
81
- * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
82
- */
83
- toHuman() {
84
- return this.toString();
85
- }
86
-
87
- /**
88
- * @description Converts the Object to JSON, typically used for RPC transfers
89
- */
90
- toJSON() {
91
- // Not sure if this is actually a hex or a string value
92
- // (would need to check against RPCs to see the result here)
93
- return this.toHex();
94
- }
95
-
96
- /**
97
- * @description Returns the number representation (Same as valueOf)
98
- */
99
- toNumber() {
100
- return this.valueOf();
101
- }
102
-
103
- /**
104
- * @description Converts the value in a best-fit primitive form
105
- */
106
- toPrimitive() {
107
- return this.toNumber();
108
- }
109
-
110
- /**
111
- * @description Returns the base runtime type name for this instance
112
- */
113
- toRawType() {
114
- return `f${this.#bitLength}`;
115
- }
116
-
117
- /**
118
- * @description Encodes the value as a Uint8Array as per the SCALE specifications
119
- */
120
- toU8a() {
121
- return (0, _util.floatToU8a)(this, {
122
- bitLength: this.#bitLength
123
- });
124
- }
16
+ constructor(registry, value, { bitLength = 32 } = {}) {
17
+ super((0, util_1.isU8a)(value) || (0, util_1.isHex)(value)
18
+ ? value.length === 0
19
+ ? 0
20
+ : (0, util_1.u8aToFloat)((0, util_1.u8aToU8a)(value), { bitLength })
21
+ : (value || 0));
22
+ _Float_bitLength.set(this, void 0);
23
+ tslib_1.__classPrivateFieldSet(this, _Float_bitLength, bitLength, "f");
24
+ this.encodedLength = bitLength / 8;
25
+ this.initialU8aLength = this.encodedLength;
26
+ this.registry = registry;
27
+ }
28
+ static with(bitLength) {
29
+ return class extends Float {
30
+ constructor(registry, value) {
31
+ super(registry, value, { bitLength });
32
+ }
33
+ };
34
+ }
35
+ /**
36
+ * @description returns a hash of the contents
37
+ */
38
+ get hash() {
39
+ return this.registry.hash(this.toU8a());
40
+ }
41
+ /**
42
+ * @description Returns true if the type wraps an empty/default all-0 value
43
+ */
44
+ get isEmpty() {
45
+ return this.valueOf() === 0;
46
+ }
47
+ /**
48
+ * @description Compares the value of the input to see if there is a match
49
+ */
50
+ eq(other) {
51
+ return this.valueOf() === Number(other);
52
+ }
53
+ /**
54
+ * @description Returns a breakdown of the hex encoding for this Codec
55
+ */
56
+ inspect() {
57
+ return {
58
+ outer: [this.toU8a()]
59
+ };
60
+ }
61
+ /**
62
+ * @description Returns a hex string representation of the value
63
+ */
64
+ toHex() {
65
+ return (0, util_1.u8aToHex)(this.toU8a());
66
+ }
67
+ /**
68
+ * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
69
+ */
70
+ toHuman() {
71
+ return this.toString();
72
+ }
73
+ /**
74
+ * @description Converts the Object to JSON, typically used for RPC transfers
75
+ */
76
+ toJSON() {
77
+ // Not sure if this is actually a hex or a string value
78
+ // (would need to check against RPCs to see the result here)
79
+ return this.toHex();
80
+ }
81
+ /**
82
+ * @description Returns the number representation (Same as valueOf)
83
+ */
84
+ toNumber() {
85
+ return this.valueOf();
86
+ }
87
+ /**
88
+ * @description Converts the value in a best-fit primitive form
89
+ */
90
+ toPrimitive() {
91
+ return this.toNumber();
92
+ }
93
+ /**
94
+ * @description Returns the base runtime type name for this instance
95
+ */
96
+ toRawType() {
97
+ return `f${tslib_1.__classPrivateFieldGet(this, _Float_bitLength, "f")}`;
98
+ }
99
+ /**
100
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
101
+ */
102
+ toU8a() {
103
+ return (0, util_1.floatToU8a)(this, { bitLength: tslib_1.__classPrivateFieldGet(this, _Float_bitLength, "f") });
104
+ }
125
105
  }
126
- exports.Float = Float;
106
+ exports.Float = Float;
107
+ _Float_bitLength = new WeakMap();
@@ -1,19 +1,12 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
2
+ Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.Json = 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
-
4
+ const util_1 = require("@polkadot/util");
5
+ const index_js_1 = require("../utils/index.js");
12
6
  /** @internal */
13
7
  function decodeJson(value) {
14
- return Object.entries(value || {});
8
+ return Object.entries(value || {});
15
9
  }
16
-
17
10
  /**
18
11
  * @name Json
19
12
  * @description
@@ -23,118 +16,103 @@ function decodeJson(value) {
23
16
  * @noInheritDoc
24
17
  */
25
18
  class Json extends Map {
26
- constructor(registry, value) {
27
- const decoded = decodeJson(value);
28
- super(decoded);
29
- this.registry = registry;
30
- (0, _util.objectProperties)(this, decoded.map(_ref => {
31
- let [k] = _ref;
32
- return k;
33
- }), k => this.get(k));
34
- }
35
-
36
- /**
37
- * @description Always 0, never encodes as a Uint8Array
38
- */
39
- get encodedLength() {
40
- return 0;
41
- }
42
-
43
- /**
44
- * @description returns a hash of the contents
45
- */
46
- get hash() {
47
- return this.registry.hash(this.toU8a());
48
- }
49
-
50
- /**
51
- * @description Checks if the value is an empty value
52
- */
53
- get isEmpty() {
54
- return [...this.keys()].length === 0;
55
- }
56
-
57
- /**
58
- * @description Compares the value of the input to see if there is a match
59
- */
60
- eq(other) {
61
- return (0, _utils.compareMap)(this, other);
62
- }
63
-
64
- /**
65
- * @description Returns a typed value from the internal map
66
- */
67
- getT(key) {
68
- return this.get(key);
69
- }
70
-
71
- /**
72
- * @description Unimplemented, will throw
73
- */
74
- inspect() {
75
- throw new Error('Unimplemented');
76
- }
77
-
78
- /**
79
- * @description Unimplemented, will throw
80
- */
81
- toHex() {
82
- throw new Error('Unimplemented');
83
- }
84
-
85
- /**
86
- * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
87
- */
88
- toHuman() {
89
- return [...this.entries()].reduce((json, _ref2) => {
90
- let [key, value] = _ref2;
91
- json[key] = (0, _util.isFunction)(value.toHuman) ? value.toHuman() : value;
92
- return json;
93
- }, {});
94
- }
95
-
96
- /**
97
- * @description Converts the Object to JSON, typically used for RPC transfers
98
- */
99
- toJSON() {
100
- return [...this.entries()].reduce((json, _ref3) => {
101
- let [key, value] = _ref3;
102
- json[key] = value;
103
- return json;
104
- }, {});
105
- }
106
-
107
- /**
108
- * @description Converts the value in a best-fit primitive form
109
- */
110
- toPrimitive() {
111
- return [...this.entries()].reduce((json, _ref4) => {
112
- let [key, value] = _ref4;
113
- json[key] = (0, _util.isFunction)(value.toPrimitive) ? value.toPrimitive() : value;
114
- return json;
115
- }, {});
116
- }
117
-
118
- /**
119
- * @description Returns the base runtime type name for this instance
120
- */
121
- toRawType() {
122
- return 'Json';
123
- }
124
-
125
- /**
126
- * @description Returns the string representation of the value
127
- */
128
- toString() {
129
- return (0, _util.stringify)(this.toJSON());
130
- }
131
-
132
- /**
133
- * @description Unimplemented, will throw
134
- */
135
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
136
- toU8a(isBare) {
137
- throw new Error('Unimplemented');
138
- }
19
+ constructor(registry, value) {
20
+ const decoded = decodeJson(value);
21
+ super(decoded);
22
+ this.registry = registry;
23
+ (0, util_1.objectProperties)(this, decoded.map(([k]) => k), (k) => this.get(k));
24
+ }
25
+ /**
26
+ * @description Always 0, never encodes as a Uint8Array
27
+ */
28
+ get encodedLength() {
29
+ return 0;
30
+ }
31
+ /**
32
+ * @description returns a hash of the contents
33
+ */
34
+ get hash() {
35
+ return this.registry.hash(this.toU8a());
36
+ }
37
+ /**
38
+ * @description Checks if the value is an empty value
39
+ */
40
+ get isEmpty() {
41
+ return [...this.keys()].length === 0;
42
+ }
43
+ /**
44
+ * @description Compares the value of the input to see if there is a match
45
+ */
46
+ eq(other) {
47
+ return (0, index_js_1.compareMap)(this, other);
48
+ }
49
+ /**
50
+ * @description Returns a typed value from the internal map
51
+ */
52
+ getT(key) {
53
+ return this.get(key);
54
+ }
55
+ /**
56
+ * @description Unimplemented, will throw
57
+ */
58
+ inspect() {
59
+ throw new Error('Unimplemented');
60
+ }
61
+ /**
62
+ * @description Unimplemented, will throw
63
+ */
64
+ toHex() {
65
+ throw new Error('Unimplemented');
66
+ }
67
+ /**
68
+ * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
69
+ */
70
+ toHuman() {
71
+ return [...this.entries()].reduce((json, [key, value]) => {
72
+ json[key] = (0, util_1.isFunction)(value.toHuman)
73
+ ? value.toHuman()
74
+ : value;
75
+ return json;
76
+ }, {});
77
+ }
78
+ /**
79
+ * @description Converts the Object to JSON, typically used for RPC transfers
80
+ */
81
+ toJSON() {
82
+ return [...this.entries()].reduce((json, [key, value]) => {
83
+ json[key] = value;
84
+ return json;
85
+ }, {});
86
+ }
87
+ /**
88
+ * @description Converts the value in a best-fit primitive form
89
+ */
90
+ toPrimitive() {
91
+ return [...this.entries()].reduce((json, [key, value]) => {
92
+ json[key] = (0, util_1.isFunction)(value.toPrimitive)
93
+ ? value.toPrimitive()
94
+ : value;
95
+ return json;
96
+ }, {});
97
+ }
98
+ /**
99
+ * @description Returns the base runtime type name for this instance
100
+ */
101
+ toRawType() {
102
+ return 'Json';
103
+ }
104
+ /**
105
+ * @description Returns the string representation of the value
106
+ */
107
+ toString() {
108
+ return (0, util_1.stringify)(this.toJSON());
109
+ }
110
+ /**
111
+ * @description Unimplemented, will throw
112
+ */
113
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
114
+ toU8a(isBare) {
115
+ throw new Error('Unimplemented');
116
+ }
139
117
  }
140
118
  exports.Json = Json;