@pezkuwi/util 14.0.10 → 14.0.12

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 (570) hide show
  1. package/array/chunk.d.ts +15 -0
  2. package/array/chunk.js +27 -0
  3. package/array/filter.d.ts +16 -0
  4. package/array/filter.js +19 -0
  5. package/array/flatten.d.ts +15 -0
  6. package/array/flatten.js +39 -0
  7. package/array/index.d.ts +10 -0
  8. package/array/index.js +10 -0
  9. package/array/range.d.ts +16 -0
  10. package/array/range.js +25 -0
  11. package/array/shuffle.d.ts +5 -0
  12. package/array/shuffle.js +19 -0
  13. package/array/unzip.d.ts +5 -0
  14. package/array/unzip.js +13 -0
  15. package/array/zip.d.ts +5 -0
  16. package/array/zip.js +12 -0
  17. package/assert.d.ts +29 -0
  18. package/assert.js +39 -0
  19. package/bi/consts.d.ts +90 -0
  20. package/bi/consts.js +91 -0
  21. package/bi/helpers.d.ts +2 -0
  22. package/bi/helpers.js +16 -0
  23. package/bi/index.d.ts +9 -0
  24. package/bi/index.js +9 -0
  25. package/bi/min.d.ts +10 -0
  26. package/bi/min.js +11 -0
  27. package/bi/sqrt.d.ts +7 -0
  28. package/bi/sqrt.js +29 -0
  29. package/bi/toBigInt.d.ts +7 -0
  30. package/bi/toBigInt.js +25 -0
  31. package/bi/toHex.d.ts +7 -0
  32. package/bi/toHex.js +9 -0
  33. package/bi/toU8a.d.ts +7 -0
  34. package/bi/toU8a.js +49 -0
  35. package/bn/bn.d.ts +2 -0
  36. package/bn/bn.js +2 -0
  37. package/bn/consts.d.ts +91 -0
  38. package/bn/consts.js +91 -0
  39. package/bn/fromHex.d.ts +1 -0
  40. package/bn/fromHex.js +1 -0
  41. package/bn/index.d.ts +11 -0
  42. package/bn/index.js +11 -0
  43. package/bn/min.d.ts +29 -0
  44. package/bn/min.js +29 -0
  45. package/bn/sqrt.d.ts +16 -0
  46. package/bn/sqrt.js +38 -0
  47. package/bn/toBn.d.ts +19 -0
  48. package/bn/toBn.js +37 -0
  49. package/bn/toHex.d.ts +18 -0
  50. package/bn/toHex.js +20 -0
  51. package/bn/toU8a.d.ts +17 -0
  52. package/bn/toU8a.js +33 -0
  53. package/buffer/index.d.ts +4 -0
  54. package/buffer/index.js +4 -0
  55. package/buffer/toU8a.d.ts +15 -0
  56. package/buffer/toU8a.js +17 -0
  57. package/build/bundle-pezkuwi-util.js +148 -127
  58. package/build/cjs/packageInfo.js +1 -1
  59. package/build/cjs/u8a/wrap.d.ts +3 -3
  60. package/build/package.json +8 -8
  61. package/build/packageInfo.js +1 -1
  62. package/build/u8a/wrap.d.ts +3 -3
  63. package/build-deno/packageInfo.ts +1 -1
  64. package/build-tsc/u8a/wrap.d.ts +3 -3
  65. package/build-tsc-cjs/packageInfo.js +1 -1
  66. package/build-tsc-esm/packageInfo.js +1 -1
  67. package/bundle-pezkuwi-util.js +4830 -0
  68. package/bundle.d.ts +28 -0
  69. package/bundle.js +28 -0
  70. package/cjs/array/chunk.d.ts +15 -0
  71. package/cjs/array/chunk.js +30 -0
  72. package/cjs/array/filter.d.ts +16 -0
  73. package/cjs/array/filter.js +22 -0
  74. package/cjs/array/flatten.d.ts +15 -0
  75. package/cjs/array/flatten.js +42 -0
  76. package/cjs/array/index.d.ts +10 -0
  77. package/cjs/array/index.js +20 -0
  78. package/cjs/array/range.d.ts +16 -0
  79. package/cjs/array/range.js +28 -0
  80. package/cjs/array/shuffle.d.ts +5 -0
  81. package/cjs/array/shuffle.js +22 -0
  82. package/cjs/array/unzip.d.ts +5 -0
  83. package/cjs/array/unzip.js +16 -0
  84. package/cjs/array/zip.d.ts +5 -0
  85. package/cjs/array/zip.js +15 -0
  86. package/cjs/assert.d.ts +29 -0
  87. package/cjs/assert.js +44 -0
  88. package/cjs/bi/consts.d.ts +90 -0
  89. package/cjs/bi/consts.js +94 -0
  90. package/cjs/bi/helpers.d.ts +2 -0
  91. package/cjs/bi/helpers.js +19 -0
  92. package/cjs/bi/index.d.ts +9 -0
  93. package/cjs/bi/index.js +19 -0
  94. package/cjs/bi/min.d.ts +10 -0
  95. package/cjs/bi/min.js +14 -0
  96. package/cjs/bi/sqrt.d.ts +7 -0
  97. package/cjs/bi/sqrt.js +32 -0
  98. package/cjs/bi/toBigInt.d.ts +7 -0
  99. package/cjs/bi/toBigInt.js +28 -0
  100. package/cjs/bi/toHex.d.ts +7 -0
  101. package/cjs/bi/toHex.js +12 -0
  102. package/cjs/bi/toU8a.d.ts +7 -0
  103. package/cjs/bi/toU8a.js +52 -0
  104. package/cjs/bn/bn.d.ts +2 -0
  105. package/cjs/bn/bn.js +6 -0
  106. package/cjs/bn/consts.d.ts +91 -0
  107. package/cjs/bn/consts.js +94 -0
  108. package/cjs/bn/fromHex.d.ts +1 -0
  109. package/cjs/bn/fromHex.js +5 -0
  110. package/cjs/bn/index.d.ts +11 -0
  111. package/cjs/bn/index.js +23 -0
  112. package/cjs/bn/min.d.ts +29 -0
  113. package/cjs/bn/min.js +32 -0
  114. package/cjs/bn/sqrt.d.ts +16 -0
  115. package/cjs/bn/sqrt.js +41 -0
  116. package/cjs/bn/toBn.d.ts +19 -0
  117. package/cjs/bn/toBn.js +40 -0
  118. package/cjs/bn/toHex.d.ts +18 -0
  119. package/cjs/bn/toHex.js +23 -0
  120. package/cjs/bn/toU8a.d.ts +17 -0
  121. package/cjs/bn/toU8a.js +36 -0
  122. package/cjs/buffer/index.d.ts +4 -0
  123. package/cjs/buffer/index.js +8 -0
  124. package/cjs/buffer/toU8a.d.ts +15 -0
  125. package/cjs/buffer/toU8a.js +20 -0
  126. package/cjs/bundle.d.ts +28 -0
  127. package/cjs/bundle.js +33 -0
  128. package/cjs/compact/addLength.d.ts +13 -0
  129. package/cjs/compact/addLength.js +23 -0
  130. package/cjs/compact/defaults.d.ts +3 -0
  131. package/cjs/compact/defaults.js +5 -0
  132. package/cjs/compact/fromU8a.d.ts +22 -0
  133. package/cjs/compact/fromU8a.js +92 -0
  134. package/cjs/compact/index.d.ts +24 -0
  135. package/cjs/compact/index.js +32 -0
  136. package/cjs/compact/stripLength.d.ts +13 -0
  137. package/cjs/compact/stripLength.js +24 -0
  138. package/cjs/compact/toU8a.d.ts +14 -0
  139. package/cjs/compact/toU8a.js +48 -0
  140. package/cjs/compact/types.d.ts +1 -0
  141. package/cjs/compact/types.js +2 -0
  142. package/cjs/detectPackage.d.ts +17 -0
  143. package/cjs/detectPackage.js +100 -0
  144. package/cjs/extractTime.d.ts +14 -0
  145. package/cjs/extractTime.js +56 -0
  146. package/cjs/float/index.d.ts +1 -0
  147. package/cjs/float/index.js +5 -0
  148. package/cjs/float/toU8a.d.ts +11 -0
  149. package/cjs/float/toU8a.js +22 -0
  150. package/cjs/format/formatBalance.d.ts +54 -0
  151. package/cjs/format/formatBalance.js +88 -0
  152. package/cjs/format/formatDate.d.ts +5 -0
  153. package/cjs/format/formatDate.js +20 -0
  154. package/cjs/format/formatDecimal.d.ts +5 -0
  155. package/cjs/format/formatDecimal.js +19 -0
  156. package/cjs/format/formatElapsed.d.ts +7 -0
  157. package/cjs/format/formatElapsed.js +30 -0
  158. package/cjs/format/formatNumber.d.ts +14 -0
  159. package/cjs/format/formatNumber.js +14 -0
  160. package/cjs/format/getSeparator.d.ts +9 -0
  161. package/cjs/format/getSeparator.js +14 -0
  162. package/cjs/format/index.d.ts +6 -0
  163. package/cjs/format/index.js +16 -0
  164. package/cjs/format/si.d.ts +9 -0
  165. package/cjs/format/si.js +45 -0
  166. package/cjs/has.d.ts +14 -0
  167. package/cjs/has.js +19 -0
  168. package/cjs/hex/addPrefix.d.ts +16 -0
  169. package/cjs/hex/addPrefix.js +23 -0
  170. package/cjs/hex/fixLength.d.ts +18 -0
  171. package/cjs/hex/fixLength.js +30 -0
  172. package/cjs/hex/hasPrefix.d.ts +16 -0
  173. package/cjs/hex/hasPrefix.js +21 -0
  174. package/cjs/hex/index.d.ts +12 -0
  175. package/cjs/hex/index.js +24 -0
  176. package/cjs/hex/stripPrefix.d.ts +15 -0
  177. package/cjs/hex/stripPrefix.js +30 -0
  178. package/cjs/hex/toBigInt.d.ts +6 -0
  179. package/cjs/hex/toBigInt.js +15 -0
  180. package/cjs/hex/toBn.d.ts +21 -0
  181. package/cjs/hex/toBn.js +35 -0
  182. package/cjs/hex/toNumber.d.ts +15 -0
  183. package/cjs/hex/toNumber.js +23 -0
  184. package/cjs/hex/toString.d.ts +15 -0
  185. package/cjs/hex/toString.js +22 -0
  186. package/cjs/hex/toU8a.d.ts +16 -0
  187. package/cjs/hex/toU8a.js +57 -0
  188. package/cjs/hex/toU8aBuffer.d.ts +16 -0
  189. package/cjs/hex/toU8aBuffer.js +43 -0
  190. package/cjs/index.d.ts +2 -0
  191. package/cjs/index.js +5 -0
  192. package/cjs/is/array.d.ts +5 -0
  193. package/cjs/is/array.js +10 -0
  194. package/cjs/is/ascii.d.ts +8 -0
  195. package/cjs/is/ascii.js +43 -0
  196. package/cjs/is/bigInt.d.ts +15 -0
  197. package/cjs/is/bigInt.js +20 -0
  198. package/cjs/is/bn.d.ts +17 -0
  199. package/cjs/is/bn.js +22 -0
  200. package/cjs/is/boolean.d.ts +15 -0
  201. package/cjs/is/boolean.js +20 -0
  202. package/cjs/is/buffer.d.ts +16 -0
  203. package/cjs/is/buffer.js +24 -0
  204. package/cjs/is/childClass.d.ts +17 -0
  205. package/cjs/is/childClass.js +26 -0
  206. package/cjs/is/class.d.ts +6 -0
  207. package/cjs/is/class.js +9 -0
  208. package/cjs/is/codec.d.ts +12 -0
  209. package/cjs/is/codec.js +9 -0
  210. package/cjs/is/compact.d.ts +13 -0
  211. package/cjs/is/compact.js +9 -0
  212. package/cjs/is/error.d.ts +15 -0
  213. package/cjs/is/error.js +21 -0
  214. package/cjs/is/function.d.ts +17 -0
  215. package/cjs/is/function.js +20 -0
  216. package/cjs/is/helpers.d.ts +3 -0
  217. package/cjs/is/helpers.js +19 -0
  218. package/cjs/is/hex.d.ts +19 -0
  219. package/cjs/is/hex.js +27 -0
  220. package/cjs/is/index.d.ts +33 -0
  221. package/cjs/is/index.js +66 -0
  222. package/cjs/is/instanceOf.d.ts +15 -0
  223. package/cjs/is/instanceOf.js +21 -0
  224. package/cjs/is/ip.d.ts +18 -0
  225. package/cjs/is/ip.js +44 -0
  226. package/cjs/is/jsonObject.d.ts +27 -0
  227. package/cjs/is/jsonObject.js +40 -0
  228. package/cjs/is/null.d.ts +15 -0
  229. package/cjs/is/null.js +20 -0
  230. package/cjs/is/number.d.ts +15 -0
  231. package/cjs/is/number.js +20 -0
  232. package/cjs/is/object.d.ts +18 -0
  233. package/cjs/is/object.js +21 -0
  234. package/cjs/is/observable.d.ts +16 -0
  235. package/cjs/is/observable.js +19 -0
  236. package/cjs/is/promise.d.ts +1 -0
  237. package/cjs/is/promise.js +5 -0
  238. package/cjs/is/riscv.d.ts +7 -0
  239. package/cjs/is/riscv.js +20 -0
  240. package/cjs/is/string.d.ts +16 -0
  241. package/cjs/is/string.js +20 -0
  242. package/cjs/is/testChain.d.ts +1 -0
  243. package/cjs/is/testChain.js +10 -0
  244. package/cjs/is/toBigInt.d.ts +2 -0
  245. package/cjs/is/toBigInt.js +5 -0
  246. package/cjs/is/toBn.d.ts +2 -0
  247. package/cjs/is/toBn.js +5 -0
  248. package/cjs/is/u8a.d.ts +15 -0
  249. package/cjs/is/u8a.js +23 -0
  250. package/cjs/is/undefined.d.ts +15 -0
  251. package/cjs/is/undefined.js +20 -0
  252. package/cjs/is/utf8.d.ts +7 -0
  253. package/cjs/is/utf8.js +200 -0
  254. package/cjs/is/wasm.d.ts +7 -0
  255. package/cjs/is/wasm.js +15 -0
  256. package/cjs/lazy.d.ts +14 -0
  257. package/cjs/lazy.js +55 -0
  258. package/cjs/logger.d.ts +17 -0
  259. package/cjs/logger.js +122 -0
  260. package/cjs/memoize.d.ts +10 -0
  261. package/cjs/memoize.js +33 -0
  262. package/cjs/nextTick.d.ts +5 -0
  263. package/cjs/nextTick.js +27 -0
  264. package/cjs/noop.d.ts +8 -0
  265. package/cjs/noop.js +16 -0
  266. package/cjs/number/index.d.ts +5 -0
  267. package/cjs/number/index.js +10 -0
  268. package/cjs/number/toHex.d.ts +17 -0
  269. package/cjs/number/toHex.js +23 -0
  270. package/cjs/number/toU8a.d.ts +15 -0
  271. package/cjs/number/toU8a.js +22 -0
  272. package/cjs/object/clear.d.ts +5 -0
  273. package/cjs/object/clear.js +14 -0
  274. package/cjs/object/copy.d.ts +5 -0
  275. package/cjs/object/copy.js +11 -0
  276. package/cjs/object/entries.d.ts +9 -0
  277. package/cjs/object/entries.js +10 -0
  278. package/cjs/object/index.d.ts +7 -0
  279. package/cjs/object/index.js +18 -0
  280. package/cjs/object/keys.d.ts +5 -0
  281. package/cjs/object/keys.js +10 -0
  282. package/cjs/object/property.d.ts +10 -0
  283. package/cjs/object/property.js +38 -0
  284. package/cjs/object/spread.d.ts +6 -0
  285. package/cjs/object/spread.js +34 -0
  286. package/cjs/object/values.d.ts +5 -0
  287. package/cjs/object/values.js +10 -0
  288. package/cjs/package.json +3 -0
  289. package/cjs/packageDetect.d.ts +1 -0
  290. package/cjs/packageDetect.js +7 -0
  291. package/cjs/packageInfo.d.ts +6 -0
  292. package/cjs/packageInfo.js +4 -0
  293. package/cjs/promisify.d.ts +16 -0
  294. package/cjs/promisify.js +30 -0
  295. package/cjs/string/camelCase.d.ts +13 -0
  296. package/cjs/string/camelCase.js +62 -0
  297. package/cjs/string/index.d.ts +8 -0
  298. package/cjs/string/index.js +18 -0
  299. package/cjs/string/lowerFirst.d.ts +31 -0
  300. package/cjs/string/lowerFirst.js +40 -0
  301. package/cjs/string/shorten.d.ts +16 -0
  302. package/cjs/string/shorten.js +22 -0
  303. package/cjs/string/toHex.d.ts +16 -0
  304. package/cjs/string/toHex.js +22 -0
  305. package/cjs/string/toU8a.d.ts +16 -0
  306. package/cjs/string/toU8a.js +24 -0
  307. package/cjs/stringify.d.ts +6 -0
  308. package/cjs/stringify.js +18 -0
  309. package/cjs/types.d.ts +62 -0
  310. package/cjs/types.js +2 -0
  311. package/cjs/u8a/cmp.d.ts +17 -0
  312. package/cjs/u8a/cmp.js +49 -0
  313. package/cjs/u8a/concat.d.ts +24 -0
  314. package/cjs/u8a/concat.js +51 -0
  315. package/cjs/u8a/concatBuffer.d.ts +19 -0
  316. package/cjs/u8a/concatBuffer.js +29 -0
  317. package/cjs/u8a/empty.d.ts +7 -0
  318. package/cjs/u8a/empty.js +20 -0
  319. package/cjs/u8a/eq.d.ts +15 -0
  320. package/cjs/u8a/eq.js +40 -0
  321. package/cjs/u8a/fixLength.d.ts +17 -0
  322. package/cjs/u8a/fixLength.js +31 -0
  323. package/cjs/u8a/index.d.ts +18 -0
  324. package/cjs/u8a/index.js +42 -0
  325. package/cjs/u8a/sorted.d.ts +15 -0
  326. package/cjs/u8a/sorted.js +21 -0
  327. package/cjs/u8a/toBigInt.d.ts +6 -0
  328. package/cjs/u8a/toBigInt.js +73 -0
  329. package/cjs/u8a/toBn.d.ts +21 -0
  330. package/cjs/u8a/toBn.js +81 -0
  331. package/cjs/u8a/toBuffer.d.ts +16 -0
  332. package/cjs/u8a/toBuffer.js +24 -0
  333. package/cjs/u8a/toFloat.d.ts +11 -0
  334. package/cjs/u8a/toFloat.js +20 -0
  335. package/cjs/u8a/toHex.d.ts +16 -0
  336. package/cjs/u8a/toHex.js +56 -0
  337. package/cjs/u8a/toHexBuffer.d.ts +16 -0
  338. package/cjs/u8a/toHexBuffer.js +25 -0
  339. package/cjs/u8a/toNumber.d.ts +6 -0
  340. package/cjs/u8a/toNumber.js +61 -0
  341. package/cjs/u8a/toString.d.ts +15 -0
  342. package/cjs/u8a/toString.js +24 -0
  343. package/cjs/u8a/toU8a.d.ts +19 -0
  344. package/cjs/u8a/toU8a.js +42 -0
  345. package/cjs/u8a/wrap.d.ts +22 -0
  346. package/cjs/u8a/wrap.js +49 -0
  347. package/compact/addLength.d.ts +13 -0
  348. package/compact/addLength.js +20 -0
  349. package/compact/defaults.d.ts +3 -0
  350. package/compact/defaults.js +2 -0
  351. package/compact/fromU8a.d.ts +22 -0
  352. package/compact/fromU8a.js +88 -0
  353. package/compact/index.d.ts +24 -0
  354. package/compact/index.js +24 -0
  355. package/compact/stripLength.d.ts +13 -0
  356. package/compact/stripLength.js +21 -0
  357. package/compact/toU8a.d.ts +14 -0
  358. package/compact/toU8a.js +45 -0
  359. package/compact/types.d.ts +1 -0
  360. package/compact/types.js +1 -0
  361. package/detectPackage.d.ts +17 -0
  362. package/detectPackage.js +96 -0
  363. package/extractTime.d.ts +14 -0
  364. package/extractTime.js +53 -0
  365. package/float/index.d.ts +1 -0
  366. package/float/index.js +1 -0
  367. package/float/toU8a.d.ts +11 -0
  368. package/float/toU8a.js +19 -0
  369. package/format/formatBalance.d.ts +54 -0
  370. package/format/formatBalance.js +85 -0
  371. package/format/formatDate.d.ts +5 -0
  372. package/format/formatDate.js +17 -0
  373. package/format/formatDecimal.d.ts +5 -0
  374. package/format/formatDecimal.js +16 -0
  375. package/format/formatElapsed.d.ts +7 -0
  376. package/format/formatElapsed.js +27 -0
  377. package/format/formatNumber.d.ts +14 -0
  378. package/format/formatNumber.js +11 -0
  379. package/format/getSeparator.d.ts +9 -0
  380. package/format/getSeparator.js +11 -0
  381. package/format/index.d.ts +6 -0
  382. package/format/index.js +6 -0
  383. package/format/si.d.ts +9 -0
  384. package/format/si.js +40 -0
  385. package/has.d.ts +14 -0
  386. package/has.js +16 -0
  387. package/hex/addPrefix.d.ts +16 -0
  388. package/hex/addPrefix.js +20 -0
  389. package/hex/fixLength.d.ts +18 -0
  390. package/hex/fixLength.js +27 -0
  391. package/hex/hasPrefix.d.ts +16 -0
  392. package/hex/hasPrefix.js +18 -0
  393. package/hex/index.d.ts +12 -0
  394. package/hex/index.js +12 -0
  395. package/hex/stripPrefix.d.ts +15 -0
  396. package/hex/stripPrefix.js +27 -0
  397. package/hex/toBigInt.d.ts +6 -0
  398. package/hex/toBigInt.js +12 -0
  399. package/hex/toBn.d.ts +21 -0
  400. package/hex/toBn.js +32 -0
  401. package/hex/toNumber.d.ts +15 -0
  402. package/hex/toNumber.js +20 -0
  403. package/hex/toString.d.ts +15 -0
  404. package/hex/toString.js +19 -0
  405. package/hex/toU8a.d.ts +16 -0
  406. package/hex/toU8a.js +54 -0
  407. package/hex/toU8aBuffer.d.ts +16 -0
  408. package/hex/toU8aBuffer.js +40 -0
  409. package/index.d.ts +2 -0
  410. package/index.js +2 -0
  411. package/is/array.d.ts +5 -0
  412. package/is/array.js +7 -0
  413. package/is/ascii.d.ts +8 -0
  414. package/is/ascii.js +40 -0
  415. package/is/bigInt.d.ts +15 -0
  416. package/is/bigInt.js +17 -0
  417. package/is/bn.d.ts +17 -0
  418. package/is/bn.js +19 -0
  419. package/is/boolean.d.ts +15 -0
  420. package/is/boolean.js +17 -0
  421. package/is/buffer.d.ts +16 -0
  422. package/is/buffer.js +21 -0
  423. package/is/childClass.d.ts +17 -0
  424. package/is/childClass.js +23 -0
  425. package/is/class.d.ts +6 -0
  426. package/is/class.js +6 -0
  427. package/is/codec.d.ts +12 -0
  428. package/is/codec.js +6 -0
  429. package/is/compact.d.ts +13 -0
  430. package/is/compact.js +6 -0
  431. package/is/error.d.ts +15 -0
  432. package/is/error.js +18 -0
  433. package/is/function.d.ts +17 -0
  434. package/is/function.js +17 -0
  435. package/is/helpers.d.ts +3 -0
  436. package/is/helpers.js +14 -0
  437. package/is/hex.d.ts +19 -0
  438. package/is/hex.js +23 -0
  439. package/is/index.d.ts +33 -0
  440. package/is/index.js +33 -0
  441. package/is/instanceOf.d.ts +15 -0
  442. package/is/instanceOf.js +18 -0
  443. package/is/ip.d.ts +18 -0
  444. package/is/ip.js +41 -0
  445. package/is/jsonObject.d.ts +27 -0
  446. package/is/jsonObject.js +37 -0
  447. package/is/null.d.ts +15 -0
  448. package/is/null.js +17 -0
  449. package/is/number.d.ts +15 -0
  450. package/is/number.js +17 -0
  451. package/is/object.d.ts +18 -0
  452. package/is/object.js +18 -0
  453. package/is/observable.d.ts +16 -0
  454. package/is/observable.js +16 -0
  455. package/is/promise.d.ts +1 -0
  456. package/is/promise.js +2 -0
  457. package/is/riscv.d.ts +7 -0
  458. package/is/riscv.js +17 -0
  459. package/is/string.d.ts +16 -0
  460. package/is/string.js +17 -0
  461. package/is/testChain.d.ts +1 -0
  462. package/is/testChain.js +7 -0
  463. package/is/toBigInt.d.ts +2 -0
  464. package/is/toBigInt.js +2 -0
  465. package/is/toBn.d.ts +2 -0
  466. package/is/toBn.js +2 -0
  467. package/is/u8a.d.ts +15 -0
  468. package/is/u8a.js +20 -0
  469. package/is/undefined.d.ts +15 -0
  470. package/is/undefined.js +17 -0
  471. package/is/utf8.d.ts +7 -0
  472. package/is/utf8.js +197 -0
  473. package/is/wasm.d.ts +7 -0
  474. package/is/wasm.js +12 -0
  475. package/lazy.d.ts +14 -0
  476. package/lazy.js +51 -0
  477. package/logger.d.ts +17 -0
  478. package/logger.js +118 -0
  479. package/memoize.d.ts +10 -0
  480. package/memoize.js +30 -0
  481. package/nextTick.d.ts +5 -0
  482. package/nextTick.js +24 -0
  483. package/noop.d.ts +8 -0
  484. package/noop.js +12 -0
  485. package/number/index.d.ts +5 -0
  486. package/number/index.js +5 -0
  487. package/number/toHex.d.ts +17 -0
  488. package/number/toHex.js +20 -0
  489. package/number/toU8a.d.ts +15 -0
  490. package/number/toU8a.js +19 -0
  491. package/object/clear.d.ts +5 -0
  492. package/object/clear.js +11 -0
  493. package/object/copy.d.ts +5 -0
  494. package/object/copy.js +8 -0
  495. package/object/entries.d.ts +9 -0
  496. package/object/entries.js +7 -0
  497. package/object/index.d.ts +7 -0
  498. package/object/index.js +7 -0
  499. package/object/keys.d.ts +5 -0
  500. package/object/keys.js +7 -0
  501. package/object/property.d.ts +10 -0
  502. package/object/property.js +34 -0
  503. package/object/spread.d.ts +6 -0
  504. package/object/spread.js +31 -0
  505. package/object/values.d.ts +5 -0
  506. package/object/values.js +7 -0
  507. package/package.json +1958 -11
  508. package/packageDetect.d.ts +1 -0
  509. package/packageDetect.js +5 -0
  510. package/packageInfo.d.ts +6 -0
  511. package/packageInfo.js +1 -0
  512. package/promisify.d.ts +16 -0
  513. package/promisify.js +27 -0
  514. package/src/packageInfo.ts +1 -1
  515. package/src/u8a/toHex.spec.ts +1 -1
  516. package/src/u8a/toHexBuffer.spec.ts +1 -1
  517. package/string/camelCase.d.ts +13 -0
  518. package/string/camelCase.js +59 -0
  519. package/string/index.d.ts +8 -0
  520. package/string/index.js +8 -0
  521. package/string/lowerFirst.d.ts +31 -0
  522. package/string/lowerFirst.js +37 -0
  523. package/string/shorten.d.ts +16 -0
  524. package/string/shorten.js +19 -0
  525. package/string/toHex.d.ts +16 -0
  526. package/string/toHex.js +19 -0
  527. package/string/toU8a.d.ts +16 -0
  528. package/string/toU8a.js +21 -0
  529. package/stringify.d.ts +6 -0
  530. package/stringify.js +15 -0
  531. package/tsconfig.build.tsbuildinfo +1 -1
  532. package/tsconfig.spec.tsbuildinfo +1 -1
  533. package/types.d.ts +62 -0
  534. package/types.js +1 -0
  535. package/u8a/cmp.d.ts +17 -0
  536. package/u8a/cmp.js +46 -0
  537. package/u8a/concat.d.ts +24 -0
  538. package/u8a/concat.js +47 -0
  539. package/u8a/concatBuffer.d.ts +19 -0
  540. package/u8a/concatBuffer.js +26 -0
  541. package/u8a/empty.d.ts +7 -0
  542. package/u8a/empty.js +17 -0
  543. package/u8a/eq.d.ts +15 -0
  544. package/u8a/eq.js +37 -0
  545. package/u8a/fixLength.d.ts +17 -0
  546. package/u8a/fixLength.js +28 -0
  547. package/u8a/index.d.ts +18 -0
  548. package/u8a/index.js +18 -0
  549. package/u8a/sorted.d.ts +15 -0
  550. package/u8a/sorted.js +18 -0
  551. package/u8a/toBigInt.d.ts +6 -0
  552. package/u8a/toBigInt.js +70 -0
  553. package/u8a/toBn.d.ts +21 -0
  554. package/u8a/toBn.js +78 -0
  555. package/u8a/toBuffer.d.ts +16 -0
  556. package/u8a/toBuffer.js +21 -0
  557. package/u8a/toFloat.d.ts +11 -0
  558. package/u8a/toFloat.js +17 -0
  559. package/u8a/toHex.d.ts +16 -0
  560. package/u8a/toHex.js +53 -0
  561. package/u8a/toHexBuffer.d.ts +16 -0
  562. package/u8a/toHexBuffer.js +22 -0
  563. package/u8a/toNumber.d.ts +6 -0
  564. package/u8a/toNumber.js +58 -0
  565. package/u8a/toString.d.ts +15 -0
  566. package/u8a/toString.js +21 -0
  567. package/u8a/toU8a.d.ts +19 -0
  568. package/u8a/toU8a.js +39 -0
  569. package/u8a/wrap.d.ts +22 -0
  570. package/u8a/wrap.js +43 -0
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @name u8aFixLength
3
+ * @summary Shifts a Uint8Array to a specific bitLength
4
+ * @description
5
+ * Returns a uint8Array with the specified number of bits contained in the return value. (If bitLength is -1, length checking is not done). Values with more bits are trimmed to the specified length.
6
+ * @example
7
+ * <BR>
8
+ *
9
+ * ```javascript
10
+ * import { u8aFixLength } from '@pezkuwi/util';
11
+ *
12
+ * u8aFixLength('0x12') // => 0x12
13
+ * u8aFixLength('0x12', 16) // => 0x0012
14
+ * u8aFixLength('0x1234', 8) // => 0x12
15
+ * ```
16
+ */
17
+ export declare function u8aFixLength(value: Uint8Array, bitLength?: number, atStart?: boolean): Uint8Array;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.u8aFixLength = u8aFixLength;
4
+ /**
5
+ * @name u8aFixLength
6
+ * @summary Shifts a Uint8Array to a specific bitLength
7
+ * @description
8
+ * Returns a uint8Array with the specified number of bits contained in the return value. (If bitLength is -1, length checking is not done). Values with more bits are trimmed to the specified length.
9
+ * @example
10
+ * <BR>
11
+ *
12
+ * ```javascript
13
+ * import { u8aFixLength } from '@pezkuwi/util';
14
+ *
15
+ * u8aFixLength('0x12') // => 0x12
16
+ * u8aFixLength('0x12', 16) // => 0x0012
17
+ * u8aFixLength('0x1234', 8) // => 0x12
18
+ * ```
19
+ */
20
+ function u8aFixLength(value, bitLength = -1, atStart = false) {
21
+ const byteLength = Math.ceil(bitLength / 8);
22
+ if (bitLength === -1 || value.length === byteLength) {
23
+ return value;
24
+ }
25
+ else if (value.length > byteLength) {
26
+ return value.subarray(0, byteLength);
27
+ }
28
+ const result = new Uint8Array(byteLength);
29
+ result.set(value, atStart ? 0 : (byteLength - value.length));
30
+ return result;
31
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @summary Utility methods to convert to and from `Uint8Array` objects
3
+ */
4
+ export { u8aCmp } from './cmp.js';
5
+ export { u8aConcat, u8aConcatStrict } from './concat.js';
6
+ export { u8aEmpty } from './empty.js';
7
+ export { u8aEq } from './eq.js';
8
+ export { u8aFixLength } from './fixLength.js';
9
+ export { u8aSorted } from './sorted.js';
10
+ export { u8aToBigInt } from './toBigInt.js';
11
+ export { u8aToBn } from './toBn.js';
12
+ export { u8aToBuffer } from './toBuffer.js';
13
+ export { u8aToFloat } from './toFloat.js';
14
+ export { u8aToHex } from './toHex.js';
15
+ export { u8aToNumber } from './toNumber.js';
16
+ export { u8aToString } from './toString.js';
17
+ export { u8aToU8a } from './toU8a.js';
18
+ export { U8A_WRAP_ETHEREUM, U8A_WRAP_POSTFIX, U8A_WRAP_PREFIX, u8aIsWrapped, u8aUnwrapBytes, u8aWrapBytes } from './wrap.js';
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.u8aWrapBytes = exports.u8aUnwrapBytes = exports.u8aIsWrapped = exports.U8A_WRAP_PREFIX = exports.U8A_WRAP_POSTFIX = exports.U8A_WRAP_ETHEREUM = exports.u8aToU8a = exports.u8aToString = exports.u8aToNumber = exports.u8aToHex = exports.u8aToFloat = exports.u8aToBuffer = exports.u8aToBn = exports.u8aToBigInt = exports.u8aSorted = exports.u8aFixLength = exports.u8aEq = exports.u8aEmpty = exports.u8aConcatStrict = exports.u8aConcat = exports.u8aCmp = void 0;
4
+ /**
5
+ * @summary Utility methods to convert to and from `Uint8Array` objects
6
+ */
7
+ var cmp_js_1 = require("./cmp.js");
8
+ Object.defineProperty(exports, "u8aCmp", { enumerable: true, get: function () { return cmp_js_1.u8aCmp; } });
9
+ var concat_js_1 = require("./concat.js");
10
+ Object.defineProperty(exports, "u8aConcat", { enumerable: true, get: function () { return concat_js_1.u8aConcat; } });
11
+ Object.defineProperty(exports, "u8aConcatStrict", { enumerable: true, get: function () { return concat_js_1.u8aConcatStrict; } });
12
+ var empty_js_1 = require("./empty.js");
13
+ Object.defineProperty(exports, "u8aEmpty", { enumerable: true, get: function () { return empty_js_1.u8aEmpty; } });
14
+ var eq_js_1 = require("./eq.js");
15
+ Object.defineProperty(exports, "u8aEq", { enumerable: true, get: function () { return eq_js_1.u8aEq; } });
16
+ var fixLength_js_1 = require("./fixLength.js");
17
+ Object.defineProperty(exports, "u8aFixLength", { enumerable: true, get: function () { return fixLength_js_1.u8aFixLength; } });
18
+ var sorted_js_1 = require("./sorted.js");
19
+ Object.defineProperty(exports, "u8aSorted", { enumerable: true, get: function () { return sorted_js_1.u8aSorted; } });
20
+ var toBigInt_js_1 = require("./toBigInt.js");
21
+ Object.defineProperty(exports, "u8aToBigInt", { enumerable: true, get: function () { return toBigInt_js_1.u8aToBigInt; } });
22
+ var toBn_js_1 = require("./toBn.js");
23
+ Object.defineProperty(exports, "u8aToBn", { enumerable: true, get: function () { return toBn_js_1.u8aToBn; } });
24
+ var toBuffer_js_1 = require("./toBuffer.js");
25
+ Object.defineProperty(exports, "u8aToBuffer", { enumerable: true, get: function () { return toBuffer_js_1.u8aToBuffer; } });
26
+ var toFloat_js_1 = require("./toFloat.js");
27
+ Object.defineProperty(exports, "u8aToFloat", { enumerable: true, get: function () { return toFloat_js_1.u8aToFloat; } });
28
+ var toHex_js_1 = require("./toHex.js");
29
+ Object.defineProperty(exports, "u8aToHex", { enumerable: true, get: function () { return toHex_js_1.u8aToHex; } });
30
+ var toNumber_js_1 = require("./toNumber.js");
31
+ Object.defineProperty(exports, "u8aToNumber", { enumerable: true, get: function () { return toNumber_js_1.u8aToNumber; } });
32
+ var toString_js_1 = require("./toString.js");
33
+ Object.defineProperty(exports, "u8aToString", { enumerable: true, get: function () { return toString_js_1.u8aToString; } });
34
+ var toU8a_js_1 = require("./toU8a.js");
35
+ Object.defineProperty(exports, "u8aToU8a", { enumerable: true, get: function () { return toU8a_js_1.u8aToU8a; } });
36
+ var wrap_js_1 = require("./wrap.js");
37
+ Object.defineProperty(exports, "U8A_WRAP_ETHEREUM", { enumerable: true, get: function () { return wrap_js_1.U8A_WRAP_ETHEREUM; } });
38
+ Object.defineProperty(exports, "U8A_WRAP_POSTFIX", { enumerable: true, get: function () { return wrap_js_1.U8A_WRAP_POSTFIX; } });
39
+ Object.defineProperty(exports, "U8A_WRAP_PREFIX", { enumerable: true, get: function () { return wrap_js_1.U8A_WRAP_PREFIX; } });
40
+ Object.defineProperty(exports, "u8aIsWrapped", { enumerable: true, get: function () { return wrap_js_1.u8aIsWrapped; } });
41
+ Object.defineProperty(exports, "u8aUnwrapBytes", { enumerable: true, get: function () { return wrap_js_1.u8aUnwrapBytes; } });
42
+ Object.defineProperty(exports, "u8aWrapBytes", { enumerable: true, get: function () { return wrap_js_1.u8aWrapBytes; } });
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @name u8aSorted
3
+ * @summary Sorts an array of Uint8Arrays
4
+ * @description
5
+ * For input `UInt8Array[]` return the sorted result
6
+ * @example
7
+ * <BR>
8
+ *
9
+ * ```javascript
10
+ * import { u8aSorted} from '@pezkuwi/util';
11
+ *
12
+ * u8aSorted([new Uint8Array([0x69]), new Uint8Array([0x68])]); // [0x68, 0x69]
13
+ * ```
14
+ */
15
+ export declare function u8aSorted(u8as: Uint8Array[]): Uint8Array[];
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.u8aSorted = u8aSorted;
4
+ const cmp_js_1 = require("./cmp.js");
5
+ /**
6
+ * @name u8aSorted
7
+ * @summary Sorts an array of Uint8Arrays
8
+ * @description
9
+ * For input `UInt8Array[]` return the sorted result
10
+ * @example
11
+ * <BR>
12
+ *
13
+ * ```javascript
14
+ * import { u8aSorted} from '@pezkuwi/util';
15
+ *
16
+ * u8aSorted([new Uint8Array([0x69]), new Uint8Array([0x68])]); // [0x68, 0x69]
17
+ * ```
18
+ */
19
+ function u8aSorted(u8as) {
20
+ return u8as.sort(cmp_js_1.u8aCmp);
21
+ }
@@ -0,0 +1,6 @@
1
+ import type { ToBnOptions } from '../types.js';
2
+ /**
3
+ * @name u8aToBigInt
4
+ * @summary Creates a BigInt from a Uint8Array object.
5
+ */
6
+ export declare function u8aToBigInt(value: Uint8Array, { isLe, isNegative }?: ToBnOptions): bigint;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.u8aToBigInt = u8aToBigInt;
4
+ const x_bigint_1 = require("@pezkuwi/x-bigint");
5
+ const consts_js_1 = require("../bi/consts.js");
6
+ const U8_MAX = (0, x_bigint_1.BigInt)(256);
7
+ const U16_MAX = (0, x_bigint_1.BigInt)(256 * 256);
8
+ const U64_MAX = (0, x_bigint_1.BigInt)('0x10000000000000000');
9
+ /**
10
+ * @name u8aToBigInt
11
+ * @summary Creates a BigInt from a Uint8Array object.
12
+ */
13
+ function u8aToBigInt(value, { isLe = true, isNegative = false } = {}) {
14
+ // slice + reverse is expensive, however SCALE is LE by default so this is the path
15
+ // we are most interested in (the BE is added for the sake of being comprehensive)
16
+ if (!isLe) {
17
+ value = value.slice().reverse();
18
+ }
19
+ const count = value.length;
20
+ if (isNegative && count && (value[count - 1] & 0x80)) {
21
+ switch (count) {
22
+ case 0:
23
+ return (0, x_bigint_1.BigInt)(0);
24
+ case 1:
25
+ return (0, x_bigint_1.BigInt)(((value[0] ^ 0x0000_00ff) * -1) - 1);
26
+ case 2:
27
+ return (0, x_bigint_1.BigInt)((((value[0] + (value[1] << 8)) ^ 0x0000_ffff) * -1) - 1);
28
+ case 4:
29
+ return (0, x_bigint_1.BigInt)((((value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00)) ^ 0xffff_ffff) * -1) - 1);
30
+ }
31
+ const dvI = new DataView(value.buffer, value.byteOffset);
32
+ if (count === 8) {
33
+ return dvI.getBigInt64(0, true);
34
+ }
35
+ let result = (0, x_bigint_1.BigInt)(0);
36
+ const mod = count % 2;
37
+ for (let i = count - 2; i >= mod; i -= 2) {
38
+ result = (result * U16_MAX) + (0, x_bigint_1.BigInt)(dvI.getUint16(i, true) ^ 0xffff);
39
+ }
40
+ if (mod) {
41
+ result = (result * U8_MAX) + (0, x_bigint_1.BigInt)(value[0] ^ 0xff);
42
+ }
43
+ return (result * -consts_js_1._1n) - consts_js_1._1n;
44
+ }
45
+ switch (count) {
46
+ case 0:
47
+ return (0, x_bigint_1.BigInt)(0);
48
+ case 1:
49
+ return (0, x_bigint_1.BigInt)(value[0]);
50
+ case 2:
51
+ return (0, x_bigint_1.BigInt)(value[0] + (value[1] << 8));
52
+ case 4:
53
+ return (0, x_bigint_1.BigInt)(value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00));
54
+ }
55
+ const dvI = new DataView(value.buffer, value.byteOffset);
56
+ switch (count) {
57
+ case 8:
58
+ return dvI.getBigUint64(0, true);
59
+ case 16:
60
+ return (dvI.getBigUint64(8, true) * U64_MAX) + dvI.getBigUint64(0, true);
61
+ default: {
62
+ let result = (0, x_bigint_1.BigInt)(0);
63
+ const mod = count % 2;
64
+ for (let i = count - 2; i >= mod; i -= 2) {
65
+ result = (result * U16_MAX) + (0, x_bigint_1.BigInt)(dvI.getUint16(i, true));
66
+ }
67
+ if (mod) {
68
+ result = (result * U8_MAX) + (0, x_bigint_1.BigInt)(value[0]);
69
+ }
70
+ return result;
71
+ }
72
+ }
73
+ }
@@ -0,0 +1,21 @@
1
+ import type { ToBnOptions } from '../types.js';
2
+ import { BN } from '../bn/bn.js';
3
+ /**
4
+ * @name u8aToBn
5
+ * @summary Creates a BN from a Uint8Array object.
6
+ * @description
7
+ * `UInt8Array` input values return the actual BN. `null` or `undefined` values returns an `0x0` value.
8
+ * @param value The value to convert
9
+ * @param options Options to pass while converting
10
+ * @param options.isLe Convert using Little Endian (default)
11
+ * @param options.isNegative Convert using two's complement
12
+ * @example
13
+ * <BR>
14
+ *
15
+ * ```javascript
16
+ * import { u8aToBn } from '@pezkuwi/util';
17
+ *
18
+ * u8aToHex(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0xf])); // 0x68656c0f
19
+ * ```
20
+ */
21
+ export declare function u8aToBn(value: Uint8Array, { isLe, isNegative }?: ToBnOptions): BN;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.u8aToBn = u8aToBn;
4
+ const bn_js_1 = require("../bn/bn.js");
5
+ /**
6
+ * @name u8aToBn
7
+ * @summary Creates a BN from a Uint8Array object.
8
+ * @description
9
+ * `UInt8Array` input values return the actual BN. `null` or `undefined` values returns an `0x0` value.
10
+ * @param value The value to convert
11
+ * @param options Options to pass while converting
12
+ * @param options.isLe Convert using Little Endian (default)
13
+ * @param options.isNegative Convert using two's complement
14
+ * @example
15
+ * <BR>
16
+ *
17
+ * ```javascript
18
+ * import { u8aToBn } from '@pezkuwi/util';
19
+ *
20
+ * u8aToHex(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0xf])); // 0x68656c0f
21
+ * ```
22
+ */
23
+ function u8aToBn(value, { isLe = true, isNegative = false } = {}) {
24
+ // slice + reverse is expensive, however SCALE is LE by default so this is the path
25
+ // we are most interested in (the BE is added for the sake of being comprehensive)
26
+ if (!isLe) {
27
+ value = value.slice().reverse();
28
+ }
29
+ const count = value.length;
30
+ // shortcut for <= u48 values - in this case the manual conversion
31
+ // here seems to be more efficient than passing the full array
32
+ if (isNegative && count && (value[count - 1] & 0x80)) {
33
+ // Most common case i{8, 16, 32} default LE SCALE-encoded
34
+ // For <= 32, we also optimize the xor to a single op
35
+ switch (count) {
36
+ case 0:
37
+ return new bn_js_1.BN(0);
38
+ case 1:
39
+ return new bn_js_1.BN(((value[0] ^ 0x0000_00ff) * -1) - 1);
40
+ case 2:
41
+ return new bn_js_1.BN((((value[0] + (value[1] << 8)) ^ 0x0000_ffff) * -1) - 1);
42
+ case 3:
43
+ return new bn_js_1.BN((((value[0] + (value[1] << 8) + (value[2] << 16)) ^ 0x00ff_ffff) * -1) - 1);
44
+ case 4:
45
+ // for the 3rd byte, we don't << 24 - since JS converts all bitwise operators to
46
+ // 32-bit, in the case where the top-most bit is set this yields a negative value
47
+ return new bn_js_1.BN((((value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00)) ^ 0xffff_ffff) * -1) - 1);
48
+ case 5:
49
+ return new bn_js_1.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);
50
+ case 6:
51
+ return new bn_js_1.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);
52
+ default:
53
+ return new bn_js_1.BN(value, 'le').fromTwos(count * 8);
54
+ }
55
+ }
56
+ // Most common case - u{8, 16, 32} default LE SCALE-encoded
57
+ //
58
+ // There are some slight benefits in unrolling this specific loop,
59
+ // however it comes with diminishing returns since here the actual
60
+ // `new BN` does seem to take up the bulk of the time
61
+ switch (count) {
62
+ case 0:
63
+ return new bn_js_1.BN(0);
64
+ case 1:
65
+ return new bn_js_1.BN(value[0]);
66
+ case 2:
67
+ return new bn_js_1.BN(value[0] + (value[1] << 8));
68
+ case 3:
69
+ return new bn_js_1.BN(value[0] + (value[1] << 8) + (value[2] << 16));
70
+ case 4:
71
+ // for the 3rd byte, we don't << 24 - since JS converts all bitwise operators to
72
+ // 32-bit, in the case where the top-most bit is set this yields a negative value
73
+ return new bn_js_1.BN(value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00));
74
+ case 5:
75
+ return new bn_js_1.BN(value[0] + (value[1] << 8) + (value[2] << 16) + ((value[3] + (value[4] << 8)) * 0x1_00_00_00));
76
+ case 6:
77
+ return new bn_js_1.BN(value[0] + (value[1] << 8) + (value[2] << 16) + ((value[3] + (value[4] << 8) + (value[5] << 16)) * 0x1_00_00_00));
78
+ default:
79
+ return new bn_js_1.BN(value, 'le');
80
+ }
81
+ }
@@ -0,0 +1,16 @@
1
+ import type { BufferObject } from '../types.js';
2
+ /**
3
+ * @name u8aToBuffer
4
+ * @summary Creates a Buffer object from a hex string.
5
+ * @description
6
+ * `null` inputs returns an empty `Buffer` result. `UInt8Array` input values return the actual bytes value converted to a `Buffer`. Anything that is not a `UInt8Array` throws an error.
7
+ * @example
8
+ * <BR>
9
+ *
10
+ * ```javascript
11
+ * import { u8aToBuffer } from '@pezkuwi/util';
12
+ *
13
+ * console.log('Buffer', u8aToBuffer(new Uint8Array([1, 2, 3])));
14
+ * ```
15
+ */
16
+ export declare function u8aToBuffer<T = BufferObject>(value?: Uint8Array | null): T;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.u8aToBuffer = u8aToBuffer;
4
+ const x_global_1 = require("@pezkuwi/x-global");
5
+ const has_js_1 = require("../has.js");
6
+ /**
7
+ * @name u8aToBuffer
8
+ * @summary Creates a Buffer object from a hex string.
9
+ * @description
10
+ * `null` inputs returns an empty `Buffer` result. `UInt8Array` input values return the actual bytes value converted to a `Buffer`. Anything that is not a `UInt8Array` throws an error.
11
+ * @example
12
+ * <BR>
13
+ *
14
+ * ```javascript
15
+ * import { u8aToBuffer } from '@pezkuwi/util';
16
+ *
17
+ * console.log('Buffer', u8aToBuffer(new Uint8Array([1, 2, 3])));
18
+ * ```
19
+ */
20
+ function u8aToBuffer(value) {
21
+ return has_js_1.hasBuffer
22
+ ? x_global_1.xglobal.Buffer.from(value || [])
23
+ : new Uint8Array(value || []);
24
+ }
@@ -0,0 +1,11 @@
1
+ interface Options {
2
+ bitLength?: 32 | 64;
3
+ isLe?: boolean;
4
+ }
5
+ /**
6
+ * @name u8aToFloat
7
+ * @description Converts a Uint8Array value into the float (either 32 or 64-bit)
8
+ * representation.
9
+ */
10
+ export declare function u8aToFloat(value: Uint8Array, { bitLength, isLe }?: Options): number;
11
+ export {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.u8aToFloat = u8aToFloat;
4
+ /**
5
+ * @name u8aToFloat
6
+ * @description Converts a Uint8Array value into the float (either 32 or 64-bit)
7
+ * representation.
8
+ */
9
+ function u8aToFloat(value, { bitLength = 32, isLe = true } = {}) {
10
+ if (bitLength !== 32 && bitLength !== 64) {
11
+ throw new Error('Invalid bitLength provided, expected 32 or 64');
12
+ }
13
+ else if (value.length < (bitLength / 8)) {
14
+ throw new Error(`Invalid input buffer provided, expected at least ${bitLength / 8} bytes, found ${value.length}`);
15
+ }
16
+ const dv = new DataView(value.buffer, value.byteOffset);
17
+ return bitLength === 32
18
+ ? dv.getFloat32(0, isLe)
19
+ : dv.getFloat64(0, isLe);
20
+ }
@@ -0,0 +1,16 @@
1
+ import type { HexString } from '../types.js';
2
+ /**
3
+ * @name u8aToHex
4
+ * @summary Creates a hex string from a Uint8Array object.
5
+ * @description
6
+ * `UInt8Array` input values return the actual hex string. `null` or `undefined` values returns an `0x` string.
7
+ * @example
8
+ * <BR>
9
+ *
10
+ * ```javascript
11
+ * import { u8aToHex } from '@pezkuwi/util';
12
+ *
13
+ * u8aToHex(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0xf])); // 0x68656c0f
14
+ * ```
15
+ */
16
+ export declare function u8aToHex(value?: Uint8Array | null, bitLength?: number, isPrefixed?: boolean): HexString;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.u8aToHex = u8aToHex;
4
+ const U8 = new Array(256);
5
+ const U16 = new Array(256 * 256);
6
+ for (let n = 0; n < 256; n++) {
7
+ U8[n] = n.toString(16).padStart(2, '0');
8
+ }
9
+ for (let i = 0; i < 256; i++) {
10
+ const s = i << 8;
11
+ for (let j = 0; j < 256; j++) {
12
+ U16[s | j] = U8[i] + U8[j];
13
+ }
14
+ }
15
+ /** @internal */
16
+ function hex(value, result) {
17
+ const mod = (value.length % 2) | 0;
18
+ const length = (value.length - mod) | 0;
19
+ for (let i = 0; i < length; i += 2) {
20
+ result += U16[(value[i] << 8) | value[i + 1]];
21
+ }
22
+ if (mod) {
23
+ result += U8[value[length] | 0];
24
+ }
25
+ return result;
26
+ }
27
+ /**
28
+ * @name u8aToHex
29
+ * @summary Creates a hex string from a Uint8Array object.
30
+ * @description
31
+ * `UInt8Array` input values return the actual hex string. `null` or `undefined` values returns an `0x` string.
32
+ * @example
33
+ * <BR>
34
+ *
35
+ * ```javascript
36
+ * import { u8aToHex } from '@pezkuwi/util';
37
+ *
38
+ * u8aToHex(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0xf])); // 0x68656c0f
39
+ * ```
40
+ */
41
+ function u8aToHex(value, bitLength = -1, isPrefixed = true) {
42
+ // this is not 100% correct sinmce we support isPrefixed = false....
43
+ const empty = isPrefixed
44
+ ? '0x'
45
+ : '';
46
+ if (!value?.length) {
47
+ return empty;
48
+ }
49
+ else if (bitLength > 0) {
50
+ const length = Math.ceil(bitLength / 8);
51
+ if (value.length > length) {
52
+ return `${hex(value.subarray(0, length / 2), empty)}…${hex(value.subarray(value.length - length / 2), '')}`;
53
+ }
54
+ }
55
+ return hex(value, empty);
56
+ }
@@ -0,0 +1,16 @@
1
+ import type { HexString } from '../types.js';
2
+ /**
3
+ * @name u8aToHex
4
+ * @summary Creates a hex string from a Uint8Array object.
5
+ * @description
6
+ * `UInt8Array` input values return the actual hex string. `null` or `undefined` values returns an `0x` string.
7
+ * @example
8
+ * <BR>
9
+ *
10
+ * ```javascript
11
+ * import { u8aToHex } from '@pezkuwi/util';
12
+ *
13
+ * u8aToHex(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0xf])); // 0x68656c0f
14
+ * ```
15
+ */
16
+ export declare function u8aToHex(value?: Uint8Array | null, bitLength?: number, isPrefixed?: boolean): HexString;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.u8aToHex = u8aToHex;
4
+ /**
5
+ * @name u8aToHex
6
+ * @summary Creates a hex string from a Uint8Array object.
7
+ * @description
8
+ * `UInt8Array` input values return the actual hex string. `null` or `undefined` values returns an `0x` string.
9
+ * @example
10
+ * <BR>
11
+ *
12
+ * ```javascript
13
+ * import { u8aToHex } from '@pezkuwi/util';
14
+ *
15
+ * u8aToHex(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0xf])); // 0x68656c0f
16
+ * ```
17
+ */
18
+ function u8aToHex(value, bitLength = -1, isPrefixed = true) {
19
+ const length = Math.ceil(bitLength / 8);
20
+ return `${isPrefixed ? '0x' : ''}${!value?.length
21
+ ? ''
22
+ : (bitLength > 0 && value.length > length)
23
+ ? `${Buffer.from(value.subarray(0, length / 2)).toString('hex')}…${Buffer.from(value.subarray(value.length - length / 2)).toString('hex')}`
24
+ : Buffer.from(value).toString('hex')}`;
25
+ }
@@ -0,0 +1,6 @@
1
+ import type { ToBnOptions } from '../types.js';
2
+ /**
3
+ * @name u8aToNumber
4
+ * @summary Creates a number from a Uint8Array object.
5
+ */
6
+ export declare function u8aToNumber(value: Uint8Array, { isLe, isNegative }?: ToBnOptions): number;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.u8aToNumber = u8aToNumber;
4
+ /**
5
+ * @name u8aToNumber
6
+ * @summary Creates a number from a Uint8Array object.
7
+ */
8
+ function u8aToNumber(value, { isLe = true, isNegative = false } = {}) {
9
+ // slice + reverse is expensive, however SCALE is LE by default so this is the path
10
+ // we are most interested in (the BE is added for the sake of being comprehensive)
11
+ if (!isLe) {
12
+ value = value.slice().reverse();
13
+ }
14
+ const count = value.length;
15
+ // When the value is a i{8, 16, 24, 32, 40, 40} values and the top-most bit
16
+ // indicates a signed value, we use a two's complement conversion. If one of these
17
+ // flags are not set, we just do a normal unsigned conversion (the same shortcut
18
+ // applies in both the u8aTo{BigInt, Bn} conversions as well)
19
+ if (isNegative && count && (value[count - 1] & 0x80)) {
20
+ switch (count) {
21
+ case 0:
22
+ return 0;
23
+ case 1:
24
+ return (((value[0] ^ 0x0000_00ff) * -1) - 1);
25
+ case 2:
26
+ return ((((value[0] + (value[1] << 8)) ^ 0x0000_ffff) * -1) - 1);
27
+ case 3:
28
+ return ((((value[0] + (value[1] << 8) + (value[2] << 16)) ^ 0x00ff_ffff) * -1) - 1);
29
+ case 4:
30
+ // for the 3rd byte, we don't << 24 - since JS converts all bitwise operators to
31
+ // 32-bit, in the case where the top-most bit is set this yields a negative value
32
+ return ((((value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00)) ^ 0xffff_ffff) * -1) - 1);
33
+ case 5:
34
+ 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);
35
+ case 6:
36
+ 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);
37
+ default:
38
+ throw new Error('Value more than 48-bits cannot be reliably converted');
39
+ }
40
+ }
41
+ switch (count) {
42
+ case 0:
43
+ return 0;
44
+ case 1:
45
+ return value[0];
46
+ case 2:
47
+ return value[0] + (value[1] << 8);
48
+ case 3:
49
+ return value[0] + (value[1] << 8) + (value[2] << 16);
50
+ case 4:
51
+ // for the 3rd byte, we don't << 24 - since JS converts all bitwise operators to
52
+ // 32-bit, in the case where the top-most bit is set this yields a negative value
53
+ return value[0] + (value[1] << 8) + (value[2] << 16) + (value[3] * 0x1_00_00_00);
54
+ case 5:
55
+ return value[0] + (value[1] << 8) + (value[2] << 16) + ((value[3] + (value[4] << 8)) * 0x1_00_00_00);
56
+ case 6:
57
+ return value[0] + (value[1] << 8) + (value[2] << 16) + ((value[3] + (value[4] << 8) + (value[5] << 16)) * 0x1_00_00_00);
58
+ default:
59
+ throw new Error('Value more than 48-bits cannot be reliably converted');
60
+ }
61
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @name u8aToString
3
+ * @summary Creates a utf-8 string from a Uint8Array object.
4
+ * @description
5
+ * `UInt8Array` input values return the actual decoded utf-8 string. `null` or `undefined` values returns an empty string.
6
+ * @example
7
+ * <BR>
8
+ *
9
+ * ```javascript
10
+ * import { u8aToString } from '@pezkuwi/util';
11
+ *
12
+ * u8aToString(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0x6f])); // hello
13
+ * ```
14
+ */
15
+ export declare function u8aToString(value?: Uint8Array | null): string;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.u8aToString = u8aToString;
4
+ const x_textdecoder_1 = require("@pezkuwi/x-textdecoder");
5
+ const decoder = new x_textdecoder_1.TextDecoder('utf-8');
6
+ /**
7
+ * @name u8aToString
8
+ * @summary Creates a utf-8 string from a Uint8Array object.
9
+ * @description
10
+ * `UInt8Array` input values return the actual decoded utf-8 string. `null` or `undefined` values returns an empty string.
11
+ * @example
12
+ * <BR>
13
+ *
14
+ * ```javascript
15
+ * import { u8aToString } from '@pezkuwi/util';
16
+ *
17
+ * u8aToString(new Uint8Array([0x68, 0x65, 0x6c, 0x6c, 0x6f])); // hello
18
+ * ```
19
+ */
20
+ function u8aToString(value) {
21
+ return value
22
+ ? decoder.decode(value)
23
+ : '';
24
+ }