@pezkuwi/util 14.0.1 → 14.0.3

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/LICENSE +201 -0
  2. package/README.md +4 -4
  3. package/array/chunk.d.ts +15 -0
  4. package/array/chunk.js +27 -0
  5. package/array/filter.d.ts +16 -0
  6. package/{src/array/filter.ts → array/filter.js} +3 -8
  7. package/array/flatten.d.ts +15 -0
  8. package/array/flatten.js +39 -0
  9. package/{src/array/index.ts → array/index.d.ts} +0 -4
  10. package/array/index.js +10 -0
  11. package/array/range.d.ts +16 -0
  12. package/{src/array/range.ts → array/range.js} +9 -15
  13. package/array/shuffle.d.ts +5 -0
  14. package/array/shuffle.js +19 -0
  15. package/array/unzip.d.ts +5 -0
  16. package/array/unzip.js +13 -0
  17. package/array/zip.d.ts +5 -0
  18. package/array/zip.js +12 -0
  19. package/assert.d.ts +29 -0
  20. package/{src/assert.ts → assert.js} +11 -22
  21. package/bi/consts.d.ts +90 -0
  22. package/{src/bi/consts.ts → bi/consts.js} +0 -21
  23. package/bi/helpers.d.ts +2 -0
  24. package/bi/helpers.js +16 -0
  25. package/{src/bi/index.ts → bi/index.d.ts} +0 -7
  26. package/bi/index.js +9 -0
  27. package/bi/min.d.ts +10 -0
  28. package/bi/min.js +11 -0
  29. package/bi/sqrt.d.ts +7 -0
  30. package/bi/sqrt.js +29 -0
  31. package/bi/toBigInt.d.ts +7 -0
  32. package/bi/toBigInt.js +25 -0
  33. package/bi/toHex.d.ts +7 -0
  34. package/bi/toHex.js +9 -0
  35. package/bi/toU8a.d.ts +7 -0
  36. package/bi/toU8a.js +49 -0
  37. package/bn/bn.d.ts +2 -0
  38. package/bn/bn.js +2 -0
  39. package/bn/consts.d.ts +91 -0
  40. package/{src/bn/consts.ts → bn/consts.js} +18 -39
  41. package/bn/fromHex.d.ts +1 -0
  42. package/bn/fromHex.js +1 -0
  43. package/{src/bn/index.ts → bn/index.d.ts} +0 -7
  44. package/bn/index.js +11 -0
  45. package/bn/min.d.ts +29 -0
  46. package/{src/bn/min.ts → bn/min.js} +2 -9
  47. package/bn/sqrt.d.ts +16 -0
  48. package/bn/sqrt.js +38 -0
  49. package/bn/toBn.d.ts +19 -0
  50. package/{src/bn/toBn.ts → bn/toBn.js} +14 -20
  51. package/bn/toHex.d.ts +18 -0
  52. package/{src/bn/toHex.ts → bn/toHex.js} +2 -9
  53. package/bn/toU8a.d.ts +17 -0
  54. package/bn/toU8a.js +33 -0
  55. package/{src/buffer/index.ts → buffer/index.d.ts} +0 -4
  56. package/buffer/index.js +4 -0
  57. package/buffer/toU8a.d.ts +15 -0
  58. package/{src/buffer/toU8a.ts → buffer/toU8a.js} +2 -5
  59. package/bundle-polkadot-util.js +4829 -0
  60. package/{src/bundle.ts → bundle.d.ts} +0 -7
  61. package/bundle.js +28 -0
  62. package/cjs/array/chunk.d.ts +15 -0
  63. package/cjs/array/chunk.js +30 -0
  64. package/cjs/array/filter.d.ts +16 -0
  65. package/cjs/array/filter.js +22 -0
  66. package/cjs/array/flatten.d.ts +15 -0
  67. package/cjs/array/flatten.js +42 -0
  68. package/cjs/array/index.d.ts +10 -0
  69. package/cjs/array/index.js +20 -0
  70. package/cjs/array/range.d.ts +16 -0
  71. package/cjs/array/range.js +28 -0
  72. package/cjs/array/shuffle.d.ts +5 -0
  73. package/cjs/array/shuffle.js +22 -0
  74. package/cjs/array/unzip.d.ts +5 -0
  75. package/cjs/array/unzip.js +16 -0
  76. package/cjs/array/zip.d.ts +5 -0
  77. package/cjs/array/zip.js +15 -0
  78. package/cjs/assert.d.ts +29 -0
  79. package/cjs/assert.js +44 -0
  80. package/cjs/bi/consts.d.ts +90 -0
  81. package/cjs/bi/consts.js +94 -0
  82. package/cjs/bi/helpers.d.ts +2 -0
  83. package/cjs/bi/helpers.js +19 -0
  84. package/cjs/bi/index.d.ts +9 -0
  85. package/cjs/bi/index.js +19 -0
  86. package/cjs/bi/min.d.ts +10 -0
  87. package/cjs/bi/min.js +14 -0
  88. package/cjs/bi/sqrt.d.ts +7 -0
  89. package/cjs/bi/sqrt.js +32 -0
  90. package/cjs/bi/toBigInt.d.ts +7 -0
  91. package/cjs/bi/toBigInt.js +28 -0
  92. package/cjs/bi/toHex.d.ts +7 -0
  93. package/cjs/bi/toHex.js +12 -0
  94. package/cjs/bi/toU8a.d.ts +7 -0
  95. package/cjs/bi/toU8a.js +52 -0
  96. package/cjs/bn/bn.d.ts +2 -0
  97. package/cjs/bn/bn.js +6 -0
  98. package/cjs/bn/consts.d.ts +91 -0
  99. package/cjs/bn/consts.js +94 -0
  100. package/cjs/bn/fromHex.d.ts +1 -0
  101. package/cjs/bn/fromHex.js +5 -0
  102. package/cjs/bn/index.d.ts +11 -0
  103. package/cjs/bn/index.js +23 -0
  104. package/cjs/bn/min.d.ts +29 -0
  105. package/cjs/bn/min.js +32 -0
  106. package/cjs/bn/sqrt.d.ts +16 -0
  107. package/cjs/bn/sqrt.js +41 -0
  108. package/cjs/bn/toBn.d.ts +19 -0
  109. package/cjs/bn/toBn.js +40 -0
  110. package/cjs/bn/toHex.d.ts +18 -0
  111. package/cjs/bn/toHex.js +23 -0
  112. package/cjs/bn/toU8a.d.ts +17 -0
  113. package/cjs/bn/toU8a.js +36 -0
  114. package/cjs/buffer/index.d.ts +4 -0
  115. package/cjs/buffer/index.js +8 -0
  116. package/cjs/buffer/toU8a.d.ts +15 -0
  117. package/cjs/buffer/toU8a.js +20 -0
  118. package/cjs/bundle.d.ts +28 -0
  119. package/cjs/bundle.js +33 -0
  120. package/cjs/compact/addLength.d.ts +13 -0
  121. package/cjs/compact/addLength.js +23 -0
  122. package/cjs/compact/defaults.d.ts +3 -0
  123. package/cjs/compact/defaults.js +5 -0
  124. package/cjs/compact/fromU8a.d.ts +22 -0
  125. package/cjs/compact/fromU8a.js +92 -0
  126. package/{src/compact/index.ts → cjs/compact/index.d.ts} +0 -4
  127. package/cjs/compact/index.js +32 -0
  128. package/cjs/compact/stripLength.d.ts +13 -0
  129. package/cjs/compact/stripLength.js +24 -0
  130. package/cjs/compact/toU8a.d.ts +14 -0
  131. package/cjs/compact/toU8a.js +48 -0
  132. package/cjs/compact/types.d.ts +1 -0
  133. package/cjs/compact/types.js +2 -0
  134. package/cjs/detectPackage.d.ts +17 -0
  135. package/cjs/detectPackage.js +100 -0
  136. package/cjs/extractTime.d.ts +14 -0
  137. package/cjs/extractTime.js +56 -0
  138. package/cjs/float/index.d.ts +1 -0
  139. package/cjs/float/index.js +5 -0
  140. package/cjs/float/toU8a.d.ts +11 -0
  141. package/cjs/float/toU8a.js +22 -0
  142. package/cjs/format/formatBalance.d.ts +54 -0
  143. package/cjs/format/formatBalance.js +88 -0
  144. package/cjs/format/formatDate.d.ts +5 -0
  145. package/cjs/format/formatDate.js +20 -0
  146. package/cjs/format/formatDecimal.d.ts +5 -0
  147. package/cjs/format/formatDecimal.js +19 -0
  148. package/cjs/format/formatElapsed.d.ts +7 -0
  149. package/cjs/format/formatElapsed.js +30 -0
  150. package/cjs/format/formatNumber.d.ts +14 -0
  151. package/cjs/format/formatNumber.js +14 -0
  152. package/cjs/format/getSeparator.d.ts +9 -0
  153. package/cjs/format/getSeparator.js +14 -0
  154. package/{src/format/index.ts → cjs/format/index.d.ts} +0 -3
  155. package/cjs/format/index.js +16 -0
  156. package/cjs/format/si.d.ts +9 -0
  157. package/cjs/format/si.js +45 -0
  158. package/cjs/has.d.ts +14 -0
  159. package/cjs/has.js +19 -0
  160. package/cjs/hex/addPrefix.d.ts +16 -0
  161. package/cjs/hex/addPrefix.js +23 -0
  162. package/cjs/hex/fixLength.d.ts +18 -0
  163. package/cjs/hex/fixLength.js +30 -0
  164. package/cjs/hex/hasPrefix.d.ts +16 -0
  165. package/cjs/hex/hasPrefix.js +21 -0
  166. package/{src/hex/index.ts → cjs/hex/index.d.ts} +0 -4
  167. package/cjs/hex/index.js +24 -0
  168. package/cjs/hex/stripPrefix.d.ts +15 -0
  169. package/cjs/hex/stripPrefix.js +30 -0
  170. package/cjs/hex/toBigInt.d.ts +6 -0
  171. package/cjs/hex/toBigInt.js +15 -0
  172. package/cjs/hex/toBn.d.ts +21 -0
  173. package/cjs/hex/toBn.js +35 -0
  174. package/cjs/hex/toNumber.d.ts +15 -0
  175. package/cjs/hex/toNumber.js +23 -0
  176. package/cjs/hex/toString.d.ts +15 -0
  177. package/cjs/hex/toString.js +22 -0
  178. package/cjs/hex/toU8a.d.ts +16 -0
  179. package/cjs/hex/toU8a.js +57 -0
  180. package/cjs/hex/toU8aBuffer.d.ts +16 -0
  181. package/cjs/hex/toU8aBuffer.js +43 -0
  182. package/cjs/index.d.ts +2 -0
  183. package/cjs/index.js +5 -0
  184. package/cjs/is/array.d.ts +5 -0
  185. package/cjs/is/array.js +10 -0
  186. package/cjs/is/ascii.d.ts +8 -0
  187. package/cjs/is/ascii.js +43 -0
  188. package/cjs/is/bigInt.d.ts +15 -0
  189. package/{src/is/bigInt.ts → cjs/is/bigInt.js} +5 -5
  190. package/cjs/is/bn.d.ts +17 -0
  191. package/cjs/is/bn.js +22 -0
  192. package/cjs/is/boolean.d.ts +15 -0
  193. package/{src/is/boolean.ts → cjs/is/boolean.js} +5 -5
  194. package/cjs/is/buffer.d.ts +16 -0
  195. package/cjs/is/buffer.js +24 -0
  196. package/cjs/is/childClass.d.ts +17 -0
  197. package/cjs/is/childClass.js +26 -0
  198. package/cjs/is/class.d.ts +6 -0
  199. package/cjs/is/class.js +9 -0
  200. package/cjs/is/codec.d.ts +12 -0
  201. package/cjs/is/codec.js +9 -0
  202. package/cjs/is/compact.d.ts +13 -0
  203. package/cjs/is/compact.js +9 -0
  204. package/cjs/is/error.d.ts +15 -0
  205. package/{src/is/error.ts → cjs/is/error.js} +6 -8
  206. package/cjs/is/function.d.ts +17 -0
  207. package/cjs/is/function.js +20 -0
  208. package/cjs/is/helpers.d.ts +3 -0
  209. package/cjs/is/helpers.js +19 -0
  210. package/cjs/is/hex.d.ts +19 -0
  211. package/cjs/is/hex.js +27 -0
  212. package/{src/is/index.ts → cjs/is/index.d.ts} +0 -3
  213. package/cjs/is/index.js +66 -0
  214. package/cjs/is/instanceOf.d.ts +15 -0
  215. package/cjs/is/instanceOf.js +21 -0
  216. package/cjs/is/ip.d.ts +18 -0
  217. package/{src/is/ip.ts → cjs/is/ip.js} +9 -21
  218. package/cjs/is/jsonObject.d.ts +27 -0
  219. package/cjs/is/jsonObject.js +40 -0
  220. package/cjs/is/null.d.ts +15 -0
  221. package/{src/is/null.ts → cjs/is/null.js} +5 -5
  222. package/cjs/is/number.d.ts +15 -0
  223. package/{src/is/number.ts → cjs/is/number.js} +5 -5
  224. package/cjs/is/object.d.ts +18 -0
  225. package/cjs/is/object.js +21 -0
  226. package/cjs/is/observable.d.ts +16 -0
  227. package/cjs/is/observable.js +19 -0
  228. package/cjs/is/promise.d.ts +1 -0
  229. package/cjs/is/promise.js +5 -0
  230. package/cjs/is/riscv.d.ts +7 -0
  231. package/cjs/is/riscv.js +20 -0
  232. package/cjs/is/string.d.ts +16 -0
  233. package/{src/is/string.ts → cjs/is/string.js} +5 -7
  234. package/cjs/is/testChain.d.ts +1 -0
  235. package/cjs/is/testChain.js +10 -0
  236. package/cjs/is/toBigInt.d.ts +2 -0
  237. package/cjs/is/toBigInt.js +5 -0
  238. package/cjs/is/toBn.d.ts +2 -0
  239. package/cjs/is/toBn.js +5 -0
  240. package/cjs/is/u8a.d.ts +15 -0
  241. package/cjs/is/u8a.js +23 -0
  242. package/cjs/is/undefined.d.ts +15 -0
  243. package/{src/is/undefined.ts → cjs/is/undefined.js} +5 -6
  244. package/cjs/is/utf8.d.ts +7 -0
  245. package/cjs/is/utf8.js +200 -0
  246. package/cjs/is/wasm.d.ts +7 -0
  247. package/cjs/is/wasm.js +15 -0
  248. package/cjs/lazy.d.ts +14 -0
  249. package/cjs/lazy.js +55 -0
  250. package/cjs/logger.d.ts +17 -0
  251. package/cjs/logger.js +122 -0
  252. package/cjs/memoize.d.ts +10 -0
  253. package/cjs/memoize.js +33 -0
  254. package/cjs/nextTick.d.ts +5 -0
  255. package/cjs/nextTick.js +27 -0
  256. package/cjs/noop.d.ts +8 -0
  257. package/cjs/noop.js +16 -0
  258. package/{src/number/index.ts → cjs/number/index.d.ts} +0 -4
  259. package/cjs/number/index.js +10 -0
  260. package/cjs/number/toHex.d.ts +17 -0
  261. package/cjs/number/toHex.js +23 -0
  262. package/cjs/number/toU8a.d.ts +15 -0
  263. package/cjs/number/toU8a.js +22 -0
  264. package/cjs/object/clear.d.ts +5 -0
  265. package/cjs/object/clear.js +14 -0
  266. package/cjs/object/copy.d.ts +5 -0
  267. package/cjs/object/copy.js +11 -0
  268. package/cjs/object/entries.d.ts +9 -0
  269. package/cjs/object/entries.js +10 -0
  270. package/{src/object/index.ts → cjs/object/index.d.ts} +0 -3
  271. package/cjs/object/index.js +18 -0
  272. package/cjs/object/keys.d.ts +5 -0
  273. package/cjs/object/keys.js +10 -0
  274. package/cjs/object/property.d.ts +10 -0
  275. package/cjs/object/property.js +38 -0
  276. package/cjs/object/spread.d.ts +6 -0
  277. package/cjs/object/spread.js +34 -0
  278. package/cjs/object/values.d.ts +5 -0
  279. package/cjs/object/values.js +10 -0
  280. package/cjs/package.json +3 -0
  281. package/cjs/packageDetect.d.ts +1 -0
  282. package/cjs/packageDetect.js +7 -0
  283. package/cjs/packageInfo.d.ts +6 -0
  284. package/cjs/packageInfo.js +4 -0
  285. package/cjs/promisify.d.ts +16 -0
  286. package/{src/promisify.ts → cjs/promisify.js} +14 -14
  287. package/cjs/string/camelCase.d.ts +13 -0
  288. package/cjs/string/camelCase.js +62 -0
  289. package/{src/string/index.ts → cjs/string/index.d.ts} +0 -4
  290. package/cjs/string/index.js +18 -0
  291. package/cjs/string/lowerFirst.d.ts +31 -0
  292. package/cjs/string/lowerFirst.js +40 -0
  293. package/cjs/string/shorten.d.ts +16 -0
  294. package/{src/string/shorten.ts → cjs/string/shorten.js} +7 -9
  295. package/cjs/string/toHex.d.ts +16 -0
  296. package/cjs/string/toHex.js +22 -0
  297. package/cjs/string/toU8a.d.ts +16 -0
  298. package/cjs/string/toU8a.js +24 -0
  299. package/cjs/stringify.d.ts +6 -0
  300. package/cjs/stringify.js +18 -0
  301. package/cjs/types.d.ts +62 -0
  302. package/cjs/types.js +2 -0
  303. package/cjs/u8a/cmp.d.ts +17 -0
  304. package/cjs/u8a/cmp.js +49 -0
  305. package/cjs/u8a/concat.d.ts +24 -0
  306. package/cjs/u8a/concat.js +51 -0
  307. package/cjs/u8a/concatBuffer.d.ts +19 -0
  308. package/cjs/u8a/concatBuffer.js +29 -0
  309. package/cjs/u8a/empty.d.ts +7 -0
  310. package/cjs/u8a/empty.js +20 -0
  311. package/cjs/u8a/eq.d.ts +15 -0
  312. package/cjs/u8a/eq.js +40 -0
  313. package/cjs/u8a/fixLength.d.ts +17 -0
  314. package/cjs/u8a/fixLength.js +31 -0
  315. package/{src/u8a/index.ts → cjs/u8a/index.d.ts} +0 -4
  316. package/cjs/u8a/index.js +42 -0
  317. package/cjs/u8a/sorted.d.ts +15 -0
  318. package/cjs/u8a/sorted.js +21 -0
  319. package/cjs/u8a/toBigInt.d.ts +6 -0
  320. package/cjs/u8a/toBigInt.js +73 -0
  321. package/cjs/u8a/toBn.d.ts +21 -0
  322. package/cjs/u8a/toBn.js +81 -0
  323. package/cjs/u8a/toBuffer.d.ts +16 -0
  324. package/cjs/u8a/toBuffer.js +24 -0
  325. package/cjs/u8a/toFloat.d.ts +11 -0
  326. package/cjs/u8a/toFloat.js +20 -0
  327. package/cjs/u8a/toHex.d.ts +16 -0
  328. package/cjs/u8a/toHex.js +56 -0
  329. package/cjs/u8a/toHexBuffer.d.ts +16 -0
  330. package/cjs/u8a/toHexBuffer.js +25 -0
  331. package/cjs/u8a/toNumber.d.ts +6 -0
  332. package/cjs/u8a/toNumber.js +61 -0
  333. package/cjs/u8a/toString.d.ts +15 -0
  334. package/cjs/u8a/toString.js +24 -0
  335. package/cjs/u8a/toU8a.d.ts +19 -0
  336. package/cjs/u8a/toU8a.js +42 -0
  337. package/cjs/u8a/wrap.d.ts +22 -0
  338. package/cjs/u8a/wrap.js +49 -0
  339. package/compact/addLength.d.ts +13 -0
  340. package/{src/compact/addLength.ts → compact/addLength.js} +5 -9
  341. package/compact/defaults.d.ts +3 -0
  342. package/compact/defaults.js +2 -0
  343. package/compact/fromU8a.d.ts +22 -0
  344. package/compact/fromU8a.js +88 -0
  345. package/compact/index.d.ts +24 -0
  346. package/compact/index.js +24 -0
  347. package/compact/stripLength.d.ts +13 -0
  348. package/{src/compact/stripLength.ts → compact/stripLength.js} +7 -12
  349. package/compact/toU8a.d.ts +14 -0
  350. package/compact/toU8a.js +45 -0
  351. package/compact/types.d.ts +1 -0
  352. package/compact/types.js +1 -0
  353. package/detectPackage.d.ts +17 -0
  354. package/detectPackage.js +96 -0
  355. package/extractTime.d.ts +14 -0
  356. package/extractTime.js +53 -0
  357. package/float/index.d.ts +1 -0
  358. package/float/index.js +1 -0
  359. package/float/toU8a.d.ts +11 -0
  360. package/float/toU8a.js +19 -0
  361. package/format/formatBalance.d.ts +54 -0
  362. package/format/formatBalance.js +85 -0
  363. package/format/formatDate.d.ts +5 -0
  364. package/format/formatDate.js +17 -0
  365. package/format/formatDecimal.d.ts +5 -0
  366. package/format/formatDecimal.js +16 -0
  367. package/format/formatElapsed.d.ts +7 -0
  368. package/format/formatElapsed.js +27 -0
  369. package/format/formatNumber.d.ts +14 -0
  370. package/format/formatNumber.js +11 -0
  371. package/format/getSeparator.d.ts +9 -0
  372. package/format/getSeparator.js +11 -0
  373. package/format/index.d.ts +6 -0
  374. package/format/index.js +6 -0
  375. package/format/si.d.ts +9 -0
  376. package/format/si.js +40 -0
  377. package/has.d.ts +14 -0
  378. package/{src/has.ts → has.js} +1 -23
  379. package/hex/addPrefix.d.ts +16 -0
  380. package/{src/hex/addPrefix.ts → hex/addPrefix.js} +4 -10
  381. package/hex/fixLength.d.ts +18 -0
  382. package/{src/hex/fixLength.ts → hex/fixLength.js} +8 -17
  383. package/hex/hasPrefix.d.ts +16 -0
  384. package/{src/hex/hasPrefix.ts → hex/hasPrefix.js} +2 -8
  385. package/hex/index.d.ts +12 -0
  386. package/hex/index.js +12 -0
  387. package/hex/stripPrefix.d.ts +15 -0
  388. package/{src/hex/stripPrefix.ts → hex/stripPrefix.js} +11 -14
  389. package/hex/toBigInt.d.ts +6 -0
  390. package/hex/toBigInt.js +12 -0
  391. package/hex/toBn.d.ts +21 -0
  392. package/{src/hex/toBn.ts → hex/toBn.js} +11 -19
  393. package/hex/toNumber.d.ts +15 -0
  394. package/{src/hex/toNumber.ts → hex/toNumber.js} +4 -8
  395. package/hex/toString.d.ts +15 -0
  396. package/{src/hex/toString.ts → hex/toString.js} +2 -8
  397. package/hex/toU8a.d.ts +16 -0
  398. package/hex/toU8a.js +54 -0
  399. package/hex/toU8aBuffer.d.ts +16 -0
  400. package/hex/toU8aBuffer.js +40 -0
  401. package/index.d.ts +2 -0
  402. package/index.js +2 -0
  403. package/is/array.d.ts +5 -0
  404. package/is/array.js +7 -0
  405. package/is/ascii.d.ts +8 -0
  406. package/is/ascii.js +40 -0
  407. package/is/bigInt.d.ts +15 -0
  408. package/is/bigInt.js +17 -0
  409. package/is/bn.d.ts +17 -0
  410. package/{src/is/bn.ts → is/bn.js} +2 -6
  411. package/is/boolean.d.ts +15 -0
  412. package/is/boolean.js +17 -0
  413. package/is/buffer.d.ts +16 -0
  414. package/is/buffer.js +21 -0
  415. package/is/childClass.d.ts +17 -0
  416. package/is/childClass.js +23 -0
  417. package/is/class.d.ts +6 -0
  418. package/is/class.js +6 -0
  419. package/is/codec.d.ts +12 -0
  420. package/is/codec.js +6 -0
  421. package/is/compact.d.ts +13 -0
  422. package/is/compact.js +6 -0
  423. package/is/error.d.ts +15 -0
  424. package/is/error.js +18 -0
  425. package/is/function.d.ts +17 -0
  426. package/is/function.js +17 -0
  427. package/is/helpers.d.ts +3 -0
  428. package/is/helpers.js +14 -0
  429. package/is/hex.d.ts +19 -0
  430. package/is/hex.js +23 -0
  431. package/is/index.d.ts +33 -0
  432. package/is/index.js +33 -0
  433. package/is/instanceOf.d.ts +15 -0
  434. package/is/instanceOf.js +18 -0
  435. package/is/ip.d.ts +18 -0
  436. package/is/ip.js +41 -0
  437. package/is/jsonObject.d.ts +27 -0
  438. package/{src/is/jsonObject.ts → is/jsonObject.js} +11 -19
  439. package/is/null.d.ts +15 -0
  440. package/is/null.js +17 -0
  441. package/is/number.d.ts +15 -0
  442. package/is/number.js +17 -0
  443. package/is/object.d.ts +18 -0
  444. package/is/object.js +18 -0
  445. package/is/observable.d.ts +16 -0
  446. package/{src/is/observable.ts → is/observable.js} +1 -7
  447. package/is/promise.d.ts +1 -0
  448. package/is/promise.js +2 -0
  449. package/is/riscv.d.ts +7 -0
  450. package/{src/is/riscv.ts → is/riscv.js} +6 -16
  451. package/is/string.d.ts +16 -0
  452. package/is/string.js +17 -0
  453. package/is/testChain.d.ts +1 -0
  454. package/is/testChain.js +7 -0
  455. package/is/toBigInt.d.ts +2 -0
  456. package/is/toBigInt.js +2 -0
  457. package/is/toBn.d.ts +2 -0
  458. package/is/toBn.js +2 -0
  459. package/is/u8a.d.ts +15 -0
  460. package/is/u8a.js +20 -0
  461. package/is/undefined.d.ts +15 -0
  462. package/is/undefined.js +17 -0
  463. package/is/utf8.d.ts +7 -0
  464. package/is/utf8.js +197 -0
  465. package/is/wasm.d.ts +7 -0
  466. package/{src/is/wasm.ts → is/wasm.js} +2 -7
  467. package/lazy.d.ts +14 -0
  468. package/lazy.js +51 -0
  469. package/logger.d.ts +17 -0
  470. package/logger.js +118 -0
  471. package/memoize.d.ts +10 -0
  472. package/memoize.js +30 -0
  473. package/nextTick.d.ts +5 -0
  474. package/nextTick.js +24 -0
  475. package/noop.d.ts +8 -0
  476. package/noop.js +12 -0
  477. package/number/index.d.ts +5 -0
  478. package/number/index.js +5 -0
  479. package/number/toHex.d.ts +17 -0
  480. package/{src/number/toHex.ts → number/toHex.js} +3 -10
  481. package/number/toU8a.d.ts +15 -0
  482. package/{src/number/toU8a.ts → number/toU8a.js} +2 -8
  483. package/object/clear.d.ts +5 -0
  484. package/object/clear.js +11 -0
  485. package/object/copy.d.ts +5 -0
  486. package/object/copy.js +8 -0
  487. package/object/entries.d.ts +9 -0
  488. package/object/entries.js +7 -0
  489. package/object/index.d.ts +7 -0
  490. package/object/index.js +7 -0
  491. package/object/keys.d.ts +5 -0
  492. package/object/keys.js +7 -0
  493. package/object/property.d.ts +10 -0
  494. package/object/property.js +34 -0
  495. package/object/spread.d.ts +6 -0
  496. package/object/spread.js +31 -0
  497. package/object/values.d.ts +5 -0
  498. package/object/values.js +7 -0
  499. package/package.json +1957 -10
  500. package/packageDetect.d.ts +1 -0
  501. package/{src/packageDetect.ts → packageDetect.js} +0 -8
  502. package/packageInfo.d.ts +6 -0
  503. package/packageInfo.js +1 -0
  504. package/promisify.d.ts +16 -0
  505. package/promisify.js +27 -0
  506. package/string/camelCase.d.ts +13 -0
  507. package/string/camelCase.js +59 -0
  508. package/string/index.d.ts +8 -0
  509. package/string/index.js +8 -0
  510. package/string/lowerFirst.d.ts +31 -0
  511. package/{src/string/lowerFirst.ts → string/lowerFirst.js} +4 -13
  512. package/string/shorten.d.ts +16 -0
  513. package/string/shorten.js +19 -0
  514. package/string/toHex.d.ts +16 -0
  515. package/{src/string/toHex.ts → string/toHex.js} +2 -10
  516. package/string/toU8a.d.ts +16 -0
  517. package/{src/string/toU8a.ts → string/toU8a.js} +4 -11
  518. package/stringify.d.ts +6 -0
  519. package/stringify.js +15 -0
  520. package/types.d.ts +62 -0
  521. package/types.js +1 -0
  522. package/u8a/cmp.d.ts +17 -0
  523. package/u8a/cmp.js +46 -0
  524. package/u8a/concat.d.ts +24 -0
  525. package/u8a/concat.js +47 -0
  526. package/u8a/concatBuffer.d.ts +19 -0
  527. package/u8a/concatBuffer.js +26 -0
  528. package/u8a/empty.d.ts +7 -0
  529. package/u8a/empty.js +17 -0
  530. package/u8a/eq.d.ts +15 -0
  531. package/u8a/eq.js +37 -0
  532. package/u8a/fixLength.d.ts +17 -0
  533. package/u8a/fixLength.js +28 -0
  534. package/u8a/index.d.ts +18 -0
  535. package/u8a/index.js +18 -0
  536. package/u8a/sorted.d.ts +15 -0
  537. package/{src/u8a/sorted.ts → u8a/sorted.js} +2 -6
  538. package/u8a/toBigInt.d.ts +6 -0
  539. package/u8a/toBigInt.js +70 -0
  540. package/u8a/toBn.d.ts +21 -0
  541. package/u8a/toBn.js +78 -0
  542. package/u8a/toBuffer.d.ts +16 -0
  543. package/{src/u8a/toBuffer.ts → u8a/toBuffer.js} +4 -11
  544. package/u8a/toFloat.d.ts +11 -0
  545. package/u8a/toFloat.js +17 -0
  546. package/u8a/toHex.d.ts +16 -0
  547. package/u8a/toHex.js +53 -0
  548. package/u8a/toHexBuffer.d.ts +16 -0
  549. package/u8a/toHexBuffer.js +22 -0
  550. package/u8a/toNumber.d.ts +6 -0
  551. package/u8a/toNumber.js +58 -0
  552. package/u8a/toString.d.ts +15 -0
  553. package/{src/u8a/toString.ts → u8a/toString.js} +4 -9
  554. package/u8a/toU8a.d.ts +19 -0
  555. package/{src/u8a/toU8a.ts → u8a/toU8a.js} +16 -23
  556. package/u8a/wrap.d.ts +22 -0
  557. package/u8a/wrap.js +43 -0
  558. package/src/array/chunk.spec.ts +0 -29
  559. package/src/array/chunk.ts +0 -35
  560. package/src/array/filter.spec.ts +0 -20
  561. package/src/array/flatten.spec.ts +0 -33
  562. package/src/array/flatten.ts +0 -51
  563. package/src/array/range.spec.ts +0 -29
  564. package/src/array/shuffle.spec.ts +0 -39
  565. package/src/array/shuffle.ts +0 -27
  566. package/src/array/unzip.spec.ts +0 -14
  567. package/src/array/unzip.ts +0 -18
  568. package/src/array/zip.spec.ts +0 -26
  569. package/src/array/zip.ts +0 -17
  570. package/src/assert.spec.ts +0 -40
  571. package/src/bi/helpers.ts +0 -23
  572. package/src/bi/max.spec.ts +0 -32
  573. package/src/bi/min.spec.ts +0 -26
  574. package/src/bi/min.ts +0 -16
  575. package/src/bi/sqrt.spec.ts +0 -59
  576. package/src/bi/sqrt.ts +0 -43
  577. package/src/bi/toBigInt.spec.ts +0 -69
  578. package/src/bi/toBigInt.ts +0 -33
  579. package/src/bi/toHex.spec.ts +0 -56
  580. package/src/bi/toHex.ts +0 -16
  581. package/src/bi/toU8a.spec.ts +0 -99
  582. package/src/bi/toU8a.ts +0 -72
  583. package/src/bn/bn.ts +0 -6
  584. package/src/bn/consts.spec.ts +0 -38
  585. package/src/bn/fromHex.spec.ts +0 -15
  586. package/src/bn/fromHex.ts +0 -4
  587. package/src/bn/max.spec.ts +0 -32
  588. package/src/bn/min.spec.ts +0 -26
  589. package/src/bn/sqrt.spec.ts +0 -37
  590. package/src/bn/sqrt.ts +0 -50
  591. package/src/bn/toBn.spec.ts +0 -53
  592. package/src/bn/toHex.spec.ts +0 -50
  593. package/src/bn/toU8a.spec.ts +0 -60
  594. package/src/bn/toU8a.ts +0 -45
  595. package/src/buffer/toU8a.spec.ts +0 -20
  596. package/src/compact/addLength.spec.ts +0 -14
  597. package/src/compact/defaults.ts +0 -7
  598. package/src/compact/fromU8a.spec.ts +0 -84
  599. package/src/compact/fromU8a.ts +0 -109
  600. package/src/compact/stripLength.spec.ts +0 -17
  601. package/src/compact/toU8a.spec.ts +0 -59
  602. package/src/compact/toU8a.ts +0 -53
  603. package/src/compact/types.ts +0 -4
  604. package/src/detectPackage.spec.ts +0 -110
  605. package/src/detectPackage.ts +0 -138
  606. package/src/extractTime.spec.ts +0 -21
  607. package/src/extractTime.ts +0 -71
  608. package/src/float/index.ts +0 -4
  609. package/src/float/toU8a.spec.ts +0 -52
  610. package/src/float/toU8a.ts +0 -30
  611. package/src/format/formatBalance.spec.ts +0 -296
  612. package/src/format/formatBalance.ts +0 -177
  613. package/src/format/formatDate.spec.ts +0 -17
  614. package/src/format/formatDate.ts +0 -22
  615. package/src/format/formatDecimal.spec.ts +0 -28
  616. package/src/format/formatDecimal.ts +0 -22
  617. package/src/format/formatElapsed.spec.ts +0 -44
  618. package/src/format/formatElapsed.ts +0 -35
  619. package/src/format/formatNumber.spec.ts +0 -60
  620. package/src/format/formatNumber.ts +0 -29
  621. package/src/format/getSeparator.spec.ts +0 -53
  622. package/src/format/getSeparator.ts +0 -15
  623. package/src/format/si.ts +0 -52
  624. package/src/has.spec.ts +0 -12
  625. package/src/hex/addPrefix.spec.ts +0 -32
  626. package/src/hex/fixLength.spec.ts +0 -38
  627. package/src/hex/hasPrefix.spec.ts +0 -32
  628. package/src/hex/stripPrefix.spec.ts +0 -44
  629. package/src/hex/toBigInt.spec.ts +0 -74
  630. package/src/hex/toBigInt.ts +0 -19
  631. package/src/hex/toBn.spec.ts +0 -74
  632. package/src/hex/toNumber.spec.ts +0 -20
  633. package/src/hex/toString.spec.ts +0 -20
  634. package/src/hex/toU8a.spec.ts +0 -76
  635. package/src/hex/toU8a.ts +0 -68
  636. package/src/hex/toU8aBuffer.spec.ts +0 -38
  637. package/src/hex/toU8aBuffer.ts +0 -52
  638. package/src/index.spec.ts +0 -12
  639. package/src/index.ts +0 -6
  640. package/src/is/array.spec.ts +0 -20
  641. package/src/is/array.ts +0 -10
  642. package/src/is/ascii.spec.ts +0 -49
  643. package/src/is/ascii.ts +0 -52
  644. package/src/is/bigInt.spec.ts +0 -26
  645. package/src/is/bn.spec.ts +0 -21
  646. package/src/is/boolean.spec.ts +0 -26
  647. package/src/is/buffer.spec.ts +0 -26
  648. package/src/is/buffer.ts +0 -28
  649. package/src/is/childClass.spec.ts +0 -36
  650. package/src/is/childClass.ts +0 -29
  651. package/src/is/class.spec.ts +0 -37
  652. package/src/is/class.ts +0 -12
  653. package/src/is/codec.spec.ts +0 -52
  654. package/src/is/codec.ts +0 -26
  655. package/src/is/compact.spec.ts +0 -27
  656. package/src/is/compact.ts +0 -19
  657. package/src/is/error.spec.ts +0 -20
  658. package/src/is/function.spec.ts +0 -20
  659. package/src/is/function.ts +0 -23
  660. package/src/is/helpers.ts +0 -23
  661. package/src/is/hex.spec.ts +0 -77
  662. package/src/is/hex.ts +0 -36
  663. package/src/is/instanceOf.spec.ts +0 -48
  664. package/src/is/instanceOf.ts +0 -24
  665. package/src/is/ip.spec.ts +0 -50
  666. package/src/is/jsonObject.spec.ts +0 -51
  667. package/src/is/null.spec.ts +0 -20
  668. package/src/is/number.spec.ts +0 -20
  669. package/src/is/object.spec.ts +0 -32
  670. package/src/is/object.ts +0 -24
  671. package/src/is/observable.spec.ts +0 -26
  672. package/src/is/promise.spec.ts +0 -32
  673. package/src/is/promise.ts +0 -6
  674. package/src/is/riscv.spec.ts +0 -36
  675. package/src/is/string.spec.ts +0 -32
  676. package/src/is/testChain.spec.ts +0 -25
  677. package/src/is/testChain.ts +0 -12
  678. package/src/is/toBigInt.spec.ts +0 -22
  679. package/src/is/toBigInt.ts +0 -8
  680. package/src/is/toBn.spec.ts +0 -25
  681. package/src/is/toBn.ts +0 -8
  682. package/src/is/u8a.spec.ts +0 -42
  683. package/src/is/u8a.ts +0 -25
  684. package/src/is/undefined.spec.ts +0 -23
  685. package/src/is/utf8.spec.ts +0 -42
  686. package/src/is/utf8.ts +0 -207
  687. package/src/is/wasm.spec.ts +0 -20
  688. package/src/lazy.spec.ts +0 -71
  689. package/src/lazy.ts +0 -63
  690. package/src/logger.spec.ts +0 -188
  691. package/src/logger.ts +0 -160
  692. package/src/memoize.spec.ts +0 -79
  693. package/src/memoize.ts +0 -49
  694. package/src/mod.ts +0 -4
  695. package/src/nextTick.ts +0 -26
  696. package/src/noop.ts +0 -16
  697. package/src/number/toHex.spec.ts +0 -44
  698. package/src/number/toU8a.spec.ts +0 -50
  699. package/src/object/clear.spec.ts +0 -14
  700. package/src/object/clear.ts +0 -16
  701. package/src/object/copy.spec.ts +0 -17
  702. package/src/object/copy.ts +0 -12
  703. package/src/object/entries.spec.ts +0 -20
  704. package/src/object/entries.ts +0 -12
  705. package/src/object/keys.spec.ts +0 -19
  706. package/src/object/keys.ts +0 -10
  707. package/src/object/property.spec.ts +0 -149
  708. package/src/object/property.ts +0 -39
  709. package/src/object/spread.spec.ts +0 -36
  710. package/src/object/spread.ts +0 -38
  711. package/src/object/values.spec.ts +0 -19
  712. package/src/object/values.ts +0 -10
  713. package/src/packageInfo.ts +0 -6
  714. package/src/promisify.spec.ts +0 -50
  715. package/src/string/camelCase.spec.ts +0 -119
  716. package/src/string/camelCase.ts +0 -79
  717. package/src/string/lowerFirst.spec.ts +0 -41
  718. package/src/string/pascalCase.spec.ts +0 -26
  719. package/src/string/shorten.spec.ts +0 -38
  720. package/src/string/toHex.spec.ts +0 -26
  721. package/src/string/toU8a.spec.ts +0 -31
  722. package/src/string/upperFirst.spec.ts +0 -41
  723. package/src/stringify.spec.ts +0 -33
  724. package/src/stringify.ts +0 -20
  725. package/src/test/index.ts +0 -4
  726. package/src/test/performance.ts +0 -92
  727. package/src/types.ts +0 -100
  728. package/src/u8a/cmp.spec.ts +0 -62
  729. package/src/u8a/cmp.ts +0 -50
  730. package/src/u8a/concat.spec.ts +0 -42
  731. package/src/u8a/concat.ts +0 -60
  732. package/src/u8a/concatBuffer.ts +0 -34
  733. package/src/u8a/empty.spec.ts +0 -46
  734. package/src/u8a/empty.ts +0 -22
  735. package/src/u8a/eq.spec.ts +0 -113
  736. package/src/u8a/eq.ts +0 -46
  737. package/src/u8a/fixLength.spec.ts +0 -34
  738. package/src/u8a/fixLength.ts +0 -34
  739. package/src/u8a/sorted.spec.ts +0 -20
  740. package/src/u8a/toBigInt.spec.ts +0 -106
  741. package/src/u8a/toBigInt.ts +0 -100
  742. package/src/u8a/toBn.spec.ts +0 -106
  743. package/src/u8a/toBn.ts +0 -101
  744. package/src/u8a/toBuffer.spec.ts +0 -20
  745. package/src/u8a/toFloat.spec.ts +0 -86
  746. package/src/u8a/toFloat.ts +0 -26
  747. package/src/u8a/toHex.spec.ts +0 -94
  748. package/src/u8a/toHex.ts +0 -68
  749. package/src/u8a/toHexBuffer.spec.ts +0 -63
  750. package/src/u8a/toHexBuffer.ts +0 -30
  751. package/src/u8a/toNumber.spec.ts +0 -47
  752. package/src/u8a/toNumber.ts +0 -80
  753. package/src/u8a/toString.spec.ts +0 -36
  754. package/src/u8a/toU8a.spec.ts +0 -63
  755. package/src/u8a/wrap.spec.ts +0 -139
  756. package/src/u8a/wrap.ts +0 -65
  757. package/tsconfig.build.json +0 -19
  758. package/tsconfig.spec.json +0 -17
@@ -1,53 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- /// <reference types="@polkadot/dev-test/globals.d.ts" />
5
-
6
- import { BN, bnToBn } from './index.js';
7
-
8
- describe('bnToBn', (): void => {
9
- it('converts null values to 0x00', (): void => {
10
- expect(
11
- bnToBn(null).toNumber()
12
- ).toEqual(0);
13
- });
14
-
15
- it('converts BN values to BN', (): void => {
16
- expect(
17
- bnToBn(new BN(128)).toNumber()
18
- ).toEqual(128);
19
- });
20
-
21
- it('converts BigInt values to BN', (): void => {
22
- expect(
23
- bnToBn(128821n).toNumber()
24
- ).toEqual(128821);
25
- });
26
-
27
- it('converts number values to BN', (): void => {
28
- expect(
29
- bnToBn(128).toNumber()
30
- ).toEqual(128);
31
- });
32
-
33
- it('converts string to BN', (): void => {
34
- expect(
35
- bnToBn('123').toNumber()
36
- ).toEqual(123);
37
- });
38
-
39
- it('converts hex to BN', (): void => {
40
- expect(
41
- bnToBn('0x0123').toNumber()
42
- ).toEqual(0x123);
43
- });
44
-
45
- it('converts Compact to BN', (): void => {
46
- expect(
47
- bnToBn({
48
- something: 'test',
49
- toBn: (): BN => new BN(1234)
50
- }).toNumber()
51
- ).toEqual(1234);
52
- });
53
- });
@@ -1,50 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- /// <reference types="@polkadot/dev-test/globals.d.ts" />
5
-
6
- import { BN, bnToHex } from './index.js';
7
-
8
- describe('bnToHex', (): void => {
9
- it('converts null values to 0x00', (): void => {
10
- expect(
11
- bnToHex(null)
12
- ).toBe('0x00');
13
- });
14
-
15
- it('converts null values to 0x00000000 (with bitLength)', (): void => {
16
- expect(
17
- bnToHex(null, { bitLength: 32 })
18
- ).toBe('0x00000000');
19
- });
20
-
21
- it('converts BN values to a prefixed hex representation', (): void => {
22
- expect(
23
- bnToHex(new BN(128))
24
- ).toBe('0x80');
25
- });
26
-
27
- it('converts BN values to a prefixed hex representation (bitLength)', (): void => {
28
- expect(
29
- bnToHex(new BN(128), { bitLength: 16 })
30
- ).toBe('0x0080');
31
- });
32
-
33
- it('converts BN values to a prefixed hex representation (LE)', (): void => {
34
- expect(
35
- bnToHex(new BN(128), { bitLength: 16, isLe: true })
36
- ).toBe('0x8000');
37
- });
38
-
39
- it('handles negative numbers', (): void => {
40
- expect(
41
- bnToHex(new BN(-1234), { isNegative: true })
42
- ).toBe('0xfb2e');
43
- });
44
-
45
- it('handles negative numbers (with bitLength)', (): void => {
46
- expect(
47
- bnToHex(new BN(-1234), { bitLength: 32, isNegative: true })
48
- ).toBe('0xfffffb2e');
49
- });
50
- });
@@ -1,60 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- /// <reference types="@polkadot/dev-test/globals.d.ts" />
5
-
6
- import { arrayRange } from '../array/index.js';
7
- import { TESTS } from '../bi/toU8a.spec.js';
8
- import { perf } from '../test/index.js';
9
- import { BN, bnToU8a } from './index.js';
10
-
11
- const ptest = arrayRange(65536).map((v) => [v]);
12
-
13
- describe('bnToU8a', (): void => {
14
- it('converts null values to 0x00', (): void => {
15
- expect(
16
- bnToU8a(null)
17
- ).toEqual(new Uint8Array(1));
18
- });
19
-
20
- it('converts null values to 0x00000000 (bitLength)', (): void => {
21
- expect(
22
- bnToU8a(null, { bitLength: 32 })
23
- ).toEqual(new Uint8Array([0, 0, 0, 0]));
24
- });
25
-
26
- it('converts BN values to a prefixed hex representation', (): void => {
27
- expect(
28
- bnToU8a(new BN(0x123456), { isLe: false })
29
- ).toEqual(new Uint8Array([0x12, 0x34, 0x56]));
30
- });
31
-
32
- it('converts BN values to a prefixed hex representation (bitLength)', (): void => {
33
- expect(
34
- bnToU8a(new BN(0x123456), { bitLength: 32, isLe: false })
35
- ).toEqual(new Uint8Array([0x00, 0x12, 0x34, 0x56]));
36
- });
37
-
38
- it('converts using little endian (as set)', (): void => {
39
- expect(
40
- bnToU8a(new BN(0x123456), { bitLength: 32, isLe: true })
41
- ).toEqual(new Uint8Array([0x56, 0x34, 0x12, 0x00]));
42
- });
43
-
44
- describe('conversion tests', (): void => {
45
- TESTS.forEach(([isLe, isNegative, numarr, strval], i): void => {
46
- const bitLength = numarr.length * 8;
47
-
48
- it(`#${i}: converts from ${strval} (bitLength=${bitLength}, isLe=${isLe}, isNegative=${isNegative})`, (): void => {
49
- expect(
50
- bnToU8a(
51
- new BN(strval),
52
- { bitLength, isLe, isNegative }
53
- )
54
- ).toEqual(new Uint8Array(numarr));
55
- });
56
- });
57
- });
58
-
59
- perf('bnToU8a', 250000, ptest, bnToU8a);
60
- });
package/src/bn/toU8a.ts DELETED
@@ -1,45 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import type { NumberOptions, ToBn } from '../types.js';
5
- import type { BN } from './bn.js';
6
-
7
- import { bnToBn } from './toBn.js';
8
-
9
- const DEFAULT_OPTS: NumberOptions = { bitLength: -1, isLe: true, isNegative: false };
10
-
11
- /**
12
- * @name bnToU8a
13
- * @summary Creates a Uint8Array object from a BN.
14
- * @description
15
- * `null`/`undefined`/`NaN` inputs returns an empty `Uint8Array` result. `BN` input values return the actual bytes value converted to a `Uint8Array`. Optionally convert using little-endian format if `isLE` is set.
16
- * @example
17
- * <BR>
18
- *
19
- * ```javascript
20
- * import { bnToU8a } from '@pezkuwi/util';
21
- *
22
- * bnToU8a(new BN(0x1234)); // => [0x12, 0x34]
23
- * ```
24
- */
25
- export function bnToU8a <ExtToBn extends ToBn> (value?: ExtToBn | BN | bigint | number | null, { bitLength = -1, isLe = true, isNegative = false } = DEFAULT_OPTS): Uint8Array {
26
- const valueBn = bnToBn(value);
27
- const byteLength = bitLength === -1
28
- ? Math.ceil(valueBn.bitLength() / 8)
29
- : Math.ceil((bitLength || 0) / 8);
30
-
31
- if (!value) {
32
- return bitLength === -1
33
- ? new Uint8Array(1)
34
- : new Uint8Array(byteLength);
35
- }
36
-
37
- const output = new Uint8Array(byteLength);
38
- const bn = isNegative
39
- ? valueBn.toTwos(byteLength * 8)
40
- : valueBn;
41
-
42
- output.set(bn.toArray(isLe ? 'le' : 'be', byteLength), 0);
43
-
44
- return output;
45
- }
@@ -1,20 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- /// <reference types="@polkadot/dev-test/globals.d.ts" />
5
-
6
- import { bufferToU8a } from './index.js';
7
-
8
- describe('bufferToU8a', (): void => {
9
- it('returns an empty buffer when null provided', (): void => {
10
- expect(
11
- bufferToU8a(null)
12
- ).toEqual(new Uint8Array());
13
- });
14
-
15
- it('returns a Uint8Buffer with the correct values', (): void => {
16
- expect(
17
- bufferToU8a(Buffer.from([128, 0, 10]))
18
- ).toEqual(new Uint8Array([128, 0, 10]));
19
- });
20
- });
@@ -1,14 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- /// <reference types="@polkadot/dev-test/globals.d.ts" />
5
-
6
- import { compactAddLength } from './index.js';
7
-
8
- describe('compactAddLength', (): void => {
9
- it('correctly adds the length prefix', (): void => {
10
- expect(
11
- compactAddLength(Uint8Array.from([12, 13]))
12
- ).toEqual(Uint8Array.from([2 << 2, 12, 13]));
13
- });
14
- });
@@ -1,7 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import type { BitLength } from './types.js';
5
-
6
- /** @internal */
7
- export const DEFAULT_BITLENGTH: BitLength = 32;
@@ -1,84 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- /// <reference types="@polkadot/dev-test/globals.d.ts" />
5
-
6
- import { BN } from '../bn/bn.js';
7
- import { hexToU8a } from '../hex/toU8a.js';
8
- import { perf } from '../test/index.js';
9
- import { compactFromU8a, compactFromU8aLim } from './index.js';
10
-
11
- describe('compactFromU8a', (): void => {
12
- it('decoded u8 value', (): void => {
13
- expect(
14
- compactFromU8a(new Uint8Array([0b11111100]))
15
- ).toEqual([1, new BN(63)]);
16
- });
17
-
18
- it('decodes from same u16 encoded value', (): void => {
19
- expect(
20
- compactFromU8a(new Uint8Array([0b11111101, 0b00000111])).toString()
21
- ).toEqual(
22
- [2, new BN(511)].toString()
23
- );
24
- });
25
-
26
- it('decodes from same u32 encoded value (short)', (): void => {
27
- expect(
28
- compactFromU8a(new Uint8Array([254, 255, 3, 0])).toString()
29
- ).toEqual(
30
- [4, new BN(0xffff)].toString()
31
- );
32
- });
33
-
34
- it('decodes from same u32 encoded value (short, max)', (): void => {
35
- expect(
36
- compactFromU8a(new Uint8Array([254, 255, 255, 255])).toString()
37
- ).toEqual(
38
- [4, new BN(1073741823)].toString()
39
- );
40
- });
41
-
42
- it('decodes from same u32 encoded value (full)', (): void => {
43
- expect(
44
- compactFromU8a(new Uint8Array([3, 249, 255, 255, 255]))
45
- ).toEqual([5, new BN(0xfffffff9)]);
46
- });
47
-
48
- it('decodes from same u32 as u64 encoded value (full, default)', (): void => {
49
- expect(
50
- compactFromU8a(new Uint8Array([3 + ((4 - 4) << 2), 249, 255, 255, 255]))
51
- ).toEqual([5, new BN(0xfffffff9)]);
52
- });
53
-
54
- it('decodes an actual value', (): void => {
55
- expect(
56
- compactFromU8a(
57
- hexToU8a('0x0b00407a10f35a')
58
- )
59
- ).toEqual([7, new BN('5af3107a4000', 16)]);
60
- });
61
-
62
- it('decodes an actual value (Buffer)', (): void => {
63
- expect(
64
- compactFromU8a(
65
- Buffer.from('0b00407a10f35a', 'hex')
66
- )
67
- ).toEqual([7, new BN('5af3107a4000', 16)]);
68
- });
69
-
70
- it('decodes an actual value (100000000)', (): void => {
71
- expect(
72
- compactFromU8a(
73
- hexToU8a('0x0284d717')
74
- )[1].toString()
75
- ).toEqual('100000000');
76
- });
77
-
78
- perf('compactFromU8a (u8)', 1_000_000, [[new Uint8Array([63 << 2])]], compactFromU8a);
79
- perf('compactFromU8a (u16)', 1_000_000, [[new Uint8Array([0b11111101, 0b00000111])]], compactFromU8a);
80
- perf('compactFromU8a (u32)', 1_000_000, [[new Uint8Array([254, 255, 3, 0])]], compactFromU8a);
81
- perf('compactFromU8aLim (u32)', 1_000_000, [[new Uint8Array([254, 255, 3, 0])]], compactFromU8aLim);
82
- perf('compactFromU8a (u48)', 1_000_000, [[hexToU8a('0x0b00407a10f35a')]], compactFromU8a);
83
- perf('compactFromU8a (u96)', 250_000, [[new Uint8Array([23, 52, 0x40, 0x7a, 0x10, 0xf3, 0x5a, 0, 0, 18])]], compactFromU8a);
84
- });
@@ -1,109 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import type { U8aLike } from '../types.js';
5
-
6
- import { BN } from '../bn/index.js';
7
- import { u8aToBn, u8aToU8a } from '../u8a/index.js';
8
-
9
- /**
10
- * @name compactFromU8a
11
- * @description Retrives the offset and encoded length from a compact-prefixed value
12
- * @example
13
- * <BR>
14
- *
15
- * ```javascript
16
- * import { compactFromU8a } from '@pezkuwi/util';
17
- *
18
- * const [offset, length] = compactFromU8a(new Uint8Array([254, 255, 3, 0]));
19
- *
20
- * console.log('value offset=', offset, 'length=', length); // 4, 0xffff
21
- * ```
22
- */
23
- export function compactFromU8a (input: U8aLike): [number, BN] {
24
- const u8a = u8aToU8a(input);
25
-
26
- // The u8a is manually converted here for 1, 2 & 4 lengths, it is 2x faster
27
- // than doing an additional call to u8aToBn (as with variable length)
28
- switch (u8a[0] & 0b11) {
29
- case 0b00:
30
- return [1, new BN(u8a[0] >>> 2)];
31
-
32
- case 0b01:
33
- return [2, new BN((u8a[0] + (u8a[1] << 8)) >>> 2)];
34
-
35
- case 0b10:
36
- // for the 3rd byte, we don't << 24 - since JS converts all bitwise operators to
37
- // 32-bit, in the case where the top-most bit is set this yields a negative value
38
- return [4, new BN((u8a[0] + (u8a[1] << 8) + (u8a[2] << 16) + (u8a[3] * 0x1_00_00_00)) >>> 2)];
39
-
40
- // 0b11
41
- default: {
42
- // add 5 to shifted (4 for base length, 1 for this byte)
43
- const offset = (u8a[0] >>> 2) + 5;
44
-
45
- // we unroll the loop
46
- switch (offset) {
47
- // there still could be 4 bytes data, similar to 0b10 above (with offsets)
48
- case 5:
49
- // for the 3rd byte, we don't << 24 - since JS converts all bitwise operators to
50
- // 32-bit, in the case where the top-most bit is set this yields a negative value
51
- return [5, new BN(u8a[1] + (u8a[2] << 8) + (u8a[3] << 16) + (u8a[4] * 0x1_00_00_00))];
52
-
53
- case 6:
54
- return [6, new BN(u8a[1] + (u8a[2] << 8) + (u8a[3] << 16) + ((u8a[4] + (u8a[5] << 8)) * 0x1_00_00_00))];
55
-
56
- // 6 bytes data is the maximum, 48 bits (56 would overflow)
57
- case 7:
58
- return [7, new BN(u8a[1] + (u8a[2] << 8) + (u8a[3] << 16) + ((u8a[4] + (u8a[5] << 8) + (u8a[6] << 16)) * 0x1_00_00_00))];
59
-
60
- // for anything else, use the non-unrolled version
61
- default:
62
- return [offset, u8aToBn(u8a.subarray(1, offset))];
63
- }
64
- }
65
- }
66
- }
67
-
68
- /**
69
- * @name compactFromU8aLim
70
- * @description A limited version of [[compactFromU8a]], accepting only Uint8Array inputs for values <= 48 bits
71
- */
72
- export function compactFromU8aLim (u8a: Uint8Array): [number, number] {
73
- // The u8a is manually converted here for 1, 2 & 4 lengths, it is 2x faster
74
- // than doing an additional call to u8aToBn (as with variable length)
75
- switch (u8a[0] & 0b11) {
76
- case 0b00:
77
- return [1, u8a[0] >>> 2];
78
-
79
- case 0b01:
80
- return [2, (u8a[0] + (u8a[1] << 8)) >>> 2];
81
-
82
- case 0b10:
83
- // for the 3rd byte, we don't << 24 - since JS converts all bitwise operators to
84
- // 32-bit, in the case where the top-most bit is set this yields a negative value
85
- return [4, (u8a[0] + (u8a[1] << 8) + (u8a[2] << 16) + (u8a[3] * 0x1_00_00_00)) >>> 2];
86
-
87
- // 0b11
88
- default: {
89
- // add 5 to shifted (4 for base length, 1 for this byte)
90
- // we unroll the loop
91
- switch ((u8a[0] >>> 2) + 5) {
92
- // there still could be 4 bytes data, similar to 0b10 above (with offsets)
93
- case 5:
94
- return [5, u8a[1] + (u8a[2] << 8) + (u8a[3] << 16) + (u8a[4] * 0x1_00_00_00)];
95
-
96
- case 6:
97
- return [6, u8a[1] + (u8a[2] << 8) + (u8a[3] << 16) + ((u8a[4] + (u8a[5] << 8)) * 0x1_00_00_00)];
98
-
99
- // 6 bytes data is the maximum, 48 bits (56 would overflow)
100
- case 7:
101
- return [7, u8a[1] + (u8a[2] << 8) + (u8a[3] << 16) + ((u8a[4] + (u8a[5] << 8) + (u8a[6] << 16)) * 0x1_00_00_00)];
102
-
103
- // for anything else, we are above the actual MAX_SAFE_INTEGER - bail out
104
- default:
105
- throw new Error('Compact input is > Number.MAX_SAFE_INTEGER');
106
- }
107
- }
108
- }
109
- }
@@ -1,17 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- /// <reference types="@polkadot/dev-test/globals.d.ts" />
5
-
6
- import { compactStripLength } from './index.js';
7
-
8
- describe('compactStripLength', (): void => {
9
- it('correctly removes the length prefix', (): void => {
10
- expect(
11
- compactStripLength(Uint8Array.from([2 << 2, 12, 13]))
12
- ).toEqual([
13
- 3,
14
- Uint8Array.from([12, 13])
15
- ]);
16
- });
17
- });
@@ -1,59 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- /// <reference types="@polkadot/dev-test/globals.d.ts" />
5
-
6
- import { BN } from '../bn/index.js';
7
- import { compactToU8a } from './index.js';
8
-
9
- const TESTS: [output: string | Uint8Array, input: BN | number][] = [
10
- // Rust tests
11
- // Copied from https://github.com/paritytech/parity-codec/blob/master/src/codec.rs
12
- ['00', new BN('0')],
13
- ['fc', new BN('63')],
14
- ['01 01', new BN('64')],
15
- ['fd ff', new BN('16383')],
16
- ['02 00 01 00', new BN('16384')],
17
- ['fe ff ff ff', new BN('1073741823')],
18
- ['03 00 00 00 40', new BN('1073741824')],
19
- ['03 ff ff ff ff', new BN(`${1}${'0'.repeat(32)}`, 2).subn(1)],
20
- ['07 00 00 00 00 01', new BN(`${1}${'0'.repeat(32)}`, 2)],
21
- ['0b 00 00 00 00 00 01', new BN(`${1}${'0'.repeat(40)}`, 2)],
22
- ['0f 00 00 00 00 00 00 01', new BN(`${1}${'0'.repeat(48)}`, 2)],
23
- ['0f ff ff ff ff ff ff ff', new BN(`${1}${'0'.repeat(56)}`, 2).subn(1)],
24
- ['13 00 00 00 00 00 00 00 01', new BN(`${1}${'0'.repeat(56)}`, 2)],
25
- ['13 ff ff ff ff ff ff ff ff', new BN(`${1}${'0'.repeat(64)}`, 2).subn(1)],
26
- // own tests
27
- [new Uint8Array([18 << 2]), 18],
28
- [new Uint8Array([0b11111100]), 63],
29
- [new Uint8Array([0xbd, 0x01]), 111],
30
- [new Uint8Array([0b11111101, 0b00000111]), 511],
31
- [new Uint8Array([253, 127]), 0x1fff],
32
- [new Uint8Array([254, 255, 3, 0]), 0xffff],
33
- [new Uint8Array([3 + ((4 - 4) << 2), 249, 255, 255, 255]), 0xfffffff9],
34
- [new Uint8Array([3 + ((6 - 4) << 2), 0x00, 0x40, 0x7a, 0x10, 0xf3, 0x5a]), new BN('00005af3107a4000', 16)],
35
- [new Uint8Array([23, 52, 0x40, 0x7a, 0x10, 0xf3, 0x5a, 0, 0, 18]), new BN('1200005af3107a4034', 16)]
36
- ];
37
-
38
- describe('encode', (): void => {
39
- it('does not modify the original', (): void => {
40
- const original = new BN(123456);
41
-
42
- expect(compactToU8a(original)).toEqual(new Uint8Array([2, 137, 7, 0]));
43
- expect(original.toString()).toEqual('123456');
44
- });
45
-
46
- describe('conversion tests', (): void => {
47
- TESTS.forEach(([output, input], i): void => {
48
- it(`#${i}: encodes ${input.toString()}`, (): void => {
49
- expect(
50
- compactToU8a(input)
51
- ).toEqual(
52
- output instanceof Uint8Array
53
- ? output
54
- : Uint8Array.from(output.split(' ').map((s) => parseInt(s, 16)))
55
- );
56
- });
57
- });
58
- });
59
- });
@@ -1,53 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import { BN, BN_ONE, BN_TWO, bnToBn, bnToU8a } from '../bn/index.js';
5
- import { u8aConcatStrict } from '../u8a/index.js';
6
-
7
- const MAX_U8 = BN_TWO.pow(new BN(8 - 2)).isub(BN_ONE);
8
- const MAX_U16 = BN_TWO.pow(new BN(16 - 2)).isub(BN_ONE);
9
- const MAX_U32 = BN_TWO.pow(new BN(32 - 2)).isub(BN_ONE);
10
- const BL_16 = { bitLength: 16 };
11
- const BL_32 = { bitLength: 32 };
12
-
13
- /**
14
- * @name compactToU8a
15
- * @description Encodes a number into a compact representation
16
- * @example
17
- * <BR>
18
- *
19
- * ```javascript
20
- * import { compactToU8a } from '@pezkuwi/util';
21
- *
22
- * console.log(compactToU8a(511, 32)); // Uint8Array([0b11111101, 0b00000111])
23
- * ```
24
- */
25
- export function compactToU8a (value: BN | bigint | number): Uint8Array {
26
- const bn = bnToBn(value);
27
-
28
- if (bn.lte(MAX_U8)) {
29
- return new Uint8Array([bn.toNumber() << 2]);
30
- } else if (bn.lte(MAX_U16)) {
31
- return bnToU8a(bn.shln(2).iadd(BN_ONE), BL_16);
32
- } else if (bn.lte(MAX_U32)) {
33
- return bnToU8a(bn.shln(2).iadd(BN_TWO), BL_32);
34
- }
35
-
36
- const u8a = bnToU8a(bn);
37
- let length = u8a.length;
38
-
39
- // adjust to the minimum number of bytes
40
- while (u8a[length - 1] === 0) {
41
- length--;
42
- }
43
-
44
- if (length < 4) {
45
- throw new Error('Invalid length, previous checks match anything less than 2^30');
46
- }
47
-
48
- return u8aConcatStrict([
49
- // subtract 4 as minimum (also catered for in decoding)
50
- new Uint8Array([((length - 4) << 2) + 0b11]),
51
- u8a.subarray(0, length)
52
- ]);
53
- }
@@ -1,4 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- export type BitLength = 8 | 16 | 32 | 64 | 128 | 256;