@pezkuwi/types-codec 16.5.6 → 16.5.8

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/build/LICENSE +201 -0
  2. package/build/README.md +3 -0
  3. package/build/abstract/Array.d.ts +89 -0
  4. package/build/abstract/Array.js +166 -0
  5. package/build/abstract/Base.d.ts +75 -0
  6. package/build/abstract/Base.js +101 -0
  7. package/build/abstract/Int.d.ts +80 -0
  8. package/build/abstract/Int.js +226 -0
  9. package/build/abstract/Object.d.ts +67 -0
  10. package/build/abstract/Object.js +40 -0
  11. package/build/abstract/index.d.ts +3 -0
  12. package/build/abstract/index.js +3 -0
  13. package/build/base/Compact.d.ts +88 -0
  14. package/build/base/Compact.js +159 -0
  15. package/build/base/DoNotConstruct.d.ts +63 -0
  16. package/build/base/DoNotConstruct.js +95 -0
  17. package/build/base/Enum.d.ts +118 -0
  18. package/build/base/Enum.js +369 -0
  19. package/build/base/Int.d.ts +16 -0
  20. package/build/base/Int.js +26 -0
  21. package/build/base/Null.d.ts +56 -0
  22. package/build/base/Null.js +77 -0
  23. package/build/base/Option.d.ts +94 -0
  24. package/build/base/Option.js +232 -0
  25. package/build/base/Result.d.ts +38 -0
  26. package/build/base/Result.js +63 -0
  27. package/build/base/Tuple.d.ts +42 -0
  28. package/build/base/Tuple.js +110 -0
  29. package/build/base/UInt.d.ts +15 -0
  30. package/build/base/UInt.js +23 -0
  31. package/build/base/Vec.d.ts +28 -0
  32. package/build/base/Vec.js +102 -0
  33. package/build/base/VecAny.d.ts +15 -0
  34. package/build/base/VecAny.js +17 -0
  35. package/build/base/VecFixed.d.ts +30 -0
  36. package/build/base/VecFixed.js +67 -0
  37. package/build/base/index.d.ts +12 -0
  38. package/build/base/index.js +12 -0
  39. package/build/bundle.d.ts +7 -0
  40. package/build/bundle.js +7 -0
  41. package/build/cjs/abstract/Array.d.ts +89 -0
  42. package/build/cjs/abstract/Array.js +170 -0
  43. package/build/cjs/abstract/Base.d.ts +75 -0
  44. package/build/cjs/abstract/Base.js +105 -0
  45. package/build/cjs/abstract/Int.d.ts +80 -0
  46. package/build/cjs/abstract/Int.js +230 -0
  47. package/build/cjs/abstract/Object.d.ts +67 -0
  48. package/build/cjs/abstract/Object.js +44 -0
  49. package/build/cjs/abstract/index.d.ts +3 -0
  50. package/build/cjs/abstract/index.js +9 -0
  51. package/build/cjs/base/Compact.d.ts +88 -0
  52. package/build/cjs/base/Compact.js +163 -0
  53. package/build/cjs/base/DoNotConstruct.d.ts +63 -0
  54. package/build/cjs/base/DoNotConstruct.js +99 -0
  55. package/build/cjs/base/Enum.d.ts +118 -0
  56. package/build/cjs/base/Enum.js +373 -0
  57. package/build/cjs/base/Int.d.ts +16 -0
  58. package/build/cjs/base/Int.js +30 -0
  59. package/build/cjs/base/Null.d.ts +56 -0
  60. package/build/cjs/base/Null.js +81 -0
  61. package/build/cjs/base/Option.d.ts +94 -0
  62. package/build/cjs/base/Option.js +236 -0
  63. package/build/cjs/base/Result.d.ts +38 -0
  64. package/build/cjs/base/Result.js +67 -0
  65. package/build/cjs/base/Tuple.d.ts +42 -0
  66. package/build/cjs/base/Tuple.js +114 -0
  67. package/build/cjs/base/UInt.d.ts +15 -0
  68. package/build/cjs/base/UInt.js +27 -0
  69. package/build/cjs/base/Vec.d.ts +28 -0
  70. package/build/cjs/base/Vec.js +107 -0
  71. package/build/cjs/base/VecAny.d.ts +15 -0
  72. package/build/cjs/base/VecAny.js +21 -0
  73. package/build/cjs/base/VecFixed.d.ts +30 -0
  74. package/build/cjs/base/VecFixed.js +71 -0
  75. package/build/cjs/base/index.d.ts +12 -0
  76. package/build/cjs/base/index.js +27 -0
  77. package/build/cjs/bundle.d.ts +7 -0
  78. package/build/cjs/bundle.js +12 -0
  79. package/build/cjs/extended/BTreeMap.d.ts +5 -0
  80. package/build/cjs/extended/BTreeMap.js +14 -0
  81. package/build/cjs/extended/BTreeSet.d.ts +64 -0
  82. package/build/cjs/extended/BTreeSet.js +189 -0
  83. package/build/cjs/extended/BitVec.d.ts +37 -0
  84. package/build/cjs/extended/BitVec.js +112 -0
  85. package/build/cjs/extended/Bytes.d.ts +29 -0
  86. package/build/cjs/extended/Bytes.js +74 -0
  87. package/build/cjs/extended/HashMap.d.ts +5 -0
  88. package/build/cjs/extended/HashMap.js +14 -0
  89. package/build/cjs/extended/Linkage.d.ts +37 -0
  90. package/build/cjs/extended/Linkage.js +70 -0
  91. package/build/cjs/extended/Map.d.ts +59 -0
  92. package/build/cjs/extended/Map.js +204 -0
  93. package/build/cjs/extended/OptionBool.d.ts +36 -0
  94. package/build/cjs/extended/OptionBool.js +76 -0
  95. package/build/cjs/extended/Range.d.ts +29 -0
  96. package/build/cjs/extended/Range.js +42 -0
  97. package/build/cjs/extended/RangeInclusive.d.ts +6 -0
  98. package/build/cjs/extended/RangeInclusive.js +17 -0
  99. package/build/cjs/extended/Type.d.ts +16 -0
  100. package/build/cjs/extended/Type.js +25 -0
  101. package/build/cjs/extended/U8aFixed.d.ts +16 -0
  102. package/build/cjs/extended/U8aFixed.js +46 -0
  103. package/build/cjs/extended/WrapperKeepOpaque.d.ts +40 -0
  104. package/build/cjs/extended/WrapperKeepOpaque.js +103 -0
  105. package/build/cjs/extended/WrapperOpaque.d.ts +10 -0
  106. package/build/cjs/extended/WrapperOpaque.js +23 -0
  107. package/build/cjs/extended/index.d.ts +14 -0
  108. package/build/cjs/extended/index.js +32 -0
  109. package/build/cjs/index.d.ts +2 -0
  110. package/build/cjs/index.js +5 -0
  111. package/build/cjs/native/Bool.d.ts +71 -0
  112. package/build/cjs/native/Bool.js +113 -0
  113. package/build/cjs/native/Date.d.ts +84 -0
  114. package/build/cjs/native/Date.js +144 -0
  115. package/build/cjs/native/Float.d.ts +68 -0
  116. package/build/cjs/native/Float.js +111 -0
  117. package/build/cjs/native/Json.d.ts +69 -0
  118. package/build/cjs/native/Json.js +121 -0
  119. package/build/cjs/native/Raw.d.ts +87 -0
  120. package/build/cjs/native/Raw.js +144 -0
  121. package/build/cjs/native/Set.d.ts +84 -0
  122. package/build/cjs/native/Set.js +219 -0
  123. package/build/cjs/native/Struct.d.ts +106 -0
  124. package/build/cjs/native/Struct.data.js +4 -0
  125. package/build/cjs/native/Struct.js +264 -0
  126. package/build/cjs/native/Text.d.ts +77 -0
  127. package/build/cjs/native/Text.js +154 -0
  128. package/build/cjs/native/index.d.ts +8 -0
  129. package/build/cjs/native/index.js +22 -0
  130. package/build/cjs/package.json +3 -0
  131. package/build/cjs/packageDetect.d.ts +1 -0
  132. package/build/cjs/packageDetect.js +5 -0
  133. package/build/cjs/packageInfo.d.ts +6 -0
  134. package/build/cjs/packageInfo.js +4 -0
  135. package/build/cjs/primitive/F32.d.ts +11 -0
  136. package/build/cjs/primitive/F32.js +14 -0
  137. package/build/cjs/primitive/F64.d.ts +11 -0
  138. package/build/cjs/primitive/F64.js +14 -0
  139. package/build/cjs/primitive/I128.d.ts +11 -0
  140. package/build/cjs/primitive/I128.js +14 -0
  141. package/build/cjs/primitive/I16.d.ts +11 -0
  142. package/build/cjs/primitive/I16.js +14 -0
  143. package/build/cjs/primitive/I256.d.ts +11 -0
  144. package/build/cjs/primitive/I256.js +14 -0
  145. package/build/cjs/primitive/I32.d.ts +11 -0
  146. package/build/cjs/primitive/I32.js +14 -0
  147. package/build/cjs/primitive/I64.d.ts +11 -0
  148. package/build/cjs/primitive/I64.js +14 -0
  149. package/build/cjs/primitive/I8.d.ts +11 -0
  150. package/build/cjs/primitive/I8.js +14 -0
  151. package/build/cjs/primitive/ISize.d.ts +12 -0
  152. package/build/cjs/primitive/ISize.js +18 -0
  153. package/build/cjs/primitive/U128.d.ts +11 -0
  154. package/build/cjs/primitive/U128.js +14 -0
  155. package/build/cjs/primitive/U16.d.ts +11 -0
  156. package/build/cjs/primitive/U16.js +14 -0
  157. package/build/cjs/primitive/U256.d.ts +11 -0
  158. package/build/cjs/primitive/U256.js +14 -0
  159. package/build/cjs/primitive/U32.d.ts +11 -0
  160. package/build/cjs/primitive/U32.js +14 -0
  161. package/build/cjs/primitive/U64.d.ts +11 -0
  162. package/build/cjs/primitive/U64.js +14 -0
  163. package/build/cjs/primitive/U8.d.ts +11 -0
  164. package/build/cjs/primitive/U8.js +14 -0
  165. package/build/cjs/primitive/USize.d.ts +12 -0
  166. package/build/cjs/primitive/USize.js +18 -0
  167. package/build/cjs/primitive/index.d.ts +16 -0
  168. package/build/cjs/primitive/index.js +51 -0
  169. package/build/cjs/types/codec.d.ts +113 -0
  170. package/build/cjs/types/codec.js +2 -0
  171. package/build/cjs/types/helpers.d.ts +27 -0
  172. package/build/cjs/types/helpers.js +2 -0
  173. package/build/cjs/types/index.d.ts +4 -0
  174. package/build/cjs/types/index.js +7 -0
  175. package/build/cjs/types/interfaces.d.ts +74 -0
  176. package/build/cjs/types/interfaces.js +2 -0
  177. package/build/cjs/types/registry.d.ts +67 -0
  178. package/build/cjs/types/registry.js +2 -0
  179. package/build/cjs/utils/compareArray.d.ts +1 -0
  180. package/build/cjs/utils/compareArray.js +13 -0
  181. package/build/cjs/utils/compareMap.d.ts +1 -0
  182. package/build/cjs/utils/compareMap.js +30 -0
  183. package/build/cjs/utils/compareSet.d.ts +1 -0
  184. package/build/cjs/utils/compareSet.js +20 -0
  185. package/build/cjs/utils/decodeU8a.d.ts +26 -0
  186. package/build/cjs/utils/decodeU8a.js +105 -0
  187. package/build/cjs/utils/index.d.ts +8 -0
  188. package/build/cjs/utils/index.js +25 -0
  189. package/build/cjs/utils/sanitize.d.ts +15 -0
  190. package/build/cjs/utils/sanitize.js +233 -0
  191. package/build/cjs/utils/sortValues.d.ts +12 -0
  192. package/build/cjs/utils/sortValues.js +84 -0
  193. package/build/cjs/utils/toConstructors.d.ts +16 -0
  194. package/build/cjs/utils/toConstructors.js +40 -0
  195. package/build/cjs/utils/typesToMap.d.ts +2 -0
  196. package/build/cjs/utils/typesToMap.js +10 -0
  197. package/build/cjs/utils/util.d.ts +3 -0
  198. package/build/cjs/utils/util.js +7 -0
  199. package/build/extended/BTreeMap.d.ts +5 -0
  200. package/build/extended/BTreeMap.js +10 -0
  201. package/build/extended/BTreeSet.d.ts +64 -0
  202. package/build/extended/BTreeSet.js +185 -0
  203. package/build/extended/BitVec.d.ts +37 -0
  204. package/build/extended/BitVec.js +108 -0
  205. package/build/extended/Bytes.d.ts +29 -0
  206. package/build/extended/Bytes.js +70 -0
  207. package/build/extended/HashMap.d.ts +5 -0
  208. package/build/extended/HashMap.js +10 -0
  209. package/build/extended/Linkage.d.ts +37 -0
  210. package/build/extended/Linkage.js +65 -0
  211. package/build/extended/Map.d.ts +59 -0
  212. package/build/extended/Map.js +200 -0
  213. package/build/extended/OptionBool.d.ts +36 -0
  214. package/build/extended/OptionBool.js +72 -0
  215. package/build/extended/Range.d.ts +29 -0
  216. package/build/extended/Range.js +38 -0
  217. package/build/extended/RangeInclusive.d.ts +6 -0
  218. package/build/extended/RangeInclusive.js +13 -0
  219. package/build/extended/Type.d.ts +16 -0
  220. package/build/extended/Type.js +21 -0
  221. package/build/extended/U8aFixed.d.ts +16 -0
  222. package/build/extended/U8aFixed.js +42 -0
  223. package/build/extended/WrapperKeepOpaque.d.ts +40 -0
  224. package/build/extended/WrapperKeepOpaque.js +99 -0
  225. package/build/extended/WrapperOpaque.d.ts +10 -0
  226. package/build/extended/WrapperOpaque.js +19 -0
  227. package/build/extended/index.d.ts +14 -0
  228. package/build/extended/index.js +14 -0
  229. package/build/index.d.ts +2 -0
  230. package/build/index.js +2 -0
  231. package/build/native/Bool.d.ts +71 -0
  232. package/build/native/Bool.js +109 -0
  233. package/build/native/Date.d.ts +84 -0
  234. package/build/native/Date.js +140 -0
  235. package/build/native/Float.d.ts +68 -0
  236. package/build/native/Float.js +107 -0
  237. package/build/native/Json.d.ts +69 -0
  238. package/build/native/Json.js +117 -0
  239. package/build/native/Raw.d.ts +87 -0
  240. package/build/native/Raw.js +140 -0
  241. package/build/native/Set.d.ts +84 -0
  242. package/build/native/Set.js +215 -0
  243. package/build/native/Struct.d.ts +106 -0
  244. package/build/native/Struct.data.js +1 -0
  245. package/build/native/Struct.js +260 -0
  246. package/build/native/Text.d.ts +77 -0
  247. package/build/native/Text.js +150 -0
  248. package/build/native/index.d.ts +8 -0
  249. package/build/native/index.js +8 -0
  250. package/build/package.json +1149 -0
  251. package/build/packageDetect.d.ts +1 -0
  252. package/build/packageDetect.js +3 -0
  253. package/build/packageInfo.d.ts +6 -0
  254. package/build/packageInfo.js +1 -0
  255. package/build/primitive/F32.d.ts +11 -0
  256. package/build/primitive/F32.js +10 -0
  257. package/build/primitive/F64.d.ts +11 -0
  258. package/build/primitive/F64.js +10 -0
  259. package/build/primitive/I128.d.ts +11 -0
  260. package/build/primitive/I128.js +10 -0
  261. package/build/primitive/I16.d.ts +11 -0
  262. package/build/primitive/I16.js +10 -0
  263. package/build/primitive/I256.d.ts +11 -0
  264. package/build/primitive/I256.js +10 -0
  265. package/build/primitive/I32.d.ts +11 -0
  266. package/build/primitive/I32.js +10 -0
  267. package/build/primitive/I64.d.ts +11 -0
  268. package/build/primitive/I64.js +10 -0
  269. package/build/primitive/I8.d.ts +11 -0
  270. package/build/primitive/I8.js +10 -0
  271. package/build/primitive/ISize.d.ts +12 -0
  272. package/build/primitive/ISize.js +14 -0
  273. package/build/primitive/U128.d.ts +11 -0
  274. package/build/primitive/U128.js +10 -0
  275. package/build/primitive/U16.d.ts +11 -0
  276. package/build/primitive/U16.js +10 -0
  277. package/build/primitive/U256.d.ts +11 -0
  278. package/build/primitive/U256.js +10 -0
  279. package/build/primitive/U32.d.ts +11 -0
  280. package/build/primitive/U32.js +10 -0
  281. package/build/primitive/U64.d.ts +11 -0
  282. package/build/primitive/U64.js +10 -0
  283. package/build/primitive/U8.d.ts +11 -0
  284. package/build/primitive/U8.js +10 -0
  285. package/build/primitive/USize.d.ts +12 -0
  286. package/build/primitive/USize.js +14 -0
  287. package/build/primitive/index.d.ts +16 -0
  288. package/build/primitive/index.js +16 -0
  289. package/build/types/codec.d.ts +113 -0
  290. package/build/types/codec.js +1 -0
  291. package/build/types/helpers.d.ts +27 -0
  292. package/build/types/helpers.js +1 -0
  293. package/build/types/index.d.ts +4 -0
  294. package/build/types/index.js +4 -0
  295. package/build/types/interfaces.d.ts +74 -0
  296. package/build/types/interfaces.js +1 -0
  297. package/build/types/registry.d.ts +67 -0
  298. package/build/types/registry.js +1 -0
  299. package/build/utils/compareArray.d.ts +1 -0
  300. package/build/utils/compareArray.js +10 -0
  301. package/build/utils/compareMap.d.ts +1 -0
  302. package/build/utils/compareMap.js +27 -0
  303. package/build/utils/compareSet.d.ts +1 -0
  304. package/build/utils/compareSet.js +17 -0
  305. package/build/utils/decodeU8a.d.ts +26 -0
  306. package/build/utils/decodeU8a.js +100 -0
  307. package/build/utils/index.d.ts +8 -0
  308. package/build/utils/index.js +8 -0
  309. package/build/utils/sanitize.d.ts +15 -0
  310. package/build/utils/sanitize.js +219 -0
  311. package/build/utils/sortValues.d.ts +12 -0
  312. package/build/utils/sortValues.js +79 -0
  313. package/build/utils/toConstructors.d.ts +16 -0
  314. package/build/utils/toConstructors.js +35 -0
  315. package/build/utils/typesToMap.d.ts +2 -0
  316. package/build/utils/typesToMap.js +7 -0
  317. package/build/utils/util.d.ts +3 -0
  318. package/build/utils/util.js +4 -0
  319. package/build-deno/README.md +3 -0
  320. package/build-deno/abstract/Array.ts +211 -0
  321. package/build-deno/abstract/Base.ts +127 -0
  322. package/build-deno/abstract/Int.ts +267 -0
  323. package/build-deno/abstract/Object.ts +97 -0
  324. package/build-deno/abstract/index.ts +4 -0
  325. package/build-deno/base/Compact.ts +196 -0
  326. package/build-deno/base/DoNotConstruct.ts +116 -0
  327. package/build-deno/base/Enum.ts +457 -0
  328. package/build-deno/base/Int.ts +32 -0
  329. package/build-deno/base/Null.ts +94 -0
  330. package/build-deno/base/Option.ts +273 -0
  331. package/build-deno/base/Result.ts +77 -0
  332. package/build-deno/base/Tuple.ts +147 -0
  333. package/build-deno/base/UInt.ts +28 -0
  334. package/build-deno/base/Vec.ts +131 -0
  335. package/build-deno/base/VecAny.ts +21 -0
  336. package/build-deno/base/VecFixed.ts +90 -0
  337. package/build-deno/base/index.ts +13 -0
  338. package/build-deno/bundle.ts +9 -0
  339. package/build-deno/checkTypes.manual.ts +10 -0
  340. package/build-deno/extended/BTreeMap.ts +14 -0
  341. package/build-deno/extended/BTreeSet.ts +231 -0
  342. package/build-deno/extended/BitVec.ts +135 -0
  343. package/build-deno/extended/Bytes.ts +85 -0
  344. package/build-deno/extended/HashMap.ts +14 -0
  345. package/build-deno/extended/Linkage.ts +79 -0
  346. package/build-deno/extended/Map.ts +253 -0
  347. package/build-deno/extended/OptionBool.ts +91 -0
  348. package/build-deno/extended/Range.ts +54 -0
  349. package/build-deno/extended/RangeInclusive.ts +18 -0
  350. package/build-deno/extended/Type.ts +27 -0
  351. package/build-deno/extended/U8aFixed.ts +55 -0
  352. package/build-deno/extended/WrapperKeepOpaque.ts +126 -0
  353. package/build-deno/extended/WrapperOpaque.ts +25 -0
  354. package/build-deno/extended/index.ts +15 -0
  355. package/build-deno/index.ts +4 -0
  356. package/build-deno/mod.ts +2 -0
  357. package/build-deno/native/Bool.ts +135 -0
  358. package/build-deno/native/Date.ts +167 -0
  359. package/build-deno/native/Float.ts +134 -0
  360. package/build-deno/native/Json.ts +145 -0
  361. package/build-deno/native/Raw.ts +169 -0
  362. package/build-deno/native/Set.ts +267 -0
  363. package/build-deno/native/Struct.data.ts +2 -0
  364. package/build-deno/native/Struct.ts +336 -0
  365. package/build-deno/native/Text.ts +182 -0
  366. package/build-deno/native/index.ts +9 -0
  367. package/build-deno/packageDetect.ts +7 -0
  368. package/build-deno/packageInfo.ts +3 -0
  369. package/build-deno/primitive/F32.ts +12 -0
  370. package/build-deno/primitive/F64.ts +12 -0
  371. package/build-deno/primitive/I128.ts +12 -0
  372. package/build-deno/primitive/I16.ts +12 -0
  373. package/build-deno/primitive/I256.ts +12 -0
  374. package/build-deno/primitive/I32.ts +12 -0
  375. package/build-deno/primitive/I64.ts +12 -0
  376. package/build-deno/primitive/I8.ts +12 -0
  377. package/build-deno/primitive/ISize.ts +19 -0
  378. package/build-deno/primitive/U128.ts +12 -0
  379. package/build-deno/primitive/U16.ts +12 -0
  380. package/build-deno/primitive/U256.ts +12 -0
  381. package/build-deno/primitive/U32.ts +12 -0
  382. package/build-deno/primitive/U64.ts +12 -0
  383. package/build-deno/primitive/U8.ts +12 -0
  384. package/build-deno/primitive/USize.ts +19 -0
  385. package/build-deno/primitive/index.ts +17 -0
  386. package/build-deno/test/performance.ts +57 -0
  387. package/build-deno/types/codec.ts +138 -0
  388. package/build-deno/types/helpers.ts +41 -0
  389. package/build-deno/types/index.ts +5 -0
  390. package/build-deno/types/interfaces.ts +94 -0
  391. package/build-deno/types/registry.ts +84 -0
  392. package/build-deno/utils/compareArray.ts +18 -0
  393. package/build-deno/utils/compareMap.ts +36 -0
  394. package/build-deno/utils/compareSet.ts +19 -0
  395. package/build-deno/utils/decodeU8a.ts +121 -0
  396. package/build-deno/utils/index.ts +9 -0
  397. package/build-deno/utils/sanitize.ts +282 -0
  398. package/build-deno/utils/sortValues.ts +101 -0
  399. package/build-deno/utils/toConstructors.ts +44 -0
  400. package/build-deno/utils/typesToMap.ts +12 -0
  401. package/build-deno/utils/util.ts +6 -0
  402. package/build-tsc/abstract/Array.d.ts +89 -0
  403. package/build-tsc/abstract/Base.d.ts +75 -0
  404. package/build-tsc/abstract/Int.d.ts +80 -0
  405. package/build-tsc/abstract/Object.d.ts +67 -0
  406. package/build-tsc/abstract/index.d.ts +3 -0
  407. package/build-tsc/base/Compact.d.ts +88 -0
  408. package/build-tsc/base/DoNotConstruct.d.ts +63 -0
  409. package/build-tsc/base/Enum.d.ts +118 -0
  410. package/build-tsc/base/Int.d.ts +16 -0
  411. package/build-tsc/base/Null.d.ts +56 -0
  412. package/build-tsc/base/Option.d.ts +94 -0
  413. package/build-tsc/base/Result.d.ts +38 -0
  414. package/build-tsc/base/Tuple.d.ts +42 -0
  415. package/build-tsc/base/UInt.d.ts +15 -0
  416. package/build-tsc/base/Vec.d.ts +28 -0
  417. package/build-tsc/base/VecAny.d.ts +15 -0
  418. package/build-tsc/base/VecFixed.d.ts +30 -0
  419. package/build-tsc/base/index.d.ts +12 -0
  420. package/build-tsc/bundle.d.ts +7 -0
  421. package/build-tsc/extended/BTreeMap.d.ts +5 -0
  422. package/build-tsc/extended/BTreeSet.d.ts +64 -0
  423. package/build-tsc/extended/BitVec.d.ts +37 -0
  424. package/build-tsc/extended/Bytes.d.ts +29 -0
  425. package/build-tsc/extended/HashMap.d.ts +5 -0
  426. package/build-tsc/extended/Linkage.d.ts +37 -0
  427. package/build-tsc/extended/Map.d.ts +59 -0
  428. package/build-tsc/extended/OptionBool.d.ts +36 -0
  429. package/build-tsc/extended/Range.d.ts +29 -0
  430. package/build-tsc/extended/RangeInclusive.d.ts +6 -0
  431. package/build-tsc/extended/Type.d.ts +16 -0
  432. package/build-tsc/extended/U8aFixed.d.ts +16 -0
  433. package/build-tsc/extended/WrapperKeepOpaque.d.ts +40 -0
  434. package/build-tsc/extended/WrapperOpaque.d.ts +10 -0
  435. package/build-tsc/extended/index.d.ts +14 -0
  436. package/build-tsc/index.d.ts +2 -0
  437. package/build-tsc/native/Bool.d.ts +71 -0
  438. package/build-tsc/native/Date.d.ts +84 -0
  439. package/build-tsc/native/Float.d.ts +68 -0
  440. package/build-tsc/native/Json.d.ts +69 -0
  441. package/build-tsc/native/Raw.d.ts +87 -0
  442. package/build-tsc/native/Set.d.ts +84 -0
  443. package/build-tsc/native/Struct.d.ts +106 -0
  444. package/build-tsc/native/Text.d.ts +77 -0
  445. package/build-tsc/native/index.d.ts +8 -0
  446. package/build-tsc/packageDetect.d.ts +1 -0
  447. package/build-tsc/packageInfo.d.ts +6 -0
  448. package/build-tsc/primitive/F32.d.ts +11 -0
  449. package/build-tsc/primitive/F64.d.ts +11 -0
  450. package/build-tsc/primitive/I128.d.ts +11 -0
  451. package/build-tsc/primitive/I16.d.ts +11 -0
  452. package/build-tsc/primitive/I256.d.ts +11 -0
  453. package/build-tsc/primitive/I32.d.ts +11 -0
  454. package/build-tsc/primitive/I64.d.ts +11 -0
  455. package/build-tsc/primitive/I8.d.ts +11 -0
  456. package/build-tsc/primitive/ISize.d.ts +12 -0
  457. package/build-tsc/primitive/U128.d.ts +11 -0
  458. package/build-tsc/primitive/U16.d.ts +11 -0
  459. package/build-tsc/primitive/U256.d.ts +11 -0
  460. package/build-tsc/primitive/U32.d.ts +11 -0
  461. package/build-tsc/primitive/U64.d.ts +11 -0
  462. package/build-tsc/primitive/U8.d.ts +11 -0
  463. package/build-tsc/primitive/USize.d.ts +12 -0
  464. package/build-tsc/primitive/index.d.ts +16 -0
  465. package/build-tsc/types/codec.d.ts +113 -0
  466. package/build-tsc/types/helpers.d.ts +27 -0
  467. package/build-tsc/types/index.d.ts +4 -0
  468. package/build-tsc/types/interfaces.d.ts +74 -0
  469. package/build-tsc/types/registry.d.ts +67 -0
  470. package/build-tsc/utils/compareArray.d.ts +1 -0
  471. package/build-tsc/utils/compareMap.d.ts +1 -0
  472. package/build-tsc/utils/compareSet.d.ts +1 -0
  473. package/build-tsc/utils/decodeU8a.d.ts +26 -0
  474. package/build-tsc/utils/index.d.ts +8 -0
  475. package/build-tsc/utils/sanitize.d.ts +15 -0
  476. package/build-tsc/utils/sortValues.d.ts +12 -0
  477. package/build-tsc/utils/toConstructors.d.ts +16 -0
  478. package/build-tsc/utils/typesToMap.d.ts +2 -0
  479. package/build-tsc/utils/util.d.ts +3 -0
  480. package/build-tsc-cjs/abstract/Array.js +170 -0
  481. package/build-tsc-cjs/abstract/Base.js +105 -0
  482. package/build-tsc-cjs/abstract/Int.js +230 -0
  483. package/build-tsc-cjs/abstract/Object.js +44 -0
  484. package/build-tsc-cjs/abstract/index.js +9 -0
  485. package/build-tsc-cjs/base/Compact.js +163 -0
  486. package/build-tsc-cjs/base/DoNotConstruct.js +99 -0
  487. package/build-tsc-cjs/base/Enum.js +373 -0
  488. package/build-tsc-cjs/base/Int.js +30 -0
  489. package/build-tsc-cjs/base/Null.js +81 -0
  490. package/build-tsc-cjs/base/Option.js +236 -0
  491. package/build-tsc-cjs/base/Result.js +67 -0
  492. package/build-tsc-cjs/base/Tuple.js +114 -0
  493. package/build-tsc-cjs/base/UInt.js +27 -0
  494. package/build-tsc-cjs/base/Vec.js +107 -0
  495. package/build-tsc-cjs/base/VecAny.js +21 -0
  496. package/build-tsc-cjs/base/VecFixed.js +71 -0
  497. package/build-tsc-cjs/base/index.js +27 -0
  498. package/build-tsc-cjs/bundle.js +12 -0
  499. package/build-tsc-cjs/extended/BTreeMap.js +14 -0
  500. package/build-tsc-cjs/extended/BTreeSet.js +189 -0
  501. package/build-tsc-cjs/extended/BitVec.js +112 -0
  502. package/build-tsc-cjs/extended/Bytes.js +74 -0
  503. package/build-tsc-cjs/extended/HashMap.js +14 -0
  504. package/build-tsc-cjs/extended/Linkage.js +70 -0
  505. package/build-tsc-cjs/extended/Map.js +204 -0
  506. package/build-tsc-cjs/extended/OptionBool.js +76 -0
  507. package/build-tsc-cjs/extended/Range.js +42 -0
  508. package/build-tsc-cjs/extended/RangeInclusive.js +17 -0
  509. package/build-tsc-cjs/extended/Type.js +25 -0
  510. package/build-tsc-cjs/extended/U8aFixed.js +46 -0
  511. package/build-tsc-cjs/extended/WrapperKeepOpaque.js +103 -0
  512. package/build-tsc-cjs/extended/WrapperOpaque.js +23 -0
  513. package/build-tsc-cjs/extended/index.js +32 -0
  514. package/build-tsc-cjs/index.js +5 -0
  515. package/build-tsc-cjs/native/Bool.js +113 -0
  516. package/build-tsc-cjs/native/Date.js +144 -0
  517. package/build-tsc-cjs/native/Float.js +111 -0
  518. package/build-tsc-cjs/native/Json.js +121 -0
  519. package/build-tsc-cjs/native/Raw.js +144 -0
  520. package/build-tsc-cjs/native/Set.js +219 -0
  521. package/build-tsc-cjs/native/Struct.data.js +4 -0
  522. package/build-tsc-cjs/native/Struct.js +264 -0
  523. package/build-tsc-cjs/native/Text.js +154 -0
  524. package/build-tsc-cjs/native/index.js +22 -0
  525. package/build-tsc-cjs/packageDetect.js +5 -0
  526. package/build-tsc-cjs/packageInfo.js +4 -0
  527. package/build-tsc-cjs/primitive/F32.js +14 -0
  528. package/build-tsc-cjs/primitive/F64.js +14 -0
  529. package/build-tsc-cjs/primitive/I128.js +14 -0
  530. package/build-tsc-cjs/primitive/I16.js +14 -0
  531. package/build-tsc-cjs/primitive/I256.js +14 -0
  532. package/build-tsc-cjs/primitive/I32.js +14 -0
  533. package/build-tsc-cjs/primitive/I64.js +14 -0
  534. package/build-tsc-cjs/primitive/I8.js +14 -0
  535. package/build-tsc-cjs/primitive/ISize.js +18 -0
  536. package/build-tsc-cjs/primitive/U128.js +14 -0
  537. package/build-tsc-cjs/primitive/U16.js +14 -0
  538. package/build-tsc-cjs/primitive/U256.js +14 -0
  539. package/build-tsc-cjs/primitive/U32.js +14 -0
  540. package/build-tsc-cjs/primitive/U64.js +14 -0
  541. package/build-tsc-cjs/primitive/U8.js +14 -0
  542. package/build-tsc-cjs/primitive/USize.js +18 -0
  543. package/build-tsc-cjs/primitive/index.js +51 -0
  544. package/build-tsc-cjs/types/codec.js +2 -0
  545. package/build-tsc-cjs/types/helpers.js +2 -0
  546. package/build-tsc-cjs/types/index.js +7 -0
  547. package/build-tsc-cjs/types/interfaces.js +2 -0
  548. package/build-tsc-cjs/types/registry.js +2 -0
  549. package/build-tsc-cjs/utils/compareArray.js +13 -0
  550. package/build-tsc-cjs/utils/compareMap.js +30 -0
  551. package/build-tsc-cjs/utils/compareSet.js +20 -0
  552. package/build-tsc-cjs/utils/decodeU8a.js +105 -0
  553. package/build-tsc-cjs/utils/index.js +25 -0
  554. package/build-tsc-cjs/utils/sanitize.js +233 -0
  555. package/build-tsc-cjs/utils/sortValues.js +84 -0
  556. package/build-tsc-cjs/utils/toConstructors.js +40 -0
  557. package/build-tsc-cjs/utils/typesToMap.js +10 -0
  558. package/build-tsc-cjs/utils/util.js +7 -0
  559. package/build-tsc-esm/abstract/Array.js +166 -0
  560. package/build-tsc-esm/abstract/Base.js +101 -0
  561. package/build-tsc-esm/abstract/Int.js +226 -0
  562. package/build-tsc-esm/abstract/Object.js +40 -0
  563. package/build-tsc-esm/abstract/index.js +3 -0
  564. package/build-tsc-esm/base/Compact.js +159 -0
  565. package/build-tsc-esm/base/DoNotConstruct.js +95 -0
  566. package/build-tsc-esm/base/Enum.js +369 -0
  567. package/build-tsc-esm/base/Int.js +26 -0
  568. package/build-tsc-esm/base/Null.js +77 -0
  569. package/build-tsc-esm/base/Option.js +232 -0
  570. package/build-tsc-esm/base/Result.js +63 -0
  571. package/build-tsc-esm/base/Tuple.js +110 -0
  572. package/build-tsc-esm/base/UInt.js +23 -0
  573. package/build-tsc-esm/base/Vec.js +102 -0
  574. package/build-tsc-esm/base/VecAny.js +17 -0
  575. package/build-tsc-esm/base/VecFixed.js +67 -0
  576. package/build-tsc-esm/base/index.js +12 -0
  577. package/build-tsc-esm/bundle.js +7 -0
  578. package/build-tsc-esm/extended/BTreeMap.js +10 -0
  579. package/build-tsc-esm/extended/BTreeSet.js +185 -0
  580. package/build-tsc-esm/extended/BitVec.js +108 -0
  581. package/build-tsc-esm/extended/Bytes.js +70 -0
  582. package/build-tsc-esm/extended/HashMap.js +10 -0
  583. package/build-tsc-esm/extended/Linkage.js +65 -0
  584. package/build-tsc-esm/extended/Map.js +200 -0
  585. package/build-tsc-esm/extended/OptionBool.js +72 -0
  586. package/build-tsc-esm/extended/Range.js +38 -0
  587. package/build-tsc-esm/extended/RangeInclusive.js +13 -0
  588. package/build-tsc-esm/extended/Type.js +21 -0
  589. package/build-tsc-esm/extended/U8aFixed.js +42 -0
  590. package/build-tsc-esm/extended/WrapperKeepOpaque.js +99 -0
  591. package/build-tsc-esm/extended/WrapperOpaque.js +19 -0
  592. package/build-tsc-esm/extended/index.js +14 -0
  593. package/build-tsc-esm/index.js +2 -0
  594. package/build-tsc-esm/native/Bool.js +109 -0
  595. package/build-tsc-esm/native/Date.js +140 -0
  596. package/build-tsc-esm/native/Float.js +107 -0
  597. package/build-tsc-esm/native/Json.js +117 -0
  598. package/build-tsc-esm/native/Raw.js +140 -0
  599. package/build-tsc-esm/native/Set.js +215 -0
  600. package/build-tsc-esm/native/Struct.data.js +1 -0
  601. package/build-tsc-esm/native/Struct.js +260 -0
  602. package/build-tsc-esm/native/Text.js +150 -0
  603. package/build-tsc-esm/native/index.js +8 -0
  604. package/build-tsc-esm/packageDetect.js +3 -0
  605. package/build-tsc-esm/packageInfo.js +1 -0
  606. package/build-tsc-esm/primitive/F32.js +10 -0
  607. package/build-tsc-esm/primitive/F64.js +10 -0
  608. package/build-tsc-esm/primitive/I128.js +10 -0
  609. package/build-tsc-esm/primitive/I16.js +10 -0
  610. package/build-tsc-esm/primitive/I256.js +10 -0
  611. package/build-tsc-esm/primitive/I32.js +10 -0
  612. package/build-tsc-esm/primitive/I64.js +10 -0
  613. package/build-tsc-esm/primitive/I8.js +10 -0
  614. package/build-tsc-esm/primitive/ISize.js +14 -0
  615. package/build-tsc-esm/primitive/U128.js +10 -0
  616. package/build-tsc-esm/primitive/U16.js +10 -0
  617. package/build-tsc-esm/primitive/U256.js +10 -0
  618. package/build-tsc-esm/primitive/U32.js +10 -0
  619. package/build-tsc-esm/primitive/U64.js +10 -0
  620. package/build-tsc-esm/primitive/U8.js +10 -0
  621. package/build-tsc-esm/primitive/USize.js +14 -0
  622. package/build-tsc-esm/primitive/index.js +16 -0
  623. package/build-tsc-esm/types/codec.js +1 -0
  624. package/build-tsc-esm/types/helpers.js +1 -0
  625. package/build-tsc-esm/types/index.js +4 -0
  626. package/build-tsc-esm/types/interfaces.js +1 -0
  627. package/build-tsc-esm/types/registry.js +1 -0
  628. package/build-tsc-esm/utils/compareArray.js +10 -0
  629. package/build-tsc-esm/utils/compareMap.js +27 -0
  630. package/build-tsc-esm/utils/compareSet.js +17 -0
  631. package/build-tsc-esm/utils/decodeU8a.js +100 -0
  632. package/build-tsc-esm/utils/index.js +8 -0
  633. package/build-tsc-esm/utils/sanitize.js +219 -0
  634. package/build-tsc-esm/utils/sortValues.js +79 -0
  635. package/build-tsc-esm/utils/toConstructors.js +35 -0
  636. package/build-tsc-esm/utils/typesToMap.js +7 -0
  637. package/build-tsc-esm/utils/util.js +4 -0
  638. package/cjs/packageInfo.js +1 -1
  639. package/package.json +1 -1
  640. package/packageInfo.js +1 -1
  641. package/src/abstract/Array.ts +213 -0
  642. package/src/abstract/Base.ts +129 -0
  643. package/src/abstract/Int.ts +271 -0
  644. package/src/abstract/Object.ts +99 -0
  645. package/src/abstract/index.ts +6 -0
  646. package/src/base/Compact.spec.ts +99 -0
  647. package/src/base/Compact.ts +198 -0
  648. package/src/base/DoNotConstruct.spec.ts +23 -0
  649. package/src/base/DoNotConstruct.ts +118 -0
  650. package/src/base/Enum.spec.ts +487 -0
  651. package/src/base/Enum.ts +460 -0
  652. package/src/base/Int.spec.ts +225 -0
  653. package/src/base/Int.ts +34 -0
  654. package/src/base/Null.spec.ts +41 -0
  655. package/src/base/Null.ts +96 -0
  656. package/src/base/Option.spec.ts +216 -0
  657. package/src/base/Option.ts +275 -0
  658. package/src/base/Result.spec.ts +64 -0
  659. package/src/base/Result.ts +79 -0
  660. package/src/base/Tuple.spec.ts +161 -0
  661. package/src/base/Tuple.ts +149 -0
  662. package/src/base/UInt.spec.ts +192 -0
  663. package/src/base/UInt.ts +30 -0
  664. package/src/base/Vec.spec.ts +224 -0
  665. package/src/base/Vec.ts +133 -0
  666. package/src/base/VecAny.ts +23 -0
  667. package/src/base/VecFixed.spec.ts +78 -0
  668. package/src/base/VecFixed.ts +92 -0
  669. package/src/base/index.ts +15 -0
  670. package/src/bundle.ts +13 -0
  671. package/src/checkTypes.manual.ts +12 -0
  672. package/src/extended/BTreeMap.spec.ts +245 -0
  673. package/src/extended/BTreeMap.ts +16 -0
  674. package/src/extended/BTreeSet.spec.ts +260 -0
  675. package/src/extended/BTreeSet.ts +233 -0
  676. package/src/extended/BitVec.spec.ts +97 -0
  677. package/src/extended/BitVec.ts +137 -0
  678. package/src/extended/Bytes.spec.ts +75 -0
  679. package/src/extended/Bytes.ts +88 -0
  680. package/src/extended/HashMap.spec.ts +36 -0
  681. package/src/extended/HashMap.ts +16 -0
  682. package/src/extended/Linkage.spec.ts +43 -0
  683. package/src/extended/Linkage.ts +81 -0
  684. package/src/extended/Map.spec.ts +123 -0
  685. package/src/extended/Map.ts +255 -0
  686. package/src/extended/OptionBool.spec.ts +49 -0
  687. package/src/extended/OptionBool.ts +93 -0
  688. package/src/extended/Range.spec.ts +37 -0
  689. package/src/extended/Range.ts +56 -0
  690. package/src/extended/RangeInclusive.ts +20 -0
  691. package/src/extended/Type.spec.ts +118 -0
  692. package/src/extended/Type.ts +29 -0
  693. package/src/extended/U8aFixed.spec.ts +117 -0
  694. package/src/extended/U8aFixed.ts +57 -0
  695. package/src/extended/WrapperKeepOpaque.spec.ts +101 -0
  696. package/src/extended/WrapperKeepOpaque.ts +128 -0
  697. package/src/extended/WrapperOpaque.spec.ts +58 -0
  698. package/src/extended/WrapperOpaque.ts +27 -0
  699. package/src/extended/index.ts +17 -0
  700. package/src/index.ts +6 -0
  701. package/src/mod.ts +4 -0
  702. package/src/native/Bool.spec.ts +74 -0
  703. package/src/native/Bool.ts +137 -0
  704. package/src/native/Date.spec.ts +85 -0
  705. package/src/native/Date.ts +169 -0
  706. package/src/native/Float.spec.ts +51 -0
  707. package/src/native/Float.ts +136 -0
  708. package/src/native/Json.ts +147 -0
  709. package/src/native/Raw.spec.ts +113 -0
  710. package/src/native/Raw.ts +171 -0
  711. package/src/native/Set.spec.ts +116 -0
  712. package/src/native/Set.ts +269 -0
  713. package/src/native/Struct.data.ts +4 -0
  714. package/src/native/Struct.spec.ts +411 -0
  715. package/src/native/Struct.ts +338 -0
  716. package/src/native/Text.spec.ts +85 -0
  717. package/src/native/Text.ts +184 -0
  718. package/src/native/index.ts +11 -0
  719. package/src/packageDetect.ts +11 -0
  720. package/src/packageInfo.ts +6 -0
  721. package/src/primitive/F32.ts +14 -0
  722. package/src/primitive/F64.ts +14 -0
  723. package/src/primitive/I128.ts +14 -0
  724. package/src/primitive/I16.ts +14 -0
  725. package/src/primitive/I256.ts +14 -0
  726. package/src/primitive/I32.ts +14 -0
  727. package/src/primitive/I64.ts +14 -0
  728. package/src/primitive/I8.ts +14 -0
  729. package/src/primitive/ISize.ts +21 -0
  730. package/src/primitive/U128.ts +14 -0
  731. package/src/primitive/U16.ts +14 -0
  732. package/src/primitive/U256.ts +14 -0
  733. package/src/primitive/U32.ts +14 -0
  734. package/src/primitive/U64.ts +14 -0
  735. package/src/primitive/U8.ts +14 -0
  736. package/src/primitive/USize.ts +21 -0
  737. package/src/primitive/index.ts +19 -0
  738. package/src/test/performance.ts +61 -0
  739. package/src/types/codec.ts +140 -0
  740. package/src/types/helpers.ts +50 -0
  741. package/src/types/index.ts +7 -0
  742. package/src/types/interfaces.ts +98 -0
  743. package/src/types/registry.ts +86 -0
  744. package/src/utils/compareArray.ts +22 -0
  745. package/src/utils/compareMap.ts +40 -0
  746. package/src/utils/compareSet.ts +23 -0
  747. package/src/utils/decodeU8a.ts +123 -0
  748. package/src/utils/index.ts +11 -0
  749. package/src/utils/sanitize.spec.ts +89 -0
  750. package/src/utils/sanitize.ts +290 -0
  751. package/src/utils/sortValues.ts +103 -0
  752. package/src/utils/toConstructors.ts +46 -0
  753. package/src/utils/typesToMap.ts +14 -0
  754. package/src/utils/util.ts +8 -0
  755. package/tsconfig.build.json +16 -0
  756. package/tsconfig.build.tsbuildinfo +1 -0
  757. package/tsconfig.spec.json +21 -0
  758. package/tsconfig.spec.tsbuildinfo +1 -0
@@ -0,0 +1,72 @@
1
+ import { isHex, isU8a, u8aToU8a } from '@pezkuwi/util';
2
+ import { Option } from '../base/Option.js';
3
+ import { bool as Bool } from '../native/Bool.js';
4
+ function decodeU8a(registry, value) {
5
+ // Encoded as -
6
+ // - 0 = None
7
+ // - 1 = True
8
+ // - 2 = False
9
+ return value[0] === 0
10
+ ? null
11
+ : new Bool(registry, value[0] === 1);
12
+ }
13
+ /**
14
+ * @name OptionBool
15
+ * @description A specific implementation of Option<bool> than allows for single-byte encoding
16
+ */
17
+ export class OptionBool extends Option {
18
+ constructor(registry, value) {
19
+ super(registry, Bool, isU8a(value) || isHex(value)
20
+ ? decodeU8a(registry, u8aToU8a(value))
21
+ : value);
22
+ this.initialU8aLength = 1;
23
+ }
24
+ /**
25
+ * @description The length of the value when encoded as a Uint8Array
26
+ */
27
+ get encodedLength() {
28
+ return 1 | 0;
29
+ }
30
+ /**
31
+ * @description Checks if the value is an empty value (always false)
32
+ */
33
+ get isFalse() {
34
+ return this.isSome
35
+ ? !this.value.valueOf()
36
+ : false;
37
+ }
38
+ /**
39
+ * @description Checks if the value is an empty value (always false)
40
+ */
41
+ get isTrue() {
42
+ return this.isSome
43
+ ? this.value.valueOf()
44
+ : false;
45
+ }
46
+ /**
47
+ * @description Returns a breakdown of the hex encoding for this Codec
48
+ */
49
+ inspect() {
50
+ return { outer: [this.toU8a()] };
51
+ }
52
+ /**
53
+ * @description Returns the base runtime type name for this instance
54
+ */
55
+ toRawType(isBare) {
56
+ return isBare
57
+ ? 'bool'
58
+ : 'Option<bool>';
59
+ }
60
+ /**
61
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
62
+ * @param isBare true when the value has none of the type-specific prefixes (internal)
63
+ */
64
+ toU8a(isBare) {
65
+ if (isBare) {
66
+ return super.toU8a(true);
67
+ }
68
+ return this.isSome
69
+ ? new Uint8Array([this.isTrue ? 1 : 2])
70
+ : new Uint8Array([0]);
71
+ }
72
+ }
@@ -0,0 +1,38 @@
1
+ import { Tuple } from '../base/Tuple.js';
2
+ /**
3
+ * @name Range
4
+ * @description
5
+ * Rust `Range<T>` representation
6
+ */
7
+ export class Range extends Tuple {
8
+ #rangeName;
9
+ constructor(registry, Type, value, { rangeName = 'Range' } = {}) {
10
+ super(registry, [Type, Type], value);
11
+ this.#rangeName = rangeName;
12
+ }
13
+ static with(Type) {
14
+ return class extends Range {
15
+ constructor(registry, value) {
16
+ super(registry, Type, value);
17
+ }
18
+ };
19
+ }
20
+ /**
21
+ * @description Returns the starting range value
22
+ */
23
+ get start() {
24
+ return this[0];
25
+ }
26
+ /**
27
+ * @description Returns the ending range value
28
+ */
29
+ get end() {
30
+ return this[1];
31
+ }
32
+ /**
33
+ * @description Returns the base runtime type name for this instance
34
+ */
35
+ toRawType() {
36
+ return `${this.#rangeName}<${this.start.toRawType()}>`;
37
+ }
38
+ }
@@ -0,0 +1,13 @@
1
+ import { Range } from './Range.js';
2
+ export class RangeInclusive extends Range {
3
+ constructor(registry, Type, value) {
4
+ super(registry, Type, value, { rangeName: 'RangeInclusive' });
5
+ }
6
+ static with(Type) {
7
+ return class extends RangeInclusive {
8
+ constructor(registry, value) {
9
+ super(registry, Type, value);
10
+ }
11
+ };
12
+ }
13
+ }
@@ -0,0 +1,21 @@
1
+ import { Text } from '../native/Text.js';
2
+ import { sanitize } from '../utils/index.js';
3
+ /**
4
+ * @name Type
5
+ * @description
6
+ * This is a extended version of Text, specifically to handle types. Here we rely fully
7
+ * on what Text provides us, however we also adjust the types received from the runtime,
8
+ * i.e. we remove the `T::` prefixes found in some types for consistency across implementation.
9
+ */
10
+ export class Type extends Text {
11
+ constructor(registry, value = '') {
12
+ super(registry, value);
13
+ this.setOverride(sanitize(this.toString()));
14
+ }
15
+ /**
16
+ * @description Returns the base runtime type name for this instance
17
+ */
18
+ toRawType() {
19
+ return 'Type';
20
+ }
21
+ }
@@ -0,0 +1,42 @@
1
+ import { isU8a, u8aToU8a } from '@pezkuwi/util';
2
+ import { Raw } from '../native/Raw.js';
3
+ /** @internal */
4
+ function decodeU8aFixed(value, bitLength) {
5
+ const u8a = u8aToU8a(value);
6
+ const byteLength = bitLength / 8;
7
+ if (!u8a.length) {
8
+ return [new Uint8Array(byteLength), 0];
9
+ }
10
+ if (isU8a(value) ? u8a.length < byteLength : u8a.length !== byteLength) {
11
+ throw new Error(`Expected input with ${byteLength} bytes (${bitLength} bits), found ${u8a.length} bytes`);
12
+ }
13
+ return [u8a.subarray(0, byteLength), byteLength];
14
+ }
15
+ /**
16
+ * @name U8aFixed
17
+ * @description
18
+ * A U8a that manages a a sequence of bytes up to the specified bitLength. Not meant
19
+ * to be used directly, rather is should be subclassed with the specific lengths.
20
+ */
21
+ export class U8aFixed extends Raw {
22
+ constructor(registry, value = new Uint8Array(), bitLength = 256) {
23
+ const [u8a, decodedLength] = decodeU8aFixed(value, bitLength);
24
+ super(registry, u8a, decodedLength);
25
+ }
26
+ static with(bitLength, typeName) {
27
+ return class extends U8aFixed {
28
+ constructor(registry, value) {
29
+ super(registry, value, bitLength);
30
+ }
31
+ toRawType() {
32
+ return typeName || super.toRawType();
33
+ }
34
+ };
35
+ }
36
+ /**
37
+ * @description Returns the base runtime type name for this instance
38
+ */
39
+ toRawType() {
40
+ return `[u8;${this.length}]`;
41
+ }
42
+ }
@@ -0,0 +1,99 @@
1
+ import { compactAddLength, compactStripLength, compactToU8a, isHex, isU8a, u8aToU8a } from '@pezkuwi/util';
2
+ import { Raw } from '../native/Raw.js';
3
+ import { typeToConstructor } from '../utils/index.js';
4
+ import { Bytes } from './Bytes.js';
5
+ function decodeRaw(registry, typeName, value) {
6
+ const Type = typeToConstructor(registry, typeName);
7
+ if (isU8a(value) || isHex(value)) {
8
+ try {
9
+ const [, u8a] = isHex(value)
10
+ ? [0, u8aToU8a(value)]
11
+ : (value instanceof Raw)
12
+ ? [0, value.subarray()]
13
+ : compactStripLength(value);
14
+ return [Type, new Type(registry, u8a), value];
15
+ }
16
+ catch {
17
+ return [Type, null, value];
18
+ }
19
+ }
20
+ const instance = new Type(registry, value);
21
+ return [Type, instance, compactAddLength(instance.toU8a())];
22
+ }
23
+ export class WrapperKeepOpaque extends Bytes {
24
+ #Type;
25
+ #decoded;
26
+ #opaqueName;
27
+ constructor(registry, typeName, value, { opaqueName = 'WrapperKeepOpaque' } = {}) {
28
+ const [Type, decoded, u8a] = decodeRaw(registry, typeName, value);
29
+ super(registry, u8a);
30
+ this.#Type = Type;
31
+ this.#decoded = decoded;
32
+ this.#opaqueName = opaqueName;
33
+ }
34
+ static with(Type) {
35
+ return class extends WrapperKeepOpaque {
36
+ constructor(registry, value) {
37
+ super(registry, Type, value);
38
+ }
39
+ };
40
+ }
41
+ /**
42
+ * @description Checks if the wrapper is decodable
43
+ */
44
+ get isDecoded() {
45
+ return !!this.#decoded;
46
+ }
47
+ /**
48
+ * @description Returns a breakdown of the hex encoding for this Codec
49
+ */
50
+ inspect() {
51
+ return this.#decoded
52
+ ? {
53
+ inner: [this.#decoded.inspect()],
54
+ outer: [compactToU8a(this.length)]
55
+ }
56
+ : {
57
+ outer: [compactToU8a(this.length), this.toU8a(true)]
58
+ };
59
+ }
60
+ /**
61
+ * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
62
+ */
63
+ toHuman(isExtended, disableAscii) {
64
+ return this.#decoded
65
+ ? this.#decoded.toHuman(isExtended, disableAscii)
66
+ : super.toHuman(isExtended, disableAscii);
67
+ }
68
+ /**
69
+ * @description Converts the value in a best-fit primitive form
70
+ */
71
+ toPrimitive(disableAscii) {
72
+ return this.#decoded
73
+ ? this.#decoded.toPrimitive(disableAscii)
74
+ : super.toPrimitive(disableAscii);
75
+ }
76
+ /**
77
+ * @description Returns the base runtime type name for this instance
78
+ */
79
+ toRawType() {
80
+ return `${this.#opaqueName}<${this.registry.getClassName(this.#Type) || (this.#decoded ? this.#decoded.toRawType() : new this.#Type(this.registry).toRawType())}>`;
81
+ }
82
+ /**
83
+ * @description Converts the Object to to a string (either decoded or bytes)
84
+ */
85
+ toString() {
86
+ return this.#decoded
87
+ ? this.#decoded.toString()
88
+ : super.toString();
89
+ }
90
+ /**
91
+ * @description Returns the decoded that the WrapperKeepOpaque represents (if available), throws if non-decodable
92
+ */
93
+ unwrap() {
94
+ if (!this.#decoded) {
95
+ throw new Error(`${this.#opaqueName}: unwrapping an undecodable value`);
96
+ }
97
+ return this.#decoded;
98
+ }
99
+ }
@@ -0,0 +1,19 @@
1
+ import { WrapperKeepOpaque } from './WrapperKeepOpaque.js';
2
+ export class WrapperOpaque extends WrapperKeepOpaque {
3
+ constructor(registry, typeName, value) {
4
+ super(registry, typeName, value, { opaqueName: 'WrapperOpaque' });
5
+ }
6
+ static with(Type) {
7
+ return class extends WrapperOpaque {
8
+ constructor(registry, value) {
9
+ super(registry, Type, value);
10
+ }
11
+ };
12
+ }
13
+ /**
14
+ * @description The inner value for this wrapper, in all cases it _should_ be decodable (unlike KeepOpaque)
15
+ */
16
+ get inner() {
17
+ return this.unwrap();
18
+ }
19
+ }
@@ -0,0 +1,14 @@
1
+ export { BitVec } from './BitVec.js';
2
+ export { BTreeMap } from './BTreeMap.js';
3
+ export { BTreeSet } from './BTreeSet.js';
4
+ export { Bytes } from './Bytes.js';
5
+ export { HashMap } from './HashMap.js';
6
+ export { Linkage } from './Linkage.js';
7
+ export { CodecMap, CodecMap as Map } from './Map.js';
8
+ export { OptionBool } from './OptionBool.js';
9
+ export { Range } from './Range.js';
10
+ export { RangeInclusive } from './RangeInclusive.js';
11
+ export { Type } from './Type.js';
12
+ export { U8aFixed } from './U8aFixed.js';
13
+ export { WrapperKeepOpaque } from './WrapperKeepOpaque.js';
14
+ export { WrapperOpaque } from './WrapperOpaque.js';
@@ -0,0 +1,2 @@
1
+ import './packageDetect.js';
2
+ export * from './bundle.js';
@@ -0,0 +1,109 @@
1
+ import { isU8a, u8aToHex } from '@pezkuwi/util';
2
+ /**
3
+ * @name bool
4
+ * @description
5
+ * Representation for a boolean value in the system. It extends the base JS `Boolean` class
6
+ * @noInheritDoc
7
+ */
8
+ export class bool extends Boolean {
9
+ registry;
10
+ createdAtHash;
11
+ initialU8aLength = 1;
12
+ isStorageFallback;
13
+ constructor(registry, value = false) {
14
+ super(isU8a(value)
15
+ ? value[0] === 1
16
+ : value instanceof Boolean
17
+ ? value.valueOf()
18
+ : !!value);
19
+ this.registry = registry;
20
+ }
21
+ /**
22
+ * @description The length of the value when encoded as a Uint8Array
23
+ */
24
+ get encodedLength() {
25
+ return 1 | 0;
26
+ }
27
+ /**
28
+ * @description returns a hash of the contents
29
+ */
30
+ get hash() {
31
+ return this.registry.hash(this.toU8a());
32
+ }
33
+ /**
34
+ * @description Checks if the value is an empty value (true when it wraps false/default)
35
+ */
36
+ get isEmpty() {
37
+ return this.isFalse;
38
+ }
39
+ /**
40
+ * @description Checks if the value is an empty value (always false)
41
+ */
42
+ get isFalse() {
43
+ return !this.isTrue;
44
+ }
45
+ /**
46
+ * @description Checks if the value is an empty value (always false)
47
+ */
48
+ get isTrue() {
49
+ return this.valueOf();
50
+ }
51
+ /**
52
+ * @description Compares the value of the input to see if there is a match
53
+ */
54
+ eq(other) {
55
+ return this.valueOf() === (other instanceof Boolean
56
+ ? other.valueOf()
57
+ : other);
58
+ }
59
+ /**
60
+ * @description Returns a breakdown of the hex encoding for this Codec
61
+ */
62
+ inspect() {
63
+ return {
64
+ outer: [this.toU8a()]
65
+ };
66
+ }
67
+ /**
68
+ * @description Returns a hex string representation of the value
69
+ */
70
+ toHex() {
71
+ return u8aToHex(this.toU8a());
72
+ }
73
+ /**
74
+ * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
75
+ */
76
+ toHuman() {
77
+ return this.toJSON();
78
+ }
79
+ /**
80
+ * @description Converts the Object to JSON, typically used for RPC transfers
81
+ */
82
+ toJSON() {
83
+ return this.valueOf();
84
+ }
85
+ /**
86
+ * @description Converts the value in a best-fit primitive form
87
+ */
88
+ toPrimitive() {
89
+ return this.toJSON();
90
+ }
91
+ /**
92
+ * @description Returns the base runtime type name for this instance
93
+ */
94
+ toRawType() {
95
+ return 'bool';
96
+ }
97
+ /**
98
+ * @description Returns the string representation of the value
99
+ */
100
+ toString() {
101
+ return this.toJSON().toString();
102
+ }
103
+ /**
104
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
105
+ */
106
+ toU8a(_isBare) {
107
+ return new Uint8Array([this.valueOf() ? 1 : 0]);
108
+ }
109
+ }
@@ -0,0 +1,140 @@
1
+ import { BN, bnToBn, bnToHex, bnToU8a, isString, isU8a, u8aToBn } from '@pezkuwi/util';
2
+ const BITLENGTH = 64;
3
+ const U8A_OPTS = { bitLength: BITLENGTH, isLe: true };
4
+ function decodeDate(value) {
5
+ if (isU8a(value)) {
6
+ value = u8aToBn(value.subarray(0, BITLENGTH / 8));
7
+ }
8
+ else if (value instanceof Date) {
9
+ return value;
10
+ }
11
+ else if (isString(value)) {
12
+ value = new BN(value.toString(), 10, 'le');
13
+ }
14
+ return new Date(bnToBn(value).toNumber() * 1000);
15
+ }
16
+ /**
17
+ * @name Date
18
+ * @description
19
+ * A wrapper around seconds/timestamps. Internally the representation only has
20
+ * second precicion (aligning with Rust), so any numbers passed an/out are always
21
+ * per-second. For any encoding/decoding the 1000 multiplier would be applied to
22
+ * get it in line with JavaScript formats. It extends the base JS `Date` object
23
+ * and has all the methods available that are applicable to any `Date`
24
+ * @noInheritDoc
25
+ */
26
+ export class CodecDate extends Date {
27
+ registry;
28
+ createdAtHash;
29
+ initialU8aLength = BITLENGTH / 8;
30
+ isStorageFallback;
31
+ constructor(registry, value = 0) {
32
+ super(decodeDate(value));
33
+ this.registry = registry;
34
+ }
35
+ /**
36
+ * @description The length of the value when encoded as a Uint8Array
37
+ */
38
+ get encodedLength() {
39
+ return BITLENGTH / 8;
40
+ }
41
+ /**
42
+ * @description returns a hash of the contents
43
+ */
44
+ get hash() {
45
+ return this.registry.hash(this.toU8a());
46
+ }
47
+ /**
48
+ * @description Checks if the value is an empty value
49
+ */
50
+ get isEmpty() {
51
+ return this.getTime() === 0;
52
+ }
53
+ /**
54
+ * @description Returns the number of bits in the value
55
+ */
56
+ bitLength() {
57
+ return BITLENGTH;
58
+ }
59
+ /**
60
+ * @description Compares the value of the input to see if there is a match
61
+ */
62
+ eq(other) {
63
+ return decodeDate(other).getTime() === this.getTime();
64
+ }
65
+ /**
66
+ * @description Returns a breakdown of the hex encoding for this Codec
67
+ */
68
+ inspect() {
69
+ return {
70
+ outer: [this.toU8a()]
71
+ };
72
+ }
73
+ /**
74
+ * @description Returns a BigInt representation of the number
75
+ */
76
+ toBigInt() {
77
+ return BigInt(this.toNumber());
78
+ }
79
+ /**
80
+ * @description Returns the BN representation of the timestamp
81
+ */
82
+ toBn() {
83
+ return new BN(this.toNumber());
84
+ }
85
+ /**
86
+ * @description Returns a hex string representation of the value
87
+ */
88
+ toHex(isLe = false) {
89
+ return bnToHex(this.toBn(), {
90
+ bitLength: BITLENGTH,
91
+ isLe,
92
+ isNegative: false
93
+ });
94
+ }
95
+ /**
96
+ * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
97
+ */
98
+ toHuman() {
99
+ return this.toISOString();
100
+ }
101
+ /**
102
+ * @description Converts the Object to JSON, typically used for RPC transfers
103
+ */
104
+ toJSON() {
105
+ // FIXME Return type should be number, but conflicts with Date.toJSON()
106
+ // which returns string
107
+ return this.toNumber();
108
+ }
109
+ /**
110
+ * @description Returns the number representation for the timestamp
111
+ */
112
+ toNumber() {
113
+ return Math.ceil(this.getTime() / 1000);
114
+ }
115
+ /**
116
+ * @description Converts the value in a best-fit primitive form
117
+ */
118
+ toPrimitive() {
119
+ return this.toNumber();
120
+ }
121
+ /**
122
+ * @description Returns the base runtime type name for this instance
123
+ */
124
+ toRawType() {
125
+ return 'Moment';
126
+ }
127
+ /**
128
+ * @description Returns the string representation of the value
129
+ */
130
+ toString() {
131
+ // only included here since we do not inherit docs
132
+ return super.toString();
133
+ }
134
+ /**
135
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
136
+ */
137
+ toU8a(_isBare) {
138
+ return bnToU8a(this.toNumber(), U8A_OPTS);
139
+ }
140
+ }
@@ -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
+ }