@pezkuwi/types-codec 16.5.8 → 16.5.9

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 (758) hide show
  1. package/cjs/packageInfo.js +1 -1
  2. package/package.json +10 -6
  3. package/packageInfo.js +1 -1
  4. package/build/LICENSE +0 -201
  5. package/build/README.md +0 -3
  6. package/build/abstract/Array.d.ts +0 -89
  7. package/build/abstract/Array.js +0 -166
  8. package/build/abstract/Base.d.ts +0 -75
  9. package/build/abstract/Base.js +0 -101
  10. package/build/abstract/Int.d.ts +0 -80
  11. package/build/abstract/Int.js +0 -226
  12. package/build/abstract/Object.d.ts +0 -67
  13. package/build/abstract/Object.js +0 -40
  14. package/build/abstract/index.d.ts +0 -3
  15. package/build/abstract/index.js +0 -3
  16. package/build/base/Compact.d.ts +0 -88
  17. package/build/base/Compact.js +0 -159
  18. package/build/base/DoNotConstruct.d.ts +0 -63
  19. package/build/base/DoNotConstruct.js +0 -95
  20. package/build/base/Enum.d.ts +0 -118
  21. package/build/base/Enum.js +0 -369
  22. package/build/base/Int.d.ts +0 -16
  23. package/build/base/Int.js +0 -26
  24. package/build/base/Null.d.ts +0 -56
  25. package/build/base/Null.js +0 -77
  26. package/build/base/Option.d.ts +0 -94
  27. package/build/base/Option.js +0 -232
  28. package/build/base/Result.d.ts +0 -38
  29. package/build/base/Result.js +0 -63
  30. package/build/base/Tuple.d.ts +0 -42
  31. package/build/base/Tuple.js +0 -110
  32. package/build/base/UInt.d.ts +0 -15
  33. package/build/base/UInt.js +0 -23
  34. package/build/base/Vec.d.ts +0 -28
  35. package/build/base/Vec.js +0 -102
  36. package/build/base/VecAny.d.ts +0 -15
  37. package/build/base/VecAny.js +0 -17
  38. package/build/base/VecFixed.d.ts +0 -30
  39. package/build/base/VecFixed.js +0 -67
  40. package/build/base/index.d.ts +0 -12
  41. package/build/base/index.js +0 -12
  42. package/build/bundle.d.ts +0 -7
  43. package/build/bundle.js +0 -7
  44. package/build/cjs/abstract/Array.d.ts +0 -89
  45. package/build/cjs/abstract/Array.js +0 -170
  46. package/build/cjs/abstract/Base.d.ts +0 -75
  47. package/build/cjs/abstract/Base.js +0 -105
  48. package/build/cjs/abstract/Int.d.ts +0 -80
  49. package/build/cjs/abstract/Int.js +0 -230
  50. package/build/cjs/abstract/Object.d.ts +0 -67
  51. package/build/cjs/abstract/Object.js +0 -44
  52. package/build/cjs/abstract/index.d.ts +0 -3
  53. package/build/cjs/abstract/index.js +0 -9
  54. package/build/cjs/base/Compact.d.ts +0 -88
  55. package/build/cjs/base/Compact.js +0 -163
  56. package/build/cjs/base/DoNotConstruct.d.ts +0 -63
  57. package/build/cjs/base/DoNotConstruct.js +0 -99
  58. package/build/cjs/base/Enum.d.ts +0 -118
  59. package/build/cjs/base/Enum.js +0 -373
  60. package/build/cjs/base/Int.d.ts +0 -16
  61. package/build/cjs/base/Int.js +0 -30
  62. package/build/cjs/base/Null.d.ts +0 -56
  63. package/build/cjs/base/Null.js +0 -81
  64. package/build/cjs/base/Option.d.ts +0 -94
  65. package/build/cjs/base/Option.js +0 -236
  66. package/build/cjs/base/Result.d.ts +0 -38
  67. package/build/cjs/base/Result.js +0 -67
  68. package/build/cjs/base/Tuple.d.ts +0 -42
  69. package/build/cjs/base/Tuple.js +0 -114
  70. package/build/cjs/base/UInt.d.ts +0 -15
  71. package/build/cjs/base/UInt.js +0 -27
  72. package/build/cjs/base/Vec.d.ts +0 -28
  73. package/build/cjs/base/Vec.js +0 -107
  74. package/build/cjs/base/VecAny.d.ts +0 -15
  75. package/build/cjs/base/VecAny.js +0 -21
  76. package/build/cjs/base/VecFixed.d.ts +0 -30
  77. package/build/cjs/base/VecFixed.js +0 -71
  78. package/build/cjs/base/index.d.ts +0 -12
  79. package/build/cjs/base/index.js +0 -27
  80. package/build/cjs/bundle.d.ts +0 -7
  81. package/build/cjs/bundle.js +0 -12
  82. package/build/cjs/extended/BTreeMap.d.ts +0 -5
  83. package/build/cjs/extended/BTreeMap.js +0 -14
  84. package/build/cjs/extended/BTreeSet.d.ts +0 -64
  85. package/build/cjs/extended/BTreeSet.js +0 -189
  86. package/build/cjs/extended/BitVec.d.ts +0 -37
  87. package/build/cjs/extended/BitVec.js +0 -112
  88. package/build/cjs/extended/Bytes.d.ts +0 -29
  89. package/build/cjs/extended/Bytes.js +0 -74
  90. package/build/cjs/extended/HashMap.d.ts +0 -5
  91. package/build/cjs/extended/HashMap.js +0 -14
  92. package/build/cjs/extended/Linkage.d.ts +0 -37
  93. package/build/cjs/extended/Linkage.js +0 -70
  94. package/build/cjs/extended/Map.d.ts +0 -59
  95. package/build/cjs/extended/Map.js +0 -204
  96. package/build/cjs/extended/OptionBool.d.ts +0 -36
  97. package/build/cjs/extended/OptionBool.js +0 -76
  98. package/build/cjs/extended/Range.d.ts +0 -29
  99. package/build/cjs/extended/Range.js +0 -42
  100. package/build/cjs/extended/RangeInclusive.d.ts +0 -6
  101. package/build/cjs/extended/RangeInclusive.js +0 -17
  102. package/build/cjs/extended/Type.d.ts +0 -16
  103. package/build/cjs/extended/Type.js +0 -25
  104. package/build/cjs/extended/U8aFixed.d.ts +0 -16
  105. package/build/cjs/extended/U8aFixed.js +0 -46
  106. package/build/cjs/extended/WrapperKeepOpaque.d.ts +0 -40
  107. package/build/cjs/extended/WrapperKeepOpaque.js +0 -103
  108. package/build/cjs/extended/WrapperOpaque.d.ts +0 -10
  109. package/build/cjs/extended/WrapperOpaque.js +0 -23
  110. package/build/cjs/extended/index.d.ts +0 -14
  111. package/build/cjs/extended/index.js +0 -32
  112. package/build/cjs/index.d.ts +0 -2
  113. package/build/cjs/index.js +0 -5
  114. package/build/cjs/native/Bool.d.ts +0 -71
  115. package/build/cjs/native/Bool.js +0 -113
  116. package/build/cjs/native/Date.d.ts +0 -84
  117. package/build/cjs/native/Date.js +0 -144
  118. package/build/cjs/native/Float.d.ts +0 -68
  119. package/build/cjs/native/Float.js +0 -111
  120. package/build/cjs/native/Json.d.ts +0 -69
  121. package/build/cjs/native/Json.js +0 -121
  122. package/build/cjs/native/Raw.d.ts +0 -87
  123. package/build/cjs/native/Raw.js +0 -144
  124. package/build/cjs/native/Set.d.ts +0 -84
  125. package/build/cjs/native/Set.js +0 -219
  126. package/build/cjs/native/Struct.d.ts +0 -106
  127. package/build/cjs/native/Struct.data.js +0 -4
  128. package/build/cjs/native/Struct.js +0 -264
  129. package/build/cjs/native/Text.d.ts +0 -77
  130. package/build/cjs/native/Text.js +0 -154
  131. package/build/cjs/native/index.d.ts +0 -8
  132. package/build/cjs/native/index.js +0 -22
  133. package/build/cjs/package.json +0 -3
  134. package/build/cjs/packageDetect.d.ts +0 -1
  135. package/build/cjs/packageDetect.js +0 -5
  136. package/build/cjs/packageInfo.d.ts +0 -6
  137. package/build/cjs/packageInfo.js +0 -4
  138. package/build/cjs/primitive/F32.d.ts +0 -11
  139. package/build/cjs/primitive/F32.js +0 -14
  140. package/build/cjs/primitive/F64.d.ts +0 -11
  141. package/build/cjs/primitive/F64.js +0 -14
  142. package/build/cjs/primitive/I128.d.ts +0 -11
  143. package/build/cjs/primitive/I128.js +0 -14
  144. package/build/cjs/primitive/I16.d.ts +0 -11
  145. package/build/cjs/primitive/I16.js +0 -14
  146. package/build/cjs/primitive/I256.d.ts +0 -11
  147. package/build/cjs/primitive/I256.js +0 -14
  148. package/build/cjs/primitive/I32.d.ts +0 -11
  149. package/build/cjs/primitive/I32.js +0 -14
  150. package/build/cjs/primitive/I64.d.ts +0 -11
  151. package/build/cjs/primitive/I64.js +0 -14
  152. package/build/cjs/primitive/I8.d.ts +0 -11
  153. package/build/cjs/primitive/I8.js +0 -14
  154. package/build/cjs/primitive/ISize.d.ts +0 -12
  155. package/build/cjs/primitive/ISize.js +0 -18
  156. package/build/cjs/primitive/U128.d.ts +0 -11
  157. package/build/cjs/primitive/U128.js +0 -14
  158. package/build/cjs/primitive/U16.d.ts +0 -11
  159. package/build/cjs/primitive/U16.js +0 -14
  160. package/build/cjs/primitive/U256.d.ts +0 -11
  161. package/build/cjs/primitive/U256.js +0 -14
  162. package/build/cjs/primitive/U32.d.ts +0 -11
  163. package/build/cjs/primitive/U32.js +0 -14
  164. package/build/cjs/primitive/U64.d.ts +0 -11
  165. package/build/cjs/primitive/U64.js +0 -14
  166. package/build/cjs/primitive/U8.d.ts +0 -11
  167. package/build/cjs/primitive/U8.js +0 -14
  168. package/build/cjs/primitive/USize.d.ts +0 -12
  169. package/build/cjs/primitive/USize.js +0 -18
  170. package/build/cjs/primitive/index.d.ts +0 -16
  171. package/build/cjs/primitive/index.js +0 -51
  172. package/build/cjs/types/codec.d.ts +0 -113
  173. package/build/cjs/types/codec.js +0 -2
  174. package/build/cjs/types/helpers.d.ts +0 -27
  175. package/build/cjs/types/helpers.js +0 -2
  176. package/build/cjs/types/index.d.ts +0 -4
  177. package/build/cjs/types/index.js +0 -7
  178. package/build/cjs/types/interfaces.d.ts +0 -74
  179. package/build/cjs/types/interfaces.js +0 -2
  180. package/build/cjs/types/registry.d.ts +0 -67
  181. package/build/cjs/types/registry.js +0 -2
  182. package/build/cjs/utils/compareArray.d.ts +0 -1
  183. package/build/cjs/utils/compareArray.js +0 -13
  184. package/build/cjs/utils/compareMap.d.ts +0 -1
  185. package/build/cjs/utils/compareMap.js +0 -30
  186. package/build/cjs/utils/compareSet.d.ts +0 -1
  187. package/build/cjs/utils/compareSet.js +0 -20
  188. package/build/cjs/utils/decodeU8a.d.ts +0 -26
  189. package/build/cjs/utils/decodeU8a.js +0 -105
  190. package/build/cjs/utils/index.d.ts +0 -8
  191. package/build/cjs/utils/index.js +0 -25
  192. package/build/cjs/utils/sanitize.d.ts +0 -15
  193. package/build/cjs/utils/sanitize.js +0 -233
  194. package/build/cjs/utils/sortValues.d.ts +0 -12
  195. package/build/cjs/utils/sortValues.js +0 -84
  196. package/build/cjs/utils/toConstructors.d.ts +0 -16
  197. package/build/cjs/utils/toConstructors.js +0 -40
  198. package/build/cjs/utils/typesToMap.d.ts +0 -2
  199. package/build/cjs/utils/typesToMap.js +0 -10
  200. package/build/cjs/utils/util.d.ts +0 -3
  201. package/build/cjs/utils/util.js +0 -7
  202. package/build/extended/BTreeMap.d.ts +0 -5
  203. package/build/extended/BTreeMap.js +0 -10
  204. package/build/extended/BTreeSet.d.ts +0 -64
  205. package/build/extended/BTreeSet.js +0 -185
  206. package/build/extended/BitVec.d.ts +0 -37
  207. package/build/extended/BitVec.js +0 -108
  208. package/build/extended/Bytes.d.ts +0 -29
  209. package/build/extended/Bytes.js +0 -70
  210. package/build/extended/HashMap.d.ts +0 -5
  211. package/build/extended/HashMap.js +0 -10
  212. package/build/extended/Linkage.d.ts +0 -37
  213. package/build/extended/Linkage.js +0 -65
  214. package/build/extended/Map.d.ts +0 -59
  215. package/build/extended/Map.js +0 -200
  216. package/build/extended/OptionBool.d.ts +0 -36
  217. package/build/extended/OptionBool.js +0 -72
  218. package/build/extended/Range.d.ts +0 -29
  219. package/build/extended/Range.js +0 -38
  220. package/build/extended/RangeInclusive.d.ts +0 -6
  221. package/build/extended/RangeInclusive.js +0 -13
  222. package/build/extended/Type.d.ts +0 -16
  223. package/build/extended/Type.js +0 -21
  224. package/build/extended/U8aFixed.d.ts +0 -16
  225. package/build/extended/U8aFixed.js +0 -42
  226. package/build/extended/WrapperKeepOpaque.d.ts +0 -40
  227. package/build/extended/WrapperKeepOpaque.js +0 -99
  228. package/build/extended/WrapperOpaque.d.ts +0 -10
  229. package/build/extended/WrapperOpaque.js +0 -19
  230. package/build/extended/index.d.ts +0 -14
  231. package/build/extended/index.js +0 -14
  232. package/build/index.d.ts +0 -2
  233. package/build/index.js +0 -2
  234. package/build/native/Bool.d.ts +0 -71
  235. package/build/native/Bool.js +0 -109
  236. package/build/native/Date.d.ts +0 -84
  237. package/build/native/Date.js +0 -140
  238. package/build/native/Float.d.ts +0 -68
  239. package/build/native/Float.js +0 -107
  240. package/build/native/Json.d.ts +0 -69
  241. package/build/native/Json.js +0 -117
  242. package/build/native/Raw.d.ts +0 -87
  243. package/build/native/Raw.js +0 -140
  244. package/build/native/Set.d.ts +0 -84
  245. package/build/native/Set.js +0 -215
  246. package/build/native/Struct.d.ts +0 -106
  247. package/build/native/Struct.data.js +0 -1
  248. package/build/native/Struct.js +0 -260
  249. package/build/native/Text.d.ts +0 -77
  250. package/build/native/Text.js +0 -150
  251. package/build/native/index.d.ts +0 -8
  252. package/build/native/index.js +0 -8
  253. package/build/package.json +0 -1149
  254. package/build/packageDetect.d.ts +0 -1
  255. package/build/packageDetect.js +0 -3
  256. package/build/packageInfo.d.ts +0 -6
  257. package/build/packageInfo.js +0 -1
  258. package/build/primitive/F32.d.ts +0 -11
  259. package/build/primitive/F32.js +0 -10
  260. package/build/primitive/F64.d.ts +0 -11
  261. package/build/primitive/F64.js +0 -10
  262. package/build/primitive/I128.d.ts +0 -11
  263. package/build/primitive/I128.js +0 -10
  264. package/build/primitive/I16.d.ts +0 -11
  265. package/build/primitive/I16.js +0 -10
  266. package/build/primitive/I256.d.ts +0 -11
  267. package/build/primitive/I256.js +0 -10
  268. package/build/primitive/I32.d.ts +0 -11
  269. package/build/primitive/I32.js +0 -10
  270. package/build/primitive/I64.d.ts +0 -11
  271. package/build/primitive/I64.js +0 -10
  272. package/build/primitive/I8.d.ts +0 -11
  273. package/build/primitive/I8.js +0 -10
  274. package/build/primitive/ISize.d.ts +0 -12
  275. package/build/primitive/ISize.js +0 -14
  276. package/build/primitive/U128.d.ts +0 -11
  277. package/build/primitive/U128.js +0 -10
  278. package/build/primitive/U16.d.ts +0 -11
  279. package/build/primitive/U16.js +0 -10
  280. package/build/primitive/U256.d.ts +0 -11
  281. package/build/primitive/U256.js +0 -10
  282. package/build/primitive/U32.d.ts +0 -11
  283. package/build/primitive/U32.js +0 -10
  284. package/build/primitive/U64.d.ts +0 -11
  285. package/build/primitive/U64.js +0 -10
  286. package/build/primitive/U8.d.ts +0 -11
  287. package/build/primitive/U8.js +0 -10
  288. package/build/primitive/USize.d.ts +0 -12
  289. package/build/primitive/USize.js +0 -14
  290. package/build/primitive/index.d.ts +0 -16
  291. package/build/primitive/index.js +0 -16
  292. package/build/types/codec.d.ts +0 -113
  293. package/build/types/codec.js +0 -1
  294. package/build/types/helpers.d.ts +0 -27
  295. package/build/types/helpers.js +0 -1
  296. package/build/types/index.d.ts +0 -4
  297. package/build/types/index.js +0 -4
  298. package/build/types/interfaces.d.ts +0 -74
  299. package/build/types/interfaces.js +0 -1
  300. package/build/types/registry.d.ts +0 -67
  301. package/build/types/registry.js +0 -1
  302. package/build/utils/compareArray.d.ts +0 -1
  303. package/build/utils/compareArray.js +0 -10
  304. package/build/utils/compareMap.d.ts +0 -1
  305. package/build/utils/compareMap.js +0 -27
  306. package/build/utils/compareSet.d.ts +0 -1
  307. package/build/utils/compareSet.js +0 -17
  308. package/build/utils/decodeU8a.d.ts +0 -26
  309. package/build/utils/decodeU8a.js +0 -100
  310. package/build/utils/index.d.ts +0 -8
  311. package/build/utils/index.js +0 -8
  312. package/build/utils/sanitize.d.ts +0 -15
  313. package/build/utils/sanitize.js +0 -219
  314. package/build/utils/sortValues.d.ts +0 -12
  315. package/build/utils/sortValues.js +0 -79
  316. package/build/utils/toConstructors.d.ts +0 -16
  317. package/build/utils/toConstructors.js +0 -35
  318. package/build/utils/typesToMap.d.ts +0 -2
  319. package/build/utils/typesToMap.js +0 -7
  320. package/build/utils/util.d.ts +0 -3
  321. package/build/utils/util.js +0 -4
  322. package/build-deno/README.md +0 -3
  323. package/build-deno/abstract/Array.ts +0 -211
  324. package/build-deno/abstract/Base.ts +0 -127
  325. package/build-deno/abstract/Int.ts +0 -267
  326. package/build-deno/abstract/Object.ts +0 -97
  327. package/build-deno/abstract/index.ts +0 -4
  328. package/build-deno/base/Compact.ts +0 -196
  329. package/build-deno/base/DoNotConstruct.ts +0 -116
  330. package/build-deno/base/Enum.ts +0 -457
  331. package/build-deno/base/Int.ts +0 -32
  332. package/build-deno/base/Null.ts +0 -94
  333. package/build-deno/base/Option.ts +0 -273
  334. package/build-deno/base/Result.ts +0 -77
  335. package/build-deno/base/Tuple.ts +0 -147
  336. package/build-deno/base/UInt.ts +0 -28
  337. package/build-deno/base/Vec.ts +0 -131
  338. package/build-deno/base/VecAny.ts +0 -21
  339. package/build-deno/base/VecFixed.ts +0 -90
  340. package/build-deno/base/index.ts +0 -13
  341. package/build-deno/bundle.ts +0 -9
  342. package/build-deno/checkTypes.manual.ts +0 -10
  343. package/build-deno/extended/BTreeMap.ts +0 -14
  344. package/build-deno/extended/BTreeSet.ts +0 -231
  345. package/build-deno/extended/BitVec.ts +0 -135
  346. package/build-deno/extended/Bytes.ts +0 -85
  347. package/build-deno/extended/HashMap.ts +0 -14
  348. package/build-deno/extended/Linkage.ts +0 -79
  349. package/build-deno/extended/Map.ts +0 -253
  350. package/build-deno/extended/OptionBool.ts +0 -91
  351. package/build-deno/extended/Range.ts +0 -54
  352. package/build-deno/extended/RangeInclusive.ts +0 -18
  353. package/build-deno/extended/Type.ts +0 -27
  354. package/build-deno/extended/U8aFixed.ts +0 -55
  355. package/build-deno/extended/WrapperKeepOpaque.ts +0 -126
  356. package/build-deno/extended/WrapperOpaque.ts +0 -25
  357. package/build-deno/extended/index.ts +0 -15
  358. package/build-deno/index.ts +0 -4
  359. package/build-deno/mod.ts +0 -2
  360. package/build-deno/native/Bool.ts +0 -135
  361. package/build-deno/native/Date.ts +0 -167
  362. package/build-deno/native/Float.ts +0 -134
  363. package/build-deno/native/Json.ts +0 -145
  364. package/build-deno/native/Raw.ts +0 -169
  365. package/build-deno/native/Set.ts +0 -267
  366. package/build-deno/native/Struct.data.ts +0 -2
  367. package/build-deno/native/Struct.ts +0 -336
  368. package/build-deno/native/Text.ts +0 -182
  369. package/build-deno/native/index.ts +0 -9
  370. package/build-deno/packageDetect.ts +0 -7
  371. package/build-deno/packageInfo.ts +0 -3
  372. package/build-deno/primitive/F32.ts +0 -12
  373. package/build-deno/primitive/F64.ts +0 -12
  374. package/build-deno/primitive/I128.ts +0 -12
  375. package/build-deno/primitive/I16.ts +0 -12
  376. package/build-deno/primitive/I256.ts +0 -12
  377. package/build-deno/primitive/I32.ts +0 -12
  378. package/build-deno/primitive/I64.ts +0 -12
  379. package/build-deno/primitive/I8.ts +0 -12
  380. package/build-deno/primitive/ISize.ts +0 -19
  381. package/build-deno/primitive/U128.ts +0 -12
  382. package/build-deno/primitive/U16.ts +0 -12
  383. package/build-deno/primitive/U256.ts +0 -12
  384. package/build-deno/primitive/U32.ts +0 -12
  385. package/build-deno/primitive/U64.ts +0 -12
  386. package/build-deno/primitive/U8.ts +0 -12
  387. package/build-deno/primitive/USize.ts +0 -19
  388. package/build-deno/primitive/index.ts +0 -17
  389. package/build-deno/test/performance.ts +0 -57
  390. package/build-deno/types/codec.ts +0 -138
  391. package/build-deno/types/helpers.ts +0 -41
  392. package/build-deno/types/index.ts +0 -5
  393. package/build-deno/types/interfaces.ts +0 -94
  394. package/build-deno/types/registry.ts +0 -84
  395. package/build-deno/utils/compareArray.ts +0 -18
  396. package/build-deno/utils/compareMap.ts +0 -36
  397. package/build-deno/utils/compareSet.ts +0 -19
  398. package/build-deno/utils/decodeU8a.ts +0 -121
  399. package/build-deno/utils/index.ts +0 -9
  400. package/build-deno/utils/sanitize.ts +0 -282
  401. package/build-deno/utils/sortValues.ts +0 -101
  402. package/build-deno/utils/toConstructors.ts +0 -44
  403. package/build-deno/utils/typesToMap.ts +0 -12
  404. package/build-deno/utils/util.ts +0 -6
  405. package/build-tsc/abstract/Array.d.ts +0 -89
  406. package/build-tsc/abstract/Base.d.ts +0 -75
  407. package/build-tsc/abstract/Int.d.ts +0 -80
  408. package/build-tsc/abstract/Object.d.ts +0 -67
  409. package/build-tsc/abstract/index.d.ts +0 -3
  410. package/build-tsc/base/Compact.d.ts +0 -88
  411. package/build-tsc/base/DoNotConstruct.d.ts +0 -63
  412. package/build-tsc/base/Enum.d.ts +0 -118
  413. package/build-tsc/base/Int.d.ts +0 -16
  414. package/build-tsc/base/Null.d.ts +0 -56
  415. package/build-tsc/base/Option.d.ts +0 -94
  416. package/build-tsc/base/Result.d.ts +0 -38
  417. package/build-tsc/base/Tuple.d.ts +0 -42
  418. package/build-tsc/base/UInt.d.ts +0 -15
  419. package/build-tsc/base/Vec.d.ts +0 -28
  420. package/build-tsc/base/VecAny.d.ts +0 -15
  421. package/build-tsc/base/VecFixed.d.ts +0 -30
  422. package/build-tsc/base/index.d.ts +0 -12
  423. package/build-tsc/bundle.d.ts +0 -7
  424. package/build-tsc/extended/BTreeMap.d.ts +0 -5
  425. package/build-tsc/extended/BTreeSet.d.ts +0 -64
  426. package/build-tsc/extended/BitVec.d.ts +0 -37
  427. package/build-tsc/extended/Bytes.d.ts +0 -29
  428. package/build-tsc/extended/HashMap.d.ts +0 -5
  429. package/build-tsc/extended/Linkage.d.ts +0 -37
  430. package/build-tsc/extended/Map.d.ts +0 -59
  431. package/build-tsc/extended/OptionBool.d.ts +0 -36
  432. package/build-tsc/extended/Range.d.ts +0 -29
  433. package/build-tsc/extended/RangeInclusive.d.ts +0 -6
  434. package/build-tsc/extended/Type.d.ts +0 -16
  435. package/build-tsc/extended/U8aFixed.d.ts +0 -16
  436. package/build-tsc/extended/WrapperKeepOpaque.d.ts +0 -40
  437. package/build-tsc/extended/WrapperOpaque.d.ts +0 -10
  438. package/build-tsc/extended/index.d.ts +0 -14
  439. package/build-tsc/index.d.ts +0 -2
  440. package/build-tsc/native/Bool.d.ts +0 -71
  441. package/build-tsc/native/Date.d.ts +0 -84
  442. package/build-tsc/native/Float.d.ts +0 -68
  443. package/build-tsc/native/Json.d.ts +0 -69
  444. package/build-tsc/native/Raw.d.ts +0 -87
  445. package/build-tsc/native/Set.d.ts +0 -84
  446. package/build-tsc/native/Struct.d.ts +0 -106
  447. package/build-tsc/native/Text.d.ts +0 -77
  448. package/build-tsc/native/index.d.ts +0 -8
  449. package/build-tsc/packageDetect.d.ts +0 -1
  450. package/build-tsc/packageInfo.d.ts +0 -6
  451. package/build-tsc/primitive/F32.d.ts +0 -11
  452. package/build-tsc/primitive/F64.d.ts +0 -11
  453. package/build-tsc/primitive/I128.d.ts +0 -11
  454. package/build-tsc/primitive/I16.d.ts +0 -11
  455. package/build-tsc/primitive/I256.d.ts +0 -11
  456. package/build-tsc/primitive/I32.d.ts +0 -11
  457. package/build-tsc/primitive/I64.d.ts +0 -11
  458. package/build-tsc/primitive/I8.d.ts +0 -11
  459. package/build-tsc/primitive/ISize.d.ts +0 -12
  460. package/build-tsc/primitive/U128.d.ts +0 -11
  461. package/build-tsc/primitive/U16.d.ts +0 -11
  462. package/build-tsc/primitive/U256.d.ts +0 -11
  463. package/build-tsc/primitive/U32.d.ts +0 -11
  464. package/build-tsc/primitive/U64.d.ts +0 -11
  465. package/build-tsc/primitive/U8.d.ts +0 -11
  466. package/build-tsc/primitive/USize.d.ts +0 -12
  467. package/build-tsc/primitive/index.d.ts +0 -16
  468. package/build-tsc/types/codec.d.ts +0 -113
  469. package/build-tsc/types/helpers.d.ts +0 -27
  470. package/build-tsc/types/index.d.ts +0 -4
  471. package/build-tsc/types/interfaces.d.ts +0 -74
  472. package/build-tsc/types/registry.d.ts +0 -67
  473. package/build-tsc/utils/compareArray.d.ts +0 -1
  474. package/build-tsc/utils/compareMap.d.ts +0 -1
  475. package/build-tsc/utils/compareSet.d.ts +0 -1
  476. package/build-tsc/utils/decodeU8a.d.ts +0 -26
  477. package/build-tsc/utils/index.d.ts +0 -8
  478. package/build-tsc/utils/sanitize.d.ts +0 -15
  479. package/build-tsc/utils/sortValues.d.ts +0 -12
  480. package/build-tsc/utils/toConstructors.d.ts +0 -16
  481. package/build-tsc/utils/typesToMap.d.ts +0 -2
  482. package/build-tsc/utils/util.d.ts +0 -3
  483. package/build-tsc-cjs/abstract/Array.js +0 -170
  484. package/build-tsc-cjs/abstract/Base.js +0 -105
  485. package/build-tsc-cjs/abstract/Int.js +0 -230
  486. package/build-tsc-cjs/abstract/Object.js +0 -44
  487. package/build-tsc-cjs/abstract/index.js +0 -9
  488. package/build-tsc-cjs/base/Compact.js +0 -163
  489. package/build-tsc-cjs/base/DoNotConstruct.js +0 -99
  490. package/build-tsc-cjs/base/Enum.js +0 -373
  491. package/build-tsc-cjs/base/Int.js +0 -30
  492. package/build-tsc-cjs/base/Null.js +0 -81
  493. package/build-tsc-cjs/base/Option.js +0 -236
  494. package/build-tsc-cjs/base/Result.js +0 -67
  495. package/build-tsc-cjs/base/Tuple.js +0 -114
  496. package/build-tsc-cjs/base/UInt.js +0 -27
  497. package/build-tsc-cjs/base/Vec.js +0 -107
  498. package/build-tsc-cjs/base/VecAny.js +0 -21
  499. package/build-tsc-cjs/base/VecFixed.js +0 -71
  500. package/build-tsc-cjs/base/index.js +0 -27
  501. package/build-tsc-cjs/bundle.js +0 -12
  502. package/build-tsc-cjs/extended/BTreeMap.js +0 -14
  503. package/build-tsc-cjs/extended/BTreeSet.js +0 -189
  504. package/build-tsc-cjs/extended/BitVec.js +0 -112
  505. package/build-tsc-cjs/extended/Bytes.js +0 -74
  506. package/build-tsc-cjs/extended/HashMap.js +0 -14
  507. package/build-tsc-cjs/extended/Linkage.js +0 -70
  508. package/build-tsc-cjs/extended/Map.js +0 -204
  509. package/build-tsc-cjs/extended/OptionBool.js +0 -76
  510. package/build-tsc-cjs/extended/Range.js +0 -42
  511. package/build-tsc-cjs/extended/RangeInclusive.js +0 -17
  512. package/build-tsc-cjs/extended/Type.js +0 -25
  513. package/build-tsc-cjs/extended/U8aFixed.js +0 -46
  514. package/build-tsc-cjs/extended/WrapperKeepOpaque.js +0 -103
  515. package/build-tsc-cjs/extended/WrapperOpaque.js +0 -23
  516. package/build-tsc-cjs/extended/index.js +0 -32
  517. package/build-tsc-cjs/index.js +0 -5
  518. package/build-tsc-cjs/native/Bool.js +0 -113
  519. package/build-tsc-cjs/native/Date.js +0 -144
  520. package/build-tsc-cjs/native/Float.js +0 -111
  521. package/build-tsc-cjs/native/Json.js +0 -121
  522. package/build-tsc-cjs/native/Raw.js +0 -144
  523. package/build-tsc-cjs/native/Set.js +0 -219
  524. package/build-tsc-cjs/native/Struct.data.js +0 -4
  525. package/build-tsc-cjs/native/Struct.js +0 -264
  526. package/build-tsc-cjs/native/Text.js +0 -154
  527. package/build-tsc-cjs/native/index.js +0 -22
  528. package/build-tsc-cjs/packageDetect.js +0 -5
  529. package/build-tsc-cjs/packageInfo.js +0 -4
  530. package/build-tsc-cjs/primitive/F32.js +0 -14
  531. package/build-tsc-cjs/primitive/F64.js +0 -14
  532. package/build-tsc-cjs/primitive/I128.js +0 -14
  533. package/build-tsc-cjs/primitive/I16.js +0 -14
  534. package/build-tsc-cjs/primitive/I256.js +0 -14
  535. package/build-tsc-cjs/primitive/I32.js +0 -14
  536. package/build-tsc-cjs/primitive/I64.js +0 -14
  537. package/build-tsc-cjs/primitive/I8.js +0 -14
  538. package/build-tsc-cjs/primitive/ISize.js +0 -18
  539. package/build-tsc-cjs/primitive/U128.js +0 -14
  540. package/build-tsc-cjs/primitive/U16.js +0 -14
  541. package/build-tsc-cjs/primitive/U256.js +0 -14
  542. package/build-tsc-cjs/primitive/U32.js +0 -14
  543. package/build-tsc-cjs/primitive/U64.js +0 -14
  544. package/build-tsc-cjs/primitive/U8.js +0 -14
  545. package/build-tsc-cjs/primitive/USize.js +0 -18
  546. package/build-tsc-cjs/primitive/index.js +0 -51
  547. package/build-tsc-cjs/types/codec.js +0 -2
  548. package/build-tsc-cjs/types/helpers.js +0 -2
  549. package/build-tsc-cjs/types/index.js +0 -7
  550. package/build-tsc-cjs/types/interfaces.js +0 -2
  551. package/build-tsc-cjs/types/registry.js +0 -2
  552. package/build-tsc-cjs/utils/compareArray.js +0 -13
  553. package/build-tsc-cjs/utils/compareMap.js +0 -30
  554. package/build-tsc-cjs/utils/compareSet.js +0 -20
  555. package/build-tsc-cjs/utils/decodeU8a.js +0 -105
  556. package/build-tsc-cjs/utils/index.js +0 -25
  557. package/build-tsc-cjs/utils/sanitize.js +0 -233
  558. package/build-tsc-cjs/utils/sortValues.js +0 -84
  559. package/build-tsc-cjs/utils/toConstructors.js +0 -40
  560. package/build-tsc-cjs/utils/typesToMap.js +0 -10
  561. package/build-tsc-cjs/utils/util.js +0 -7
  562. package/build-tsc-esm/abstract/Array.js +0 -166
  563. package/build-tsc-esm/abstract/Base.js +0 -101
  564. package/build-tsc-esm/abstract/Int.js +0 -226
  565. package/build-tsc-esm/abstract/Object.js +0 -40
  566. package/build-tsc-esm/abstract/index.js +0 -3
  567. package/build-tsc-esm/base/Compact.js +0 -159
  568. package/build-tsc-esm/base/DoNotConstruct.js +0 -95
  569. package/build-tsc-esm/base/Enum.js +0 -369
  570. package/build-tsc-esm/base/Int.js +0 -26
  571. package/build-tsc-esm/base/Null.js +0 -77
  572. package/build-tsc-esm/base/Option.js +0 -232
  573. package/build-tsc-esm/base/Result.js +0 -63
  574. package/build-tsc-esm/base/Tuple.js +0 -110
  575. package/build-tsc-esm/base/UInt.js +0 -23
  576. package/build-tsc-esm/base/Vec.js +0 -102
  577. package/build-tsc-esm/base/VecAny.js +0 -17
  578. package/build-tsc-esm/base/VecFixed.js +0 -67
  579. package/build-tsc-esm/base/index.js +0 -12
  580. package/build-tsc-esm/bundle.js +0 -7
  581. package/build-tsc-esm/extended/BTreeMap.js +0 -10
  582. package/build-tsc-esm/extended/BTreeSet.js +0 -185
  583. package/build-tsc-esm/extended/BitVec.js +0 -108
  584. package/build-tsc-esm/extended/Bytes.js +0 -70
  585. package/build-tsc-esm/extended/HashMap.js +0 -10
  586. package/build-tsc-esm/extended/Linkage.js +0 -65
  587. package/build-tsc-esm/extended/Map.js +0 -200
  588. package/build-tsc-esm/extended/OptionBool.js +0 -72
  589. package/build-tsc-esm/extended/Range.js +0 -38
  590. package/build-tsc-esm/extended/RangeInclusive.js +0 -13
  591. package/build-tsc-esm/extended/Type.js +0 -21
  592. package/build-tsc-esm/extended/U8aFixed.js +0 -42
  593. package/build-tsc-esm/extended/WrapperKeepOpaque.js +0 -99
  594. package/build-tsc-esm/extended/WrapperOpaque.js +0 -19
  595. package/build-tsc-esm/extended/index.js +0 -14
  596. package/build-tsc-esm/index.js +0 -2
  597. package/build-tsc-esm/native/Bool.js +0 -109
  598. package/build-tsc-esm/native/Date.js +0 -140
  599. package/build-tsc-esm/native/Float.js +0 -107
  600. package/build-tsc-esm/native/Json.js +0 -117
  601. package/build-tsc-esm/native/Raw.js +0 -140
  602. package/build-tsc-esm/native/Set.js +0 -215
  603. package/build-tsc-esm/native/Struct.data.js +0 -1
  604. package/build-tsc-esm/native/Struct.js +0 -260
  605. package/build-tsc-esm/native/Text.js +0 -150
  606. package/build-tsc-esm/native/index.js +0 -8
  607. package/build-tsc-esm/packageDetect.js +0 -3
  608. package/build-tsc-esm/packageInfo.js +0 -1
  609. package/build-tsc-esm/primitive/F32.js +0 -10
  610. package/build-tsc-esm/primitive/F64.js +0 -10
  611. package/build-tsc-esm/primitive/I128.js +0 -10
  612. package/build-tsc-esm/primitive/I16.js +0 -10
  613. package/build-tsc-esm/primitive/I256.js +0 -10
  614. package/build-tsc-esm/primitive/I32.js +0 -10
  615. package/build-tsc-esm/primitive/I64.js +0 -10
  616. package/build-tsc-esm/primitive/I8.js +0 -10
  617. package/build-tsc-esm/primitive/ISize.js +0 -14
  618. package/build-tsc-esm/primitive/U128.js +0 -10
  619. package/build-tsc-esm/primitive/U16.js +0 -10
  620. package/build-tsc-esm/primitive/U256.js +0 -10
  621. package/build-tsc-esm/primitive/U32.js +0 -10
  622. package/build-tsc-esm/primitive/U64.js +0 -10
  623. package/build-tsc-esm/primitive/U8.js +0 -10
  624. package/build-tsc-esm/primitive/USize.js +0 -14
  625. package/build-tsc-esm/primitive/index.js +0 -16
  626. package/build-tsc-esm/types/codec.js +0 -1
  627. package/build-tsc-esm/types/helpers.js +0 -1
  628. package/build-tsc-esm/types/index.js +0 -4
  629. package/build-tsc-esm/types/interfaces.js +0 -1
  630. package/build-tsc-esm/types/registry.js +0 -1
  631. package/build-tsc-esm/utils/compareArray.js +0 -10
  632. package/build-tsc-esm/utils/compareMap.js +0 -27
  633. package/build-tsc-esm/utils/compareSet.js +0 -17
  634. package/build-tsc-esm/utils/decodeU8a.js +0 -100
  635. package/build-tsc-esm/utils/index.js +0 -8
  636. package/build-tsc-esm/utils/sanitize.js +0 -219
  637. package/build-tsc-esm/utils/sortValues.js +0 -79
  638. package/build-tsc-esm/utils/toConstructors.js +0 -35
  639. package/build-tsc-esm/utils/typesToMap.js +0 -7
  640. package/build-tsc-esm/utils/util.js +0 -4
  641. package/src/abstract/Array.ts +0 -213
  642. package/src/abstract/Base.ts +0 -129
  643. package/src/abstract/Int.ts +0 -271
  644. package/src/abstract/Object.ts +0 -99
  645. package/src/abstract/index.ts +0 -6
  646. package/src/base/Compact.spec.ts +0 -99
  647. package/src/base/Compact.ts +0 -198
  648. package/src/base/DoNotConstruct.spec.ts +0 -23
  649. package/src/base/DoNotConstruct.ts +0 -118
  650. package/src/base/Enum.spec.ts +0 -487
  651. package/src/base/Enum.ts +0 -460
  652. package/src/base/Int.spec.ts +0 -225
  653. package/src/base/Int.ts +0 -34
  654. package/src/base/Null.spec.ts +0 -41
  655. package/src/base/Null.ts +0 -96
  656. package/src/base/Option.spec.ts +0 -216
  657. package/src/base/Option.ts +0 -275
  658. package/src/base/Result.spec.ts +0 -64
  659. package/src/base/Result.ts +0 -79
  660. package/src/base/Tuple.spec.ts +0 -161
  661. package/src/base/Tuple.ts +0 -149
  662. package/src/base/UInt.spec.ts +0 -192
  663. package/src/base/UInt.ts +0 -30
  664. package/src/base/Vec.spec.ts +0 -224
  665. package/src/base/Vec.ts +0 -133
  666. package/src/base/VecAny.ts +0 -23
  667. package/src/base/VecFixed.spec.ts +0 -78
  668. package/src/base/VecFixed.ts +0 -92
  669. package/src/base/index.ts +0 -15
  670. package/src/bundle.ts +0 -13
  671. package/src/checkTypes.manual.ts +0 -12
  672. package/src/extended/BTreeMap.spec.ts +0 -245
  673. package/src/extended/BTreeMap.ts +0 -16
  674. package/src/extended/BTreeSet.spec.ts +0 -260
  675. package/src/extended/BTreeSet.ts +0 -233
  676. package/src/extended/BitVec.spec.ts +0 -97
  677. package/src/extended/BitVec.ts +0 -137
  678. package/src/extended/Bytes.spec.ts +0 -75
  679. package/src/extended/Bytes.ts +0 -88
  680. package/src/extended/HashMap.spec.ts +0 -36
  681. package/src/extended/HashMap.ts +0 -16
  682. package/src/extended/Linkage.spec.ts +0 -43
  683. package/src/extended/Linkage.ts +0 -81
  684. package/src/extended/Map.spec.ts +0 -123
  685. package/src/extended/Map.ts +0 -255
  686. package/src/extended/OptionBool.spec.ts +0 -49
  687. package/src/extended/OptionBool.ts +0 -93
  688. package/src/extended/Range.spec.ts +0 -37
  689. package/src/extended/Range.ts +0 -56
  690. package/src/extended/RangeInclusive.ts +0 -20
  691. package/src/extended/Type.spec.ts +0 -118
  692. package/src/extended/Type.ts +0 -29
  693. package/src/extended/U8aFixed.spec.ts +0 -117
  694. package/src/extended/U8aFixed.ts +0 -57
  695. package/src/extended/WrapperKeepOpaque.spec.ts +0 -101
  696. package/src/extended/WrapperKeepOpaque.ts +0 -128
  697. package/src/extended/WrapperOpaque.spec.ts +0 -58
  698. package/src/extended/WrapperOpaque.ts +0 -27
  699. package/src/extended/index.ts +0 -17
  700. package/src/index.ts +0 -6
  701. package/src/mod.ts +0 -4
  702. package/src/native/Bool.spec.ts +0 -74
  703. package/src/native/Bool.ts +0 -137
  704. package/src/native/Date.spec.ts +0 -85
  705. package/src/native/Date.ts +0 -169
  706. package/src/native/Float.spec.ts +0 -51
  707. package/src/native/Float.ts +0 -136
  708. package/src/native/Json.ts +0 -147
  709. package/src/native/Raw.spec.ts +0 -113
  710. package/src/native/Raw.ts +0 -171
  711. package/src/native/Set.spec.ts +0 -116
  712. package/src/native/Set.ts +0 -269
  713. package/src/native/Struct.data.ts +0 -4
  714. package/src/native/Struct.spec.ts +0 -411
  715. package/src/native/Struct.ts +0 -338
  716. package/src/native/Text.spec.ts +0 -85
  717. package/src/native/Text.ts +0 -184
  718. package/src/native/index.ts +0 -11
  719. package/src/packageDetect.ts +0 -11
  720. package/src/packageInfo.ts +0 -6
  721. package/src/primitive/F32.ts +0 -14
  722. package/src/primitive/F64.ts +0 -14
  723. package/src/primitive/I128.ts +0 -14
  724. package/src/primitive/I16.ts +0 -14
  725. package/src/primitive/I256.ts +0 -14
  726. package/src/primitive/I32.ts +0 -14
  727. package/src/primitive/I64.ts +0 -14
  728. package/src/primitive/I8.ts +0 -14
  729. package/src/primitive/ISize.ts +0 -21
  730. package/src/primitive/U128.ts +0 -14
  731. package/src/primitive/U16.ts +0 -14
  732. package/src/primitive/U256.ts +0 -14
  733. package/src/primitive/U32.ts +0 -14
  734. package/src/primitive/U64.ts +0 -14
  735. package/src/primitive/U8.ts +0 -14
  736. package/src/primitive/USize.ts +0 -21
  737. package/src/primitive/index.ts +0 -19
  738. package/src/test/performance.ts +0 -61
  739. package/src/types/codec.ts +0 -140
  740. package/src/types/helpers.ts +0 -50
  741. package/src/types/index.ts +0 -7
  742. package/src/types/interfaces.ts +0 -98
  743. package/src/types/registry.ts +0 -86
  744. package/src/utils/compareArray.ts +0 -22
  745. package/src/utils/compareMap.ts +0 -40
  746. package/src/utils/compareSet.ts +0 -23
  747. package/src/utils/decodeU8a.ts +0 -123
  748. package/src/utils/index.ts +0 -11
  749. package/src/utils/sanitize.spec.ts +0 -89
  750. package/src/utils/sanitize.ts +0 -290
  751. package/src/utils/sortValues.ts +0 -103
  752. package/src/utils/toConstructors.ts +0 -46
  753. package/src/utils/typesToMap.ts +0 -14
  754. package/src/utils/util.ts +0 -8
  755. package/tsconfig.build.json +0 -16
  756. package/tsconfig.build.tsbuildinfo +0 -1
  757. package/tsconfig.spec.json +0 -21
  758. package/tsconfig.spec.tsbuildinfo +0 -1
@@ -1,271 +0,0 @@
1
- // Copyright 2017-2025 @pezkuwi/types-codec authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import type { HexString } from '@pezkuwi/util/types';
5
- import type { AnyNumber, Inspect, INumber, IU8a, Registry, ToBn, UIntBitLength } from '../types/index.js';
6
-
7
- import { BN, BN_BILLION, BN_HUNDRED, BN_MILLION, BN_QUINTILL, bnToBn, bnToHex, bnToU8a, formatBalance, formatNumber, hexToBn, isBigInt, isBn, isFunction, isHex, isNumber, isObject, isString, isU8a, u8aToBn, u8aToNumber } from '@pezkuwi/util';
8
-
9
- export const DEFAULT_UINT_BITS = 64;
10
-
11
- // Maximum allowed integer for JS is 2^53 - 1, set limit at 52
12
- // In this case however, we always print any >32 as hex
13
- const MAX_NUMBER_BITS = 52;
14
- const MUL_P = new BN(1_00_00);
15
-
16
- const FORMATTERS: [string, BN][] = [
17
- ['Perquintill', BN_QUINTILL],
18
- ['Perbill', BN_BILLION],
19
- ['Permill', BN_MILLION],
20
- ['Percent', BN_HUNDRED]
21
- ];
22
-
23
- function isToBn (value: unknown): value is ToBn {
24
- return isFunction((value as ToBn).toBn);
25
- }
26
-
27
- function toPercentage (value: BN, divisor: BN): string {
28
- return `${(value.mul(MUL_P).div(divisor).toNumber() / 100).toFixed(2)}%`;
29
- }
30
-
31
- /** @internal */
32
- function decodeAbstractInt (value: Exclude<AnyNumber, Uint8Array> | Record<string, string> | ToBn | null, isNegative: boolean): string | number {
33
- if (isNumber(value)) {
34
- if (!Number.isInteger(value) || value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER) {
35
- throw new Error('Number needs to be an integer <= Number.MAX_SAFE_INTEGER, i.e. 2 ^ 53 - 1');
36
- }
37
-
38
- return value;
39
- } else if (isString(value)) {
40
- if (isHex(value, -1, true)) {
41
- return hexToBn(value, { isLe: false, isNegative }).toString();
42
- }
43
-
44
- if (value.includes('.') || value.includes(',') || value.includes('e')) {
45
- throw new Error('String should not contain decimal points or scientific notation');
46
- }
47
-
48
- return value;
49
- } else if (isBn(value) || isBigInt(value)) {
50
- return value.toString();
51
- } else if (isObject(value)) {
52
- if (isToBn(value)) {
53
- return value.toBn().toString();
54
- }
55
-
56
- // Allow the construction from an object with a single top-level key. This means that
57
- // single key objects can be treated equivalently to numbers, assuming they meet the
58
- // specific requirements. (This is useful in Weights 1.5 where Objects are compact)
59
- const keys = Object.keys(value);
60
-
61
- if (keys.length !== 1) {
62
- throw new Error('Unable to construct number from multi-key object');
63
- }
64
-
65
- return decodeAbstractInt(value[keys[0]], isNegative);
66
- } else if (!value) {
67
- return 0;
68
- }
69
-
70
- throw new Error(`Unable to create BN from unknown type ${typeof value}`);
71
- }
72
-
73
- /**
74
- * @name AbstractInt
75
- * @ignore
76
- * @noInheritDoc
77
- */
78
- export abstract class AbstractInt extends BN implements INumber {
79
- readonly registry: Registry;
80
- readonly encodedLength: number;
81
- readonly isUnsigned: boolean;
82
-
83
- public createdAtHash?: IU8a;
84
- public initialU8aLength?: number;
85
- public isStorageFallback?: boolean;
86
-
87
- readonly #bitLength: UIntBitLength;
88
-
89
- constructor (registry: Registry, value: AnyNumber | null = 0, bitLength: UIntBitLength = DEFAULT_UINT_BITS, isSigned = false) {
90
- // Construct via a string/number, which will be passed in the BN constructor.
91
- // It would be ideal to actually return a BN, but there is an issue:
92
- // https://github.com/indutny/bn.js/issues/206
93
- super(
94
- // shortcut isU8a as used in SCALE decoding
95
- isU8a(value)
96
- ? bitLength <= 48
97
- ? u8aToNumber(value.subarray(0, bitLength / 8), { isNegative: isSigned })
98
- : u8aToBn(value.subarray(0, bitLength / 8), { isLe: true, isNegative: isSigned }).toString()
99
- : decodeAbstractInt(value, isSigned)
100
- );
101
-
102
- this.registry = registry;
103
- this.#bitLength = bitLength;
104
- this.encodedLength = this.#bitLength / 8;
105
- this.initialU8aLength = this.#bitLength / 8;
106
- this.isUnsigned = !isSigned;
107
-
108
- const isNegative = this.isNeg();
109
- const maxBits = bitLength - (isSigned && !isNegative ? 1 : 0);
110
-
111
- if (isNegative && !isSigned) {
112
- throw new Error(`${this.toRawType()}: Negative number passed to unsigned type`);
113
- } else if (super.bitLength() > maxBits) {
114
- throw new Error(`${this.toRawType()}: Input too large. Found input with ${super.bitLength()} bits, expected ${maxBits}`);
115
- }
116
- }
117
-
118
- /**
119
- * @description returns a hash of the contents
120
- */
121
- public get hash (): IU8a {
122
- return this.registry.hash(this.toU8a());
123
- }
124
-
125
- /**
126
- * @description Checks if the value is a zero value (align elsewhere)
127
- */
128
- public get isEmpty (): boolean {
129
- return this.isZero();
130
- }
131
-
132
- /**
133
- * @description Returns the number of bits in the value
134
- */
135
- public override bitLength (): number {
136
- return this.#bitLength;
137
- }
138
-
139
- /**
140
- * @description Compares the value of the input to see if there is a match
141
- */
142
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
143
- public override eq (other?: unknown): boolean {
144
- // Here we are actually overriding the built-in .eq to take care of both
145
- // number and BN inputs (no `.eqn` needed) - numbers will be converted
146
- return super.eq(
147
- isHex(other)
148
- ? hexToBn(other.toString(), { isLe: false, isNegative: !this.isUnsigned })
149
- : bnToBn(other as string)
150
- );
151
- }
152
-
153
- /**
154
- * @description Returns a breakdown of the hex encoding for this Codec
155
- */
156
- public inspect (): Inspect {
157
- return {
158
- outer: [this.toU8a()]
159
- };
160
- }
161
-
162
- /**
163
- * @description True if this value is the max of the type
164
- */
165
- public isMax (): boolean {
166
- const u8a = this.toU8a().filter((b) => b === 0xff);
167
-
168
- return u8a.length === (this.#bitLength / 8);
169
- }
170
-
171
- /**
172
- * @description Returns a BigInt representation of the number
173
- */
174
- public toBigInt (): bigint {
175
- return BigInt(this.toString());
176
- }
177
-
178
- /**
179
- * @description Returns the BN representation of the number. (Compatibility)
180
- */
181
- public toBn (): BN {
182
- return this;
183
- }
184
-
185
- /**
186
- * @description Returns a hex string representation of the value
187
- */
188
- public toHex (isLe = false): HexString {
189
- // For display/JSON, this is BE, for compare, use isLe
190
- return bnToHex(this, {
191
- bitLength: this.bitLength(),
192
- isLe,
193
- isNegative: !this.isUnsigned
194
- });
195
- }
196
-
197
- /**
198
- * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
199
- */
200
- public toHuman (_isExpanded?: boolean): string {
201
- const rawType = this.toRawType();
202
-
203
- if (rawType === 'Balance') {
204
- return this.isMax()
205
- ? 'everything'
206
- // FIXME In the case of multiples we need some way of detecting which instance this belongs
207
- // to. as it stands we will always format (incorrectly) against the first token defined
208
- : formatBalance(this, { decimals: this.registry.chainDecimals[0], withSi: true, withUnit: this.registry.chainTokens[0] });
209
- }
210
-
211
- const [, divisor] = FORMATTERS.find(([type]) => type === rawType) || [];
212
-
213
- return divisor
214
- ? toPercentage(this, divisor)
215
- : formatNumber(this);
216
- }
217
-
218
- /**
219
- * @description Converts the Object to JSON, typically used for RPC transfers
220
- */
221
- public override toJSON (onlyHex = false): any {
222
- // FIXME this return type should by string | number, however BN returns string
223
- // Options here are
224
- // - super.bitLength() - the actual used bits, use hex when close to MAX_SAFE_INTEGER
225
- // - this.#bitLength - the max used bits, use hex when larger than native Rust type
226
- return onlyHex || (this.#bitLength > 128) || (super.bitLength() > MAX_NUMBER_BITS)
227
- ? this.toHex()
228
- : this.toNumber();
229
- }
230
-
231
- /**
232
- * @description Returns the value in a primitive form, either number when <= 52 bits, or string otherwise
233
- */
234
- public toPrimitive (): number | string {
235
- return super.bitLength() > MAX_NUMBER_BITS
236
- ? this.toString()
237
- : this.toNumber();
238
- }
239
-
240
- /**
241
- * @description Returns the base runtime type name for this instance
242
- */
243
- public toRawType (): string {
244
- // NOTE In the case of balances, which have a special meaning on the UI
245
- // and can be interpreted differently, return a specific value for it so
246
- // underlying it always matches (no matter which length it actually is)
247
- return this instanceof this.registry.createClassUnsafe('Balance')
248
- ? 'Balance'
249
- : `${this.isUnsigned ? 'u' : 'i'}${this.bitLength()}`;
250
- }
251
-
252
- /**
253
- * @description Returns the string representation of the value
254
- * @param base The base to use for the conversion
255
- */
256
- public override toString (base?: number): string {
257
- // only included here since we do not inherit docs
258
- return super.toString(base);
259
- }
260
-
261
- /**
262
- * @description Encodes the value as a Uint8Array as per the SCALE specifications
263
- */
264
- public toU8a (_isBare?: boolean): Uint8Array {
265
- return bnToU8a(this, {
266
- bitLength: this.bitLength(),
267
- isLe: true,
268
- isNegative: !this.isUnsigned
269
- });
270
- }
271
- }
@@ -1,99 +0,0 @@
1
- // Copyright 2017-2025 @pezkuwi/types-codec authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import type { HexString } from '@pezkuwi/util/types';
5
- import type { AnyJson, BareOpts, CodecObject, Inspect, IU8a, Registry, ToString } from '../types/index.js';
6
-
7
- /**
8
- * @name Object
9
- * @description A type extends the Base class, when it holds a value
10
- */
11
- export abstract class AbstractObject<T extends ToString> implements CodecObject<T> {
12
- readonly registry: Registry;
13
-
14
- public createdAtHash?: IU8a;
15
- public initialU8aLength?: number | undefined;
16
- public isStorageFallback?: boolean;
17
-
18
- readonly $: T;
19
-
20
- protected constructor (registry: Registry, value: T, initialU8aLength?: number) {
21
- this.$ = value;
22
- this.initialU8aLength = initialU8aLength;
23
- this.registry = registry;
24
- }
25
-
26
- /**
27
- * @description The length of the value when encoded as a Uint8Array
28
- */
29
- public get encodedLength (): number {
30
- return this.toU8a().length;
31
- }
32
-
33
- /**
34
- * @description returns a hash of the contents
35
- */
36
- public get hash (): IU8a {
37
- return this.registry.hash(this.toU8a());
38
- }
39
-
40
- /**
41
- * @description Checks if the value is an empty value
42
- */
43
- public abstract get isEmpty (): boolean;
44
-
45
- /**
46
- * @description Compares the value of the input to see if there is a match
47
- */
48
- public abstract eq (other?: unknown): boolean;
49
-
50
- /**
51
- * @description Returns a breakdown of the hex encoding for this Codec
52
- */
53
- public abstract inspect (): Inspect;
54
-
55
- /**
56
- * @description Returns a hex string representation of the value. isLe returns a LE (number-only) representation
57
- */
58
- public abstract toHex (isLe?: boolean): HexString;
59
-
60
- /**
61
- * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
62
- */
63
- public abstract toHuman (isExtended?: boolean, disableAscii?: boolean): AnyJson;
64
-
65
- /**
66
- * @description Converts the Object to JSON, typically used for RPC transfers
67
- */
68
- public abstract toJSON (): AnyJson;
69
-
70
- /**
71
- * @description Converts the value in a best-fit primitive form
72
- */
73
- public abstract toPrimitive (disableAscii?: boolean): AnyJson;
74
-
75
- /**
76
- * @description Returns the string representation of the value
77
- */
78
- public toString (): string {
79
- return this.$.toString();
80
- }
81
-
82
- /**
83
- * @description Encodes the value as a Uint8Array as per the SCALE specifications
84
- * @param isBare true when the value has none of the type-specific prefixes (internal)
85
- */
86
- public abstract toU8a (isBare?: BareOpts): Uint8Array;
87
-
88
- /**
89
- * @description Returns the base runtime type name for this instance
90
- */
91
- public abstract toRawType (): string;
92
-
93
- /**
94
- * @description Return the internal value (JS-aligned, same result as $)
95
- */
96
- public valueOf (): T {
97
- return this.$;
98
- }
99
- }
@@ -1,6 +0,0 @@
1
- // Copyright 2017-2025 @pezkuwi/types-codec authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- export { AbstractArray } from './Array.js';
5
- export { AbstractBase } from './Base.js';
6
- export { AbstractInt } from './Int.js';
@@ -1,99 +0,0 @@
1
- // Copyright 2017-2025 @pezkuwi/types-codec authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- /// <reference types="@pezkuwi/dev-test/globals.d.ts" />
5
-
6
- import { TypeRegistry } from '@pezkuwi/types';
7
- import { CodecDate, Compact, U32 } from '@pezkuwi/types-codec';
8
- import { BN } from '@pezkuwi/util';
9
-
10
- import { perf } from '../test/performance.js';
11
-
12
- const CompactU32 = Compact.with(U32);
13
-
14
- describe('Compact', (): void => {
15
- const registry = new TypeRegistry();
16
-
17
- describe('constructor', (): void => {
18
- it('fails on > MAX_SAFE_INTEGER', (): void => {
19
- // eslint-disable-next-line @typescript-eslint/no-loss-of-precision, no-loss-of-precision
20
- expect(() => new Compact(registry, 'u128', 9007199254740999)).toThrow(/integer <= Number.MAX_SAFE_INTEGER/);
21
- });
22
-
23
- it('has support for BigInt', (): void => {
24
- expect(
25
- new Compact(registry, 'u128', 123456789000123456789n).toHuman()
26
- ).toEqual('123,456,789,000,123,456,789');
27
- });
28
-
29
- it('has the correct bitLength for constructor values (BlockNumber)', (): void => {
30
- expect(
31
- new (Compact.with(registry.createClass('BlockNumber')))(registry, 0xfffffff9).bitLength()
32
- ).toEqual(32);
33
- });
34
-
35
- it('has the correct encodedLength for constructor values (string BlockNumber)', (): void => {
36
- expect(
37
- new (Compact.with('BlockNumber'))(registry, 0xfffffff9).encodedLength
38
- ).toEqual(5);
39
- });
40
-
41
- it('has the correct encodedLength for constructor values (class BlockNumber)', (): void => {
42
- expect(
43
- new (Compact.with(registry.createClass('BlockNumber')))(registry, 0xfffffff9).encodedLength
44
- ).toEqual(5);
45
- });
46
-
47
- it('has the correct encodedLength for constructor values (u32)', (): void => {
48
- expect(
49
- new (Compact.with(U32))(registry, 0xffff9).encodedLength
50
- ).toEqual(4);
51
- });
52
-
53
- it('constructs properly via Uint8Array as U32', (): void => {
54
- expect(
55
- new (Compact.with(U32))(registry, new Uint8Array([254, 255, 3, 0])).toNumber()
56
- ).toEqual(new BN(0xffff).toNumber());
57
- });
58
-
59
- it('constructs properly via number as Moment', (): void => {
60
- expect(
61
- new (Compact.with(CodecDate))(registry, 1537968546).toString().startsWith('Wed Sep 26 2018') // The time depends on the timezone this test is run in
62
- ).toBe(true);
63
- });
64
- });
65
-
66
- describe('utils', (): void => {
67
- it('compares against another Compact', (): void => {
68
- expect(new (Compact.with(U32))(registry, 12345).eq(new (Compact.with(U32))(registry, 12345))).toBe(true);
69
- });
70
-
71
- it('compares against a primitive', (): void => {
72
- expect(new (Compact.with(U32))(registry, 12345).eq(12345)).toBe(true);
73
- });
74
-
75
- it('unwraps to the wrapped value', (): void => {
76
- expect(new (Compact.with(U32))(registry, 12345).unwrap() instanceof U32).toBe(true);
77
- });
78
-
79
- it('has a valid toBn interface', (): void => {
80
- expect(new (Compact.with('u128'))(registry, '12345678987654321').toBn().eq(new BN('12345678987654321'))).toBe(true);
81
- });
82
-
83
- it('has a valid toBigInt interface', (): void => {
84
- expect(
85
- (new (Compact.with('u128'))(registry, 12345678987654321n).toBigInt() + 1n) === 12345678987654322n
86
- ).toBe(true);
87
- });
88
-
89
- it('has a sane inspect', (): void => {
90
- expect(
91
- new (Compact.with(U32))(registry, 0xffff).inspect()
92
- ).toEqual({
93
- outer: [new Uint8Array([254, 255, 3, 0])]
94
- });
95
- });
96
- });
97
-
98
- perf('Compact', 75_000, [[new Uint8Array([63 << 2])]], (v: Uint8Array) => new CompactU32(registry, v));
99
- });
@@ -1,198 +0,0 @@
1
- // Copyright 2017-2025 @pezkuwi/types-codec authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import type { BN } from '@pezkuwi/util';
5
- import type { HexString } from '@pezkuwi/util/types';
6
- import type { AnyJson, AnyNumber, CodecClass, DefinitionSetter, ICompact, Inspect, INumber, IU8a, Registry } from '../types/index.js';
7
-
8
- import { compactFromU8a, compactFromU8aLim, compactToU8a, identity, isU8a } from '@pezkuwi/util';
9
-
10
- import { typeToConstructor } from '../utils/index.js';
11
-
12
- function decodeCompact<T extends INumber> (registry: Registry, Type: CodecClass<T>, value: Compact<T> | AnyNumber): [T, number] {
13
- if (isU8a(value)) {
14
- const [decodedLength, bn] = (value[0] & 0b11) < 0b11
15
- ? compactFromU8aLim(value)
16
- : compactFromU8a(value);
17
-
18
- return [new Type(registry, bn), decodedLength];
19
- } else if (value instanceof Compact) {
20
- const raw = value.unwrap();
21
-
22
- return raw instanceof Type
23
- ? [raw, 0]
24
- : [new Type(registry, raw), 0];
25
- } else if (value instanceof Type) {
26
- return [value, 0];
27
- }
28
-
29
- return [new Type(registry, value), 0];
30
- }
31
-
32
- /**
33
- * @name Compact
34
- * @description
35
- * A compact length-encoding codec wrapper. It performs the same function as Length, however
36
- * differs in that it uses a variable number of bytes to do the actual encoding. This is mostly
37
- * used by other types to add length-prefixed encoding, or in the case of wrapped types, taking
38
- * a number and making the compact representation thereof
39
- */
40
- export class Compact<T extends INumber> implements ICompact<T> {
41
- readonly registry: Registry;
42
-
43
- public createdAtHash?: IU8a;
44
- public initialU8aLength?: number;
45
- public isStorageFallback?: boolean;
46
-
47
- readonly #Type: CodecClass<T>;
48
- readonly #raw: T;
49
-
50
- constructor (registry: Registry, Type: CodecClass<T> | string, value: Compact<T> | AnyNumber = 0, { definition, setDefinition = identity }: DefinitionSetter<CodecClass<T>> = {}) {
51
- this.registry = registry;
52
- this.#Type = definition || setDefinition(typeToConstructor(registry, Type));
53
-
54
- const [raw, decodedLength] = decodeCompact<T>(registry, this.#Type, value);
55
-
56
- this.initialU8aLength = decodedLength;
57
- this.#raw = raw;
58
- }
59
-
60
- public static with<O extends INumber> (Type: CodecClass<O> | string): CodecClass<Compact<O>> {
61
- let definition: CodecClass<O> | undefined;
62
-
63
- // eslint-disable-next-line no-return-assign
64
- const setDefinition = <T> (d: CodecClass<T>) =>
65
- (definition = d as unknown as CodecClass<O>) as unknown as CodecClass<T>;
66
-
67
- return class extends Compact<O> {
68
- constructor (registry: Registry, value?: Compact<O> | AnyNumber) {
69
- super(registry, Type, value, { definition, setDefinition });
70
- }
71
- };
72
- }
73
-
74
- /**
75
- * @description The length of the value when encoded as a Uint8Array
76
- */
77
- public get encodedLength (): number {
78
- return this.toU8a().length;
79
- }
80
-
81
- /**
82
- * @description returns a hash of the contents
83
- */
84
- public get hash (): IU8a {
85
- return this.registry.hash(this.toU8a());
86
- }
87
-
88
- /**
89
- * @description Checks if the value is an empty value
90
- */
91
- public get isEmpty (): boolean {
92
- return this.#raw.isEmpty;
93
- }
94
-
95
- /**
96
- * @description Returns the number of bits in the value
97
- */
98
- public bitLength (): number {
99
- return this.#raw.bitLength();
100
- }
101
-
102
- /**
103
- * @description Compares the value of the input to see if there is a match
104
- */
105
- public eq (other?: unknown): boolean {
106
- return this.#raw.eq(
107
- other instanceof Compact
108
- ? other.#raw
109
- : other
110
- );
111
- }
112
-
113
- /**
114
- * @description Returns a breakdown of the hex encoding for this Codec
115
- */
116
- public inspect (): Inspect {
117
- return {
118
- outer: [this.toU8a()]
119
- };
120
- }
121
-
122
- /**
123
- * @description Returns a BigInt representation of the number
124
- */
125
- public toBigInt (): bigint {
126
- return this.#raw.toBigInt();
127
- }
128
-
129
- /**
130
- * @description Returns the BN representation of the number
131
- */
132
- public toBn (): BN {
133
- return this.#raw.toBn();
134
- }
135
-
136
- /**
137
- * @description Returns a hex string representation of the value. isLe returns a LE (number-only) representation
138
- */
139
- public toHex (isLe?: boolean): HexString {
140
- return this.#raw.toHex(isLe);
141
- }
142
-
143
- /**
144
- * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
145
- */
146
- public toHuman (isExtended?: boolean, disableAscii?: boolean): AnyJson {
147
- return this.#raw.toHuman(isExtended, disableAscii);
148
- }
149
-
150
- /**
151
- * @description Converts the Object to JSON, typically used for RPC transfers
152
- */
153
- public toJSON (): AnyJson {
154
- return this.#raw.toJSON();
155
- }
156
-
157
- /**
158
- * @description Returns the number representation for the value
159
- */
160
- public toNumber (): number {
161
- return this.#raw.toNumber();
162
- }
163
-
164
- /**
165
- * @description Converts the value in a best-fit primitive form
166
- */
167
- public toPrimitive (disableAscii?: boolean): string | number {
168
- return this.#raw.toPrimitive(disableAscii);
169
- }
170
-
171
- /**
172
- * @description Returns the base runtime type name for this instance
173
- */
174
- public toRawType (): string {
175
- return `Compact<${this.registry.getClassName(this.#Type) || this.#raw.toRawType()}>`;
176
- }
177
-
178
- /**
179
- * @description Returns the string representation of the value
180
- */
181
- public toString (): string {
182
- return this.#raw.toString();
183
- }
184
-
185
- /**
186
- * @description Encodes the value as a Uint8Array as per the SCALE specifications
187
- */
188
- public toU8a (_isBare?: boolean): Uint8Array {
189
- return compactToU8a(this.#raw.toBn());
190
- }
191
-
192
- /**
193
- * @description Returns the embedded [[UInt]] or [[Moment]] value
194
- */
195
- public unwrap (): T {
196
- return this.#raw;
197
- }
198
- }
@@ -1,23 +0,0 @@
1
- // Copyright 2017-2025 @pezkuwi/types-codec authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- /// <reference types="@pezkuwi/dev-test/globals.d.ts" />
5
-
6
- import { TypeRegistry } from '@pezkuwi/types';
7
- import { DoNotConstruct } from '@pezkuwi/types-codec';
8
-
9
- describe('DoNotConstruct', (): void => {
10
- const registry = new TypeRegistry();
11
-
12
- it('does not allow construction', (): void => {
13
- expect(
14
- () => new (DoNotConstruct.with())(registry)
15
- ).toThrow(/Cannot construct unknown type DoNotConstruct/);
16
- });
17
-
18
- it('does not allow construction (with Name)', (): void => {
19
- expect(
20
- () => new (DoNotConstruct.with('Something'))(registry)
21
- ).toThrow(/Cannot construct unknown type Something/);
22
- });
23
- });