@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
@@ -1,27 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/types-codec authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import type { Codec, CodecClass, Registry } from '../types/index.js';
5
-
6
- import { WrapperKeepOpaque } from './WrapperKeepOpaque.js';
7
-
8
- export class WrapperOpaque<T extends Codec> extends WrapperKeepOpaque<T> {
9
- constructor (registry: Registry, typeName: CodecClass<T> | string, value?: unknown) {
10
- super(registry, typeName, value, { opaqueName: 'WrapperOpaque' });
11
- }
12
-
13
- public static override with<T extends Codec> (Type: CodecClass<T> | string): CodecClass<WrapperKeepOpaque<T>> {
14
- return class extends WrapperOpaque<T> {
15
- constructor (registry: Registry, value?: unknown) {
16
- super(registry, Type, value);
17
- }
18
- };
19
- }
20
-
21
- /**
22
- * @description The inner value for this wrapper, in all cases it _should_ be decodable (unlike KeepOpaque)
23
- */
24
- public get inner (): T {
25
- return this.unwrap();
26
- }
27
- }
package/src/index.ts DELETED
@@ -1,6 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/types-codec authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import './packageDetect.js';
5
-
6
- export * from './bundle.js';
package/src/mod.ts DELETED
@@ -1,4 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/types-codec authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- export * from './index.js';
@@ -1,74 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/types-codec authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- /// <reference types="@pezkuwi/dev-test/globals.d.ts" />
5
-
6
- import type { CodecTo } from '@pezkuwi/types-codec/types';
7
-
8
- import { TypeRegistry } from '@pezkuwi/types';
9
- import { Bool } from '@pezkuwi/types-codec';
10
-
11
- describe('Bool', (): void => {
12
- const registry = new TypeRegistry();
13
-
14
- describe('decode', (): void => {
15
- // eslint-disable-next-line @typescript-eslint/ban-types
16
- const testDecode = (type: string, input: Uint8Array | boolean | Boolean | Bool | number, expected: boolean): void =>
17
- it(`can decode from ${type}`, (): void => {
18
- expect(new Bool(registry, input).toJSON()).toBe(expected);
19
- });
20
-
21
- testDecode('Bool', new Bool(registry, true), true);
22
- testDecode('Boolean', Boolean(true), true);
23
- testDecode('boolean', true, true);
24
- testDecode('number', 1, true);
25
- testDecode('Uint8Array', Uint8Array.from([1]), true);
26
- });
27
-
28
- describe('encode', (): void => {
29
- const testEncode = (to: CodecTo, expected: string | Uint8Array | boolean, value: boolean): void =>
30
- it(`can encode ${to}`, (): void => {
31
- expect(new Bool(registry, value)[to]()).toEqual(expected);
32
- });
33
-
34
- testEncode('toJSON', true, true);
35
- testEncode('toHex', '0x01', true);
36
- testEncode('toString', 'true', true);
37
- testEncode('toU8a', Uint8Array.from([1]), true);
38
- testEncode('toU8a', Uint8Array.from([0]), false);
39
- });
40
-
41
- it('correctly encodes length', (): void => {
42
- expect(new Bool(registry, true).encodedLength).toEqual(1);
43
- });
44
-
45
- describe('utils', (): void => {
46
- it('compares against a boolean', (): void => {
47
- expect(new Bool(registry, true).eq(true)).toBe(true);
48
- });
49
-
50
- it('compares against a Bool', (): void => {
51
- expect(new Bool(registry, false).eq(new Bool(registry, false))).toBe(true);
52
- });
53
-
54
- it('has isTrue', (): void => {
55
- expect(new Bool(registry, true).isTrue).toBe(true);
56
- });
57
-
58
- it('has isFalse', (): void => {
59
- expect(new Bool(registry, true).isFalse).toBe(false);
60
- });
61
-
62
- it('has sane isEmpty aligning with the rest', (): void => {
63
- expect(new Bool(registry).isEmpty).toBe(true);
64
- expect(new Bool(registry, false).isEmpty).toBe(true);
65
- expect(new Bool(registry, true).isEmpty).toBe(false);
66
- });
67
-
68
- it('has a sane inspect', (): void => {
69
- expect(new Bool(registry, true).inspect()).toEqual({
70
- outer: [new Uint8Array([1])]
71
- });
72
- });
73
- });
74
- });
@@ -1,137 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/types-codec authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import type { HexString } from '@pezkuwi/util/types';
5
- import type { AnyBool, Codec, Inspect, IU8a, Registry } from '../types/index.js';
6
-
7
- import { isU8a, u8aToHex } from '@pezkuwi/util';
8
-
9
- /**
10
- * @name bool
11
- * @description
12
- * Representation for a boolean value in the system. It extends the base JS `Boolean` class
13
- * @noInheritDoc
14
- */
15
- export class bool extends Boolean implements Codec {
16
- readonly registry: Registry;
17
-
18
- public createdAtHash?: IU8a;
19
- public initialU8aLength = 1;
20
- public isStorageFallback?: boolean;
21
-
22
- constructor (registry: Registry, value: bool | AnyBool | Uint8Array | number = false) {
23
- super(
24
- isU8a(value)
25
- ? value[0] === 1
26
- : value instanceof Boolean
27
- ? value.valueOf()
28
- : !!value
29
- );
30
-
31
- this.registry = registry;
32
- }
33
-
34
- /**
35
- * @description The length of the value when encoded as a Uint8Array
36
- */
37
- public get encodedLength (): number {
38
- return 1 | 0;
39
- }
40
-
41
- /**
42
- * @description returns a hash of the contents
43
- */
44
- public get hash (): IU8a {
45
- return this.registry.hash(this.toU8a());
46
- }
47
-
48
- /**
49
- * @description Checks if the value is an empty value (true when it wraps false/default)
50
- */
51
- public get isEmpty (): boolean {
52
- return this.isFalse;
53
- }
54
-
55
- /**
56
- * @description Checks if the value is an empty value (always false)
57
- */
58
- public get isFalse (): boolean {
59
- return !this.isTrue;
60
- }
61
-
62
- /**
63
- * @description Checks if the value is an empty value (always false)
64
- */
65
- public get isTrue (): boolean {
66
- return this.valueOf();
67
- }
68
-
69
- /**
70
- * @description Compares the value of the input to see if there is a match
71
- */
72
- public eq (other?: unknown): boolean {
73
- return this.valueOf() === (
74
- other instanceof Boolean
75
- ? other.valueOf()
76
- : other
77
- );
78
- }
79
-
80
- /**
81
- * @description Returns a breakdown of the hex encoding for this Codec
82
- */
83
- public inspect (): Inspect {
84
- return {
85
- outer: [this.toU8a()]
86
- };
87
- }
88
-
89
- /**
90
- * @description Returns a hex string representation of the value
91
- */
92
- public toHex (): HexString {
93
- return u8aToHex(this.toU8a());
94
- }
95
-
96
- /**
97
- * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
98
- */
99
- public toHuman (): boolean {
100
- return this.toJSON();
101
- }
102
-
103
- /**
104
- * @description Converts the Object to JSON, typically used for RPC transfers
105
- */
106
- public toJSON (): boolean {
107
- return this.valueOf();
108
- }
109
-
110
- /**
111
- * @description Converts the value in a best-fit primitive form
112
- */
113
- public toPrimitive (): boolean {
114
- return this.toJSON();
115
- }
116
-
117
- /**
118
- * @description Returns the base runtime type name for this instance
119
- */
120
- public toRawType (): string {
121
- return 'bool';
122
- }
123
-
124
- /**
125
- * @description Returns the string representation of the value
126
- */
127
- public override toString (): string {
128
- return this.toJSON().toString();
129
- }
130
-
131
- /**
132
- * @description Encodes the value as a Uint8Array as per the SCALE specifications
133
- */
134
- public toU8a (_isBare?: boolean): Uint8Array {
135
- return new Uint8Array([this.valueOf() ? 1 : 0]);
136
- }
137
- }
@@ -1,85 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/types-codec authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- /// <reference types="@pezkuwi/dev-test/globals.d.ts" />
5
-
6
- import type { CodecTo } from '@pezkuwi/types-codec/types';
7
-
8
- import { TypeRegistry } from '@pezkuwi/types';
9
- import { CodecDate, U64 } from '@pezkuwi/types-codec';
10
- import { BN } from '@pezkuwi/util';
11
-
12
- describe('Date', (): void => {
13
- const registry = new TypeRegistry();
14
-
15
- describe('decode', (): void => {
16
- const testDecode = (type: string, input: Date | CodecDate | U64 | number, expected: string | number, toJSON = false): void =>
17
- it(`can decode from ${type}`, (): void => {
18
- expect(new CodecDate(registry, input)[toJSON ? 'toJSON' : 'toISOString']()).toBe(expected);
19
- });
20
-
21
- testDecode('Date', new Date(1537968546280), '2018-09-26T13:29:06.280Z');
22
- testDecode('CodecDate', new CodecDate(registry, 1234), 1234, true);
23
- testDecode('number', 1234, 1234, true);
24
- testDecode('U64', new U64(registry, 69), 69, true);
25
- });
26
-
27
- describe('encode', (): void => {
28
- const testEncode = (to: 'toBigInt' | 'toBn' | 'toISOString' | 'toNumber' | CodecTo, expected: bigint | BN | number | string | Uint8Array): void =>
29
- it(`can encode ${to}`, (): void => {
30
- expect(new CodecDate(registry, 421)[to]()).toEqual(expected);
31
- });
32
-
33
- testEncode('toBigInt', 421n);
34
- testEncode('toBn', new BN(421));
35
- testEncode('toJSON', 421);
36
- testEncode('toISOString', '1970-01-01T00:07:01.000Z');
37
-
38
- testEncode('toNumber', 421);
39
- testEncode('toU8a', Uint8Array.from([165, 1, 0, 0, 0, 0, 0, 0]));
40
-
41
- it('can encode toString', (): void => {
42
- const date = new Date(Date.UTC(1970, 0, 1, 2, 3, 4));
43
-
44
- date.setTime(date.getTime() + date.getTimezoneOffset() * 60 * 1000);
45
-
46
- expect(
47
- new CodecDate(registry, date).toString()
48
- ).toMatch(/^Thu Jan 01 1970 02:03:04/);
49
- });
50
-
51
- it('encodes default BE hex', (): void => {
52
- expect(
53
- new CodecDate(registry, 3).toHex()
54
- ).toEqual('0x0000000000000003');
55
- });
56
-
57
- it('encodes options LE hex', (): void => {
58
- expect(
59
- new CodecDate(registry, 3).toHex(true)
60
- ).toEqual('0x0300000000000000');
61
- });
62
-
63
- it('encodes correctly to BigInt', (): void => {
64
- expect(
65
- new CodecDate(registry, 41).toBigInt() + 1n
66
- ).toEqual(42n);
67
- });
68
- });
69
-
70
- describe('utils', (): void => {
71
- it('compares values', (): void => {
72
- expect(new CodecDate(registry, 123).eq(123)).toBe(true);
73
- });
74
-
75
- it('compares values (non-match)', (): void => {
76
- expect(new CodecDate(registry, 123).eq(456)).toBe(false);
77
- });
78
-
79
- it('has a sane inspect', (): void => {
80
- expect(new CodecDate(registry, 3).inspect()).toEqual({
81
- outer: [new Uint8Array([3, 0, 0, 0, 0, 0, 0, 0])]
82
- });
83
- });
84
- });
85
- });
@@ -1,169 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/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, UIntBitLength } from '../types/index.js';
6
-
7
- import { BN, bnToBn, bnToHex, bnToU8a, isString, isU8a, u8aToBn } from '@pezkuwi/util';
8
-
9
- const BITLENGTH: UIntBitLength = 64;
10
- const U8A_OPTS = { bitLength: BITLENGTH, isLe: true };
11
-
12
- function decodeDate (value: CodecDate | Date | AnyNumber): Date {
13
- if (isU8a(value)) {
14
- value = u8aToBn(value.subarray(0, BITLENGTH / 8));
15
- } else if (value instanceof Date) {
16
- return value;
17
- } else if (isString(value)) {
18
- value = new BN(value.toString(), 10, 'le');
19
- }
20
-
21
- return new Date(
22
- bnToBn(value as BN).toNumber() * 1000
23
- );
24
- }
25
-
26
- /**
27
- * @name Date
28
- * @description
29
- * A wrapper around seconds/timestamps. Internally the representation only has
30
- * second precicion (aligning with Rust), so any numbers passed an/out are always
31
- * per-second. For any encoding/decoding the 1000 multiplier would be applied to
32
- * get it in line with JavaScript formats. It extends the base JS `Date` object
33
- * and has all the methods available that are applicable to any `Date`
34
- * @noInheritDoc
35
- */
36
- export class CodecDate extends Date implements INumber {
37
- readonly registry: Registry;
38
-
39
- public createdAtHash?: IU8a;
40
- public initialU8aLength = BITLENGTH / 8;
41
- public isStorageFallback?: boolean;
42
-
43
- constructor (registry: Registry, value: CodecDate | Date | AnyNumber = 0) {
44
- super(decodeDate(value));
45
-
46
- this.registry = registry;
47
- }
48
-
49
- /**
50
- * @description The length of the value when encoded as a Uint8Array
51
- */
52
- public get encodedLength (): number {
53
- return BITLENGTH / 8;
54
- }
55
-
56
- /**
57
- * @description returns a hash of the contents
58
- */
59
- public get hash (): IU8a {
60
- return this.registry.hash(this.toU8a());
61
- }
62
-
63
- /**
64
- * @description Checks if the value is an empty value
65
- */
66
- public get isEmpty (): boolean {
67
- return this.getTime() === 0;
68
- }
69
-
70
- /**
71
- * @description Returns the number of bits in the value
72
- */
73
- public bitLength (): UIntBitLength {
74
- return BITLENGTH;
75
- }
76
-
77
- /**
78
- * @description Compares the value of the input to see if there is a match
79
- */
80
- public eq (other?: unknown): boolean {
81
- return decodeDate(other as AnyNumber).getTime() === this.getTime();
82
- }
83
-
84
- /**
85
- * @description Returns a breakdown of the hex encoding for this Codec
86
- */
87
- public inspect (): Inspect {
88
- return {
89
- outer: [this.toU8a()]
90
- };
91
- }
92
-
93
- /**
94
- * @description Returns a BigInt representation of the number
95
- */
96
- public toBigInt (): bigint {
97
- return BigInt(this.toNumber());
98
- }
99
-
100
- /**
101
- * @description Returns the BN representation of the timestamp
102
- */
103
- public toBn (): BN {
104
- return new BN(this.toNumber());
105
- }
106
-
107
- /**
108
- * @description Returns a hex string representation of the value
109
- */
110
- public toHex (isLe = false): HexString {
111
- return bnToHex(this.toBn(), {
112
- bitLength: BITLENGTH,
113
- isLe,
114
- isNegative: false
115
- });
116
- }
117
-
118
- /**
119
- * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
120
- */
121
- public toHuman (): string {
122
- return this.toISOString();
123
- }
124
-
125
- /**
126
- * @description Converts the Object to JSON, typically used for RPC transfers
127
- */
128
- public override toJSON (): any {
129
- // FIXME Return type should be number, but conflicts with Date.toJSON()
130
- // which returns string
131
- return this.toNumber();
132
- }
133
-
134
- /**
135
- * @description Returns the number representation for the timestamp
136
- */
137
- public toNumber (): number {
138
- return Math.ceil(this.getTime() / 1000);
139
- }
140
-
141
- /**
142
- * @description Converts the value in a best-fit primitive form
143
- */
144
- public toPrimitive (): number {
145
- return this.toNumber();
146
- }
147
-
148
- /**
149
- * @description Returns the base runtime type name for this instance
150
- */
151
- public toRawType (): string {
152
- return 'Moment';
153
- }
154
-
155
- /**
156
- * @description Returns the string representation of the value
157
- */
158
- public override toString (): string {
159
- // only included here since we do not inherit docs
160
- return super.toString();
161
- }
162
-
163
- /**
164
- * @description Encodes the value as a Uint8Array as per the SCALE specifications
165
- */
166
- public toU8a (_isBare?: boolean): Uint8Array {
167
- return bnToU8a(this.toNumber(), U8A_OPTS);
168
- }
169
- }
@@ -1,51 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/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 { F32, F64 } from '@pezkuwi/types-codec';
8
-
9
- describe('Float', (): void => {
10
- const registry = new TypeRegistry();
11
-
12
- describe('F32', (): void => {
13
- it('has a sane toRawType()', (): void => {
14
- expect(
15
- new F32(registry).toRawType()
16
- ).toEqual('f32');
17
- });
18
-
19
- it('constructs from Uint8Array', (): void => {
20
- expect(
21
- new F32(registry, new Uint8Array([0, 0, 0, 128])).toNumber()
22
- ).toEqual(-0.0);
23
- });
24
-
25
- it('triggers isEmpty on 0', (): void => {
26
- expect(
27
- new F32(registry, 0).isEmpty
28
- ).toEqual(true);
29
- });
30
-
31
- it('constructs from a float value', (): void => {
32
- expect(
33
- new F32(registry, 123.456).toString()
34
- ).toEqual('123.456');
35
- });
36
- });
37
-
38
- describe('F64', (): void => {
39
- it('has a sane toRawType()', (): void => {
40
- expect(
41
- new F64(registry).toRawType()
42
- ).toEqual('f64');
43
- });
44
-
45
- it('constructs from hex', (): void => {
46
- expect(
47
- new F64(registry, '0x0000000000000080').toNumber()
48
- ).toEqual(-0.0);
49
- });
50
- });
51
- });
@@ -1,136 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/types-codec authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import type { HexString } from '@pezkuwi/util/types';
5
- import type { AnyFloat, CodecClass, IFloat, Inspect, IU8a, Registry } from '../types/index.js';
6
-
7
- import { floatToU8a, isHex, isU8a, u8aToFloat, u8aToHex, u8aToU8a } from '@pezkuwi/util';
8
-
9
- interface Options {
10
- bitLength?: 32 | 64;
11
- }
12
-
13
- /**
14
- * @name Float
15
- * @description
16
- * A Codec wrapper for F32 & F64 values. You generally don't want to be using
17
- * f32/f64 in your runtime, operations on fixed points numbers are preferable. This class
18
- * was explicitly added since scale-codec has a flag that enables this and it is available
19
- * in some eth_* RPCs
20
- */
21
- export class Float extends Number implements IFloat {
22
- readonly encodedLength: number;
23
- readonly registry: Registry;
24
-
25
- public createdAtHash?: IU8a;
26
- public initialU8aLength?: number;
27
- public isStorageFallback?: boolean;
28
-
29
- readonly #bitLength: 32 | 64;
30
-
31
- constructor (registry: Registry, value?: AnyFloat, { bitLength = 32 }: Options = {}) {
32
- super(
33
- isU8a(value) || isHex(value)
34
- ? value.length === 0
35
- ? 0
36
- : u8aToFloat(u8aToU8a(value), { bitLength })
37
- : (value || 0)
38
- );
39
-
40
- this.#bitLength = bitLength;
41
- this.encodedLength = bitLength / 8;
42
- this.initialU8aLength = this.encodedLength;
43
- this.registry = registry;
44
- }
45
-
46
- public static with (bitLength: 32 | 64): CodecClass<Float> {
47
- return class extends Float {
48
- constructor (registry: Registry, value?: AnyFloat) {
49
- super(registry, value, { bitLength });
50
- }
51
- };
52
- }
53
-
54
- /**
55
- * @description returns a hash of the contents
56
- */
57
- public get hash (): IU8a {
58
- return this.registry.hash(this.toU8a());
59
- }
60
-
61
- /**
62
- * @description Returns true if the type wraps an empty/default all-0 value
63
- */
64
- get isEmpty (): boolean {
65
- return this.valueOf() === 0;
66
- }
67
-
68
- /**
69
- * @description Compares the value of the input to see if there is a match
70
- */
71
- public eq (other?: unknown): boolean {
72
- return this.valueOf() === Number(other);
73
- }
74
-
75
- /**
76
- * @description Returns a breakdown of the hex encoding for this Codec
77
- */
78
- public inspect (): Inspect {
79
- return {
80
- outer: [this.toU8a()]
81
- };
82
- }
83
-
84
- /**
85
- * @description Returns a hex string representation of the value
86
- */
87
- public toHex (): HexString {
88
- return u8aToHex(this.toU8a());
89
- }
90
-
91
- /**
92
- * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
93
- */
94
- public toHuman (): string {
95
- return this.toString();
96
- }
97
-
98
- /**
99
- * @description Converts the Object to JSON, typically used for RPC transfers
100
- */
101
- public toJSON (): string {
102
- // Not sure if this is actually a hex or a string value
103
- // (would need to check against RPCs to see the result here)
104
- return this.toHex();
105
- }
106
-
107
- /**
108
- * @description Returns the number representation (Same as valueOf)
109
- */
110
- public toNumber (): number {
111
- return this.valueOf();
112
- }
113
-
114
- /**
115
- * @description Converts the value in a best-fit primitive form
116
- */
117
- public toPrimitive (): number {
118
- return this.toNumber();
119
- }
120
-
121
- /**
122
- * @description Returns the base runtime type name for this instance
123
- */
124
- public toRawType (): string {
125
- return `f${this.#bitLength}`;
126
- }
127
-
128
- /**
129
- * @description Encodes the value as a Uint8Array as per the SCALE specifications
130
- */
131
- public toU8a (_isBare?: boolean): Uint8Array {
132
- return floatToU8a(this, {
133
- bitLength: this.#bitLength
134
- });
135
- }
136
- }