@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/native/Bool.js CHANGED
@@ -1,8 +1,4 @@
1
- // Copyright 2017-2023 @polkadot/types-codec authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
1
  import { isU8a, u8aToHex } from '@polkadot/util';
5
-
6
2
  /**
7
3
  * @name bool
8
4
  * @description
@@ -10,111 +6,103 @@ import { isU8a, u8aToHex } from '@polkadot/util';
10
6
  * @noInheritDoc
11
7
  */
12
8
  export class bool extends Boolean {
13
- initialU8aLength = 1;
14
- constructor(registry, value = false) {
15
- super(isU8a(value) ? value[0] === 1 : value instanceof Boolean ? value.valueOf() : !!value);
16
- this.registry = registry;
17
- }
18
-
19
- /**
20
- * @description The length of the value when encoded as a Uint8Array
21
- */
22
- get encodedLength() {
23
- return 1;
24
- }
25
-
26
- /**
27
- * @description returns a hash of the contents
28
- */
29
- get hash() {
30
- return this.registry.hash(this.toU8a());
31
- }
32
-
33
- /**
34
- * @description Checks if the value is an empty value (true when it wraps false/default)
35
- */
36
- get isEmpty() {
37
- return this.isFalse;
38
- }
39
-
40
- /**
41
- * @description Checks if the value is an empty value (always false)
42
- */
43
- get isFalse() {
44
- return !this.isTrue;
45
- }
46
-
47
- /**
48
- * @description Checks if the value is an empty value (always false)
49
- */
50
- get isTrue() {
51
- return this.valueOf();
52
- }
53
-
54
- /**
55
- * @description Compares the value of the input to see if there is a match
56
- */
57
- eq(other) {
58
- return this.valueOf() === (other instanceof Boolean ? other.valueOf() : other);
59
- }
60
-
61
- /**
62
- * @description Returns a breakdown of the hex encoding for this Codec
63
- */
64
- inspect() {
65
- return {
66
- outer: [this.toU8a()]
67
- };
68
- }
69
-
70
- /**
71
- * @description Returns a hex string representation of the value
72
- */
73
- toHex() {
74
- return u8aToHex(this.toU8a());
75
- }
76
-
77
- /**
78
- * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
79
- */
80
- toHuman() {
81
- return this.toJSON();
82
- }
83
-
84
- /**
85
- * @description Converts the Object to JSON, typically used for RPC transfers
86
- */
87
- toJSON() {
88
- return this.valueOf();
89
- }
90
-
91
- /**
92
- * @description Converts the value in a best-fit primitive form
93
- */
94
- toPrimitive() {
95
- return this.toJSON();
96
- }
97
-
98
- /**
99
- * @description Returns the base runtime type name for this instance
100
- */
101
- toRawType() {
102
- return 'bool';
103
- }
104
-
105
- /**
106
- * @description Returns the string representation of the value
107
- */
108
- toString() {
109
- return this.toJSON().toString();
110
- }
111
-
112
- /**
113
- * @description Encodes the value as a Uint8Array as per the SCALE specifications
114
- * @param isBare true when the value has none of the type-specific prefixes (internal)
115
- */
116
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
117
- toU8a(isBare) {
118
- return new Uint8Array([this.valueOf() ? 1 : 0]);
119
- }
9
+ constructor(registry, value = false) {
10
+ super(isU8a(value)
11
+ ? value[0] === 1
12
+ : value instanceof Boolean
13
+ ? value.valueOf()
14
+ : !!value);
15
+ this.initialU8aLength = 1;
16
+ this.registry = registry;
17
+ }
18
+ /**
19
+ * @description The length of the value when encoded as a Uint8Array
20
+ */
21
+ get encodedLength() {
22
+ return 1;
23
+ }
24
+ /**
25
+ * @description returns a hash of the contents
26
+ */
27
+ get hash() {
28
+ return this.registry.hash(this.toU8a());
29
+ }
30
+ /**
31
+ * @description Checks if the value is an empty value (true when it wraps false/default)
32
+ */
33
+ get isEmpty() {
34
+ return this.isFalse;
35
+ }
36
+ /**
37
+ * @description Checks if the value is an empty value (always false)
38
+ */
39
+ get isFalse() {
40
+ return !this.isTrue;
41
+ }
42
+ /**
43
+ * @description Checks if the value is an empty value (always false)
44
+ */
45
+ get isTrue() {
46
+ return this.valueOf();
47
+ }
48
+ /**
49
+ * @description Compares the value of the input to see if there is a match
50
+ */
51
+ eq(other) {
52
+ return this.valueOf() === (other instanceof Boolean
53
+ ? other.valueOf()
54
+ : other);
55
+ }
56
+ /**
57
+ * @description Returns a breakdown of the hex encoding for this Codec
58
+ */
59
+ inspect() {
60
+ return {
61
+ outer: [this.toU8a()]
62
+ };
63
+ }
64
+ /**
65
+ * @description Returns a hex string representation of the value
66
+ */
67
+ toHex() {
68
+ return u8aToHex(this.toU8a());
69
+ }
70
+ /**
71
+ * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
72
+ */
73
+ toHuman() {
74
+ return this.toJSON();
75
+ }
76
+ /**
77
+ * @description Converts the Object to JSON, typically used for RPC transfers
78
+ */
79
+ toJSON() {
80
+ return this.valueOf();
81
+ }
82
+ /**
83
+ * @description Converts the value in a best-fit primitive form
84
+ */
85
+ toPrimitive() {
86
+ return this.toJSON();
87
+ }
88
+ /**
89
+ * @description Returns the base runtime type name for this instance
90
+ */
91
+ toRawType() {
92
+ return 'bool';
93
+ }
94
+ /**
95
+ * @description Returns the string representation of the value
96
+ */
97
+ toString() {
98
+ return this.toJSON().toString();
99
+ }
100
+ /**
101
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
102
+ * @param isBare true when the value has none of the type-specific prefixes (internal)
103
+ */
104
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
105
+ toU8a(isBare) {
106
+ return new Uint8Array([this.valueOf() ? 1 : 0]);
107
+ }
120
108
  }
package/native/Date.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /// <reference types="bn.js" />
2
2
  import type { HexString } from '@polkadot/util/types';
3
- import type { AnyNumber, Inspect, INumber, IU8a, Registry, UIntBitLength } from '../types';
3
+ import type { AnyNumber, Inspect, INumber, IU8a, Registry, UIntBitLength } from '../types/index.js';
4
4
  import { BN } from '@polkadot/util';
5
5
  /**
6
6
  * @name Date
package/native/Date.js CHANGED
@@ -1,23 +1,18 @@
1
- // Copyright 2017-2023 @polkadot/types-codec authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
1
  import { BN, bnToBn, bnToHex, bnToU8a, isString, isU8a, u8aToBn } from '@polkadot/util';
5
2
  const BITLENGTH = 64;
6
- const U8A_OPTS = {
7
- bitLength: BITLENGTH,
8
- isLe: true
9
- };
3
+ const U8A_OPTS = { bitLength: BITLENGTH, isLe: true };
10
4
  function decodeDate(value) {
11
- if (isU8a(value)) {
12
- value = u8aToBn(value.subarray(0, BITLENGTH / 8));
13
- } else if (value instanceof Date) {
14
- return value;
15
- } else if (isString(value)) {
16
- value = new BN(value.toString(), 10, 'le');
17
- }
18
- return new Date(bnToBn(value).toNumber() * 1000);
5
+ if (isU8a(value)) {
6
+ value = u8aToBn(value.subarray(0, BITLENGTH / 8));
7
+ }
8
+ else if (value instanceof Date) {
9
+ return value;
10
+ }
11
+ else if (isString(value)) {
12
+ value = new BN(value.toString(), 10, 'le');
13
+ }
14
+ return new Date(bnToBn(value).toNumber() * 1000);
19
15
  }
20
-
21
16
  /**
22
17
  * @name Date
23
18
  * @description
@@ -29,132 +24,116 @@ function decodeDate(value) {
29
24
  * @noInheritDoc
30
25
  */
31
26
  export class CodecDate extends Date {
32
- initialU8aLength = BITLENGTH / 8;
33
- constructor(registry, value = 0) {
34
- super(decodeDate(value));
35
- this.registry = registry;
36
- }
37
-
38
- /**
39
- * @description The length of the value when encoded as a Uint8Array
40
- */
41
- get encodedLength() {
42
- return BITLENGTH / 8;
43
- }
44
-
45
- /**
46
- * @description returns a hash of the contents
47
- */
48
- get hash() {
49
- return this.registry.hash(this.toU8a());
50
- }
51
-
52
- /**
53
- * @description Checks if the value is an empty value
54
- */
55
- get isEmpty() {
56
- return this.getTime() === 0;
57
- }
58
-
59
- /**
60
- * @description Returns the number of bits in the value
61
- */
62
- bitLength() {
63
- return BITLENGTH;
64
- }
65
-
66
- /**
67
- * @description Compares the value of the input to see if there is a match
68
- */
69
- eq(other) {
70
- return decodeDate(other).getTime() === this.getTime();
71
- }
72
-
73
- /**
74
- * @description Returns a breakdown of the hex encoding for this Codec
75
- */
76
- inspect() {
77
- return {
78
- outer: [this.toU8a()]
79
- };
80
- }
81
-
82
- /**
83
- * @description Returns a BigInt representation of the number
84
- */
85
- toBigInt() {
86
- return BigInt(this.toNumber());
87
- }
88
-
89
- /**
90
- * @description Returns the BN representation of the timestamp
91
- */
92
- toBn() {
93
- return new BN(this.toNumber());
94
- }
95
-
96
- /**
97
- * @description Returns a hex string representation of the value
98
- */
99
- toHex(isLe = false) {
100
- return bnToHex(this.toBn(), {
101
- bitLength: BITLENGTH,
102
- isLe,
103
- isNegative: false
104
- });
105
- }
106
-
107
- /**
108
- * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
109
- */
110
- toHuman() {
111
- return this.toISOString();
112
- }
113
-
114
- /**
115
- * @description Converts the Object to JSON, typically used for RPC transfers
116
- */
117
- toJSON() {
118
- // FIXME Return type should be number, but conflicts with Date.toJSON()
119
- // which returns string
120
- return this.toNumber();
121
- }
122
-
123
- /**
124
- * @description Returns the number representation for the timestamp
125
- */
126
- toNumber() {
127
- return Math.ceil(this.getTime() / 1000);
128
- }
129
-
130
- /**
131
- * @description Converts the value in a best-fit primitive form
132
- */
133
- toPrimitive() {
134
- return this.toNumber();
135
- }
136
-
137
- /**
138
- * @description Returns the base runtime type name for this instance
139
- */
140
- toRawType() {
141
- return 'Moment';
142
- }
143
-
144
- /**
145
- * @description Returns the string representation of the value
146
- */
147
- toString() {
148
- // only included here since we do not inherit docs
149
- return super.toString();
150
- }
151
-
152
- /**
153
- * @description Encodes the value as a Uint8Array as per the SCALE specifications
154
- * @param isBare true when the value has none of the type-specific prefixes (internal)
155
- */
156
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
157
- toU8a(isBare) {
158
- return bnToU8a(this.toNumber(), U8A_OPTS);
159
- }
27
+ constructor(registry, value = 0) {
28
+ super(decodeDate(value));
29
+ this.initialU8aLength = BITLENGTH / 8;
30
+ this.registry = registry;
31
+ }
32
+ /**
33
+ * @description The length of the value when encoded as a Uint8Array
34
+ */
35
+ get encodedLength() {
36
+ return BITLENGTH / 8;
37
+ }
38
+ /**
39
+ * @description returns a hash of the contents
40
+ */
41
+ get hash() {
42
+ return this.registry.hash(this.toU8a());
43
+ }
44
+ /**
45
+ * @description Checks if the value is an empty value
46
+ */
47
+ get isEmpty() {
48
+ return this.getTime() === 0;
49
+ }
50
+ /**
51
+ * @description Returns the number of bits in the value
52
+ */
53
+ bitLength() {
54
+ return BITLENGTH;
55
+ }
56
+ /**
57
+ * @description Compares the value of the input to see if there is a match
58
+ */
59
+ eq(other) {
60
+ return decodeDate(other).getTime() === this.getTime();
61
+ }
62
+ /**
63
+ * @description Returns a breakdown of the hex encoding for this Codec
64
+ */
65
+ inspect() {
66
+ return {
67
+ outer: [this.toU8a()]
68
+ };
69
+ }
70
+ /**
71
+ * @description Returns a BigInt representation of the number
72
+ */
73
+ toBigInt() {
74
+ return BigInt(this.toNumber());
75
+ }
76
+ /**
77
+ * @description Returns the BN representation of the timestamp
78
+ */
79
+ toBn() {
80
+ return new BN(this.toNumber());
81
+ }
82
+ /**
83
+ * @description Returns a hex string representation of the value
84
+ */
85
+ toHex(isLe = false) {
86
+ return bnToHex(this.toBn(), {
87
+ bitLength: BITLENGTH,
88
+ isLe,
89
+ isNegative: false
90
+ });
91
+ }
92
+ /**
93
+ * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
94
+ */
95
+ toHuman() {
96
+ return this.toISOString();
97
+ }
98
+ /**
99
+ * @description Converts the Object to JSON, typically used for RPC transfers
100
+ */
101
+ toJSON() {
102
+ // FIXME Return type should be number, but conflicts with Date.toJSON()
103
+ // which returns string
104
+ return this.toNumber();
105
+ }
106
+ /**
107
+ * @description Returns the number representation for the timestamp
108
+ */
109
+ toNumber() {
110
+ return Math.ceil(this.getTime() / 1000);
111
+ }
112
+ /**
113
+ * @description Converts the value in a best-fit primitive form
114
+ */
115
+ toPrimitive() {
116
+ return this.toNumber();
117
+ }
118
+ /**
119
+ * @description Returns the base runtime type name for this instance
120
+ */
121
+ toRawType() {
122
+ return 'Moment';
123
+ }
124
+ /**
125
+ * @description Returns the string representation of the value
126
+ */
127
+ toString() {
128
+ // only included here since we do not inherit docs
129
+ return super.toString();
130
+ }
131
+ /**
132
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
133
+ * @param isBare true when the value has none of the type-specific prefixes (internal)
134
+ */
135
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
136
+ toU8a(isBare) {
137
+ return bnToU8a(this.toNumber(), U8A_OPTS);
138
+ }
160
139
  }
package/native/Float.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { HexString } from '@polkadot/util/types';
2
- import type { AnyFloat, CodecClass, IFloat, Inspect, IU8a, Registry } from '../types';
2
+ import type { AnyFloat, CodecClass, IFloat, Inspect, IU8a, Registry } from '../types/index.js';
3
3
  interface Options {
4
4
  bitLength?: 32 | 64;
5
5
  }