@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,373 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Enum = void 0;
4
+ const util_1 = require("@pezkuwi/util");
5
+ const index_js_1 = require("../utils/index.js");
6
+ const Null_js_1 = require("./Null.js");
7
+ function isRustEnum(def) {
8
+ const defValues = Object.values(def);
9
+ if (defValues.some((v) => (0, util_1.isNumber)(v))) {
10
+ if (!defValues.every((v) => (0, util_1.isNumber)(v) && v >= 0 && v <= 255)) {
11
+ throw new Error('Invalid number-indexed enum definition');
12
+ }
13
+ return false;
14
+ }
15
+ return true;
16
+ }
17
+ function extractDef(registry, _def) {
18
+ const def = {};
19
+ let isBasic;
20
+ let isIndexed;
21
+ if (Array.isArray(_def)) {
22
+ for (let i = 0, count = _def.length; i < count; i++) {
23
+ def[_def[i]] = { Type: Null_js_1.Null, index: i };
24
+ }
25
+ isBasic = true;
26
+ isIndexed = false;
27
+ }
28
+ else if (isRustEnum(_def)) {
29
+ const [Types, keys] = (0, index_js_1.mapToTypeMap)(registry, _def);
30
+ for (let i = 0, count = keys.length; i < count; i++) {
31
+ def[keys[i]] = { Type: Types[i], index: i };
32
+ }
33
+ isBasic = !Object.values(def).some(({ Type }) => Type !== Null_js_1.Null);
34
+ isIndexed = false;
35
+ }
36
+ else {
37
+ const entries = Object.entries(_def);
38
+ for (let i = 0, count = entries.length; i < count; i++) {
39
+ const [key, index] = entries[i];
40
+ def[key] = { Type: Null_js_1.Null, index };
41
+ }
42
+ isBasic = true;
43
+ isIndexed = true;
44
+ }
45
+ return {
46
+ def,
47
+ isBasic,
48
+ isIndexed
49
+ };
50
+ }
51
+ function getEntryType(def, checkIdx) {
52
+ const values = Object.values(def);
53
+ for (let i = 0, count = values.length; i < count; i++) {
54
+ const { Type, index } = values[i];
55
+ if (index === checkIdx) {
56
+ return Type;
57
+ }
58
+ }
59
+ throw new Error(`Unable to create Enum via index ${checkIdx}, in ${Object.keys(def).join(', ')}`);
60
+ }
61
+ function createFromU8a(registry, def, index, value) {
62
+ const Type = getEntryType(def, index);
63
+ return {
64
+ index,
65
+ value: new Type(registry, value)
66
+ };
67
+ }
68
+ function createFromValue(registry, def, index = 0, value) {
69
+ const Type = getEntryType(def, index);
70
+ return {
71
+ index,
72
+ value: value instanceof Type
73
+ ? value
74
+ : new Type(registry, value)
75
+ };
76
+ }
77
+ function decodeFromJSON(registry, def, key, value) {
78
+ // JSON comes in the form of { "<type (camelCase)>": "<value for type>" }, here we
79
+ // additionally force to lower to ensure forward compat
80
+ const keys = Object.keys(def).map((k) => k.toLowerCase());
81
+ const keyLower = key.toLowerCase();
82
+ const index = keys.indexOf(keyLower);
83
+ if (index === -1) {
84
+ throw new Error(`Cannot map Enum JSON, unable to find '${key}' in ${keys.join(', ')}`);
85
+ }
86
+ try {
87
+ return createFromValue(registry, def, Object.values(def)[index].index, value);
88
+ }
89
+ catch (error) {
90
+ throw new Error(`Enum(${key}):: ${error.message}`);
91
+ }
92
+ }
93
+ function decodeEnum(registry, def, value, index) {
94
+ // NOTE We check the index path first, before looking at values - this allows treating
95
+ // the optional indexes before anything else, more-specific > less-specific
96
+ if ((0, util_1.isNumber)(index)) {
97
+ return createFromValue(registry, def, index, value);
98
+ }
99
+ else if ((0, util_1.isU8a)(value) || (0, util_1.isHex)(value)) {
100
+ const u8a = (0, util_1.u8aToU8a)(value);
101
+ // nested, we don't want to match isObject below
102
+ if (u8a.length) {
103
+ return createFromU8a(registry, def, u8a[0], u8a.subarray(1));
104
+ }
105
+ }
106
+ else if (value instanceof Enum) {
107
+ return createFromValue(registry, def, value.index, value.value);
108
+ }
109
+ else if ((0, util_1.isNumber)(value)) {
110
+ return createFromValue(registry, def, value);
111
+ }
112
+ else if ((0, util_1.isString)(value)) {
113
+ return decodeFromJSON(registry, def, value.toString());
114
+ }
115
+ else if ((0, util_1.isObject)(value)) {
116
+ const key = Object.keys(value)[0];
117
+ return decodeFromJSON(registry, def, key, value[key]);
118
+ }
119
+ // Worst-case scenario, return the first with default
120
+ return createFromValue(registry, def, Object.values(def)[0].index);
121
+ }
122
+ /**
123
+ * @name Enum
124
+ * @description
125
+ * This implements an enum, that based on the value wraps a different type. It is effectively
126
+ * an extension to enum where the value type is determined by the actual index.
127
+ */
128
+ class Enum {
129
+ registry;
130
+ createdAtHash;
131
+ initialU8aLength;
132
+ isStorageFallback;
133
+ #def;
134
+ #entryIndex;
135
+ #indexes;
136
+ #isBasic;
137
+ #isIndexed;
138
+ #raw;
139
+ constructor(registry, Types, value, index, { definition, setDefinition = util_1.identity } = {}) {
140
+ const { def, isBasic, isIndexed } = definition || setDefinition(extractDef(registry, Types));
141
+ // shortcut isU8a as used in SCALE decoding
142
+ const decoded = (0, util_1.isU8a)(value) && value.length && !(0, util_1.isNumber)(index)
143
+ ? createFromU8a(registry, def, value[0], value.subarray(1))
144
+ : decodeEnum(registry, def, value, index);
145
+ this.registry = registry;
146
+ this.#def = def;
147
+ this.#isBasic = isBasic;
148
+ this.#isIndexed = isIndexed;
149
+ this.#indexes = Object.values(def).map(({ index }) => index);
150
+ this.#entryIndex = this.#indexes.indexOf(decoded.index);
151
+ this.#raw = decoded.value;
152
+ if (this.#raw.initialU8aLength) {
153
+ this.initialU8aLength = 1 + this.#raw.initialU8aLength;
154
+ }
155
+ }
156
+ static with(Types) {
157
+ let definition;
158
+ // eslint-disable-next-line no-return-assign
159
+ const setDefinition = (d) => definition = d;
160
+ return class extends Enum {
161
+ static {
162
+ const keys = Array.isArray(Types)
163
+ ? Types
164
+ : Object.keys(Types);
165
+ const count = keys.length;
166
+ const asKeys = new Array(count);
167
+ const isKeys = new Array(count);
168
+ for (let i = 0; i < count; i++) {
169
+ const name = (0, util_1.stringPascalCase)(keys[i]);
170
+ asKeys[i] = `as${name}`;
171
+ isKeys[i] = `is${name}`;
172
+ }
173
+ (0, util_1.objectProperties)(this.prototype, isKeys, (_, i, self) => self.type === keys[i]);
174
+ (0, util_1.objectProperties)(this.prototype, asKeys, (k, i, self) => {
175
+ if (self.type !== keys[i]) {
176
+ throw new Error(`Cannot convert '${self.type}' via ${k}`);
177
+ }
178
+ return self.value;
179
+ });
180
+ }
181
+ constructor(registry, value, index) {
182
+ super(registry, Types, value, index, { definition, setDefinition });
183
+ }
184
+ };
185
+ }
186
+ /**
187
+ * @description The length of the value when encoded as a Uint8Array
188
+ */
189
+ get encodedLength() {
190
+ return 1 + this.#raw.encodedLength;
191
+ }
192
+ /**
193
+ * @description returns a hash of the contents
194
+ */
195
+ get hash() {
196
+ return this.registry.hash(this.toU8a());
197
+ }
198
+ /**
199
+ * @description The index of the enum value
200
+ */
201
+ get index() {
202
+ return this.#indexes[this.#entryIndex];
203
+ }
204
+ /**
205
+ * @description The value of the enum
206
+ */
207
+ get inner() {
208
+ return this.#raw;
209
+ }
210
+ /**
211
+ * @description true if this is a basic enum (no values)
212
+ */
213
+ get isBasic() {
214
+ return this.#isBasic;
215
+ }
216
+ /**
217
+ * @description Checks if the value is an empty value
218
+ */
219
+ get isEmpty() {
220
+ return this.#raw.isEmpty;
221
+ }
222
+ /**
223
+ * @description Checks if the Enum points to a [[Null]] type
224
+ */
225
+ get isNone() {
226
+ return this.#raw instanceof Null_js_1.Null;
227
+ }
228
+ /**
229
+ * @description The available keys for this enum
230
+ */
231
+ get defIndexes() {
232
+ return this.#indexes;
233
+ }
234
+ /**
235
+ * @description The available keys for this enum
236
+ */
237
+ get defKeys() {
238
+ return Object.keys(this.#def);
239
+ }
240
+ /**
241
+ * @description The name of the type this enum value represents
242
+ */
243
+ get type() {
244
+ return this.defKeys[this.#entryIndex];
245
+ }
246
+ /**
247
+ * @description The value of the enum
248
+ */
249
+ get value() {
250
+ return this.#raw;
251
+ }
252
+ /**
253
+ * @description Compares the value of the input to see if there is a match
254
+ */
255
+ eq(other) {
256
+ // cater for the case where we only pass the enum index
257
+ if ((0, util_1.isU8a)(other)) {
258
+ return !this.toU8a().some((entry, index) => entry !== other[index]);
259
+ }
260
+ else if ((0, util_1.isNumber)(other)) {
261
+ return this.toNumber() === other;
262
+ }
263
+ else if (this.#isBasic && (0, util_1.isString)(other)) {
264
+ return this.type === other;
265
+ }
266
+ else if ((0, util_1.isHex)(other)) {
267
+ return this.toHex() === other;
268
+ }
269
+ else if (other instanceof Enum) {
270
+ return this.index === other.index && this.value.eq(other.value);
271
+ }
272
+ else if ((0, util_1.isObject)(other)) {
273
+ return this.value.eq(other[this.type]);
274
+ }
275
+ // compare the actual wrapper value
276
+ return this.value.eq(other);
277
+ }
278
+ /**
279
+ * @description Returns a breakdown of the hex encoding for this Codec
280
+ */
281
+ inspect() {
282
+ if (this.#isBasic) {
283
+ return { outer: [new Uint8Array([this.index])] };
284
+ }
285
+ const { inner, outer = [] } = this.#raw.inspect();
286
+ return {
287
+ inner,
288
+ outer: [new Uint8Array([this.index]), ...outer]
289
+ };
290
+ }
291
+ /**
292
+ * @description Returns a hex string representation of the value
293
+ */
294
+ toHex() {
295
+ return (0, util_1.u8aToHex)(this.toU8a());
296
+ }
297
+ /**
298
+ * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
299
+ */
300
+ toHuman(isExtended, disableAscii) {
301
+ return this.#isBasic || this.isNone
302
+ ? this.type
303
+ : { [this.type]: this.#raw.toHuman(isExtended, disableAscii) };
304
+ }
305
+ /**
306
+ * @description Converts the Object to JSON, typically used for RPC transfers
307
+ */
308
+ toJSON() {
309
+ return this.#isBasic
310
+ ? this.type
311
+ : { [(0, util_1.stringCamelCase)(this.type)]: this.#raw.toJSON() };
312
+ }
313
+ /**
314
+ * @description Returns the number representation for the value
315
+ */
316
+ toNumber() {
317
+ return this.index;
318
+ }
319
+ /**
320
+ * @description Converts the value in a best-fit primitive form
321
+ */
322
+ toPrimitive(disableAscii) {
323
+ return this.#isBasic
324
+ ? this.type
325
+ : { [(0, util_1.stringCamelCase)(this.type)]: this.#raw.toPrimitive(disableAscii) };
326
+ }
327
+ /**
328
+ * @description Returns a raw struct representation of the enum types
329
+ */
330
+ _toRawStruct() {
331
+ if (this.#isBasic) {
332
+ return this.#isIndexed
333
+ ? this.defKeys.reduce((out, key, index) => {
334
+ out[key] = this.#indexes[index];
335
+ return out;
336
+ }, {})
337
+ : this.defKeys;
338
+ }
339
+ const entries = Object.entries(this.#def);
340
+ return (0, index_js_1.typesToMap)(this.registry, entries.reduce((out, [key, { Type }], i) => {
341
+ out[0][i] = Type;
342
+ out[1][i] = key;
343
+ return out;
344
+ }, [new Array(entries.length), new Array(entries.length)]));
345
+ }
346
+ /**
347
+ * @description Returns the base runtime type name for this instance
348
+ */
349
+ toRawType() {
350
+ return (0, util_1.stringify)({ _enum: this._toRawStruct() });
351
+ }
352
+ /**
353
+ * @description Returns the string representation of the value
354
+ */
355
+ toString() {
356
+ return this.isNone
357
+ ? this.type
358
+ : (0, util_1.stringify)(this.toJSON());
359
+ }
360
+ /**
361
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
362
+ * @param isBare true when the value has none of the type-specific prefixes (internal)
363
+ */
364
+ toU8a(isBare) {
365
+ return isBare
366
+ ? this.#raw.toU8a(isBare)
367
+ : (0, util_1.u8aConcatStrict)([
368
+ new Uint8Array([this.index]),
369
+ this.#raw.toU8a(isBare)
370
+ ]);
371
+ }
372
+ }
373
+ exports.Enum = Enum;
@@ -0,0 +1,16 @@
1
+ import type { AnyNumber, CodecClass, Registry, UIntBitLength } from '../types/index.js';
2
+ import { AbstractInt } from '../abstract/Int.js';
3
+ /**
4
+ * @name Int
5
+ * @description
6
+ * A generic signed integer codec. For Bizinikiwi all numbers are Little Endian encoded,
7
+ * this handles the encoding and decoding of those numbers. Upon construction
8
+ * the bitLength is provided and any additional use keeps the number to this
9
+ * length. This extends `BN`, so all methods available on a normal `BN` object
10
+ * is available here.
11
+ * @noInheritDoc
12
+ */
13
+ export declare class Int extends AbstractInt {
14
+ constructor(registry: Registry, value?: AnyNumber | null, bitLength?: UIntBitLength);
15
+ static with(bitLength: UIntBitLength, typeName?: string): CodecClass<Int>;
16
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Int = void 0;
4
+ const Int_js_1 = require("../abstract/Int.js");
5
+ /**
6
+ * @name Int
7
+ * @description
8
+ * A generic signed integer codec. For Bizinikiwi all numbers are Little Endian encoded,
9
+ * this handles the encoding and decoding of those numbers. Upon construction
10
+ * the bitLength is provided and any additional use keeps the number to this
11
+ * length. This extends `BN`, so all methods available on a normal `BN` object
12
+ * is available here.
13
+ * @noInheritDoc
14
+ */
15
+ class Int extends Int_js_1.AbstractInt {
16
+ constructor(registry, value = 0, bitLength) {
17
+ super(registry, value, bitLength, true);
18
+ }
19
+ static with(bitLength, typeName) {
20
+ return class extends Int {
21
+ constructor(registry, value) {
22
+ super(registry, value, bitLength);
23
+ }
24
+ toRawType() {
25
+ return typeName || super.toRawType();
26
+ }
27
+ };
28
+ }
29
+ }
30
+ exports.Int = Int;
@@ -0,0 +1,56 @@
1
+ import type { HexString } from '@pezkuwi/util/types';
2
+ import type { Codec, Inspect, IU8a, Registry } from '../types/index.js';
3
+ /**
4
+ * @name Null
5
+ * @description
6
+ * Implements a type that does not contain anything (apart from `null`)
7
+ */
8
+ export declare class Null implements Codec {
9
+ readonly encodedLength = 0;
10
+ readonly isEmpty = true;
11
+ readonly registry: Registry;
12
+ createdAtHash?: IU8a;
13
+ initialU8aLength: number;
14
+ isStorageFallback?: boolean;
15
+ constructor(registry: Registry);
16
+ /**
17
+ * @description returns a hash of the contents
18
+ */
19
+ get hash(): IU8a;
20
+ /**
21
+ * @description Compares the value of the input to see if there is a match
22
+ */
23
+ eq(other?: unknown): boolean;
24
+ /**
25
+ * @description Returns a breakdown of the hex encoding for this Codec
26
+ */
27
+ inspect(): Inspect;
28
+ /**
29
+ * @description Returns a hex string representation of the value
30
+ */
31
+ toHex(): HexString;
32
+ /**
33
+ * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
34
+ */
35
+ toHuman(): null;
36
+ /**
37
+ * @description Converts the Object to JSON, typically used for RPC transfers
38
+ */
39
+ toJSON(): null;
40
+ /**
41
+ * @description Converts the value in a best-fit primitive form
42
+ */
43
+ toPrimitive(): null;
44
+ /**
45
+ * @description Returns the base runtime type name for this instance
46
+ */
47
+ toRawType(): string;
48
+ /**
49
+ * @description Returns the string representation of the value
50
+ */
51
+ toString(): string;
52
+ /**
53
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
54
+ */
55
+ toU8a(_isBare?: boolean): Uint8Array;
56
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Null = void 0;
4
+ const util_1 = require("@pezkuwi/util");
5
+ /**
6
+ * @name Null
7
+ * @description
8
+ * Implements a type that does not contain anything (apart from `null`)
9
+ */
10
+ class Null {
11
+ encodedLength = 0;
12
+ isEmpty = true;
13
+ registry;
14
+ createdAtHash;
15
+ initialU8aLength = 0;
16
+ isStorageFallback;
17
+ constructor(registry) {
18
+ this.registry = registry;
19
+ }
20
+ /**
21
+ * @description returns a hash of the contents
22
+ */
23
+ get hash() {
24
+ throw new Error('.hash is not implemented on Null');
25
+ }
26
+ /**
27
+ * @description Compares the value of the input to see if there is a match
28
+ */
29
+ eq(other) {
30
+ return other instanceof Null || (0, util_1.isNull)(other);
31
+ }
32
+ /**
33
+ * @description Returns a breakdown of the hex encoding for this Codec
34
+ */
35
+ inspect() {
36
+ return {};
37
+ }
38
+ /**
39
+ * @description Returns a hex string representation of the value
40
+ */
41
+ toHex() {
42
+ return '0x';
43
+ }
44
+ /**
45
+ * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
46
+ */
47
+ toHuman() {
48
+ return this.toJSON();
49
+ }
50
+ /**
51
+ * @description Converts the Object to JSON, typically used for RPC transfers
52
+ */
53
+ toJSON() {
54
+ return null;
55
+ }
56
+ /**
57
+ * @description Converts the value in a best-fit primitive form
58
+ */
59
+ toPrimitive() {
60
+ return null;
61
+ }
62
+ /**
63
+ * @description Returns the base runtime type name for this instance
64
+ */
65
+ toRawType() {
66
+ return 'Null';
67
+ }
68
+ /**
69
+ * @description Returns the string representation of the value
70
+ */
71
+ toString() {
72
+ return '';
73
+ }
74
+ /**
75
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
76
+ */
77
+ toU8a(_isBare) {
78
+ return new Uint8Array();
79
+ }
80
+ }
81
+ exports.Null = Null;
@@ -0,0 +1,94 @@
1
+ import type { HexString } from '@pezkuwi/util/types';
2
+ import type { AnyJson, Codec, CodecClass, DefinitionSetter, Inspect, IOption, IU8a, Registry } from '../types/index.js';
3
+ /**
4
+ * @name Option
5
+ * @description
6
+ * An Option is an optional field. Basically the first byte indicates that there is
7
+ * is value to follow. If the byte is `1` there is an actual value. So the Option
8
+ * implements that - decodes, checks for optionality and wraps the required structure
9
+ * with a value if/as required/found.
10
+ */
11
+ export declare class Option<T extends Codec> implements IOption<T> {
12
+ #private;
13
+ readonly registry: Registry;
14
+ createdAtHash?: IU8a;
15
+ initialU8aLength?: number;
16
+ isStorageFallback?: boolean;
17
+ constructor(registry: Registry, typeName: CodecClass<T> | string, value?: unknown, { definition, setDefinition }?: DefinitionSetter<CodecClass<T>>);
18
+ static with<O extends Codec>(Type: CodecClass<O> | string): CodecClass<Option<O>>;
19
+ /**
20
+ * @description The length of the value when encoded as a Uint8Array
21
+ */
22
+ get encodedLength(): number;
23
+ /**
24
+ * @description returns a hash of the contents
25
+ */
26
+ get hash(): IU8a;
27
+ /**
28
+ * @description Checks if the Option has no value
29
+ */
30
+ get isEmpty(): boolean;
31
+ /**
32
+ * @description Checks if the Option has no value
33
+ */
34
+ get isNone(): boolean;
35
+ /**
36
+ * @description Checks if the Option has a value
37
+ */
38
+ get isSome(): boolean;
39
+ /**
40
+ * @description The actual value for the Option
41
+ */
42
+ get value(): T;
43
+ /**
44
+ * @description Compares the value of the input to see if there is a match
45
+ */
46
+ eq(other?: unknown): boolean;
47
+ /**
48
+ * @description Returns a breakdown of the hex encoding for this Codec
49
+ */
50
+ inspect(): Inspect;
51
+ /**
52
+ * @description Returns a hex string representation of the value
53
+ */
54
+ toHex(): HexString;
55
+ /**
56
+ * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
57
+ */
58
+ toHuman(isExtended?: boolean, disableAscii?: boolean): AnyJson;
59
+ /**
60
+ * @description Converts the Object to JSON, typically used for RPC transfers
61
+ */
62
+ toJSON(): AnyJson;
63
+ /**
64
+ * @description Converts the value in a best-fit primitive form
65
+ */
66
+ toPrimitive(disableAscii?: boolean): AnyJson;
67
+ /**
68
+ * @description Returns the base runtime type name for this instance
69
+ */
70
+ toRawType(isBare?: boolean): string;
71
+ /**
72
+ * @description Returns the string representation of the value
73
+ */
74
+ toString(): string;
75
+ /**
76
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
77
+ * @param isBare true when the value has none of the type-specific prefixes (internal)
78
+ */
79
+ toU8a(isBare?: boolean): Uint8Array;
80
+ /**
81
+ * @description Returns the value that the Option represents (if available), throws if null
82
+ */
83
+ unwrap(): T;
84
+ /**
85
+ * @description Returns the value that the Option represents (if available) or defaultValue if none
86
+ * @param defaultValue The value to return if the option isNone
87
+ */
88
+ unwrapOr<O>(defaultValue: O): T | O;
89
+ /**
90
+ * @description Returns the value that the Option represents (if available) or defaultValue if none
91
+ * @param defaultValue The value to return if the option isNone
92
+ */
93
+ unwrapOrDefault(): T;
94
+ }