@pezkuwi/types-codec 16.5.5 → 16.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (424) hide show
  1. package/LICENSE +201 -0
  2. package/abstract/Array.js +166 -0
  3. package/abstract/Base.js +101 -0
  4. package/abstract/Int.js +226 -0
  5. package/abstract/Object.js +40 -0
  6. package/{src/abstract/index.ts → abstract/index.js} +0 -3
  7. package/base/Compact.js +159 -0
  8. package/base/DoNotConstruct.js +95 -0
  9. package/base/Enum.js +369 -0
  10. package/{build/base → base}/Int.d.ts +1 -1
  11. package/base/Int.js +26 -0
  12. package/base/Null.js +77 -0
  13. package/base/Option.js +232 -0
  14. package/base/Result.js +63 -0
  15. package/base/Tuple.js +110 -0
  16. package/{build/base → base}/UInt.d.ts +1 -1
  17. package/base/UInt.js +23 -0
  18. package/base/Vec.js +102 -0
  19. package/base/VecAny.js +17 -0
  20. package/base/VecFixed.js +67 -0
  21. package/{src/base/index.ts → base/index.js} +0 -3
  22. package/{src/bundle.ts → bundle.js} +0 -6
  23. package/cjs/abstract/Array.d.ts +89 -0
  24. package/cjs/abstract/Array.js +170 -0
  25. package/cjs/abstract/Base.d.ts +75 -0
  26. package/cjs/abstract/Base.js +105 -0
  27. package/cjs/abstract/Int.d.ts +80 -0
  28. package/cjs/abstract/Int.js +230 -0
  29. package/cjs/abstract/Object.d.ts +67 -0
  30. package/cjs/abstract/Object.js +44 -0
  31. package/cjs/abstract/index.d.ts +3 -0
  32. package/cjs/abstract/index.js +9 -0
  33. package/cjs/base/Compact.d.ts +88 -0
  34. package/cjs/base/Compact.js +163 -0
  35. package/cjs/base/DoNotConstruct.d.ts +63 -0
  36. package/cjs/base/DoNotConstruct.js +99 -0
  37. package/cjs/base/Enum.d.ts +118 -0
  38. package/cjs/base/Enum.js +373 -0
  39. package/cjs/base/Int.d.ts +16 -0
  40. package/cjs/base/Int.js +30 -0
  41. package/cjs/base/Null.d.ts +56 -0
  42. package/cjs/base/Null.js +81 -0
  43. package/cjs/base/Option.d.ts +94 -0
  44. package/cjs/base/Option.js +236 -0
  45. package/cjs/base/Result.d.ts +38 -0
  46. package/cjs/base/Result.js +67 -0
  47. package/cjs/base/Tuple.d.ts +42 -0
  48. package/cjs/base/Tuple.js +114 -0
  49. package/cjs/base/UInt.d.ts +15 -0
  50. package/cjs/base/UInt.js +27 -0
  51. package/cjs/base/Vec.d.ts +28 -0
  52. package/cjs/base/Vec.js +107 -0
  53. package/cjs/base/VecAny.d.ts +15 -0
  54. package/cjs/base/VecAny.js +21 -0
  55. package/cjs/base/VecFixed.d.ts +30 -0
  56. package/cjs/base/VecFixed.js +71 -0
  57. package/cjs/base/index.d.ts +12 -0
  58. package/cjs/base/index.js +27 -0
  59. package/cjs/bundle.d.ts +7 -0
  60. package/cjs/bundle.js +12 -0
  61. package/cjs/extended/BTreeMap.js +14 -0
  62. package/cjs/extended/BTreeSet.js +189 -0
  63. package/cjs/extended/BitVec.js +112 -0
  64. package/cjs/extended/Bytes.js +74 -0
  65. package/cjs/extended/HashMap.js +14 -0
  66. package/cjs/extended/Linkage.js +70 -0
  67. package/cjs/extended/Map.js +204 -0
  68. package/cjs/extended/OptionBool.js +76 -0
  69. package/cjs/extended/Range.js +42 -0
  70. package/cjs/extended/RangeInclusive.js +17 -0
  71. package/cjs/extended/Type.js +25 -0
  72. package/cjs/extended/U8aFixed.js +46 -0
  73. package/cjs/extended/WrapperKeepOpaque.js +103 -0
  74. package/cjs/extended/WrapperOpaque.js +23 -0
  75. package/cjs/extended/index.js +32 -0
  76. package/cjs/index.js +5 -0
  77. package/cjs/native/Bool.js +113 -0
  78. package/cjs/native/Date.js +144 -0
  79. package/cjs/native/Float.js +111 -0
  80. package/cjs/native/Json.js +121 -0
  81. package/cjs/native/Raw.js +144 -0
  82. package/cjs/native/Set.js +219 -0
  83. package/cjs/native/Struct.data.js +4 -0
  84. package/cjs/native/Struct.js +264 -0
  85. package/cjs/native/Text.js +154 -0
  86. package/cjs/native/index.js +22 -0
  87. package/cjs/package.json +3 -0
  88. package/cjs/packageDetect.js +5 -0
  89. package/cjs/packageInfo.js +4 -0
  90. package/cjs/primitive/F32.js +14 -0
  91. package/cjs/primitive/F64.js +14 -0
  92. package/cjs/primitive/I128.js +14 -0
  93. package/cjs/primitive/I16.js +14 -0
  94. package/cjs/primitive/I256.js +14 -0
  95. package/cjs/primitive/I32.js +14 -0
  96. package/cjs/primitive/I64.js +14 -0
  97. package/cjs/primitive/I8.js +14 -0
  98. package/cjs/primitive/ISize.js +18 -0
  99. package/cjs/primitive/U128.js +14 -0
  100. package/cjs/primitive/U16.js +14 -0
  101. package/cjs/primitive/U256.js +14 -0
  102. package/cjs/primitive/U32.js +14 -0
  103. package/cjs/primitive/U64.js +14 -0
  104. package/cjs/primitive/U8.js +14 -0
  105. package/cjs/primitive/USize.js +18 -0
  106. package/cjs/primitive/index.js +51 -0
  107. package/{build → cjs}/types/codec.d.ts +1 -1
  108. package/cjs/types/codec.js +2 -0
  109. package/cjs/types/helpers.js +2 -0
  110. package/cjs/types/index.js +7 -0
  111. package/cjs/types/interfaces.js +2 -0
  112. package/cjs/types/registry.js +2 -0
  113. package/cjs/utils/compareArray.js +13 -0
  114. package/cjs/utils/compareMap.js +30 -0
  115. package/cjs/utils/compareSet.js +20 -0
  116. package/cjs/utils/decodeU8a.js +105 -0
  117. package/cjs/utils/index.js +25 -0
  118. package/cjs/utils/sanitize.js +233 -0
  119. package/cjs/utils/sortValues.js +84 -0
  120. package/cjs/utils/toConstructors.js +40 -0
  121. package/cjs/utils/typesToMap.js +10 -0
  122. package/cjs/utils/util.js +7 -0
  123. package/extended/BTreeMap.d.ts +5 -0
  124. package/extended/BTreeMap.js +10 -0
  125. package/extended/BTreeSet.d.ts +64 -0
  126. package/extended/BTreeSet.js +185 -0
  127. package/extended/BitVec.d.ts +37 -0
  128. package/extended/BitVec.js +108 -0
  129. package/extended/Bytes.d.ts +29 -0
  130. package/extended/Bytes.js +70 -0
  131. package/extended/HashMap.d.ts +5 -0
  132. package/extended/HashMap.js +10 -0
  133. package/extended/Linkage.d.ts +37 -0
  134. package/extended/Linkage.js +65 -0
  135. package/extended/Map.d.ts +59 -0
  136. package/extended/Map.js +200 -0
  137. package/extended/OptionBool.d.ts +36 -0
  138. package/extended/OptionBool.js +72 -0
  139. package/extended/Range.d.ts +29 -0
  140. package/extended/Range.js +38 -0
  141. package/extended/RangeInclusive.d.ts +6 -0
  142. package/extended/RangeInclusive.js +13 -0
  143. package/extended/Type.d.ts +16 -0
  144. package/extended/Type.js +21 -0
  145. package/extended/U8aFixed.d.ts +16 -0
  146. package/extended/U8aFixed.js +42 -0
  147. package/extended/WrapperKeepOpaque.d.ts +40 -0
  148. package/extended/WrapperKeepOpaque.js +99 -0
  149. package/extended/WrapperOpaque.d.ts +10 -0
  150. package/extended/WrapperOpaque.js +19 -0
  151. package/{src/extended/index.ts → extended/index.d.ts} +0 -3
  152. package/extended/index.js +14 -0
  153. package/index.d.ts +2 -0
  154. package/index.js +2 -0
  155. package/native/Bool.d.ts +71 -0
  156. package/native/Bool.js +109 -0
  157. package/native/Date.d.ts +84 -0
  158. package/native/Date.js +140 -0
  159. package/native/Float.d.ts +68 -0
  160. package/native/Float.js +107 -0
  161. package/native/Json.d.ts +69 -0
  162. package/native/Json.js +117 -0
  163. package/native/Raw.d.ts +87 -0
  164. package/native/Raw.js +140 -0
  165. package/native/Set.d.ts +84 -0
  166. package/native/Set.js +215 -0
  167. package/native/Struct.d.ts +106 -0
  168. package/{src/native/Struct.data.ts → native/Struct.data.js} +0 -3
  169. package/native/Struct.js +260 -0
  170. package/native/Text.d.ts +77 -0
  171. package/native/Text.js +150 -0
  172. package/{src/native/index.ts → native/index.d.ts} +0 -3
  173. package/native/index.js +8 -0
  174. package/package.json +1126 -11
  175. package/packageDetect.d.ts +1 -0
  176. package/packageDetect.js +3 -0
  177. package/packageInfo.d.ts +6 -0
  178. package/packageInfo.js +1 -0
  179. package/primitive/F32.d.ts +11 -0
  180. package/primitive/F32.js +10 -0
  181. package/primitive/F64.d.ts +11 -0
  182. package/primitive/F64.js +10 -0
  183. package/primitive/I128.d.ts +11 -0
  184. package/primitive/I128.js +10 -0
  185. package/primitive/I16.d.ts +11 -0
  186. package/primitive/I16.js +10 -0
  187. package/primitive/I256.d.ts +11 -0
  188. package/primitive/I256.js +10 -0
  189. package/primitive/I32.d.ts +11 -0
  190. package/primitive/I32.js +10 -0
  191. package/primitive/I64.d.ts +11 -0
  192. package/primitive/I64.js +10 -0
  193. package/primitive/I8.d.ts +11 -0
  194. package/primitive/I8.js +10 -0
  195. package/primitive/ISize.d.ts +12 -0
  196. package/primitive/ISize.js +14 -0
  197. package/primitive/U128.d.ts +11 -0
  198. package/primitive/U128.js +10 -0
  199. package/primitive/U16.d.ts +11 -0
  200. package/primitive/U16.js +10 -0
  201. package/primitive/U256.d.ts +11 -0
  202. package/primitive/U256.js +10 -0
  203. package/primitive/U32.d.ts +11 -0
  204. package/primitive/U32.js +10 -0
  205. package/primitive/U64.d.ts +11 -0
  206. package/primitive/U64.js +10 -0
  207. package/primitive/U8.d.ts +11 -0
  208. package/primitive/U8.js +10 -0
  209. package/primitive/USize.d.ts +12 -0
  210. package/primitive/USize.js +14 -0
  211. package/{src/primitive/index.ts → primitive/index.d.ts} +0 -3
  212. package/primitive/index.js +16 -0
  213. package/types/codec.d.ts +113 -0
  214. package/types/codec.js +1 -0
  215. package/{src/types/helpers.ts → types/helpers.d.ts} +8 -31
  216. package/types/helpers.js +1 -0
  217. package/{src/types/index.ts → types/index.d.ts} +0 -3
  218. package/types/index.js +4 -0
  219. package/types/interfaces.d.ts +74 -0
  220. package/types/interfaces.js +1 -0
  221. package/types/registry.d.ts +67 -0
  222. package/types/registry.js +1 -0
  223. package/utils/compareArray.d.ts +1 -0
  224. package/utils/compareArray.js +10 -0
  225. package/utils/compareMap.d.ts +1 -0
  226. package/utils/compareMap.js +27 -0
  227. package/utils/compareSet.d.ts +1 -0
  228. package/utils/compareSet.js +17 -0
  229. package/utils/decodeU8a.d.ts +26 -0
  230. package/utils/decodeU8a.js +100 -0
  231. package/{src/utils/index.ts → utils/index.d.ts} +0 -3
  232. package/utils/index.js +8 -0
  233. package/utils/sanitize.d.ts +15 -0
  234. package/utils/sanitize.js +219 -0
  235. package/utils/sortValues.d.ts +12 -0
  236. package/utils/sortValues.js +79 -0
  237. package/utils/toConstructors.d.ts +16 -0
  238. package/utils/toConstructors.js +35 -0
  239. package/utils/typesToMap.d.ts +2 -0
  240. package/utils/typesToMap.js +7 -0
  241. package/utils/util.d.ts +3 -0
  242. package/utils/util.js +4 -0
  243. package/src/abstract/Array.ts +0 -213
  244. package/src/abstract/Base.ts +0 -129
  245. package/src/abstract/Int.ts +0 -271
  246. package/src/abstract/Object.ts +0 -99
  247. package/src/base/Compact.spec.ts +0 -99
  248. package/src/base/Compact.ts +0 -198
  249. package/src/base/DoNotConstruct.spec.ts +0 -23
  250. package/src/base/DoNotConstruct.ts +0 -118
  251. package/src/base/Enum.spec.ts +0 -487
  252. package/src/base/Enum.ts +0 -460
  253. package/src/base/Int.spec.ts +0 -225
  254. package/src/base/Int.ts +0 -34
  255. package/src/base/Null.spec.ts +0 -41
  256. package/src/base/Null.ts +0 -96
  257. package/src/base/Option.spec.ts +0 -216
  258. package/src/base/Option.ts +0 -275
  259. package/src/base/Result.spec.ts +0 -64
  260. package/src/base/Result.ts +0 -79
  261. package/src/base/Tuple.spec.ts +0 -161
  262. package/src/base/Tuple.ts +0 -149
  263. package/src/base/UInt.spec.ts +0 -192
  264. package/src/base/UInt.ts +0 -30
  265. package/src/base/Vec.spec.ts +0 -224
  266. package/src/base/Vec.ts +0 -133
  267. package/src/base/VecAny.ts +0 -23
  268. package/src/base/VecFixed.spec.ts +0 -78
  269. package/src/base/VecFixed.ts +0 -92
  270. package/src/checkTypes.manual.ts +0 -12
  271. package/src/extended/BTreeMap.spec.ts +0 -245
  272. package/src/extended/BTreeMap.ts +0 -16
  273. package/src/extended/BTreeSet.spec.ts +0 -260
  274. package/src/extended/BTreeSet.ts +0 -233
  275. package/src/extended/BitVec.spec.ts +0 -97
  276. package/src/extended/BitVec.ts +0 -137
  277. package/src/extended/Bytes.spec.ts +0 -75
  278. package/src/extended/Bytes.ts +0 -88
  279. package/src/extended/HashMap.spec.ts +0 -36
  280. package/src/extended/HashMap.ts +0 -16
  281. package/src/extended/Linkage.spec.ts +0 -43
  282. package/src/extended/Linkage.ts +0 -81
  283. package/src/extended/Map.spec.ts +0 -123
  284. package/src/extended/Map.ts +0 -255
  285. package/src/extended/OptionBool.spec.ts +0 -49
  286. package/src/extended/OptionBool.ts +0 -93
  287. package/src/extended/Range.spec.ts +0 -37
  288. package/src/extended/Range.ts +0 -56
  289. package/src/extended/RangeInclusive.ts +0 -20
  290. package/src/extended/Type.spec.ts +0 -118
  291. package/src/extended/Type.ts +0 -29
  292. package/src/extended/U8aFixed.spec.ts +0 -117
  293. package/src/extended/U8aFixed.ts +0 -57
  294. package/src/extended/WrapperKeepOpaque.spec.ts +0 -101
  295. package/src/extended/WrapperKeepOpaque.ts +0 -128
  296. package/src/extended/WrapperOpaque.spec.ts +0 -58
  297. package/src/extended/WrapperOpaque.ts +0 -27
  298. package/src/index.ts +0 -6
  299. package/src/mod.ts +0 -4
  300. package/src/native/Bool.spec.ts +0 -74
  301. package/src/native/Bool.ts +0 -137
  302. package/src/native/Date.spec.ts +0 -85
  303. package/src/native/Date.ts +0 -169
  304. package/src/native/Float.spec.ts +0 -51
  305. package/src/native/Float.ts +0 -136
  306. package/src/native/Json.ts +0 -147
  307. package/src/native/Raw.spec.ts +0 -113
  308. package/src/native/Raw.ts +0 -171
  309. package/src/native/Set.spec.ts +0 -116
  310. package/src/native/Set.ts +0 -269
  311. package/src/native/Struct.spec.ts +0 -411
  312. package/src/native/Struct.ts +0 -338
  313. package/src/native/Text.spec.ts +0 -85
  314. package/src/native/Text.ts +0 -184
  315. package/src/packageDetect.ts +0 -11
  316. package/src/packageInfo.ts +0 -6
  317. package/src/primitive/F32.ts +0 -14
  318. package/src/primitive/F64.ts +0 -14
  319. package/src/primitive/I128.ts +0 -14
  320. package/src/primitive/I16.ts +0 -14
  321. package/src/primitive/I256.ts +0 -14
  322. package/src/primitive/I32.ts +0 -14
  323. package/src/primitive/I64.ts +0 -14
  324. package/src/primitive/I8.ts +0 -14
  325. package/src/primitive/ISize.ts +0 -21
  326. package/src/primitive/U128.ts +0 -14
  327. package/src/primitive/U16.ts +0 -14
  328. package/src/primitive/U256.ts +0 -14
  329. package/src/primitive/U32.ts +0 -14
  330. package/src/primitive/U64.ts +0 -14
  331. package/src/primitive/U8.ts +0 -14
  332. package/src/primitive/USize.ts +0 -21
  333. package/src/test/performance.ts +0 -61
  334. package/src/types/codec.ts +0 -140
  335. package/src/types/interfaces.ts +0 -98
  336. package/src/types/registry.ts +0 -86
  337. package/src/utils/compareArray.ts +0 -22
  338. package/src/utils/compareMap.ts +0 -40
  339. package/src/utils/compareSet.ts +0 -23
  340. package/src/utils/decodeU8a.ts +0 -123
  341. package/src/utils/sanitize.spec.ts +0 -89
  342. package/src/utils/sanitize.ts +0 -290
  343. package/src/utils/sortValues.ts +0 -103
  344. package/src/utils/toConstructors.ts +0 -46
  345. package/src/utils/typesToMap.ts +0 -14
  346. package/src/utils/util.ts +0 -8
  347. package/tsconfig.build.json +0 -16
  348. package/tsconfig.build.tsbuildinfo +0 -1
  349. package/tsconfig.spec.json +0 -21
  350. /package/{build/abstract → abstract}/Array.d.ts +0 -0
  351. /package/{build/abstract → abstract}/Base.d.ts +0 -0
  352. /package/{build/abstract → abstract}/Int.d.ts +0 -0
  353. /package/{build/abstract → abstract}/Object.d.ts +0 -0
  354. /package/{build/abstract → abstract}/index.d.ts +0 -0
  355. /package/{build/base → base}/Compact.d.ts +0 -0
  356. /package/{build/base → base}/DoNotConstruct.d.ts +0 -0
  357. /package/{build/base → base}/Enum.d.ts +0 -0
  358. /package/{build/base → base}/Null.d.ts +0 -0
  359. /package/{build/base → base}/Option.d.ts +0 -0
  360. /package/{build/base → base}/Result.d.ts +0 -0
  361. /package/{build/base → base}/Tuple.d.ts +0 -0
  362. /package/{build/base → base}/Vec.d.ts +0 -0
  363. /package/{build/base → base}/VecAny.d.ts +0 -0
  364. /package/{build/base → base}/VecFixed.d.ts +0 -0
  365. /package/{build/base → base}/index.d.ts +0 -0
  366. /package/{build/bundle.d.ts → bundle.d.ts} +0 -0
  367. /package/{build → cjs}/extended/BTreeMap.d.ts +0 -0
  368. /package/{build → cjs}/extended/BTreeSet.d.ts +0 -0
  369. /package/{build → cjs}/extended/BitVec.d.ts +0 -0
  370. /package/{build → cjs}/extended/Bytes.d.ts +0 -0
  371. /package/{build → cjs}/extended/HashMap.d.ts +0 -0
  372. /package/{build → cjs}/extended/Linkage.d.ts +0 -0
  373. /package/{build → cjs}/extended/Map.d.ts +0 -0
  374. /package/{build → cjs}/extended/OptionBool.d.ts +0 -0
  375. /package/{build → cjs}/extended/Range.d.ts +0 -0
  376. /package/{build → cjs}/extended/RangeInclusive.d.ts +0 -0
  377. /package/{build → cjs}/extended/Type.d.ts +0 -0
  378. /package/{build → cjs}/extended/U8aFixed.d.ts +0 -0
  379. /package/{build → cjs}/extended/WrapperKeepOpaque.d.ts +0 -0
  380. /package/{build → cjs}/extended/WrapperOpaque.d.ts +0 -0
  381. /package/{build → cjs}/extended/index.d.ts +0 -0
  382. /package/{build → cjs}/index.d.ts +0 -0
  383. /package/{build → cjs}/native/Bool.d.ts +0 -0
  384. /package/{build → cjs}/native/Date.d.ts +0 -0
  385. /package/{build → cjs}/native/Float.d.ts +0 -0
  386. /package/{build → cjs}/native/Json.d.ts +0 -0
  387. /package/{build → cjs}/native/Raw.d.ts +0 -0
  388. /package/{build → cjs}/native/Set.d.ts +0 -0
  389. /package/{build → cjs}/native/Struct.d.ts +0 -0
  390. /package/{build → cjs}/native/Text.d.ts +0 -0
  391. /package/{build → cjs}/native/index.d.ts +0 -0
  392. /package/{build → cjs}/packageDetect.d.ts +0 -0
  393. /package/{build → cjs}/packageInfo.d.ts +0 -0
  394. /package/{build → cjs}/primitive/F32.d.ts +0 -0
  395. /package/{build → cjs}/primitive/F64.d.ts +0 -0
  396. /package/{build → cjs}/primitive/I128.d.ts +0 -0
  397. /package/{build → cjs}/primitive/I16.d.ts +0 -0
  398. /package/{build → cjs}/primitive/I256.d.ts +0 -0
  399. /package/{build → cjs}/primitive/I32.d.ts +0 -0
  400. /package/{build → cjs}/primitive/I64.d.ts +0 -0
  401. /package/{build → cjs}/primitive/I8.d.ts +0 -0
  402. /package/{build → cjs}/primitive/ISize.d.ts +0 -0
  403. /package/{build → cjs}/primitive/U128.d.ts +0 -0
  404. /package/{build → cjs}/primitive/U16.d.ts +0 -0
  405. /package/{build → cjs}/primitive/U256.d.ts +0 -0
  406. /package/{build → cjs}/primitive/U32.d.ts +0 -0
  407. /package/{build → cjs}/primitive/U64.d.ts +0 -0
  408. /package/{build → cjs}/primitive/U8.d.ts +0 -0
  409. /package/{build → cjs}/primitive/USize.d.ts +0 -0
  410. /package/{build → cjs}/primitive/index.d.ts +0 -0
  411. /package/{build → cjs}/types/helpers.d.ts +0 -0
  412. /package/{build → cjs}/types/index.d.ts +0 -0
  413. /package/{build → cjs}/types/interfaces.d.ts +0 -0
  414. /package/{build → cjs}/types/registry.d.ts +0 -0
  415. /package/{build → cjs}/utils/compareArray.d.ts +0 -0
  416. /package/{build → cjs}/utils/compareMap.d.ts +0 -0
  417. /package/{build → cjs}/utils/compareSet.d.ts +0 -0
  418. /package/{build → cjs}/utils/decodeU8a.d.ts +0 -0
  419. /package/{build → cjs}/utils/index.d.ts +0 -0
  420. /package/{build → cjs}/utils/sanitize.d.ts +0 -0
  421. /package/{build → cjs}/utils/sortValues.d.ts +0 -0
  422. /package/{build → cjs}/utils/toConstructors.d.ts +0 -0
  423. /package/{build → cjs}/utils/typesToMap.d.ts +0 -0
  424. /package/{build → cjs}/utils/util.d.ts +0 -0
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BitVec = void 0;
4
+ const util_1 = require("@pezkuwi/util");
5
+ const Raw_js_1 = require("../native/Raw.js");
6
+ /** @internal */
7
+ function decodeBitVecU8a(value) {
8
+ if (!value?.length) {
9
+ return [0, new Uint8Array()];
10
+ }
11
+ // handle all other Uint8Array inputs, these do have a length prefix which is the number of bits encoded
12
+ const [offset, length] = (0, util_1.compactFromU8aLim)(value);
13
+ const total = offset + Math.ceil(length / 8);
14
+ if (total > value.length) {
15
+ throw new Error(`BitVec: required length less than remainder, expected at least ${total}, found ${value.length}`);
16
+ }
17
+ return [length, value.subarray(offset, total)];
18
+ }
19
+ /** @internal */
20
+ function decodeBitVec(value) {
21
+ if (Array.isArray(value) || (0, util_1.isString)(value)) {
22
+ const u8a = (0, util_1.u8aToU8a)(value);
23
+ return [u8a.length * 8, u8a];
24
+ }
25
+ return decodeBitVecU8a(value);
26
+ }
27
+ /**
28
+ * @name BitVec
29
+ * @description
30
+ * A BitVec that represents an array of bits. The bits are however stored encoded. The difference between this
31
+ * and a normal Bytes would be that the length prefix indicates the number of bits encoded, not the bytes
32
+ */
33
+ class BitVec extends Raw_js_1.Raw {
34
+ #decodedLength;
35
+ #isMsb;
36
+ // In lieu of having the Msb/Lsb identifiers passed through, we default to assuming
37
+ // we are dealing with Lsb, which is the default (as of writing) BitVec format used
38
+ // in the Pezkuwi code (this only affects the toHuman displays)
39
+ constructor(registry, value, isMsb = false) {
40
+ const [decodedLength, u8a] = decodeBitVec(value);
41
+ super(registry, u8a);
42
+ this.#decodedLength = decodedLength;
43
+ this.#isMsb = isMsb;
44
+ }
45
+ /**
46
+ * @description The length of the value when encoded as a Uint8Array
47
+ */
48
+ get encodedLength() {
49
+ return this.length + (0, util_1.compactToU8a)(this.#decodedLength).length;
50
+ }
51
+ /**
52
+ * @description Returns a breakdown of the hex encoding for this Codec
53
+ */
54
+ inspect() {
55
+ return {
56
+ outer: [(0, util_1.compactToU8a)(this.#decodedLength), super.toU8a()]
57
+ };
58
+ }
59
+ /**
60
+ * @description Creates a boolean array of the bit values
61
+ */
62
+ toBoolArray() {
63
+ const map = [...this.toU8a(true)].map((v) => [
64
+ !!(v & 0b1000_0000),
65
+ !!(v & 0b0100_0000),
66
+ !!(v & 0b0010_0000),
67
+ !!(v & 0b0001_0000),
68
+ !!(v & 0b0000_1000),
69
+ !!(v & 0b0000_0100),
70
+ !!(v & 0b0000_0010),
71
+ !!(v & 0b0000_0001)
72
+ ]);
73
+ const count = map.length;
74
+ const result = new Array(8 * count);
75
+ for (let i = 0; i < count; i++) {
76
+ const off = i * 8;
77
+ const v = map[i];
78
+ for (let j = 0; j < 8; j++) {
79
+ result[off + j] = this.#isMsb
80
+ ? v[j]
81
+ : v[7 - j];
82
+ }
83
+ }
84
+ return result;
85
+ }
86
+ /**
87
+ * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
88
+ */
89
+ toHuman() {
90
+ return `0b${[...this.toU8a(true)]
91
+ .map((d) => `00000000${d.toString(2)}`.slice(-8))
92
+ .map((s) => this.#isMsb ? s : s.split('').reverse().join(''))
93
+ .join('_')}`;
94
+ }
95
+ /**
96
+ * @description Returns the base runtime type name for this instance
97
+ */
98
+ toRawType() {
99
+ return 'BitVec';
100
+ }
101
+ /**
102
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
103
+ * @param isBare true when the value has none of the type-specific prefixes (internal)
104
+ */
105
+ toU8a(isBare) {
106
+ const bitVec = super.toU8a(isBare);
107
+ return isBare
108
+ ? bitVec
109
+ : (0, util_1.u8aConcatStrict)([(0, util_1.compactToU8a)(this.#decodedLength), bitVec]);
110
+ }
111
+ }
112
+ exports.BitVec = BitVec;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Bytes = void 0;
4
+ const util_1 = require("@pezkuwi/util");
5
+ const Raw_js_1 = require("../native/Raw.js");
6
+ const MAX_LENGTH = 10 * 1024 * 1024;
7
+ /** @internal */
8
+ function decodeBytesU8a(value) {
9
+ if (!value.length) {
10
+ return [new Uint8Array(), 0];
11
+ }
12
+ // handle all other Uint8Array inputs, these do have a length prefix
13
+ const [offset, length] = (0, util_1.compactFromU8aLim)(value);
14
+ const total = offset + length;
15
+ if (length > MAX_LENGTH) {
16
+ throw new Error(`Bytes length ${length.toString()} exceeds ${MAX_LENGTH}`);
17
+ }
18
+ else if (total > value.length) {
19
+ throw new Error(`Bytes: required length less than remainder, expected at least ${total}, found ${value.length}`);
20
+ }
21
+ return [value.subarray(offset, total), total];
22
+ }
23
+ /**
24
+ * @name Bytes
25
+ * @description
26
+ * A Bytes wrapper for Vec<u8>. The significant difference between this and a normal Uint8Array
27
+ * is that this version allows for length-encoding. (i.e. it is a variable-item codec, the same
28
+ * as what is found in [[Text]] and [[Vec]])
29
+ */
30
+ class Bytes extends Raw_js_1.Raw {
31
+ constructor(registry, value) {
32
+ const [u8a, decodedLength] = (0, util_1.isU8a)(value) && !(value instanceof Raw_js_1.Raw)
33
+ ? decodeBytesU8a(value)
34
+ : Array.isArray(value) || (0, util_1.isString)(value)
35
+ ? [(0, util_1.u8aToU8a)(value), 0]
36
+ : [value, 0];
37
+ super(registry, u8a, decodedLength);
38
+ }
39
+ /**
40
+ * @description The length of the value when encoded as a Uint8Array
41
+ */
42
+ get encodedLength() {
43
+ return this.length + (0, util_1.compactToU8a)(this.length).length;
44
+ }
45
+ /**
46
+ * @description Returns a breakdown of the hex encoding for this Codec
47
+ */
48
+ inspect(isBare) {
49
+ const clength = (0, util_1.compactToU8a)(this.length);
50
+ return {
51
+ outer: isBare
52
+ ? [super.toU8a()]
53
+ : this.length
54
+ ? [clength, super.toU8a()]
55
+ : [clength]
56
+ };
57
+ }
58
+ /**
59
+ * @description Returns the base runtime type name for this instance
60
+ */
61
+ toRawType() {
62
+ return 'Bytes';
63
+ }
64
+ /**
65
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
66
+ * @param isBare true when the value has none of the type-specific prefixes (internal)
67
+ */
68
+ toU8a(isBare) {
69
+ return isBare
70
+ ? super.toU8a(isBare)
71
+ : (0, util_1.compactAddLength)(this);
72
+ }
73
+ }
74
+ exports.Bytes = Bytes;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HashMap = void 0;
4
+ const Map_js_1 = require("./Map.js");
5
+ class HashMap extends Map_js_1.CodecMap {
6
+ static with(keyType, valType) {
7
+ return class extends HashMap {
8
+ constructor(registry, value) {
9
+ super(registry, keyType, valType, value);
10
+ }
11
+ };
12
+ }
13
+ }
14
+ exports.HashMap = HashMap;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LinkageResult = exports.Linkage = void 0;
4
+ const Option_js_1 = require("../base/Option.js");
5
+ const Tuple_js_1 = require("../base/Tuple.js");
6
+ const Vec_js_1 = require("../base/Vec.js");
7
+ const Struct_js_1 = require("../native/Struct.js");
8
+ const EMPTY = new Uint8Array();
9
+ /**
10
+ * @name Linkage
11
+ * @description The wrapper for the result from a LinkedMap
12
+ */
13
+ class Linkage extends Struct_js_1.Struct {
14
+ constructor(registry, Type, value) {
15
+ super(registry, {
16
+ previous: Option_js_1.Option.with(Type),
17
+ // eslint-disable-next-line sort-keys
18
+ next: Option_js_1.Option.with(Type)
19
+ }, value);
20
+ }
21
+ static withKey(Type) {
22
+ return class extends Linkage {
23
+ constructor(registry, value) {
24
+ super(registry, Type, value);
25
+ }
26
+ };
27
+ }
28
+ /**
29
+ * @description Returns the next item the Linkage is pointing to
30
+ */
31
+ get previous() {
32
+ return this.get('previous');
33
+ }
34
+ /**
35
+ * @description Returns the previous item the Linkage is pointing to
36
+ */
37
+ get next() {
38
+ return this.get('next');
39
+ }
40
+ /**
41
+ * @description Returns the base runtime type name for this instance
42
+ */
43
+ toRawType() {
44
+ return `Linkage<${this.next.toRawType(true)}>`;
45
+ }
46
+ /**
47
+ * @description Custom toU8a which with bare mode does not return the linkage if empty
48
+ */
49
+ toU8a(isBare) {
50
+ // As part of a storage query (where these appear), in the case of empty, the values
51
+ // are NOT populated by the node - follow the same logic, leaving it empty
52
+ return this.isEmpty
53
+ ? EMPTY
54
+ : super.toU8a(isBare);
55
+ }
56
+ }
57
+ exports.Linkage = Linkage;
58
+ /**
59
+ * @name LinkageResult
60
+ * @description A Linkage keys/Values tuple
61
+ */
62
+ class LinkageResult extends Tuple_js_1.Tuple {
63
+ constructor(registry, [TypeKey, keys], [TypeValue, values]) {
64
+ super(registry, {
65
+ Keys: Vec_js_1.Vec.with(TypeKey),
66
+ Values: Vec_js_1.Vec.with(TypeValue)
67
+ }, [keys, values]);
68
+ }
69
+ }
70
+ exports.LinkageResult = LinkageResult;
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CodecMap = void 0;
4
+ const util_1 = require("@pezkuwi/util");
5
+ const Array_js_1 = require("../abstract/Array.js");
6
+ const Enum_js_1 = require("../base/Enum.js");
7
+ const Raw_js_1 = require("../native/Raw.js");
8
+ const Struct_js_1 = require("../native/Struct.js");
9
+ const index_js_1 = require("../utils/index.js");
10
+ const l = (0, util_1.logger)('Map');
11
+ /** @internal */
12
+ function decodeMapFromU8a(registry, KeyClass, ValClass, u8a) {
13
+ const output = new Map();
14
+ const [offset, count] = (0, util_1.compactFromU8aLim)(u8a);
15
+ const types = [];
16
+ for (let i = 0; i < count; i++) {
17
+ types.push(KeyClass, ValClass);
18
+ }
19
+ const [values, decodedLength] = (0, index_js_1.decodeU8a)(registry, new Array(types.length), u8a.subarray(offset), [types, []]);
20
+ for (let i = 0, count = values.length; i < count; i += 2) {
21
+ output.set(values[i], values[i + 1]);
22
+ }
23
+ return [KeyClass, ValClass, output, offset + decodedLength];
24
+ }
25
+ /** @internal */
26
+ function decodeMapFromMap(registry, KeyClass, ValClass, value) {
27
+ const output = new Map();
28
+ for (const [key, val] of value.entries()) {
29
+ const isComplex = KeyClass.prototype instanceof Array_js_1.AbstractArray ||
30
+ KeyClass.prototype instanceof Struct_js_1.Struct ||
31
+ KeyClass.prototype instanceof Enum_js_1.Enum;
32
+ try {
33
+ output.set(key instanceof KeyClass
34
+ ? key
35
+ : new KeyClass(registry, isComplex && typeof key === 'string' ? JSON.parse(key) : key), val instanceof ValClass
36
+ ? val
37
+ : new ValClass(registry, val));
38
+ }
39
+ catch (error) {
40
+ l.error('Failed to decode key or value:', error.message);
41
+ throw error;
42
+ }
43
+ }
44
+ return [KeyClass, ValClass, output, 0];
45
+ }
46
+ /**
47
+ * Decode input to pass into constructor.
48
+ *
49
+ * @param KeyClass - Type of the map key
50
+ * @param ValClass - Type of the map value
51
+ * @param value - Value to decode, one of:
52
+ * - null
53
+ * - undefined
54
+ * - hex
55
+ * - Uint8Array
56
+ * - Map<any, any>, where both key and value types are either
57
+ * constructors or decodeable values for their types.
58
+ * @param jsonMap
59
+ * @internal
60
+ */
61
+ function decodeMap(registry, keyType, valType, value) {
62
+ const KeyClass = (0, index_js_1.typeToConstructor)(registry, keyType);
63
+ const ValClass = (0, index_js_1.typeToConstructor)(registry, valType);
64
+ if (!value) {
65
+ return [KeyClass, ValClass, new Map(), 0];
66
+ }
67
+ else if ((0, util_1.isU8a)(value) || (0, util_1.isHex)(value)) {
68
+ return decodeMapFromU8a(registry, KeyClass, ValClass, (0, util_1.u8aToU8a)(value));
69
+ }
70
+ else if (value instanceof Map) {
71
+ return decodeMapFromMap(registry, KeyClass, ValClass, value);
72
+ }
73
+ else if ((0, util_1.isObject)(value)) {
74
+ return decodeMapFromMap(registry, KeyClass, ValClass, new Map(Object.entries(value)));
75
+ }
76
+ throw new Error('Map: cannot decode type');
77
+ }
78
+ class CodecMap extends Map {
79
+ registry;
80
+ createdAtHash;
81
+ initialU8aLength;
82
+ isStorageFallback;
83
+ #KeyClass;
84
+ #ValClass;
85
+ #type;
86
+ constructor(registry, keyType, valType, rawValue, type = 'HashMap') {
87
+ const [KeyClass, ValClass, decoded, decodedLength] = decodeMap(registry, keyType, valType, rawValue);
88
+ super(type === 'BTreeMap' ? (0, index_js_1.sortMap)(decoded) : decoded);
89
+ this.registry = registry;
90
+ this.initialU8aLength = decodedLength;
91
+ this.#KeyClass = KeyClass;
92
+ this.#ValClass = ValClass;
93
+ this.#type = type;
94
+ }
95
+ /**
96
+ * @description The length of the value when encoded as a Uint8Array
97
+ */
98
+ get encodedLength() {
99
+ let len = (0, util_1.compactToU8a)(this.size).length;
100
+ for (const [k, v] of this.entries()) {
101
+ len += k.encodedLength + v.encodedLength;
102
+ }
103
+ return len;
104
+ }
105
+ /**
106
+ * @description Returns a hash of the value
107
+ */
108
+ get hash() {
109
+ return this.registry.hash(this.toU8a());
110
+ }
111
+ /**
112
+ * @description Checks if the value is an empty value
113
+ */
114
+ get isEmpty() {
115
+ return this.size === 0;
116
+ }
117
+ /**
118
+ * @description Compares the value of the input to see if there is a match
119
+ */
120
+ eq(other) {
121
+ return (0, index_js_1.compareMap)(this, other);
122
+ }
123
+ /**
124
+ * @description Returns a breakdown of the hex encoding for this Codec
125
+ */
126
+ inspect() {
127
+ const inner = [];
128
+ for (const [k, v] of this.entries()) {
129
+ inner.push(k.inspect());
130
+ inner.push(v.inspect());
131
+ }
132
+ return {
133
+ inner,
134
+ outer: [(0, util_1.compactToU8a)(this.size)]
135
+ };
136
+ }
137
+ /**
138
+ * @description Returns a hex string representation of the value. isLe returns a LE (number-only) representation
139
+ */
140
+ toHex() {
141
+ return (0, util_1.u8aToHex)(this.toU8a());
142
+ }
143
+ /**
144
+ * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information
145
+ */
146
+ toHuman(isExtended, disableAscii) {
147
+ const json = {};
148
+ for (const [k, v] of this.entries()) {
149
+ json[k instanceof Raw_js_1.Raw && !disableAscii && k.isAscii
150
+ ? k.toUtf8()
151
+ : k.toString()] = v.toHuman(isExtended, disableAscii);
152
+ }
153
+ return json;
154
+ }
155
+ /**
156
+ * @description Converts the Object to JSON, typically used for RPC transfers
157
+ */
158
+ toJSON() {
159
+ const json = {};
160
+ for (const [k, v] of this.entries()) {
161
+ json[k.toString()] = v.toJSON();
162
+ }
163
+ return json;
164
+ }
165
+ /**
166
+ * @description Converts the value in a best-fit primitive form
167
+ */
168
+ toPrimitive(disableAscii) {
169
+ const json = {};
170
+ for (const [k, v] of this.entries()) {
171
+ json[k instanceof Raw_js_1.Raw && !disableAscii && k.isAscii
172
+ ? k.toUtf8()
173
+ : k.toString()] = v.toPrimitive(disableAscii);
174
+ }
175
+ return json;
176
+ }
177
+ /**
178
+ * @description Returns the base runtime type name for this instance
179
+ */
180
+ toRawType() {
181
+ return `${this.#type}<${this.registry.getClassName(this.#KeyClass) || new this.#KeyClass(this.registry).toRawType()},${this.registry.getClassName(this.#ValClass) || new this.#ValClass(this.registry).toRawType()}>`;
182
+ }
183
+ /**
184
+ * @description Returns the string representation of the value
185
+ */
186
+ toString() {
187
+ return (0, util_1.stringify)(this.toJSON());
188
+ }
189
+ /**
190
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
191
+ * @param isBare true when the value has none of the type-specific prefixes (internal)
192
+ */
193
+ toU8a(isBare) {
194
+ const encoded = [];
195
+ if (!isBare) {
196
+ encoded.push((0, util_1.compactToU8a)(this.size));
197
+ }
198
+ for (const [k, v] of this.entries()) {
199
+ encoded.push(k.toU8a(isBare), v.toU8a(isBare));
200
+ }
201
+ return (0, util_1.u8aConcatStrict)(encoded);
202
+ }
203
+ }
204
+ exports.CodecMap = CodecMap;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OptionBool = void 0;
4
+ const util_1 = require("@pezkuwi/util");
5
+ const Option_js_1 = require("../base/Option.js");
6
+ const Bool_js_1 = require("../native/Bool.js");
7
+ function decodeU8a(registry, value) {
8
+ // Encoded as -
9
+ // - 0 = None
10
+ // - 1 = True
11
+ // - 2 = False
12
+ return value[0] === 0
13
+ ? null
14
+ : new Bool_js_1.bool(registry, value[0] === 1);
15
+ }
16
+ /**
17
+ * @name OptionBool
18
+ * @description A specific implementation of Option<bool> than allows for single-byte encoding
19
+ */
20
+ class OptionBool extends Option_js_1.Option {
21
+ constructor(registry, value) {
22
+ super(registry, Bool_js_1.bool, (0, util_1.isU8a)(value) || (0, util_1.isHex)(value)
23
+ ? decodeU8a(registry, (0, util_1.u8aToU8a)(value))
24
+ : value);
25
+ this.initialU8aLength = 1;
26
+ }
27
+ /**
28
+ * @description The length of the value when encoded as a Uint8Array
29
+ */
30
+ get encodedLength() {
31
+ return 1 | 0;
32
+ }
33
+ /**
34
+ * @description Checks if the value is an empty value (always false)
35
+ */
36
+ get isFalse() {
37
+ return this.isSome
38
+ ? !this.value.valueOf()
39
+ : false;
40
+ }
41
+ /**
42
+ * @description Checks if the value is an empty value (always false)
43
+ */
44
+ get isTrue() {
45
+ return this.isSome
46
+ ? this.value.valueOf()
47
+ : false;
48
+ }
49
+ /**
50
+ * @description Returns a breakdown of the hex encoding for this Codec
51
+ */
52
+ inspect() {
53
+ return { outer: [this.toU8a()] };
54
+ }
55
+ /**
56
+ * @description Returns the base runtime type name for this instance
57
+ */
58
+ toRawType(isBare) {
59
+ return isBare
60
+ ? 'bool'
61
+ : 'Option<bool>';
62
+ }
63
+ /**
64
+ * @description Encodes the value as a Uint8Array as per the SCALE specifications
65
+ * @param isBare true when the value has none of the type-specific prefixes (internal)
66
+ */
67
+ toU8a(isBare) {
68
+ if (isBare) {
69
+ return super.toU8a(true);
70
+ }
71
+ return this.isSome
72
+ ? new Uint8Array([this.isTrue ? 1 : 2])
73
+ : new Uint8Array([0]);
74
+ }
75
+ }
76
+ exports.OptionBool = OptionBool;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Range = void 0;
4
+ const Tuple_js_1 = require("../base/Tuple.js");
5
+ /**
6
+ * @name Range
7
+ * @description
8
+ * Rust `Range<T>` representation
9
+ */
10
+ class Range extends Tuple_js_1.Tuple {
11
+ #rangeName;
12
+ constructor(registry, Type, value, { rangeName = 'Range' } = {}) {
13
+ super(registry, [Type, Type], value);
14
+ this.#rangeName = rangeName;
15
+ }
16
+ static with(Type) {
17
+ return class extends Range {
18
+ constructor(registry, value) {
19
+ super(registry, Type, value);
20
+ }
21
+ };
22
+ }
23
+ /**
24
+ * @description Returns the starting range value
25
+ */
26
+ get start() {
27
+ return this[0];
28
+ }
29
+ /**
30
+ * @description Returns the ending range value
31
+ */
32
+ get end() {
33
+ return this[1];
34
+ }
35
+ /**
36
+ * @description Returns the base runtime type name for this instance
37
+ */
38
+ toRawType() {
39
+ return `${this.#rangeName}<${this.start.toRawType()}>`;
40
+ }
41
+ }
42
+ exports.Range = Range;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RangeInclusive = void 0;
4
+ const Range_js_1 = require("./Range.js");
5
+ class RangeInclusive extends Range_js_1.Range {
6
+ constructor(registry, Type, value) {
7
+ super(registry, Type, value, { rangeName: 'RangeInclusive' });
8
+ }
9
+ static with(Type) {
10
+ return class extends RangeInclusive {
11
+ constructor(registry, value) {
12
+ super(registry, Type, value);
13
+ }
14
+ };
15
+ }
16
+ }
17
+ exports.RangeInclusive = RangeInclusive;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Type = void 0;
4
+ const Text_js_1 = require("../native/Text.js");
5
+ const index_js_1 = require("../utils/index.js");
6
+ /**
7
+ * @name Type
8
+ * @description
9
+ * This is a extended version of Text, specifically to handle types. Here we rely fully
10
+ * on what Text provides us, however we also adjust the types received from the runtime,
11
+ * i.e. we remove the `T::` prefixes found in some types for consistency across implementation.
12
+ */
13
+ class Type extends Text_js_1.Text {
14
+ constructor(registry, value = '') {
15
+ super(registry, value);
16
+ this.setOverride((0, index_js_1.sanitize)(this.toString()));
17
+ }
18
+ /**
19
+ * @description Returns the base runtime type name for this instance
20
+ */
21
+ toRawType() {
22
+ return 'Type';
23
+ }
24
+ }
25
+ exports.Type = Type;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.U8aFixed = void 0;
4
+ const util_1 = require("@pezkuwi/util");
5
+ const Raw_js_1 = require("../native/Raw.js");
6
+ /** @internal */
7
+ function decodeU8aFixed(value, bitLength) {
8
+ const u8a = (0, util_1.u8aToU8a)(value);
9
+ const byteLength = bitLength / 8;
10
+ if (!u8a.length) {
11
+ return [new Uint8Array(byteLength), 0];
12
+ }
13
+ if ((0, util_1.isU8a)(value) ? u8a.length < byteLength : u8a.length !== byteLength) {
14
+ throw new Error(`Expected input with ${byteLength} bytes (${bitLength} bits), found ${u8a.length} bytes`);
15
+ }
16
+ return [u8a.subarray(0, byteLength), byteLength];
17
+ }
18
+ /**
19
+ * @name U8aFixed
20
+ * @description
21
+ * A U8a that manages a a sequence of bytes up to the specified bitLength. Not meant
22
+ * to be used directly, rather is should be subclassed with the specific lengths.
23
+ */
24
+ class U8aFixed extends Raw_js_1.Raw {
25
+ constructor(registry, value = new Uint8Array(), bitLength = 256) {
26
+ const [u8a, decodedLength] = decodeU8aFixed(value, bitLength);
27
+ super(registry, u8a, decodedLength);
28
+ }
29
+ static with(bitLength, typeName) {
30
+ return class extends U8aFixed {
31
+ constructor(registry, value) {
32
+ super(registry, value, bitLength);
33
+ }
34
+ toRawType() {
35
+ return typeName || super.toRawType();
36
+ }
37
+ };
38
+ }
39
+ /**
40
+ * @description Returns the base runtime type name for this instance
41
+ */
42
+ toRawType() {
43
+ return `[u8;${this.length}]`;
44
+ }
45
+ }
46
+ exports.U8aFixed = U8aFixed;