@pezkuwi/types-codec 16.5.5 → 16.5.6

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 (424) hide show
  1. package/LICENSE +201 -0
  2. package/abstract/Array.js +166 -0
  3. package/abstract/Base.js +101 -0
  4. package/abstract/Int.js +226 -0
  5. package/abstract/Object.js +40 -0
  6. package/{src/abstract/index.ts → abstract/index.js} +0 -3
  7. package/base/Compact.js +159 -0
  8. package/base/DoNotConstruct.js +95 -0
  9. package/base/Enum.js +369 -0
  10. package/{build/base → base}/Int.d.ts +1 -1
  11. package/base/Int.js +26 -0
  12. package/base/Null.js +77 -0
  13. package/base/Option.js +232 -0
  14. package/base/Result.js +63 -0
  15. package/base/Tuple.js +110 -0
  16. package/{build/base → base}/UInt.d.ts +1 -1
  17. package/base/UInt.js +23 -0
  18. package/base/Vec.js +102 -0
  19. package/base/VecAny.js +17 -0
  20. package/base/VecFixed.js +67 -0
  21. package/{src/base/index.ts → base/index.js} +0 -3
  22. package/{src/bundle.ts → bundle.js} +0 -6
  23. package/cjs/abstract/Array.d.ts +89 -0
  24. package/cjs/abstract/Array.js +170 -0
  25. package/cjs/abstract/Base.d.ts +75 -0
  26. package/cjs/abstract/Base.js +105 -0
  27. package/cjs/abstract/Int.d.ts +80 -0
  28. package/cjs/abstract/Int.js +230 -0
  29. package/cjs/abstract/Object.d.ts +67 -0
  30. package/cjs/abstract/Object.js +44 -0
  31. package/cjs/abstract/index.d.ts +3 -0
  32. package/cjs/abstract/index.js +9 -0
  33. package/cjs/base/Compact.d.ts +88 -0
  34. package/cjs/base/Compact.js +163 -0
  35. package/cjs/base/DoNotConstruct.d.ts +63 -0
  36. package/cjs/base/DoNotConstruct.js +99 -0
  37. package/cjs/base/Enum.d.ts +118 -0
  38. package/cjs/base/Enum.js +373 -0
  39. package/cjs/base/Int.d.ts +16 -0
  40. package/cjs/base/Int.js +30 -0
  41. package/cjs/base/Null.d.ts +56 -0
  42. package/cjs/base/Null.js +81 -0
  43. package/cjs/base/Option.d.ts +94 -0
  44. package/cjs/base/Option.js +236 -0
  45. package/cjs/base/Result.d.ts +38 -0
  46. package/cjs/base/Result.js +67 -0
  47. package/cjs/base/Tuple.d.ts +42 -0
  48. package/cjs/base/Tuple.js +114 -0
  49. package/cjs/base/UInt.d.ts +15 -0
  50. package/cjs/base/UInt.js +27 -0
  51. package/cjs/base/Vec.d.ts +28 -0
  52. package/cjs/base/Vec.js +107 -0
  53. package/cjs/base/VecAny.d.ts +15 -0
  54. package/cjs/base/VecAny.js +21 -0
  55. package/cjs/base/VecFixed.d.ts +30 -0
  56. package/cjs/base/VecFixed.js +71 -0
  57. package/cjs/base/index.d.ts +12 -0
  58. package/cjs/base/index.js +27 -0
  59. package/cjs/bundle.d.ts +7 -0
  60. package/cjs/bundle.js +12 -0
  61. package/cjs/extended/BTreeMap.js +14 -0
  62. package/cjs/extended/BTreeSet.js +189 -0
  63. package/cjs/extended/BitVec.js +112 -0
  64. package/cjs/extended/Bytes.js +74 -0
  65. package/cjs/extended/HashMap.js +14 -0
  66. package/cjs/extended/Linkage.js +70 -0
  67. package/cjs/extended/Map.js +204 -0
  68. package/cjs/extended/OptionBool.js +76 -0
  69. package/cjs/extended/Range.js +42 -0
  70. package/cjs/extended/RangeInclusive.js +17 -0
  71. package/cjs/extended/Type.js +25 -0
  72. package/cjs/extended/U8aFixed.js +46 -0
  73. package/cjs/extended/WrapperKeepOpaque.js +103 -0
  74. package/cjs/extended/WrapperOpaque.js +23 -0
  75. package/cjs/extended/index.js +32 -0
  76. package/cjs/index.js +5 -0
  77. package/cjs/native/Bool.js +113 -0
  78. package/cjs/native/Date.js +144 -0
  79. package/cjs/native/Float.js +111 -0
  80. package/cjs/native/Json.js +121 -0
  81. package/cjs/native/Raw.js +144 -0
  82. package/cjs/native/Set.js +219 -0
  83. package/cjs/native/Struct.data.js +4 -0
  84. package/cjs/native/Struct.js +264 -0
  85. package/cjs/native/Text.js +154 -0
  86. package/cjs/native/index.js +22 -0
  87. package/cjs/package.json +3 -0
  88. package/cjs/packageDetect.js +5 -0
  89. package/cjs/packageInfo.js +4 -0
  90. package/cjs/primitive/F32.js +14 -0
  91. package/cjs/primitive/F64.js +14 -0
  92. package/cjs/primitive/I128.js +14 -0
  93. package/cjs/primitive/I16.js +14 -0
  94. package/cjs/primitive/I256.js +14 -0
  95. package/cjs/primitive/I32.js +14 -0
  96. package/cjs/primitive/I64.js +14 -0
  97. package/cjs/primitive/I8.js +14 -0
  98. package/cjs/primitive/ISize.js +18 -0
  99. package/cjs/primitive/U128.js +14 -0
  100. package/cjs/primitive/U16.js +14 -0
  101. package/cjs/primitive/U256.js +14 -0
  102. package/cjs/primitive/U32.js +14 -0
  103. package/cjs/primitive/U64.js +14 -0
  104. package/cjs/primitive/U8.js +14 -0
  105. package/cjs/primitive/USize.js +18 -0
  106. package/cjs/primitive/index.js +51 -0
  107. package/{build → cjs}/types/codec.d.ts +1 -1
  108. package/cjs/types/codec.js +2 -0
  109. package/cjs/types/helpers.js +2 -0
  110. package/cjs/types/index.js +7 -0
  111. package/cjs/types/interfaces.js +2 -0
  112. package/cjs/types/registry.js +2 -0
  113. package/cjs/utils/compareArray.js +13 -0
  114. package/cjs/utils/compareMap.js +30 -0
  115. package/cjs/utils/compareSet.js +20 -0
  116. package/cjs/utils/decodeU8a.js +105 -0
  117. package/cjs/utils/index.js +25 -0
  118. package/cjs/utils/sanitize.js +233 -0
  119. package/cjs/utils/sortValues.js +84 -0
  120. package/cjs/utils/toConstructors.js +40 -0
  121. package/cjs/utils/typesToMap.js +10 -0
  122. package/cjs/utils/util.js +7 -0
  123. package/extended/BTreeMap.d.ts +5 -0
  124. package/extended/BTreeMap.js +10 -0
  125. package/extended/BTreeSet.d.ts +64 -0
  126. package/extended/BTreeSet.js +185 -0
  127. package/extended/BitVec.d.ts +37 -0
  128. package/extended/BitVec.js +108 -0
  129. package/extended/Bytes.d.ts +29 -0
  130. package/extended/Bytes.js +70 -0
  131. package/extended/HashMap.d.ts +5 -0
  132. package/extended/HashMap.js +10 -0
  133. package/extended/Linkage.d.ts +37 -0
  134. package/extended/Linkage.js +65 -0
  135. package/extended/Map.d.ts +59 -0
  136. package/extended/Map.js +200 -0
  137. package/extended/OptionBool.d.ts +36 -0
  138. package/extended/OptionBool.js +72 -0
  139. package/extended/Range.d.ts +29 -0
  140. package/extended/Range.js +38 -0
  141. package/extended/RangeInclusive.d.ts +6 -0
  142. package/extended/RangeInclusive.js +13 -0
  143. package/extended/Type.d.ts +16 -0
  144. package/extended/Type.js +21 -0
  145. package/extended/U8aFixed.d.ts +16 -0
  146. package/extended/U8aFixed.js +42 -0
  147. package/extended/WrapperKeepOpaque.d.ts +40 -0
  148. package/extended/WrapperKeepOpaque.js +99 -0
  149. package/extended/WrapperOpaque.d.ts +10 -0
  150. package/extended/WrapperOpaque.js +19 -0
  151. package/{src/extended/index.ts → extended/index.d.ts} +0 -3
  152. package/extended/index.js +14 -0
  153. package/index.d.ts +2 -0
  154. package/index.js +2 -0
  155. package/native/Bool.d.ts +71 -0
  156. package/native/Bool.js +109 -0
  157. package/native/Date.d.ts +84 -0
  158. package/native/Date.js +140 -0
  159. package/native/Float.d.ts +68 -0
  160. package/native/Float.js +107 -0
  161. package/native/Json.d.ts +69 -0
  162. package/native/Json.js +117 -0
  163. package/native/Raw.d.ts +87 -0
  164. package/native/Raw.js +140 -0
  165. package/native/Set.d.ts +84 -0
  166. package/native/Set.js +215 -0
  167. package/native/Struct.d.ts +106 -0
  168. package/{src/native/Struct.data.ts → native/Struct.data.js} +0 -3
  169. package/native/Struct.js +260 -0
  170. package/native/Text.d.ts +77 -0
  171. package/native/Text.js +150 -0
  172. package/{src/native/index.ts → native/index.d.ts} +0 -3
  173. package/native/index.js +8 -0
  174. package/package.json +1126 -11
  175. package/packageDetect.d.ts +1 -0
  176. package/packageDetect.js +3 -0
  177. package/packageInfo.d.ts +6 -0
  178. package/packageInfo.js +1 -0
  179. package/primitive/F32.d.ts +11 -0
  180. package/primitive/F32.js +10 -0
  181. package/primitive/F64.d.ts +11 -0
  182. package/primitive/F64.js +10 -0
  183. package/primitive/I128.d.ts +11 -0
  184. package/primitive/I128.js +10 -0
  185. package/primitive/I16.d.ts +11 -0
  186. package/primitive/I16.js +10 -0
  187. package/primitive/I256.d.ts +11 -0
  188. package/primitive/I256.js +10 -0
  189. package/primitive/I32.d.ts +11 -0
  190. package/primitive/I32.js +10 -0
  191. package/primitive/I64.d.ts +11 -0
  192. package/primitive/I64.js +10 -0
  193. package/primitive/I8.d.ts +11 -0
  194. package/primitive/I8.js +10 -0
  195. package/primitive/ISize.d.ts +12 -0
  196. package/primitive/ISize.js +14 -0
  197. package/primitive/U128.d.ts +11 -0
  198. package/primitive/U128.js +10 -0
  199. package/primitive/U16.d.ts +11 -0
  200. package/primitive/U16.js +10 -0
  201. package/primitive/U256.d.ts +11 -0
  202. package/primitive/U256.js +10 -0
  203. package/primitive/U32.d.ts +11 -0
  204. package/primitive/U32.js +10 -0
  205. package/primitive/U64.d.ts +11 -0
  206. package/primitive/U64.js +10 -0
  207. package/primitive/U8.d.ts +11 -0
  208. package/primitive/U8.js +10 -0
  209. package/primitive/USize.d.ts +12 -0
  210. package/primitive/USize.js +14 -0
  211. package/{src/primitive/index.ts → primitive/index.d.ts} +0 -3
  212. package/primitive/index.js +16 -0
  213. package/types/codec.d.ts +113 -0
  214. package/types/codec.js +1 -0
  215. package/{src/types/helpers.ts → types/helpers.d.ts} +8 -31
  216. package/types/helpers.js +1 -0
  217. package/{src/types/index.ts → types/index.d.ts} +0 -3
  218. package/types/index.js +4 -0
  219. package/types/interfaces.d.ts +74 -0
  220. package/types/interfaces.js +1 -0
  221. package/types/registry.d.ts +67 -0
  222. package/types/registry.js +1 -0
  223. package/utils/compareArray.d.ts +1 -0
  224. package/utils/compareArray.js +10 -0
  225. package/utils/compareMap.d.ts +1 -0
  226. package/utils/compareMap.js +27 -0
  227. package/utils/compareSet.d.ts +1 -0
  228. package/utils/compareSet.js +17 -0
  229. package/utils/decodeU8a.d.ts +26 -0
  230. package/utils/decodeU8a.js +100 -0
  231. package/{src/utils/index.ts → utils/index.d.ts} +0 -3
  232. package/utils/index.js +8 -0
  233. package/utils/sanitize.d.ts +15 -0
  234. package/utils/sanitize.js +219 -0
  235. package/utils/sortValues.d.ts +12 -0
  236. package/utils/sortValues.js +79 -0
  237. package/utils/toConstructors.d.ts +16 -0
  238. package/utils/toConstructors.js +35 -0
  239. package/utils/typesToMap.d.ts +2 -0
  240. package/utils/typesToMap.js +7 -0
  241. package/utils/util.d.ts +3 -0
  242. package/utils/util.js +4 -0
  243. package/src/abstract/Array.ts +0 -213
  244. package/src/abstract/Base.ts +0 -129
  245. package/src/abstract/Int.ts +0 -271
  246. package/src/abstract/Object.ts +0 -99
  247. package/src/base/Compact.spec.ts +0 -99
  248. package/src/base/Compact.ts +0 -198
  249. package/src/base/DoNotConstruct.spec.ts +0 -23
  250. package/src/base/DoNotConstruct.ts +0 -118
  251. package/src/base/Enum.spec.ts +0 -487
  252. package/src/base/Enum.ts +0 -460
  253. package/src/base/Int.spec.ts +0 -225
  254. package/src/base/Int.ts +0 -34
  255. package/src/base/Null.spec.ts +0 -41
  256. package/src/base/Null.ts +0 -96
  257. package/src/base/Option.spec.ts +0 -216
  258. package/src/base/Option.ts +0 -275
  259. package/src/base/Result.spec.ts +0 -64
  260. package/src/base/Result.ts +0 -79
  261. package/src/base/Tuple.spec.ts +0 -161
  262. package/src/base/Tuple.ts +0 -149
  263. package/src/base/UInt.spec.ts +0 -192
  264. package/src/base/UInt.ts +0 -30
  265. package/src/base/Vec.spec.ts +0 -224
  266. package/src/base/Vec.ts +0 -133
  267. package/src/base/VecAny.ts +0 -23
  268. package/src/base/VecFixed.spec.ts +0 -78
  269. package/src/base/VecFixed.ts +0 -92
  270. package/src/checkTypes.manual.ts +0 -12
  271. package/src/extended/BTreeMap.spec.ts +0 -245
  272. package/src/extended/BTreeMap.ts +0 -16
  273. package/src/extended/BTreeSet.spec.ts +0 -260
  274. package/src/extended/BTreeSet.ts +0 -233
  275. package/src/extended/BitVec.spec.ts +0 -97
  276. package/src/extended/BitVec.ts +0 -137
  277. package/src/extended/Bytes.spec.ts +0 -75
  278. package/src/extended/Bytes.ts +0 -88
  279. package/src/extended/HashMap.spec.ts +0 -36
  280. package/src/extended/HashMap.ts +0 -16
  281. package/src/extended/Linkage.spec.ts +0 -43
  282. package/src/extended/Linkage.ts +0 -81
  283. package/src/extended/Map.spec.ts +0 -123
  284. package/src/extended/Map.ts +0 -255
  285. package/src/extended/OptionBool.spec.ts +0 -49
  286. package/src/extended/OptionBool.ts +0 -93
  287. package/src/extended/Range.spec.ts +0 -37
  288. package/src/extended/Range.ts +0 -56
  289. package/src/extended/RangeInclusive.ts +0 -20
  290. package/src/extended/Type.spec.ts +0 -118
  291. package/src/extended/Type.ts +0 -29
  292. package/src/extended/U8aFixed.spec.ts +0 -117
  293. package/src/extended/U8aFixed.ts +0 -57
  294. package/src/extended/WrapperKeepOpaque.spec.ts +0 -101
  295. package/src/extended/WrapperKeepOpaque.ts +0 -128
  296. package/src/extended/WrapperOpaque.spec.ts +0 -58
  297. package/src/extended/WrapperOpaque.ts +0 -27
  298. package/src/index.ts +0 -6
  299. package/src/mod.ts +0 -4
  300. package/src/native/Bool.spec.ts +0 -74
  301. package/src/native/Bool.ts +0 -137
  302. package/src/native/Date.spec.ts +0 -85
  303. package/src/native/Date.ts +0 -169
  304. package/src/native/Float.spec.ts +0 -51
  305. package/src/native/Float.ts +0 -136
  306. package/src/native/Json.ts +0 -147
  307. package/src/native/Raw.spec.ts +0 -113
  308. package/src/native/Raw.ts +0 -171
  309. package/src/native/Set.spec.ts +0 -116
  310. package/src/native/Set.ts +0 -269
  311. package/src/native/Struct.spec.ts +0 -411
  312. package/src/native/Struct.ts +0 -338
  313. package/src/native/Text.spec.ts +0 -85
  314. package/src/native/Text.ts +0 -184
  315. package/src/packageDetect.ts +0 -11
  316. package/src/packageInfo.ts +0 -6
  317. package/src/primitive/F32.ts +0 -14
  318. package/src/primitive/F64.ts +0 -14
  319. package/src/primitive/I128.ts +0 -14
  320. package/src/primitive/I16.ts +0 -14
  321. package/src/primitive/I256.ts +0 -14
  322. package/src/primitive/I32.ts +0 -14
  323. package/src/primitive/I64.ts +0 -14
  324. package/src/primitive/I8.ts +0 -14
  325. package/src/primitive/ISize.ts +0 -21
  326. package/src/primitive/U128.ts +0 -14
  327. package/src/primitive/U16.ts +0 -14
  328. package/src/primitive/U256.ts +0 -14
  329. package/src/primitive/U32.ts +0 -14
  330. package/src/primitive/U64.ts +0 -14
  331. package/src/primitive/U8.ts +0 -14
  332. package/src/primitive/USize.ts +0 -21
  333. package/src/test/performance.ts +0 -61
  334. package/src/types/codec.ts +0 -140
  335. package/src/types/interfaces.ts +0 -98
  336. package/src/types/registry.ts +0 -86
  337. package/src/utils/compareArray.ts +0 -22
  338. package/src/utils/compareMap.ts +0 -40
  339. package/src/utils/compareSet.ts +0 -23
  340. package/src/utils/decodeU8a.ts +0 -123
  341. package/src/utils/sanitize.spec.ts +0 -89
  342. package/src/utils/sanitize.ts +0 -290
  343. package/src/utils/sortValues.ts +0 -103
  344. package/src/utils/toConstructors.ts +0 -46
  345. package/src/utils/typesToMap.ts +0 -14
  346. package/src/utils/util.ts +0 -8
  347. package/tsconfig.build.json +0 -16
  348. package/tsconfig.build.tsbuildinfo +0 -1
  349. package/tsconfig.spec.json +0 -21
  350. /package/{build/abstract → abstract}/Array.d.ts +0 -0
  351. /package/{build/abstract → abstract}/Base.d.ts +0 -0
  352. /package/{build/abstract → abstract}/Int.d.ts +0 -0
  353. /package/{build/abstract → abstract}/Object.d.ts +0 -0
  354. /package/{build/abstract → abstract}/index.d.ts +0 -0
  355. /package/{build/base → base}/Compact.d.ts +0 -0
  356. /package/{build/base → base}/DoNotConstruct.d.ts +0 -0
  357. /package/{build/base → base}/Enum.d.ts +0 -0
  358. /package/{build/base → base}/Null.d.ts +0 -0
  359. /package/{build/base → base}/Option.d.ts +0 -0
  360. /package/{build/base → base}/Result.d.ts +0 -0
  361. /package/{build/base → base}/Tuple.d.ts +0 -0
  362. /package/{build/base → base}/Vec.d.ts +0 -0
  363. /package/{build/base → base}/VecAny.d.ts +0 -0
  364. /package/{build/base → base}/VecFixed.d.ts +0 -0
  365. /package/{build/base → base}/index.d.ts +0 -0
  366. /package/{build/bundle.d.ts → bundle.d.ts} +0 -0
  367. /package/{build → cjs}/extended/BTreeMap.d.ts +0 -0
  368. /package/{build → cjs}/extended/BTreeSet.d.ts +0 -0
  369. /package/{build → cjs}/extended/BitVec.d.ts +0 -0
  370. /package/{build → cjs}/extended/Bytes.d.ts +0 -0
  371. /package/{build → cjs}/extended/HashMap.d.ts +0 -0
  372. /package/{build → cjs}/extended/Linkage.d.ts +0 -0
  373. /package/{build → cjs}/extended/Map.d.ts +0 -0
  374. /package/{build → cjs}/extended/OptionBool.d.ts +0 -0
  375. /package/{build → cjs}/extended/Range.d.ts +0 -0
  376. /package/{build → cjs}/extended/RangeInclusive.d.ts +0 -0
  377. /package/{build → cjs}/extended/Type.d.ts +0 -0
  378. /package/{build → cjs}/extended/U8aFixed.d.ts +0 -0
  379. /package/{build → cjs}/extended/WrapperKeepOpaque.d.ts +0 -0
  380. /package/{build → cjs}/extended/WrapperOpaque.d.ts +0 -0
  381. /package/{build → cjs}/extended/index.d.ts +0 -0
  382. /package/{build → cjs}/index.d.ts +0 -0
  383. /package/{build → cjs}/native/Bool.d.ts +0 -0
  384. /package/{build → cjs}/native/Date.d.ts +0 -0
  385. /package/{build → cjs}/native/Float.d.ts +0 -0
  386. /package/{build → cjs}/native/Json.d.ts +0 -0
  387. /package/{build → cjs}/native/Raw.d.ts +0 -0
  388. /package/{build → cjs}/native/Set.d.ts +0 -0
  389. /package/{build → cjs}/native/Struct.d.ts +0 -0
  390. /package/{build → cjs}/native/Text.d.ts +0 -0
  391. /package/{build → cjs}/native/index.d.ts +0 -0
  392. /package/{build → cjs}/packageDetect.d.ts +0 -0
  393. /package/{build → cjs}/packageInfo.d.ts +0 -0
  394. /package/{build → cjs}/primitive/F32.d.ts +0 -0
  395. /package/{build → cjs}/primitive/F64.d.ts +0 -0
  396. /package/{build → cjs}/primitive/I128.d.ts +0 -0
  397. /package/{build → cjs}/primitive/I16.d.ts +0 -0
  398. /package/{build → cjs}/primitive/I256.d.ts +0 -0
  399. /package/{build → cjs}/primitive/I32.d.ts +0 -0
  400. /package/{build → cjs}/primitive/I64.d.ts +0 -0
  401. /package/{build → cjs}/primitive/I8.d.ts +0 -0
  402. /package/{build → cjs}/primitive/ISize.d.ts +0 -0
  403. /package/{build → cjs}/primitive/U128.d.ts +0 -0
  404. /package/{build → cjs}/primitive/U16.d.ts +0 -0
  405. /package/{build → cjs}/primitive/U256.d.ts +0 -0
  406. /package/{build → cjs}/primitive/U32.d.ts +0 -0
  407. /package/{build → cjs}/primitive/U64.d.ts +0 -0
  408. /package/{build → cjs}/primitive/U8.d.ts +0 -0
  409. /package/{build → cjs}/primitive/USize.d.ts +0 -0
  410. /package/{build → cjs}/primitive/index.d.ts +0 -0
  411. /package/{build → cjs}/types/helpers.d.ts +0 -0
  412. /package/{build → cjs}/types/index.d.ts +0 -0
  413. /package/{build → cjs}/types/interfaces.d.ts +0 -0
  414. /package/{build → cjs}/types/registry.d.ts +0 -0
  415. /package/{build → cjs}/utils/compareArray.d.ts +0 -0
  416. /package/{build → cjs}/utils/compareMap.d.ts +0 -0
  417. /package/{build → cjs}/utils/compareSet.d.ts +0 -0
  418. /package/{build → cjs}/utils/decodeU8a.d.ts +0 -0
  419. /package/{build → cjs}/utils/index.d.ts +0 -0
  420. /package/{build → cjs}/utils/sanitize.d.ts +0 -0
  421. /package/{build → cjs}/utils/sortValues.d.ts +0 -0
  422. /package/{build → cjs}/utils/toConstructors.d.ts +0 -0
  423. /package/{build → cjs}/utils/typesToMap.d.ts +0 -0
  424. /package/{build → cjs}/utils/util.d.ts +0 -0
@@ -0,0 +1,107 @@
1
+ import { floatToU8a, isHex, isU8a, u8aToFloat, u8aToHex, u8aToU8a } from '@pezkuwi/util';
2
+ /**
3
+ * @name Float
4
+ * @description
5
+ * A Codec wrapper for F32 & F64 values. You generally don't want to be using
6
+ * f32/f64 in your runtime, operations on fixed points numbers are preferable. This class
7
+ * was explicitly added since scale-codec has a flag that enables this and it is available
8
+ * in some eth_* RPCs
9
+ */
10
+ export class Float extends Number {
11
+ encodedLength;
12
+ registry;
13
+ createdAtHash;
14
+ initialU8aLength;
15
+ isStorageFallback;
16
+ #bitLength;
17
+ constructor(registry, value, { bitLength = 32 } = {}) {
18
+ super(isU8a(value) || isHex(value)
19
+ ? value.length === 0
20
+ ? 0
21
+ : u8aToFloat(u8aToU8a(value), { bitLength })
22
+ : (value || 0));
23
+ this.#bitLength = bitLength;
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 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${this.#bitLength}`;
98
+ }
99
+ /**
100
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
101
+ */
102
+ toU8a(_isBare) {
103
+ return floatToU8a(this, {
104
+ bitLength: this.#bitLength
105
+ });
106
+ }
107
+ }
@@ -0,0 +1,69 @@
1
+ import type { HexString } from '@pezkuwi/util/types';
2
+ import type { AnyJson, Codec, Inspect, IU8a, Registry } from '../types/index.js';
3
+ /**
4
+ * @name Json
5
+ * @description
6
+ * Wraps the a JSON structure retrieve via RPC. It extends the standard JS Map with. While it
7
+ * implements a Codec, it is limited in that it can only be used with input objects via RPC,
8
+ * i.e. no hex decoding. Unlike a struct, this waps a JSON object with unknown keys
9
+ * @noInheritDoc
10
+ */
11
+ export declare class Json extends Map<string, any> implements Codec {
12
+ readonly registry: Registry;
13
+ createdAtHash?: IU8a;
14
+ initialU8aLength?: number;
15
+ isStorageFallback?: boolean;
16
+ constructor(registry: Registry, value?: Record<string, unknown> | null);
17
+ /**
18
+ * @description Always 0, never encodes as a Uint8Array
19
+ */
20
+ get encodedLength(): number;
21
+ /**
22
+ * @description returns a hash of the contents
23
+ */
24
+ get hash(): IU8a;
25
+ /**
26
+ * @description Checks if the value is an empty value
27
+ */
28
+ get isEmpty(): boolean;
29
+ /**
30
+ * @description Compares the value of the input to see if there is a match
31
+ */
32
+ eq(other?: unknown): boolean;
33
+ /**
34
+ * @description Returns a typed value from the internal map
35
+ */
36
+ getT<T>(key: string): T;
37
+ /**
38
+ * @description Unimplemented, will throw
39
+ */
40
+ inspect(): Inspect;
41
+ /**
42
+ * @description Unimplemented, will throw
43
+ */
44
+ toHex(): HexString;
45
+ /**
46
+ * @description Converts the Object to a human-friendly JSON, with additional fields, expansion and formatting of information
47
+ */
48
+ toHuman(): Record<string, AnyJson>;
49
+ /**
50
+ * @description Converts the Object to JSON, typically used for RPC transfers
51
+ */
52
+ toJSON(): Record<string, AnyJson>;
53
+ /**
54
+ * @description Converts the value in a best-fit primitive form
55
+ */
56
+ toPrimitive(disableAscii?: boolean): Record<string, AnyJson>;
57
+ /**
58
+ * @description Returns the base runtime type name for this instance
59
+ */
60
+ toRawType(): string;
61
+ /**
62
+ * @description Returns the string representation of the value
63
+ */
64
+ toString(): string;
65
+ /**
66
+ * @description Unimplemented, will throw
67
+ */
68
+ toU8a(_isBare?: boolean): Uint8Array;
69
+ }
package/native/Json.js ADDED
@@ -0,0 +1,117 @@
1
+ import { isFunction, objectProperties, stringify } from '@pezkuwi/util';
2
+ import { compareMap } from '../utils/index.js';
3
+ /** @internal */
4
+ function decodeJson(value) {
5
+ return Object.entries(value || {});
6
+ }
7
+ /**
8
+ * @name Json
9
+ * @description
10
+ * Wraps the a JSON structure retrieve via RPC. It extends the standard JS Map with. While it
11
+ * implements a Codec, it is limited in that it can only be used with input objects via RPC,
12
+ * i.e. no hex decoding. Unlike a struct, this waps a JSON object with unknown keys
13
+ * @noInheritDoc
14
+ */
15
+ export class Json extends Map {
16
+ registry;
17
+ createdAtHash;
18
+ initialU8aLength;
19
+ isStorageFallback;
20
+ constructor(registry, value) {
21
+ const decoded = decodeJson(value);
22
+ super(decoded);
23
+ this.registry = registry;
24
+ objectProperties(this, decoded.map(([k]) => k), (k) => this.get(k));
25
+ }
26
+ /**
27
+ * @description Always 0, never encodes as a Uint8Array
28
+ */
29
+ get encodedLength() {
30
+ return 0 | 0;
31
+ }
32
+ /**
33
+ * @description returns a hash of the contents
34
+ */
35
+ get hash() {
36
+ return this.registry.hash(this.toU8a());
37
+ }
38
+ /**
39
+ * @description Checks if the value is an empty value
40
+ */
41
+ get isEmpty() {
42
+ return [...this.keys()].length === 0;
43
+ }
44
+ /**
45
+ * @description Compares the value of the input to see if there is a match
46
+ */
47
+ eq(other) {
48
+ return compareMap(this, other);
49
+ }
50
+ /**
51
+ * @description Returns a typed value from the internal map
52
+ */
53
+ getT(key) {
54
+ return this.get(key);
55
+ }
56
+ /**
57
+ * @description Unimplemented, will throw
58
+ */
59
+ inspect() {
60
+ throw new Error('Unimplemented');
61
+ }
62
+ /**
63
+ * @description Unimplemented, will throw
64
+ */
65
+ toHex() {
66
+ throw new Error('Unimplemented');
67
+ }
68
+ /**
69
+ * @description Converts the Object to a human-friendly JSON, with additional fields, expansion and formatting of information
70
+ */
71
+ toHuman() {
72
+ return [...this.entries()].reduce((json, [key, value]) => {
73
+ json[key] = isFunction(value?.toHuman)
74
+ ? value.toHuman()
75
+ : value;
76
+ return json;
77
+ }, {});
78
+ }
79
+ /**
80
+ * @description Converts the Object to JSON, typically used for RPC transfers
81
+ */
82
+ toJSON() {
83
+ return [...this.entries()].reduce((json, [key, value]) => {
84
+ json[key] = value;
85
+ return json;
86
+ }, {});
87
+ }
88
+ /**
89
+ * @description Converts the value in a best-fit primitive form
90
+ */
91
+ toPrimitive(disableAscii) {
92
+ return [...this.entries()].reduce((json, [key, value]) => {
93
+ json[key] = isFunction(value.toPrimitive)
94
+ ? value.toPrimitive(disableAscii)
95
+ : value;
96
+ return json;
97
+ }, {});
98
+ }
99
+ /**
100
+ * @description Returns the base runtime type name for this instance
101
+ */
102
+ toRawType() {
103
+ return 'Json';
104
+ }
105
+ /**
106
+ * @description Returns the string representation of the value
107
+ */
108
+ toString() {
109
+ return stringify(this.toJSON());
110
+ }
111
+ /**
112
+ * @description Unimplemented, will throw
113
+ */
114
+ toU8a(_isBare) {
115
+ throw new Error('Unimplemented');
116
+ }
117
+ }
@@ -0,0 +1,87 @@
1
+ import type { HexString } from '@pezkuwi/util/types';
2
+ import type { AnyJson, AnyU8a, Inspect, IU8a, Registry } from '../types/index.js';
3
+ /**
4
+ * @name Raw
5
+ * @description
6
+ * A basic wrapper around Uint8Array, with no frills and no fuss. It does differ
7
+ * from other implementations where it will consume the full Uint8Array as passed to it.
8
+ * As such it is meant to be subclassed where the wrapper takes care of the
9
+ * actual lengths instead of used directly.
10
+ * @noInheritDoc
11
+ */
12
+ export declare class Raw extends Uint8Array implements IU8a {
13
+ readonly registry: Registry;
14
+ createdAtHash?: IU8a | undefined;
15
+ initialU8aLength?: number | undefined;
16
+ isStorageFallback?: boolean;
17
+ /**
18
+ * @description This ensures that operators such as clice, filter, map, etc. return
19
+ * new Array instances (without this we need to apply overrides)
20
+ */
21
+ static get [Symbol.species](): typeof Uint8Array;
22
+ constructor(registry: Registry, value?: AnyU8a, initialU8aLength?: number);
23
+ /**
24
+ * @description The length of the value when encoded as a Uint8Array
25
+ */
26
+ get encodedLength(): number;
27
+ /**
28
+ * @description returns a hash of the contents
29
+ */
30
+ get hash(): IU8a;
31
+ /**
32
+ * @description Returns true if the wrapped value contains only ASCII printable characters
33
+ */
34
+ get isAscii(): boolean;
35
+ /**
36
+ * @description Returns true if the type wraps an empty/default all-0 value
37
+ */
38
+ get isEmpty(): boolean;
39
+ /**
40
+ * @description Returns true if the wrapped value contains only utf8 characters
41
+ */
42
+ get isUtf8(): boolean;
43
+ /**
44
+ * @description Returns the number of bits in the value
45
+ */
46
+ bitLength(): number;
47
+ /**
48
+ * @description Compares the value of the input to see if there is a match
49
+ */
50
+ eq(other?: unknown): boolean;
51
+ /**
52
+ * @description Returns a breakdown of the hex encoding for this Codec
53
+ */
54
+ inspect(): Inspect;
55
+ /**
56
+ * @description Returns a hex string representation of the value
57
+ */
58
+ toHex(): HexString;
59
+ /**
60
+ * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
61
+ */
62
+ toHuman(_isExtended?: boolean, disableAscii?: boolean): AnyJson;
63
+ /**
64
+ * @description Converts the Object to JSON, typically used for RPC transfers
65
+ */
66
+ toJSON(): string;
67
+ /**
68
+ * @description Converts the value in a best-fit primitive form
69
+ */
70
+ toPrimitive(disableAscii?: boolean): AnyJson;
71
+ /**
72
+ * @description Returns the base runtime type name for this instance
73
+ */
74
+ toRawType(): string;
75
+ /**
76
+ * @description Returns the string representation of the value
77
+ */
78
+ toString(): string;
79
+ /**
80
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
81
+ */
82
+ toU8a(_isBare?: boolean): Uint8Array;
83
+ /**
84
+ * @description Returns the wrapped data as a UTF-8 string
85
+ */
86
+ toUtf8(): string;
87
+ }
package/native/Raw.js ADDED
@@ -0,0 +1,140 @@
1
+ import { isAscii, isUndefined, isUtf8, u8aToHex, u8aToString, u8aToU8a } from '@pezkuwi/util';
2
+ /**
3
+ * @name Raw
4
+ * @description
5
+ * A basic wrapper around Uint8Array, with no frills and no fuss. It does differ
6
+ * from other implementations where it will consume the full Uint8Array as passed to it.
7
+ * As such it is meant to be subclassed where the wrapper takes care of the
8
+ * actual lengths instead of used directly.
9
+ * @noInheritDoc
10
+ */
11
+ export class Raw extends Uint8Array {
12
+ registry;
13
+ createdAtHash;
14
+ initialU8aLength;
15
+ isStorageFallback;
16
+ /**
17
+ * @description This ensures that operators such as clice, filter, map, etc. return
18
+ * new Array instances (without this we need to apply overrides)
19
+ */
20
+ static get [Symbol.species]() {
21
+ return Uint8Array;
22
+ }
23
+ constructor(registry, value, initialU8aLength) {
24
+ super(u8aToU8a(value));
25
+ this.registry = registry;
26
+ this.initialU8aLength = initialU8aLength;
27
+ }
28
+ /**
29
+ * @description The length of the value when encoded as a Uint8Array
30
+ */
31
+ get encodedLength() {
32
+ return this.length;
33
+ }
34
+ /**
35
+ * @description returns a hash of the contents
36
+ */
37
+ get hash() {
38
+ return this.registry.hash(this.toU8a());
39
+ }
40
+ /**
41
+ * @description Returns true if the wrapped value contains only ASCII printable characters
42
+ */
43
+ get isAscii() {
44
+ return isAscii(this);
45
+ }
46
+ /**
47
+ * @description Returns true if the type wraps an empty/default all-0 value
48
+ */
49
+ get isEmpty() {
50
+ return !this.length || isUndefined(this.find((b) => !!b));
51
+ }
52
+ /**
53
+ * @description Returns true if the wrapped value contains only utf8 characters
54
+ */
55
+ get isUtf8() {
56
+ return isUtf8(this);
57
+ }
58
+ /**
59
+ * @description Returns the number of bits in the value
60
+ */
61
+ bitLength() {
62
+ return this.length * 8;
63
+ }
64
+ /**
65
+ * @description Compares the value of the input to see if there is a match
66
+ */
67
+ eq(other) {
68
+ if (other instanceof Uint8Array) {
69
+ return (this.length === other.length) &&
70
+ !this.some((b, index) => b !== other[index]);
71
+ }
72
+ return this.eq(u8aToU8a(other));
73
+ }
74
+ /**
75
+ * @description Returns a breakdown of the hex encoding for this Codec
76
+ */
77
+ inspect() {
78
+ return {
79
+ outer: [this.toU8a()]
80
+ };
81
+ }
82
+ /**
83
+ * @description Returns a hex string representation of the value
84
+ */
85
+ toHex() {
86
+ return u8aToHex(this);
87
+ }
88
+ /**
89
+ * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
90
+ */
91
+ toHuman(_isExtended, disableAscii) {
92
+ return this.toPrimitive(disableAscii);
93
+ }
94
+ /**
95
+ * @description Converts the Object to JSON, typically used for RPC transfers
96
+ */
97
+ toJSON() {
98
+ return this.toHex();
99
+ }
100
+ /**
101
+ * @description Converts the value in a best-fit primitive form
102
+ */
103
+ toPrimitive(disableAscii) {
104
+ if (!disableAscii && this.isAscii) {
105
+ const text = this.toUtf8();
106
+ // ensure we didn't end up with multibyte codepoints
107
+ if (isAscii(text)) {
108
+ return text;
109
+ }
110
+ }
111
+ return this.toJSON();
112
+ }
113
+ /**
114
+ * @description Returns the base runtime type name for this instance
115
+ */
116
+ toRawType() {
117
+ return 'Raw';
118
+ }
119
+ /**
120
+ * @description Returns the string representation of the value
121
+ */
122
+ toString() {
123
+ return this.toHex();
124
+ }
125
+ /**
126
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
127
+ */
128
+ toU8a(_isBare) {
129
+ return Uint8Array.from(this);
130
+ }
131
+ /**
132
+ * @description Returns the wrapped data as a UTF-8 string
133
+ */
134
+ toUtf8() {
135
+ if (!this.isUtf8) {
136
+ throw new Error('The character sequence is not a valid Utf8 string');
137
+ }
138
+ return u8aToString(this);
139
+ }
140
+ }
@@ -0,0 +1,84 @@
1
+ import type { HexString } from '@pezkuwi/util/types';
2
+ import type { CodecClass, Inspect, ISet, IU8a, Registry } from '../types/index.js';
3
+ import { BN } from '@pezkuwi/util';
4
+ type SetValues = Record<string, number | BN>;
5
+ /**
6
+ * @name Set
7
+ * @description
8
+ * An Set is an array of string values, represented an an encoded type by
9
+ * a bitwise representation of the values.
10
+ */
11
+ export declare class CodecSet extends Set<string> implements ISet<string> {
12
+ #private;
13
+ readonly registry: Registry;
14
+ createdAtHash?: IU8a;
15
+ initialU8aLength?: number;
16
+ isStorageFallback?: boolean;
17
+ constructor(registry: Registry, setValues: SetValues, value?: string[] | Set<string> | Uint8Array | BN | number | string, bitLength?: number);
18
+ static with(values: SetValues, bitLength?: number): CodecClass<CodecSet>;
19
+ /**
20
+ * @description The length of the value when encoded as a Uint8Array
21
+ */
22
+ get encodedLength(): number;
23
+ /**
24
+ * @description returns a hash of the contents
25
+ */
26
+ get hash(): IU8a;
27
+ /**
28
+ * @description true is the Set contains no values
29
+ */
30
+ get isEmpty(): boolean;
31
+ /**
32
+ * @description The actual set values as a string[]
33
+ */
34
+ get strings(): string[];
35
+ /**
36
+ * @description The encoded value for the set members
37
+ */
38
+ get valueEncoded(): BN;
39
+ /**
40
+ * @description adds a value to the Set (extended to allow for validity checking)
41
+ */
42
+ add: (key: string) => this;
43
+ /**
44
+ * @description Compares the value of the input to see if there is a match
45
+ */
46
+ eq(other?: unknown): boolean;
47
+ /**
48
+ * @description Returns a breakdown of the hex encoding for this Codec
49
+ */
50
+ inspect(): Inspect;
51
+ /**
52
+ * @description Returns a hex string representation of the value
53
+ */
54
+ toHex(): HexString;
55
+ /**
56
+ * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
57
+ */
58
+ toHuman(): string[];
59
+ /**
60
+ * @description Converts the Object to JSON, typically used for RPC transfers
61
+ */
62
+ toJSON(): string[];
63
+ /**
64
+ * @description The encoded value for the set members
65
+ */
66
+ toNumber(): number;
67
+ /**
68
+ * @description Converts the value in a best-fit primitive form
69
+ */
70
+ toPrimitive(): string[];
71
+ /**
72
+ * @description Returns the base runtime type name for this instance
73
+ */
74
+ toRawType(): string;
75
+ /**
76
+ * @description Returns the string representation of the value
77
+ */
78
+ toString(): string;
79
+ /**
80
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
81
+ */
82
+ toU8a(_isBare?: boolean): Uint8Array;
83
+ }
84
+ export {};