@pezkuwi/util 14.0.1 → 14.0.4

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
package/src/u8a/toBn.ts DELETED
@@ -1,101 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import type { ToBnOptions } from '../types.js';
5
-
6
- import { BN } from '../bn/bn.js';
7
-
8
- /**
9
- * @name u8aToBn
10
- * @summary Creates a BN from a Uint8Array object.
11
- * @description
12
- * `UInt8Array` input values return the actual BN. `null` or `undefined` values returns an `0x0` value.
13
- * @param value The value to convert
14
- * @param options Options to pass while converting
15
- * @param options.isLe Convert using Little Endian (default)
16
- * @param options.isNegative Convert using two's complement
17
- * @example
18
- * <BR>
19
- *
20
- * ```javascript
21
- * import { u8aToBn } from '@pezkuwi/util';
22
- *
23
- * u8aToHex(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0xf])); // 0x68656c0f
24
- * ```
25
- */
26
- export function u8aToBn (value: Uint8Array, { isLe = true, isNegative = false }: ToBnOptions = {}): BN {
27
- // slice + reverse is expensive, however SCALE is LE by default so this is the path
28
- // we are most interested in (the BE is added for the sake of being comprehensive)
29
- if (!isLe) {
30
- value = value.slice().reverse();
31
- }
32
-
33
- const count = value.length;
34
-
35
- // shortcut for <= u48 values - in this case the manual conversion
36
- // here seems to be more efficient than passing the full array
37
- if (isNegative && count && (value[count - 1] & 0x80)) {
38
- // Most common case i{8, 16, 32} default LE SCALE-encoded
39
- // For <= 32, we also optimize the xor to a single op
40
- switch (count) {
41
- case 0:
42
- return new BN(0);
43
-
44
- case 1:
45
- return new BN(((value[0] ^ 0x0000_00ff) * -1) - 1);
46
-
47
- case 2:
48
- return new BN((((value[0] + (value[1] << 8)) ^ 0x0000_ffff) * -1) - 1);
49
-
50
- case 3:
51
- return new BN((((value[0] + (value[1] << 8) + (value[2] << 16)) ^ 0x00ff_ffff) * -1) - 1);
52
-
53
- case 4:
54
- // for the 3rd byte, we don't << 24 - since JS converts all bitwise operators to
55
- // 32-bit, in the case where the top-most bit is set this yields a negative value
56
- return new BN((((value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00)) ^ 0xffff_ffff) * -1) - 1);
57
-
58
- case 5:
59
- return new BN(((((value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00)) ^ 0xffff_ffff) + ((value[4] ^ 0xff) * 0x1_00_00_00_00)) * -1) - 1);
60
-
61
- case 6:
62
- return new BN(((((value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00)) ^ 0xffff_ffff) + (((value[4] + (value[5] << 8)) ^ 0x0000_ffff) * 0x1_00_00_00_00)) * -1) - 1);
63
-
64
- default:
65
- return new BN(value, 'le').fromTwos(count * 8);
66
- }
67
- }
68
-
69
- // Most common case - u{8, 16, 32} default LE SCALE-encoded
70
- //
71
- // There are some slight benefits in unrolling this specific loop,
72
- // however it comes with diminishing returns since here the actual
73
- // `new BN` does seem to take up the bulk of the time
74
- switch (count) {
75
- case 0:
76
- return new BN(0);
77
-
78
- case 1:
79
- return new BN(value[0]);
80
-
81
- case 2:
82
- return new BN(value[0] + (value[1] << 8));
83
-
84
- case 3:
85
- return new BN(value[0] + (value[1] << 8) + (value[2] << 16));
86
-
87
- case 4:
88
- // for the 3rd byte, we don't << 24 - since JS converts all bitwise operators to
89
- // 32-bit, in the case where the top-most bit is set this yields a negative value
90
- return new BN(value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00));
91
-
92
- case 5:
93
- return new BN(value[0] + (value[1] << 8) + (value[2] << 16) + ((value[3] + (value[4] << 8)) * 0x1_00_00_00));
94
-
95
- case 6:
96
- return new BN(value[0] + (value[1] << 8) + (value[2] << 16) + ((value[3] + (value[4] << 8) + (value[5] << 16)) * 0x1_00_00_00));
97
-
98
- default:
99
- return new BN(value, 'le');
100
- }
101
- }
@@ -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 { u8aToBuffer } from './index.js';
7
-
8
- describe('u8aToBuffer', (): void => {
9
- it('returns [] when the buffer is null', (): void => {
10
- expect(
11
- u8aToBuffer(null)
12
- ).toEqual(Buffer.from([]));
13
- });
14
-
15
- it('returns the Buffer value for the Uint8Array', (): void => {
16
- expect(
17
- u8aToBuffer(new Uint8Array([128, 0, 10]))
18
- ).toEqual(Buffer.from([128, 0, 10]));
19
- });
20
- });
@@ -1,86 +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 { hexToU8a } from '../hex/index.js';
7
- import { u8aToFloat } from './index.js';
8
-
9
- describe('u8aToFloat', (): void => {
10
- it('throws on invalid bitLength', (): void => {
11
- expect(
12
- () => u8aToFloat(hexToU8a('0x00000000'), { bitLength: 48 as 32 })
13
- ).toThrow();
14
- });
15
-
16
- it('throws on invalid input length', (): void => {
17
- expect(
18
- () => u8aToFloat(new Uint8Array())
19
- ).toThrow();
20
- });
21
-
22
- describe('32-bit', (): void => {
23
- it('correctly decodes +0.0', (): void => {
24
- expect(
25
- u8aToFloat(hexToU8a('0x00000000'))
26
- ).toEqual(+0.0);
27
- });
28
-
29
- it('correctly decodes -0.0', (): void => {
30
- expect(
31
- u8aToFloat(hexToU8a('0x00000080'))
32
- ).toEqual(-0.0);
33
- });
34
-
35
- it('correctly decodes -0.0 (BE)', (): void => {
36
- expect(
37
- u8aToFloat(hexToU8a('0x80000000'), { isLe: false })
38
- ).toEqual(-0.0);
39
- });
40
-
41
- it('decoded NaN', (): void => {
42
- expect(
43
- u8aToFloat(hexToU8a('0x0000c07f'))
44
- ).toEqual(Number.NaN);
45
- });
46
-
47
- // https://www.h-schmidt.net/FloatConverter/IEEE754.html
48
- it('decodes a known number', (): void => {
49
- expect(
50
- u8aToFloat(hexToU8a('0x79e9f642')).toFixed(3)
51
- ).toEqual('123.456');
52
- });
53
-
54
- it('decodes a known number (BE)', (): void => {
55
- expect(
56
- u8aToFloat(hexToU8a('0x42f6e979'), { isLe: false }).toFixed(3)
57
- ).toEqual('123.456');
58
- });
59
- });
60
-
61
- describe('64-bit', (): void => {
62
- it('correctly decodes +0.0', (): void => {
63
- expect(
64
- u8aToFloat(hexToU8a('0x0000000000000000'), { bitLength: 64 })
65
- ).toEqual(+0.0);
66
- });
67
-
68
- it('correctly decodes -0.0', (): void => {
69
- expect(
70
- u8aToFloat(hexToU8a('0x0000000000000080'), { bitLength: 64 })
71
- ).toEqual(-0.0);
72
- });
73
-
74
- it('correctly decodes -0.0 (BE)', (): void => {
75
- expect(
76
- u8aToFloat(hexToU8a('0x8000000000000000'), { bitLength: 64, isLe: false })
77
- ).toEqual(-0.0);
78
- });
79
-
80
- it('correctly decodes NaN', (): void => {
81
- expect(
82
- u8aToFloat(hexToU8a('0x000000000000f87f'), { bitLength: 64 })
83
- ).toEqual(Number.NaN);
84
- });
85
- });
86
- });
@@ -1,26 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- interface Options {
5
- bitLength?: 32 | 64;
6
- isLe?: boolean;
7
- }
8
-
9
- /**
10
- * @name u8aToFloat
11
- * @description Converts a Uint8Array value into the float (either 32 or 64-bit)
12
- * representation.
13
- */
14
- export function u8aToFloat (value: Uint8Array, { bitLength = 32, isLe = true }: Options = {}): number {
15
- if (bitLength !== 32 && bitLength !== 64) {
16
- throw new Error('Invalid bitLength provided, expected 32 or 64');
17
- } else if (value.length < (bitLength / 8)) {
18
- throw new Error(`Invalid input buffer provided, expected at least ${bitLength / 8} bytes, found ${value.length}`);
19
- }
20
-
21
- const dv = new DataView(value.buffer, value.byteOffset);
22
-
23
- return bitLength === 32
24
- ? dv.getFloat32(0, isLe)
25
- : dv.getFloat64(0, isLe);
26
- }
@@ -1,94 +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 { perfCmp } from '../test/index.js';
7
- import { u8aToHex } from './index.js';
8
- import { u8aToHex as u8aToHexBuffer } from './toHexBuffer.js';
9
-
10
- const ptest32k = new Uint8Array(32768);
11
- const ptest256 = new Uint8Array(256);
12
-
13
- for (let i = 0, count = ptest32k.length; i < count; i++) {
14
- if (i < ptest256.length) {
15
- ptest256[1] = i % 256;
16
- }
17
-
18
- ptest32k[i] = i % 256;
19
- }
20
-
21
- describe('u8aToHex', (): void => {
22
- it('returns empty as 0x', (): void => {
23
- expect(
24
- u8aToHex()
25
- ).toEqual('0x');
26
- });
27
-
28
- it('returns empty as "" (unprefixed)', (): void => {
29
- expect(
30
- u8aToHex(null, -1, false)
31
- ).toEqual('');
32
- });
33
-
34
- it('returns the hex value for the array', (): void => {
35
- expect(
36
- u8aToHex(
37
- new Uint8Array([128, 0, 10])
38
- )
39
- ).toEqual('0x80000a');
40
- });
41
-
42
- it('returns the hex value for the array (unprefixed)', (): void => {
43
- expect(
44
- u8aToHex(
45
- new Uint8Array([128, 0, 10]),
46
- -1,
47
- false
48
- )
49
- ).toEqual('80000a');
50
- });
51
-
52
- it('handles starting zeros correctly', (): void => {
53
- expect(
54
- u8aToHex(
55
- new Uint8Array([0, 1, 0, 0, 0, 0, 0, 0])
56
- )
57
- ).toEqual('0x0001000000000000');
58
- });
59
-
60
- it('returns the hex value where allowed < max', (): void => {
61
- expect(
62
- u8aToHex(
63
- new Uint8Array(Uint8Array.from([128, 0, 10, 11]), 64)
64
- )
65
- ).toEqual('0x80000a0b');
66
- });
67
-
68
- it('returns the trimmed hex value where allowed >= max', (): void => {
69
- expect(
70
- u8aToHex(
71
- new Uint8Array([128, 0, 10, 11, 12, 13]),
72
- 32
73
- )
74
- ).toEqual('0x8000…0c0d');
75
- });
76
-
77
- it('converts known bytes to their correct values', (): void => {
78
- expect(
79
- // hello world
80
- u8aToHex(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64]))
81
- ).toEqual('0x68656c6c6f20776f726c64');
82
- });
83
-
84
- perfCmp('u8aToHex (32k)', ['u8aToHexBuffer', 'u8aToHex'], 1000, [[ptest32k]], (s: Uint8Array, isSecond) =>
85
- isSecond
86
- ? u8aToHex(s)
87
- : u8aToHexBuffer(s)
88
- );
89
- perfCmp('u8aToHex (128)', ['u8aToHexBuffer', 'u8aToHex'], 200_000, [[ptest256]], (s: Uint8Array, isSecond) =>
90
- isSecond
91
- ? u8aToHex(s)
92
- : u8aToHexBuffer(s)
93
- );
94
- });
package/src/u8a/toHex.ts DELETED
@@ -1,68 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import type { HexString } from '../types.js';
5
-
6
- const U8 = new Array<string>(256);
7
- const U16 = new Array<string>(256 * 256);
8
-
9
- for (let n = 0; n < 256; n++) {
10
- U8[n] = n.toString(16).padStart(2, '0');
11
- }
12
-
13
- for (let i = 0; i < 256; i++) {
14
- const s = i << 8;
15
-
16
- for (let j = 0; j < 256; j++) {
17
- U16[s | j] = U8[i] + U8[j];
18
- }
19
- }
20
-
21
- /** @internal */
22
- function hex (value: Uint8Array, result: HexString): HexString {
23
- const mod = (value.length % 2) | 0;
24
- const length = (value.length - mod) | 0;
25
-
26
- for (let i = 0; i < length; i += 2) {
27
- result += U16[(value[i] << 8) | value[i + 1]];
28
- }
29
-
30
- if (mod) {
31
- result += U8[value[length] | 0];
32
- }
33
-
34
- return result;
35
- }
36
-
37
- /**
38
- * @name u8aToHex
39
- * @summary Creates a hex string from a Uint8Array object.
40
- * @description
41
- * `UInt8Array` input values return the actual hex string. `null` or `undefined` values returns an `0x` string.
42
- * @example
43
- * <BR>
44
- *
45
- * ```javascript
46
- * import { u8aToHex } from '@pezkuwi/util';
47
- *
48
- * u8aToHex(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0xf])); // 0x68656c0f
49
- * ```
50
- */
51
- export function u8aToHex (value?: Uint8Array | null, bitLength = -1, isPrefixed = true): HexString {
52
- // this is not 100% correct sinmce we support isPrefixed = false....
53
- const empty = isPrefixed
54
- ? '0x'
55
- : '' as HexString;
56
-
57
- if (!value?.length) {
58
- return empty;
59
- } else if (bitLength > 0) {
60
- const length = Math.ceil(bitLength / 8);
61
-
62
- if (value.length > length) {
63
- return `${hex(value.subarray(0, length / 2), empty)}…${hex(value.subarray(value.length - length / 2), '' as HexString)}`;
64
- }
65
- }
66
-
67
- return hex(value, empty);
68
- }
@@ -1,63 +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 { u8aToHex } from './toHexBuffer.js';
7
-
8
- describe('u8aToHex', (): void => {
9
- it('returns empty as 0x', (): void => {
10
- expect(
11
- u8aToHex()
12
- ).toEqual('0x');
13
- });
14
-
15
- it('returns empty as "" (unprefixed)', (): void => {
16
- expect(
17
- u8aToHex(null, -1, false)
18
- ).toEqual('');
19
- });
20
-
21
- it('returns the hex value for the array', (): void => {
22
- expect(
23
- u8aToHex(
24
- new Uint8Array([128, 0, 10])
25
- )
26
- ).toEqual('0x80000a');
27
- });
28
-
29
- it('returns the hex value for the array (unprefixed)', (): void => {
30
- expect(
31
- u8aToHex(
32
- new Uint8Array([128, 0, 10]),
33
- -1,
34
- false
35
- )
36
- ).toEqual('80000a');
37
- });
38
-
39
- it('handles starting zeros correctly', (): void => {
40
- expect(
41
- u8aToHex(
42
- new Uint8Array([0, 1, 0, 0, 0, 0, 0, 0])
43
- )
44
- ).toEqual('0x0001000000000000');
45
- });
46
-
47
- it('returns the hex value where allowed < max', (): void => {
48
- expect(
49
- u8aToHex(
50
- new Uint8Array(Uint8Array.from([128, 0, 10, 11]), 64)
51
- )
52
- ).toEqual('0x80000a0b');
53
- });
54
-
55
- it('returns the trimmed hex value where allowed >= max', (): void => {
56
- expect(
57
- u8aToHex(
58
- new Uint8Array([128, 0, 10, 11, 12, 13]),
59
- 32
60
- )
61
- ).toEqual('0x8000…0c0d');
62
- });
63
- });
@@ -1,30 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import type { HexString } from '../types.js';
5
-
6
- /**
7
- * @name u8aToHex
8
- * @summary Creates a hex string from a Uint8Array object.
9
- * @description
10
- * `UInt8Array` input values return the actual hex string. `null` or `undefined` values returns an `0x` string.
11
- * @example
12
- * <BR>
13
- *
14
- * ```javascript
15
- * import { u8aToHex } from '@pezkuwi/util';
16
- *
17
- * u8aToHex(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0xf])); // 0x68656c0f
18
- * ```
19
- */
20
- export function u8aToHex (value?: Uint8Array | null, bitLength = -1, isPrefixed = true): HexString {
21
- const length = Math.ceil(bitLength / 8);
22
-
23
- return `${isPrefixed ? '0x' : ''}${
24
- !value?.length
25
- ? ''
26
- : (bitLength > 0 && value.length > length)
27
- ? `${Buffer.from(value.subarray(0, length / 2)).toString('hex')}…${Buffer.from(value.subarray(value.length - length / 2)).toString('hex')}`
28
- : Buffer.from(value).toString('hex')
29
- }` as HexString;
30
- }
@@ -1,47 +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 { TESTS } from '../bi/toU8a.spec.js';
7
- import { perf } from '../test/index.js';
8
- import { u8aToNumber } from './index.js';
9
-
10
- const TESTS_NUM = TESTS.filter(([,, numarr]) => numarr.length <= 6);
11
-
12
- describe('u8aToNumber', (): void => {
13
- describe('empty creation', (): void => {
14
- it('handles unsigned (le)', (): void => {
15
- expect(
16
- u8aToNumber(
17
- new Uint8Array()
18
- )
19
- ).toBe(0);
20
- });
21
-
22
- it('handles signed (le)', (): void => {
23
- expect(
24
- u8aToNumber(
25
- new Uint8Array(),
26
- { isNegative: true }
27
- )
28
- ).toBe(0);
29
- });
30
- });
31
-
32
- describe('conversion tests', (): void => {
33
- TESTS_NUM.forEach(([isLe, isNegative, numarr, strval], i): void => {
34
- it(`#${i}: creates ${strval} (bitLength=${numarr.length * 8}, isLe=${isLe}, isNegative=${isNegative})`, (): void => {
35
- expect(
36
- u8aToNumber(
37
- new Uint8Array(numarr),
38
- { isLe, isNegative }
39
- ).toString()
40
- ).toBe(strval);
41
- });
42
- });
43
- });
44
-
45
- perf('u8aToNumber (i32)', 750_000, [[new Uint8Array([0x9c, 0x9c, 0x9c, 0x9c])]], (v: Uint8Array) => u8aToNumber(v, { isNegative: true }));
46
- perf('u8aToNumber (u32)', 750_000, [[new Uint8Array([0x68, 0x65, 0x6c, 0x6c])]], u8aToNumber);
47
- });
@@ -1,80 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import type { ToBnOptions } from '../types.js';
5
-
6
- /**
7
- * @name u8aToNumber
8
- * @summary Creates a number from a Uint8Array object.
9
- */
10
- export function u8aToNumber (value: Uint8Array, { isLe = true, isNegative = false }: ToBnOptions = {}): number {
11
- // slice + reverse is expensive, however SCALE is LE by default so this is the path
12
- // we are most interested in (the BE is added for the sake of being comprehensive)
13
- if (!isLe) {
14
- value = value.slice().reverse();
15
- }
16
-
17
- const count = value.length;
18
-
19
- // When the value is a i{8, 16, 24, 32, 40, 40} values and the top-most bit
20
- // indicates a signed value, we use a two's complement conversion. If one of these
21
- // flags are not set, we just do a normal unsigned conversion (the same shortcut
22
- // applies in both the u8aTo{BigInt, Bn} conversions as well)
23
- if (isNegative && count && (value[count - 1] & 0x80)) {
24
- switch (count) {
25
- case 0:
26
- return 0;
27
-
28
- case 1:
29
- return (((value[0] ^ 0x0000_00ff) * -1) - 1);
30
-
31
- case 2:
32
- return ((((value[0] + (value[1] << 8)) ^ 0x0000_ffff) * -1) - 1);
33
-
34
- case 3:
35
- return ((((value[0] + (value[1] << 8) + (value[2] << 16)) ^ 0x00ff_ffff) * -1) - 1);
36
-
37
- case 4:
38
- // for the 3rd byte, we don't << 24 - since JS converts all bitwise operators to
39
- // 32-bit, in the case where the top-most bit is set this yields a negative value
40
- return ((((value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00)) ^ 0xffff_ffff) * -1) - 1);
41
-
42
- case 5:
43
- return (((((value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00)) ^ 0xffff_ffff) + ((value[4] ^ 0xff) * 0x1_00_00_00_00)) * -1) - 1);
44
-
45
- case 6:
46
- return (((((value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00)) ^ 0xffff_ffff) + (((value[4] + (value[5] << 8)) ^ 0x0000_ffff) * 0x1_00_00_00_00)) * -1) - 1);
47
-
48
- default:
49
- throw new Error('Value more than 48-bits cannot be reliably converted');
50
- }
51
- }
52
-
53
- switch (count) {
54
- case 0:
55
- return 0;
56
-
57
- case 1:
58
- return value[0];
59
-
60
- case 2:
61
- return value[0] + (value[1] << 8);
62
-
63
- case 3:
64
- return value[0] + (value[1] << 8) + (value[2] << 16);
65
-
66
- case 4:
67
- // for the 3rd byte, we don't << 24 - since JS converts all bitwise operators to
68
- // 32-bit, in the case where the top-most bit is set this yields a negative value
69
- return value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00);
70
-
71
- case 5:
72
- return value[0] + (value[1] << 8) + (value[2] << 16) + ((value[3] + (value[4] << 8)) * 0x1_00_00_00);
73
-
74
- case 6:
75
- return value[0] + (value[1] << 8) + (value[2] << 16) + ((value[3] + (value[4] << 8) + (value[5] << 16)) * 0x1_00_00_00);
76
-
77
- default:
78
- throw new Error('Value more than 48-bits cannot be reliably converted');
79
- }
80
- }
@@ -1,36 +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 { u8aToString } from './index.js';
7
-
8
- describe('u8aToString', (): void => {
9
- it('decodes to an empty string for undefined', (): void => {
10
- expect(
11
- u8aToString()
12
- ).toEqual('');
13
- });
14
-
15
- it('decodes to an empty string for empty buffer', (): void => {
16
- expect(
17
- u8aToString(new Uint8Array())
18
- ).toEqual('');
19
- });
20
-
21
- it('decodes the Uint8Array correctly (ru)', (): void => {
22
- expect(
23
- u8aToString(
24
- new Uint8Array([208, 159, 209, 128, 208, 184, 208, 178, 208, 181, 209, 130, 44, 32, 208, 188, 208, 184, 209, 128, 33])
25
- )
26
- ).toEqual('Привет, мир!');
27
- });
28
-
29
- it('decodes the Uint8Array correctly (en)', (): void => {
30
- expect(
31
- u8aToString(
32
- new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64])
33
- )
34
- ).toEqual('hello world');
35
- });
36
- });