@pezkuwi/util 14.0.1 → 14.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (758) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +4 -4
  3. package/array/chunk.d.ts +15 -0
  4. package/array/chunk.js +27 -0
  5. package/array/filter.d.ts +16 -0
  6. package/{src/array/filter.ts → array/filter.js} +3 -8
  7. package/array/flatten.d.ts +15 -0
  8. package/array/flatten.js +39 -0
  9. package/{src/array/index.ts → array/index.d.ts} +0 -4
  10. package/array/index.js +10 -0
  11. package/array/range.d.ts +16 -0
  12. package/{src/array/range.ts → array/range.js} +9 -15
  13. package/array/shuffle.d.ts +5 -0
  14. package/array/shuffle.js +19 -0
  15. package/array/unzip.d.ts +5 -0
  16. package/array/unzip.js +13 -0
  17. package/array/zip.d.ts +5 -0
  18. package/array/zip.js +12 -0
  19. package/assert.d.ts +29 -0
  20. package/{src/assert.ts → assert.js} +11 -22
  21. package/bi/consts.d.ts +90 -0
  22. package/{src/bi/consts.ts → bi/consts.js} +0 -21
  23. package/bi/helpers.d.ts +2 -0
  24. package/bi/helpers.js +16 -0
  25. package/{src/bi/index.ts → bi/index.d.ts} +0 -7
  26. package/bi/index.js +9 -0
  27. package/bi/min.d.ts +10 -0
  28. package/bi/min.js +11 -0
  29. package/bi/sqrt.d.ts +7 -0
  30. package/bi/sqrt.js +29 -0
  31. package/bi/toBigInt.d.ts +7 -0
  32. package/bi/toBigInt.js +25 -0
  33. package/bi/toHex.d.ts +7 -0
  34. package/bi/toHex.js +9 -0
  35. package/bi/toU8a.d.ts +7 -0
  36. package/bi/toU8a.js +49 -0
  37. package/bn/bn.d.ts +2 -0
  38. package/bn/bn.js +2 -0
  39. package/bn/consts.d.ts +91 -0
  40. package/{src/bn/consts.ts → bn/consts.js} +18 -39
  41. package/bn/fromHex.d.ts +1 -0
  42. package/bn/fromHex.js +1 -0
  43. package/{src/bn/index.ts → bn/index.d.ts} +0 -7
  44. package/bn/index.js +11 -0
  45. package/bn/min.d.ts +29 -0
  46. package/{src/bn/min.ts → bn/min.js} +2 -9
  47. package/bn/sqrt.d.ts +16 -0
  48. package/bn/sqrt.js +38 -0
  49. package/bn/toBn.d.ts +19 -0
  50. package/{src/bn/toBn.ts → bn/toBn.js} +14 -20
  51. package/bn/toHex.d.ts +18 -0
  52. package/{src/bn/toHex.ts → bn/toHex.js} +2 -9
  53. package/bn/toU8a.d.ts +17 -0
  54. package/bn/toU8a.js +33 -0
  55. package/{src/buffer/index.ts → buffer/index.d.ts} +0 -4
  56. package/buffer/index.js +4 -0
  57. package/buffer/toU8a.d.ts +15 -0
  58. package/{src/buffer/toU8a.ts → buffer/toU8a.js} +2 -5
  59. package/bundle-polkadot-util.js +4829 -0
  60. package/{src/bundle.ts → bundle.d.ts} +0 -7
  61. package/bundle.js +28 -0
  62. package/cjs/array/chunk.d.ts +15 -0
  63. package/cjs/array/chunk.js +30 -0
  64. package/cjs/array/filter.d.ts +16 -0
  65. package/cjs/array/filter.js +22 -0
  66. package/cjs/array/flatten.d.ts +15 -0
  67. package/cjs/array/flatten.js +42 -0
  68. package/cjs/array/index.d.ts +10 -0
  69. package/cjs/array/index.js +20 -0
  70. package/cjs/array/range.d.ts +16 -0
  71. package/cjs/array/range.js +28 -0
  72. package/cjs/array/shuffle.d.ts +5 -0
  73. package/cjs/array/shuffle.js +22 -0
  74. package/cjs/array/unzip.d.ts +5 -0
  75. package/cjs/array/unzip.js +16 -0
  76. package/cjs/array/zip.d.ts +5 -0
  77. package/cjs/array/zip.js +15 -0
  78. package/cjs/assert.d.ts +29 -0
  79. package/cjs/assert.js +44 -0
  80. package/cjs/bi/consts.d.ts +90 -0
  81. package/cjs/bi/consts.js +94 -0
  82. package/cjs/bi/helpers.d.ts +2 -0
  83. package/cjs/bi/helpers.js +19 -0
  84. package/cjs/bi/index.d.ts +9 -0
  85. package/cjs/bi/index.js +19 -0
  86. package/cjs/bi/min.d.ts +10 -0
  87. package/cjs/bi/min.js +14 -0
  88. package/cjs/bi/sqrt.d.ts +7 -0
  89. package/cjs/bi/sqrt.js +32 -0
  90. package/cjs/bi/toBigInt.d.ts +7 -0
  91. package/cjs/bi/toBigInt.js +28 -0
  92. package/cjs/bi/toHex.d.ts +7 -0
  93. package/cjs/bi/toHex.js +12 -0
  94. package/cjs/bi/toU8a.d.ts +7 -0
  95. package/cjs/bi/toU8a.js +52 -0
  96. package/cjs/bn/bn.d.ts +2 -0
  97. package/cjs/bn/bn.js +6 -0
  98. package/cjs/bn/consts.d.ts +91 -0
  99. package/cjs/bn/consts.js +94 -0
  100. package/cjs/bn/fromHex.d.ts +1 -0
  101. package/cjs/bn/fromHex.js +5 -0
  102. package/cjs/bn/index.d.ts +11 -0
  103. package/cjs/bn/index.js +23 -0
  104. package/cjs/bn/min.d.ts +29 -0
  105. package/cjs/bn/min.js +32 -0
  106. package/cjs/bn/sqrt.d.ts +16 -0
  107. package/cjs/bn/sqrt.js +41 -0
  108. package/cjs/bn/toBn.d.ts +19 -0
  109. package/cjs/bn/toBn.js +40 -0
  110. package/cjs/bn/toHex.d.ts +18 -0
  111. package/cjs/bn/toHex.js +23 -0
  112. package/cjs/bn/toU8a.d.ts +17 -0
  113. package/cjs/bn/toU8a.js +36 -0
  114. package/cjs/buffer/index.d.ts +4 -0
  115. package/cjs/buffer/index.js +8 -0
  116. package/cjs/buffer/toU8a.d.ts +15 -0
  117. package/cjs/buffer/toU8a.js +20 -0
  118. package/cjs/bundle.d.ts +28 -0
  119. package/cjs/bundle.js +33 -0
  120. package/cjs/compact/addLength.d.ts +13 -0
  121. package/cjs/compact/addLength.js +23 -0
  122. package/cjs/compact/defaults.d.ts +3 -0
  123. package/cjs/compact/defaults.js +5 -0
  124. package/cjs/compact/fromU8a.d.ts +22 -0
  125. package/cjs/compact/fromU8a.js +92 -0
  126. package/{src/compact/index.ts → cjs/compact/index.d.ts} +0 -4
  127. package/cjs/compact/index.js +32 -0
  128. package/cjs/compact/stripLength.d.ts +13 -0
  129. package/cjs/compact/stripLength.js +24 -0
  130. package/cjs/compact/toU8a.d.ts +14 -0
  131. package/cjs/compact/toU8a.js +48 -0
  132. package/cjs/compact/types.d.ts +1 -0
  133. package/cjs/compact/types.js +2 -0
  134. package/cjs/detectPackage.d.ts +17 -0
  135. package/cjs/detectPackage.js +100 -0
  136. package/cjs/extractTime.d.ts +14 -0
  137. package/cjs/extractTime.js +56 -0
  138. package/cjs/float/index.d.ts +1 -0
  139. package/cjs/float/index.js +5 -0
  140. package/cjs/float/toU8a.d.ts +11 -0
  141. package/cjs/float/toU8a.js +22 -0
  142. package/cjs/format/formatBalance.d.ts +54 -0
  143. package/cjs/format/formatBalance.js +88 -0
  144. package/cjs/format/formatDate.d.ts +5 -0
  145. package/cjs/format/formatDate.js +20 -0
  146. package/cjs/format/formatDecimal.d.ts +5 -0
  147. package/cjs/format/formatDecimal.js +19 -0
  148. package/cjs/format/formatElapsed.d.ts +7 -0
  149. package/cjs/format/formatElapsed.js +30 -0
  150. package/cjs/format/formatNumber.d.ts +14 -0
  151. package/cjs/format/formatNumber.js +14 -0
  152. package/cjs/format/getSeparator.d.ts +9 -0
  153. package/cjs/format/getSeparator.js +14 -0
  154. package/{src/format/index.ts → cjs/format/index.d.ts} +0 -3
  155. package/cjs/format/index.js +16 -0
  156. package/cjs/format/si.d.ts +9 -0
  157. package/cjs/format/si.js +45 -0
  158. package/cjs/has.d.ts +14 -0
  159. package/cjs/has.js +19 -0
  160. package/cjs/hex/addPrefix.d.ts +16 -0
  161. package/cjs/hex/addPrefix.js +23 -0
  162. package/cjs/hex/fixLength.d.ts +18 -0
  163. package/cjs/hex/fixLength.js +30 -0
  164. package/cjs/hex/hasPrefix.d.ts +16 -0
  165. package/cjs/hex/hasPrefix.js +21 -0
  166. package/{src/hex/index.ts → cjs/hex/index.d.ts} +0 -4
  167. package/cjs/hex/index.js +24 -0
  168. package/cjs/hex/stripPrefix.d.ts +15 -0
  169. package/cjs/hex/stripPrefix.js +30 -0
  170. package/cjs/hex/toBigInt.d.ts +6 -0
  171. package/cjs/hex/toBigInt.js +15 -0
  172. package/cjs/hex/toBn.d.ts +21 -0
  173. package/cjs/hex/toBn.js +35 -0
  174. package/cjs/hex/toNumber.d.ts +15 -0
  175. package/cjs/hex/toNumber.js +23 -0
  176. package/cjs/hex/toString.d.ts +15 -0
  177. package/cjs/hex/toString.js +22 -0
  178. package/cjs/hex/toU8a.d.ts +16 -0
  179. package/cjs/hex/toU8a.js +57 -0
  180. package/cjs/hex/toU8aBuffer.d.ts +16 -0
  181. package/cjs/hex/toU8aBuffer.js +43 -0
  182. package/cjs/index.d.ts +2 -0
  183. package/cjs/index.js +5 -0
  184. package/cjs/is/array.d.ts +5 -0
  185. package/cjs/is/array.js +10 -0
  186. package/cjs/is/ascii.d.ts +8 -0
  187. package/cjs/is/ascii.js +43 -0
  188. package/cjs/is/bigInt.d.ts +15 -0
  189. package/{src/is/bigInt.ts → cjs/is/bigInt.js} +5 -5
  190. package/cjs/is/bn.d.ts +17 -0
  191. package/cjs/is/bn.js +22 -0
  192. package/cjs/is/boolean.d.ts +15 -0
  193. package/{src/is/boolean.ts → cjs/is/boolean.js} +5 -5
  194. package/cjs/is/buffer.d.ts +16 -0
  195. package/cjs/is/buffer.js +24 -0
  196. package/cjs/is/childClass.d.ts +17 -0
  197. package/cjs/is/childClass.js +26 -0
  198. package/cjs/is/class.d.ts +6 -0
  199. package/cjs/is/class.js +9 -0
  200. package/cjs/is/codec.d.ts +12 -0
  201. package/cjs/is/codec.js +9 -0
  202. package/cjs/is/compact.d.ts +13 -0
  203. package/cjs/is/compact.js +9 -0
  204. package/cjs/is/error.d.ts +15 -0
  205. package/{src/is/error.ts → cjs/is/error.js} +6 -8
  206. package/cjs/is/function.d.ts +17 -0
  207. package/cjs/is/function.js +20 -0
  208. package/cjs/is/helpers.d.ts +3 -0
  209. package/cjs/is/helpers.js +19 -0
  210. package/cjs/is/hex.d.ts +19 -0
  211. package/cjs/is/hex.js +27 -0
  212. package/{src/is/index.ts → cjs/is/index.d.ts} +0 -3
  213. package/cjs/is/index.js +66 -0
  214. package/cjs/is/instanceOf.d.ts +15 -0
  215. package/cjs/is/instanceOf.js +21 -0
  216. package/cjs/is/ip.d.ts +18 -0
  217. package/{src/is/ip.ts → cjs/is/ip.js} +9 -21
  218. package/cjs/is/jsonObject.d.ts +27 -0
  219. package/cjs/is/jsonObject.js +40 -0
  220. package/cjs/is/null.d.ts +15 -0
  221. package/{src/is/null.ts → cjs/is/null.js} +5 -5
  222. package/cjs/is/number.d.ts +15 -0
  223. package/{src/is/number.ts → cjs/is/number.js} +5 -5
  224. package/cjs/is/object.d.ts +18 -0
  225. package/cjs/is/object.js +21 -0
  226. package/cjs/is/observable.d.ts +16 -0
  227. package/cjs/is/observable.js +19 -0
  228. package/cjs/is/promise.d.ts +1 -0
  229. package/cjs/is/promise.js +5 -0
  230. package/cjs/is/riscv.d.ts +7 -0
  231. package/cjs/is/riscv.js +20 -0
  232. package/cjs/is/string.d.ts +16 -0
  233. package/{src/is/string.ts → cjs/is/string.js} +5 -7
  234. package/cjs/is/testChain.d.ts +1 -0
  235. package/cjs/is/testChain.js +10 -0
  236. package/cjs/is/toBigInt.d.ts +2 -0
  237. package/cjs/is/toBigInt.js +5 -0
  238. package/cjs/is/toBn.d.ts +2 -0
  239. package/cjs/is/toBn.js +5 -0
  240. package/cjs/is/u8a.d.ts +15 -0
  241. package/cjs/is/u8a.js +23 -0
  242. package/cjs/is/undefined.d.ts +15 -0
  243. package/{src/is/undefined.ts → cjs/is/undefined.js} +5 -6
  244. package/cjs/is/utf8.d.ts +7 -0
  245. package/cjs/is/utf8.js +200 -0
  246. package/cjs/is/wasm.d.ts +7 -0
  247. package/cjs/is/wasm.js +15 -0
  248. package/cjs/lazy.d.ts +14 -0
  249. package/cjs/lazy.js +55 -0
  250. package/cjs/logger.d.ts +17 -0
  251. package/cjs/logger.js +122 -0
  252. package/cjs/memoize.d.ts +10 -0
  253. package/cjs/memoize.js +33 -0
  254. package/cjs/nextTick.d.ts +5 -0
  255. package/cjs/nextTick.js +27 -0
  256. package/cjs/noop.d.ts +8 -0
  257. package/cjs/noop.js +16 -0
  258. package/{src/number/index.ts → cjs/number/index.d.ts} +0 -4
  259. package/cjs/number/index.js +10 -0
  260. package/cjs/number/toHex.d.ts +17 -0
  261. package/cjs/number/toHex.js +23 -0
  262. package/cjs/number/toU8a.d.ts +15 -0
  263. package/cjs/number/toU8a.js +22 -0
  264. package/cjs/object/clear.d.ts +5 -0
  265. package/cjs/object/clear.js +14 -0
  266. package/cjs/object/copy.d.ts +5 -0
  267. package/cjs/object/copy.js +11 -0
  268. package/cjs/object/entries.d.ts +9 -0
  269. package/cjs/object/entries.js +10 -0
  270. package/{src/object/index.ts → cjs/object/index.d.ts} +0 -3
  271. package/cjs/object/index.js +18 -0
  272. package/cjs/object/keys.d.ts +5 -0
  273. package/cjs/object/keys.js +10 -0
  274. package/cjs/object/property.d.ts +10 -0
  275. package/cjs/object/property.js +38 -0
  276. package/cjs/object/spread.d.ts +6 -0
  277. package/cjs/object/spread.js +34 -0
  278. package/cjs/object/values.d.ts +5 -0
  279. package/cjs/object/values.js +10 -0
  280. package/cjs/package.json +3 -0
  281. package/cjs/packageDetect.d.ts +1 -0
  282. package/cjs/packageDetect.js +7 -0
  283. package/cjs/packageInfo.d.ts +6 -0
  284. package/cjs/packageInfo.js +4 -0
  285. package/cjs/promisify.d.ts +16 -0
  286. package/{src/promisify.ts → cjs/promisify.js} +14 -14
  287. package/cjs/string/camelCase.d.ts +13 -0
  288. package/cjs/string/camelCase.js +62 -0
  289. package/{src/string/index.ts → cjs/string/index.d.ts} +0 -4
  290. package/cjs/string/index.js +18 -0
  291. package/cjs/string/lowerFirst.d.ts +31 -0
  292. package/cjs/string/lowerFirst.js +40 -0
  293. package/cjs/string/shorten.d.ts +16 -0
  294. package/{src/string/shorten.ts → cjs/string/shorten.js} +7 -9
  295. package/cjs/string/toHex.d.ts +16 -0
  296. package/cjs/string/toHex.js +22 -0
  297. package/cjs/string/toU8a.d.ts +16 -0
  298. package/cjs/string/toU8a.js +24 -0
  299. package/cjs/stringify.d.ts +6 -0
  300. package/cjs/stringify.js +18 -0
  301. package/cjs/types.d.ts +62 -0
  302. package/cjs/types.js +2 -0
  303. package/cjs/u8a/cmp.d.ts +17 -0
  304. package/cjs/u8a/cmp.js +49 -0
  305. package/cjs/u8a/concat.d.ts +24 -0
  306. package/cjs/u8a/concat.js +51 -0
  307. package/cjs/u8a/concatBuffer.d.ts +19 -0
  308. package/cjs/u8a/concatBuffer.js +29 -0
  309. package/cjs/u8a/empty.d.ts +7 -0
  310. package/cjs/u8a/empty.js +20 -0
  311. package/cjs/u8a/eq.d.ts +15 -0
  312. package/cjs/u8a/eq.js +40 -0
  313. package/cjs/u8a/fixLength.d.ts +17 -0
  314. package/cjs/u8a/fixLength.js +31 -0
  315. package/{src/u8a/index.ts → cjs/u8a/index.d.ts} +0 -4
  316. package/cjs/u8a/index.js +42 -0
  317. package/cjs/u8a/sorted.d.ts +15 -0
  318. package/cjs/u8a/sorted.js +21 -0
  319. package/cjs/u8a/toBigInt.d.ts +6 -0
  320. package/cjs/u8a/toBigInt.js +73 -0
  321. package/cjs/u8a/toBn.d.ts +21 -0
  322. package/cjs/u8a/toBn.js +81 -0
  323. package/cjs/u8a/toBuffer.d.ts +16 -0
  324. package/cjs/u8a/toBuffer.js +24 -0
  325. package/cjs/u8a/toFloat.d.ts +11 -0
  326. package/cjs/u8a/toFloat.js +20 -0
  327. package/cjs/u8a/toHex.d.ts +16 -0
  328. package/cjs/u8a/toHex.js +56 -0
  329. package/cjs/u8a/toHexBuffer.d.ts +16 -0
  330. package/cjs/u8a/toHexBuffer.js +25 -0
  331. package/cjs/u8a/toNumber.d.ts +6 -0
  332. package/cjs/u8a/toNumber.js +61 -0
  333. package/cjs/u8a/toString.d.ts +15 -0
  334. package/cjs/u8a/toString.js +24 -0
  335. package/cjs/u8a/toU8a.d.ts +19 -0
  336. package/cjs/u8a/toU8a.js +42 -0
  337. package/cjs/u8a/wrap.d.ts +22 -0
  338. package/cjs/u8a/wrap.js +49 -0
  339. package/compact/addLength.d.ts +13 -0
  340. package/{src/compact/addLength.ts → compact/addLength.js} +5 -9
  341. package/compact/defaults.d.ts +3 -0
  342. package/compact/defaults.js +2 -0
  343. package/compact/fromU8a.d.ts +22 -0
  344. package/compact/fromU8a.js +88 -0
  345. package/compact/index.d.ts +24 -0
  346. package/compact/index.js +24 -0
  347. package/compact/stripLength.d.ts +13 -0
  348. package/{src/compact/stripLength.ts → compact/stripLength.js} +7 -12
  349. package/compact/toU8a.d.ts +14 -0
  350. package/compact/toU8a.js +45 -0
  351. package/compact/types.d.ts +1 -0
  352. package/compact/types.js +1 -0
  353. package/detectPackage.d.ts +17 -0
  354. package/detectPackage.js +96 -0
  355. package/extractTime.d.ts +14 -0
  356. package/extractTime.js +53 -0
  357. package/float/index.d.ts +1 -0
  358. package/float/index.js +1 -0
  359. package/float/toU8a.d.ts +11 -0
  360. package/float/toU8a.js +19 -0
  361. package/format/formatBalance.d.ts +54 -0
  362. package/format/formatBalance.js +85 -0
  363. package/format/formatDate.d.ts +5 -0
  364. package/format/formatDate.js +17 -0
  365. package/format/formatDecimal.d.ts +5 -0
  366. package/format/formatDecimal.js +16 -0
  367. package/format/formatElapsed.d.ts +7 -0
  368. package/format/formatElapsed.js +27 -0
  369. package/format/formatNumber.d.ts +14 -0
  370. package/format/formatNumber.js +11 -0
  371. package/format/getSeparator.d.ts +9 -0
  372. package/format/getSeparator.js +11 -0
  373. package/format/index.d.ts +6 -0
  374. package/format/index.js +6 -0
  375. package/format/si.d.ts +9 -0
  376. package/format/si.js +40 -0
  377. package/has.d.ts +14 -0
  378. package/{src/has.ts → has.js} +1 -23
  379. package/hex/addPrefix.d.ts +16 -0
  380. package/{src/hex/addPrefix.ts → hex/addPrefix.js} +4 -10
  381. package/hex/fixLength.d.ts +18 -0
  382. package/{src/hex/fixLength.ts → hex/fixLength.js} +8 -17
  383. package/hex/hasPrefix.d.ts +16 -0
  384. package/{src/hex/hasPrefix.ts → hex/hasPrefix.js} +2 -8
  385. package/hex/index.d.ts +12 -0
  386. package/hex/index.js +12 -0
  387. package/hex/stripPrefix.d.ts +15 -0
  388. package/{src/hex/stripPrefix.ts → hex/stripPrefix.js} +11 -14
  389. package/hex/toBigInt.d.ts +6 -0
  390. package/hex/toBigInt.js +12 -0
  391. package/hex/toBn.d.ts +21 -0
  392. package/{src/hex/toBn.ts → hex/toBn.js} +11 -19
  393. package/hex/toNumber.d.ts +15 -0
  394. package/{src/hex/toNumber.ts → hex/toNumber.js} +4 -8
  395. package/hex/toString.d.ts +15 -0
  396. package/{src/hex/toString.ts → hex/toString.js} +2 -8
  397. package/hex/toU8a.d.ts +16 -0
  398. package/hex/toU8a.js +54 -0
  399. package/hex/toU8aBuffer.d.ts +16 -0
  400. package/hex/toU8aBuffer.js +40 -0
  401. package/index.d.ts +2 -0
  402. package/index.js +2 -0
  403. package/is/array.d.ts +5 -0
  404. package/is/array.js +7 -0
  405. package/is/ascii.d.ts +8 -0
  406. package/is/ascii.js +40 -0
  407. package/is/bigInt.d.ts +15 -0
  408. package/is/bigInt.js +17 -0
  409. package/is/bn.d.ts +17 -0
  410. package/{src/is/bn.ts → is/bn.js} +2 -6
  411. package/is/boolean.d.ts +15 -0
  412. package/is/boolean.js +17 -0
  413. package/is/buffer.d.ts +16 -0
  414. package/is/buffer.js +21 -0
  415. package/is/childClass.d.ts +17 -0
  416. package/is/childClass.js +23 -0
  417. package/is/class.d.ts +6 -0
  418. package/is/class.js +6 -0
  419. package/is/codec.d.ts +12 -0
  420. package/is/codec.js +6 -0
  421. package/is/compact.d.ts +13 -0
  422. package/is/compact.js +6 -0
  423. package/is/error.d.ts +15 -0
  424. package/is/error.js +18 -0
  425. package/is/function.d.ts +17 -0
  426. package/is/function.js +17 -0
  427. package/is/helpers.d.ts +3 -0
  428. package/is/helpers.js +14 -0
  429. package/is/hex.d.ts +19 -0
  430. package/is/hex.js +23 -0
  431. package/is/index.d.ts +33 -0
  432. package/is/index.js +33 -0
  433. package/is/instanceOf.d.ts +15 -0
  434. package/is/instanceOf.js +18 -0
  435. package/is/ip.d.ts +18 -0
  436. package/is/ip.js +41 -0
  437. package/is/jsonObject.d.ts +27 -0
  438. package/{src/is/jsonObject.ts → is/jsonObject.js} +11 -19
  439. package/is/null.d.ts +15 -0
  440. package/is/null.js +17 -0
  441. package/is/number.d.ts +15 -0
  442. package/is/number.js +17 -0
  443. package/is/object.d.ts +18 -0
  444. package/is/object.js +18 -0
  445. package/is/observable.d.ts +16 -0
  446. package/{src/is/observable.ts → is/observable.js} +1 -7
  447. package/is/promise.d.ts +1 -0
  448. package/is/promise.js +2 -0
  449. package/is/riscv.d.ts +7 -0
  450. package/{src/is/riscv.ts → is/riscv.js} +6 -16
  451. package/is/string.d.ts +16 -0
  452. package/is/string.js +17 -0
  453. package/is/testChain.d.ts +1 -0
  454. package/is/testChain.js +7 -0
  455. package/is/toBigInt.d.ts +2 -0
  456. package/is/toBigInt.js +2 -0
  457. package/is/toBn.d.ts +2 -0
  458. package/is/toBn.js +2 -0
  459. package/is/u8a.d.ts +15 -0
  460. package/is/u8a.js +20 -0
  461. package/is/undefined.d.ts +15 -0
  462. package/is/undefined.js +17 -0
  463. package/is/utf8.d.ts +7 -0
  464. package/is/utf8.js +197 -0
  465. package/is/wasm.d.ts +7 -0
  466. package/{src/is/wasm.ts → is/wasm.js} +2 -7
  467. package/lazy.d.ts +14 -0
  468. package/lazy.js +51 -0
  469. package/logger.d.ts +17 -0
  470. package/logger.js +118 -0
  471. package/memoize.d.ts +10 -0
  472. package/memoize.js +30 -0
  473. package/nextTick.d.ts +5 -0
  474. package/nextTick.js +24 -0
  475. package/noop.d.ts +8 -0
  476. package/noop.js +12 -0
  477. package/number/index.d.ts +5 -0
  478. package/number/index.js +5 -0
  479. package/number/toHex.d.ts +17 -0
  480. package/{src/number/toHex.ts → number/toHex.js} +3 -10
  481. package/number/toU8a.d.ts +15 -0
  482. package/{src/number/toU8a.ts → number/toU8a.js} +2 -8
  483. package/object/clear.d.ts +5 -0
  484. package/object/clear.js +11 -0
  485. package/object/copy.d.ts +5 -0
  486. package/object/copy.js +8 -0
  487. package/object/entries.d.ts +9 -0
  488. package/object/entries.js +7 -0
  489. package/object/index.d.ts +7 -0
  490. package/object/index.js +7 -0
  491. package/object/keys.d.ts +5 -0
  492. package/object/keys.js +7 -0
  493. package/object/property.d.ts +10 -0
  494. package/object/property.js +34 -0
  495. package/object/spread.d.ts +6 -0
  496. package/object/spread.js +31 -0
  497. package/object/values.d.ts +5 -0
  498. package/object/values.js +7 -0
  499. package/package.json +1957 -10
  500. package/packageDetect.d.ts +1 -0
  501. package/{src/packageDetect.ts → packageDetect.js} +0 -8
  502. package/packageInfo.d.ts +6 -0
  503. package/packageInfo.js +1 -0
  504. package/promisify.d.ts +16 -0
  505. package/promisify.js +27 -0
  506. package/string/camelCase.d.ts +13 -0
  507. package/string/camelCase.js +59 -0
  508. package/string/index.d.ts +8 -0
  509. package/string/index.js +8 -0
  510. package/string/lowerFirst.d.ts +31 -0
  511. package/{src/string/lowerFirst.ts → string/lowerFirst.js} +4 -13
  512. package/string/shorten.d.ts +16 -0
  513. package/string/shorten.js +19 -0
  514. package/string/toHex.d.ts +16 -0
  515. package/{src/string/toHex.ts → string/toHex.js} +2 -10
  516. package/string/toU8a.d.ts +16 -0
  517. package/{src/string/toU8a.ts → string/toU8a.js} +4 -11
  518. package/stringify.d.ts +6 -0
  519. package/stringify.js +15 -0
  520. package/types.d.ts +62 -0
  521. package/types.js +1 -0
  522. package/u8a/cmp.d.ts +17 -0
  523. package/u8a/cmp.js +46 -0
  524. package/u8a/concat.d.ts +24 -0
  525. package/u8a/concat.js +47 -0
  526. package/u8a/concatBuffer.d.ts +19 -0
  527. package/u8a/concatBuffer.js +26 -0
  528. package/u8a/empty.d.ts +7 -0
  529. package/u8a/empty.js +17 -0
  530. package/u8a/eq.d.ts +15 -0
  531. package/u8a/eq.js +37 -0
  532. package/u8a/fixLength.d.ts +17 -0
  533. package/u8a/fixLength.js +28 -0
  534. package/u8a/index.d.ts +18 -0
  535. package/u8a/index.js +18 -0
  536. package/u8a/sorted.d.ts +15 -0
  537. package/{src/u8a/sorted.ts → u8a/sorted.js} +2 -6
  538. package/u8a/toBigInt.d.ts +6 -0
  539. package/u8a/toBigInt.js +70 -0
  540. package/u8a/toBn.d.ts +21 -0
  541. package/u8a/toBn.js +78 -0
  542. package/u8a/toBuffer.d.ts +16 -0
  543. package/{src/u8a/toBuffer.ts → u8a/toBuffer.js} +4 -11
  544. package/u8a/toFloat.d.ts +11 -0
  545. package/u8a/toFloat.js +17 -0
  546. package/u8a/toHex.d.ts +16 -0
  547. package/u8a/toHex.js +53 -0
  548. package/u8a/toHexBuffer.d.ts +16 -0
  549. package/u8a/toHexBuffer.js +22 -0
  550. package/u8a/toNumber.d.ts +6 -0
  551. package/u8a/toNumber.js +58 -0
  552. package/u8a/toString.d.ts +15 -0
  553. package/{src/u8a/toString.ts → u8a/toString.js} +4 -9
  554. package/u8a/toU8a.d.ts +19 -0
  555. package/{src/u8a/toU8a.ts → u8a/toU8a.js} +16 -23
  556. package/u8a/wrap.d.ts +22 -0
  557. package/u8a/wrap.js +43 -0
  558. package/src/array/chunk.spec.ts +0 -29
  559. package/src/array/chunk.ts +0 -35
  560. package/src/array/filter.spec.ts +0 -20
  561. package/src/array/flatten.spec.ts +0 -33
  562. package/src/array/flatten.ts +0 -51
  563. package/src/array/range.spec.ts +0 -29
  564. package/src/array/shuffle.spec.ts +0 -39
  565. package/src/array/shuffle.ts +0 -27
  566. package/src/array/unzip.spec.ts +0 -14
  567. package/src/array/unzip.ts +0 -18
  568. package/src/array/zip.spec.ts +0 -26
  569. package/src/array/zip.ts +0 -17
  570. package/src/assert.spec.ts +0 -40
  571. package/src/bi/helpers.ts +0 -23
  572. package/src/bi/max.spec.ts +0 -32
  573. package/src/bi/min.spec.ts +0 -26
  574. package/src/bi/min.ts +0 -16
  575. package/src/bi/sqrt.spec.ts +0 -59
  576. package/src/bi/sqrt.ts +0 -43
  577. package/src/bi/toBigInt.spec.ts +0 -69
  578. package/src/bi/toBigInt.ts +0 -33
  579. package/src/bi/toHex.spec.ts +0 -56
  580. package/src/bi/toHex.ts +0 -16
  581. package/src/bi/toU8a.spec.ts +0 -99
  582. package/src/bi/toU8a.ts +0 -72
  583. package/src/bn/bn.ts +0 -6
  584. package/src/bn/consts.spec.ts +0 -38
  585. package/src/bn/fromHex.spec.ts +0 -15
  586. package/src/bn/fromHex.ts +0 -4
  587. package/src/bn/max.spec.ts +0 -32
  588. package/src/bn/min.spec.ts +0 -26
  589. package/src/bn/sqrt.spec.ts +0 -37
  590. package/src/bn/sqrt.ts +0 -50
  591. package/src/bn/toBn.spec.ts +0 -53
  592. package/src/bn/toHex.spec.ts +0 -50
  593. package/src/bn/toU8a.spec.ts +0 -60
  594. package/src/bn/toU8a.ts +0 -45
  595. package/src/buffer/toU8a.spec.ts +0 -20
  596. package/src/compact/addLength.spec.ts +0 -14
  597. package/src/compact/defaults.ts +0 -7
  598. package/src/compact/fromU8a.spec.ts +0 -84
  599. package/src/compact/fromU8a.ts +0 -109
  600. package/src/compact/stripLength.spec.ts +0 -17
  601. package/src/compact/toU8a.spec.ts +0 -59
  602. package/src/compact/toU8a.ts +0 -53
  603. package/src/compact/types.ts +0 -4
  604. package/src/detectPackage.spec.ts +0 -110
  605. package/src/detectPackage.ts +0 -138
  606. package/src/extractTime.spec.ts +0 -21
  607. package/src/extractTime.ts +0 -71
  608. package/src/float/index.ts +0 -4
  609. package/src/float/toU8a.spec.ts +0 -52
  610. package/src/float/toU8a.ts +0 -30
  611. package/src/format/formatBalance.spec.ts +0 -296
  612. package/src/format/formatBalance.ts +0 -177
  613. package/src/format/formatDate.spec.ts +0 -17
  614. package/src/format/formatDate.ts +0 -22
  615. package/src/format/formatDecimal.spec.ts +0 -28
  616. package/src/format/formatDecimal.ts +0 -22
  617. package/src/format/formatElapsed.spec.ts +0 -44
  618. package/src/format/formatElapsed.ts +0 -35
  619. package/src/format/formatNumber.spec.ts +0 -60
  620. package/src/format/formatNumber.ts +0 -29
  621. package/src/format/getSeparator.spec.ts +0 -53
  622. package/src/format/getSeparator.ts +0 -15
  623. package/src/format/si.ts +0 -52
  624. package/src/has.spec.ts +0 -12
  625. package/src/hex/addPrefix.spec.ts +0 -32
  626. package/src/hex/fixLength.spec.ts +0 -38
  627. package/src/hex/hasPrefix.spec.ts +0 -32
  628. package/src/hex/stripPrefix.spec.ts +0 -44
  629. package/src/hex/toBigInt.spec.ts +0 -74
  630. package/src/hex/toBigInt.ts +0 -19
  631. package/src/hex/toBn.spec.ts +0 -74
  632. package/src/hex/toNumber.spec.ts +0 -20
  633. package/src/hex/toString.spec.ts +0 -20
  634. package/src/hex/toU8a.spec.ts +0 -76
  635. package/src/hex/toU8a.ts +0 -68
  636. package/src/hex/toU8aBuffer.spec.ts +0 -38
  637. package/src/hex/toU8aBuffer.ts +0 -52
  638. package/src/index.spec.ts +0 -12
  639. package/src/index.ts +0 -6
  640. package/src/is/array.spec.ts +0 -20
  641. package/src/is/array.ts +0 -10
  642. package/src/is/ascii.spec.ts +0 -49
  643. package/src/is/ascii.ts +0 -52
  644. package/src/is/bigInt.spec.ts +0 -26
  645. package/src/is/bn.spec.ts +0 -21
  646. package/src/is/boolean.spec.ts +0 -26
  647. package/src/is/buffer.spec.ts +0 -26
  648. package/src/is/buffer.ts +0 -28
  649. package/src/is/childClass.spec.ts +0 -36
  650. package/src/is/childClass.ts +0 -29
  651. package/src/is/class.spec.ts +0 -37
  652. package/src/is/class.ts +0 -12
  653. package/src/is/codec.spec.ts +0 -52
  654. package/src/is/codec.ts +0 -26
  655. package/src/is/compact.spec.ts +0 -27
  656. package/src/is/compact.ts +0 -19
  657. package/src/is/error.spec.ts +0 -20
  658. package/src/is/function.spec.ts +0 -20
  659. package/src/is/function.ts +0 -23
  660. package/src/is/helpers.ts +0 -23
  661. package/src/is/hex.spec.ts +0 -77
  662. package/src/is/hex.ts +0 -36
  663. package/src/is/instanceOf.spec.ts +0 -48
  664. package/src/is/instanceOf.ts +0 -24
  665. package/src/is/ip.spec.ts +0 -50
  666. package/src/is/jsonObject.spec.ts +0 -51
  667. package/src/is/null.spec.ts +0 -20
  668. package/src/is/number.spec.ts +0 -20
  669. package/src/is/object.spec.ts +0 -32
  670. package/src/is/object.ts +0 -24
  671. package/src/is/observable.spec.ts +0 -26
  672. package/src/is/promise.spec.ts +0 -32
  673. package/src/is/promise.ts +0 -6
  674. package/src/is/riscv.spec.ts +0 -36
  675. package/src/is/string.spec.ts +0 -32
  676. package/src/is/testChain.spec.ts +0 -25
  677. package/src/is/testChain.ts +0 -12
  678. package/src/is/toBigInt.spec.ts +0 -22
  679. package/src/is/toBigInt.ts +0 -8
  680. package/src/is/toBn.spec.ts +0 -25
  681. package/src/is/toBn.ts +0 -8
  682. package/src/is/u8a.spec.ts +0 -42
  683. package/src/is/u8a.ts +0 -25
  684. package/src/is/undefined.spec.ts +0 -23
  685. package/src/is/utf8.spec.ts +0 -42
  686. package/src/is/utf8.ts +0 -207
  687. package/src/is/wasm.spec.ts +0 -20
  688. package/src/lazy.spec.ts +0 -71
  689. package/src/lazy.ts +0 -63
  690. package/src/logger.spec.ts +0 -188
  691. package/src/logger.ts +0 -160
  692. package/src/memoize.spec.ts +0 -79
  693. package/src/memoize.ts +0 -49
  694. package/src/mod.ts +0 -4
  695. package/src/nextTick.ts +0 -26
  696. package/src/noop.ts +0 -16
  697. package/src/number/toHex.spec.ts +0 -44
  698. package/src/number/toU8a.spec.ts +0 -50
  699. package/src/object/clear.spec.ts +0 -14
  700. package/src/object/clear.ts +0 -16
  701. package/src/object/copy.spec.ts +0 -17
  702. package/src/object/copy.ts +0 -12
  703. package/src/object/entries.spec.ts +0 -20
  704. package/src/object/entries.ts +0 -12
  705. package/src/object/keys.spec.ts +0 -19
  706. package/src/object/keys.ts +0 -10
  707. package/src/object/property.spec.ts +0 -149
  708. package/src/object/property.ts +0 -39
  709. package/src/object/spread.spec.ts +0 -36
  710. package/src/object/spread.ts +0 -38
  711. package/src/object/values.spec.ts +0 -19
  712. package/src/object/values.ts +0 -10
  713. package/src/packageInfo.ts +0 -6
  714. package/src/promisify.spec.ts +0 -50
  715. package/src/string/camelCase.spec.ts +0 -119
  716. package/src/string/camelCase.ts +0 -79
  717. package/src/string/lowerFirst.spec.ts +0 -41
  718. package/src/string/pascalCase.spec.ts +0 -26
  719. package/src/string/shorten.spec.ts +0 -38
  720. package/src/string/toHex.spec.ts +0 -26
  721. package/src/string/toU8a.spec.ts +0 -31
  722. package/src/string/upperFirst.spec.ts +0 -41
  723. package/src/stringify.spec.ts +0 -33
  724. package/src/stringify.ts +0 -20
  725. package/src/test/index.ts +0 -4
  726. package/src/test/performance.ts +0 -92
  727. package/src/types.ts +0 -100
  728. package/src/u8a/cmp.spec.ts +0 -62
  729. package/src/u8a/cmp.ts +0 -50
  730. package/src/u8a/concat.spec.ts +0 -42
  731. package/src/u8a/concat.ts +0 -60
  732. package/src/u8a/concatBuffer.ts +0 -34
  733. package/src/u8a/empty.spec.ts +0 -46
  734. package/src/u8a/empty.ts +0 -22
  735. package/src/u8a/eq.spec.ts +0 -113
  736. package/src/u8a/eq.ts +0 -46
  737. package/src/u8a/fixLength.spec.ts +0 -34
  738. package/src/u8a/fixLength.ts +0 -34
  739. package/src/u8a/sorted.spec.ts +0 -20
  740. package/src/u8a/toBigInt.spec.ts +0 -106
  741. package/src/u8a/toBigInt.ts +0 -100
  742. package/src/u8a/toBn.spec.ts +0 -106
  743. package/src/u8a/toBn.ts +0 -101
  744. package/src/u8a/toBuffer.spec.ts +0 -20
  745. package/src/u8a/toFloat.spec.ts +0 -86
  746. package/src/u8a/toFloat.ts +0 -26
  747. package/src/u8a/toHex.spec.ts +0 -94
  748. package/src/u8a/toHex.ts +0 -68
  749. package/src/u8a/toHexBuffer.spec.ts +0 -63
  750. package/src/u8a/toHexBuffer.ts +0 -30
  751. package/src/u8a/toNumber.spec.ts +0 -47
  752. package/src/u8a/toNumber.ts +0 -80
  753. package/src/u8a/toString.spec.ts +0 -36
  754. package/src/u8a/toU8a.spec.ts +0 -63
  755. package/src/u8a/wrap.spec.ts +0 -139
  756. package/src/u8a/wrap.ts +0 -65
  757. package/tsconfig.build.json +0 -19
  758. package/tsconfig.spec.json +0 -17
package/is/utf8.js ADDED
@@ -0,0 +1,197 @@
1
+ import { u8aToU8a } from '../u8a/toU8a.js';
2
+ import { isString } from './string.js';
3
+ /**
4
+ * @name isUtf8
5
+ * @summary Tests if the input is valid Utf8
6
+ * @description
7
+ * Checks to see if the input string or Uint8Array is valid Utf8
8
+ */
9
+ export function isUtf8(value) {
10
+ if (!value) {
11
+ return isString(value);
12
+ }
13
+ const u8a = u8aToU8a(value);
14
+ const len = u8a.length;
15
+ let i = 0;
16
+ while (i < len) {
17
+ if (u8a[i] <= 0x7F) /* 00..7F */ {
18
+ i += 1;
19
+ }
20
+ else if (u8a[i] >= 0xC2 && u8a[i] <= 0xDF) /* C2..DF 80..BF */ {
21
+ if (i + 1 < len) /* Expect a 2nd byte */ {
22
+ if (u8a[i + 1] < 0x80 || u8a[i + 1] > 0xBF) {
23
+ // *message = "After a first byte between C2 and DF, expecting a 2nd byte between 80 and BF";
24
+ // *faulty_bytes = 2;
25
+ return false;
26
+ }
27
+ }
28
+ else {
29
+ // *message = "After a first byte between C2 and DF, expecting a 2nd byte.";
30
+ // *faulty_bytes = 1;
31
+ return false;
32
+ }
33
+ i += 2;
34
+ }
35
+ else if (u8a[i] === 0xE0) /* E0 A0..BF 80..BF */ {
36
+ if (i + 2 < len) /* Expect a 2nd and 3rd byte */ {
37
+ if (u8a[i + 1] < 0xA0 || u8a[i + 1] > 0xBF) {
38
+ // *message = "After a first byte of E0, expecting a 2nd byte between A0 and BF.";
39
+ // *faulty_bytes = 2;
40
+ return false;
41
+ }
42
+ if (u8a[i + 2] < 0x80 || u8a[i + 2] > 0xBF) {
43
+ // *message = "After a first byte of E0, expecting a 3nd byte between 80 and BF.";
44
+ // *faulty_bytes = 3;
45
+ return false;
46
+ }
47
+ }
48
+ else {
49
+ // *message = "After a first byte of E0, expecting two following bytes.";
50
+ // *faulty_bytes = 1;
51
+ return false;
52
+ }
53
+ i += 3;
54
+ }
55
+ else if (u8a[i] >= 0xE1 && u8a[i] <= 0xEC) /* E1..EC 80..BF 80..BF */ {
56
+ if (i + 2 < len) /* Expect a 2nd and 3rd byte */ {
57
+ if (u8a[i + 1] < 0x80 || u8a[i + 1] > 0xBF) {
58
+ // *message = "After a first byte between E1 and EC, expecting the 2nd byte between 80 and BF.";
59
+ // *faulty_bytes = 2;
60
+ return false;
61
+ }
62
+ if (u8a[i + 2] < 0x80 || u8a[i + 2] > 0xBF) {
63
+ // *message = "After a first byte between E1 and EC, expecting the 3rd byte between 80 and BF.";
64
+ // *faulty_bytes = 3;
65
+ return false;
66
+ }
67
+ }
68
+ else {
69
+ // *message = "After a first byte between E1 and EC, expecting two following bytes.";
70
+ // *faulty_bytes = 1;
71
+ return false;
72
+ }
73
+ i += 3;
74
+ }
75
+ else if (u8a[i] === 0xED) /* ED 80..9F 80..BF */ {
76
+ if (i + 2 < len) /* Expect a 2nd and 3rd byte */ {
77
+ if (u8a[i + 1] < 0x80 || u8a[i + 1] > 0x9F) {
78
+ // *message = "After a first byte of ED, expecting 2nd byte between 80 and 9F.";
79
+ // *faulty_bytes = 2;
80
+ return false;
81
+ }
82
+ if (u8a[i + 2] < 0x80 || u8a[i + 2] > 0xBF) {
83
+ // *message = "After a first byte of ED, expecting 3rd byte between 80 and BF.";
84
+ // *faulty_bytes = 3;
85
+ return false;
86
+ }
87
+ }
88
+ else {
89
+ // *message = "After a first byte of ED, expecting two following bytes.";
90
+ // *faulty_bytes = 1;
91
+ return false;
92
+ }
93
+ i += 3;
94
+ }
95
+ else if (u8a[i] >= 0xEE && u8a[i] <= 0xEF) /* EE..EF 80..BF 80..BF */ {
96
+ if (i + 2 < len) /* Expect a 2nd and 3rd byte */ {
97
+ if (u8a[i + 1] < 0x80 || u8a[i + 1] > 0xBF) {
98
+ // *message = "After a first byte between EE and EF, expecting 2nd byte between 80 and BF.";
99
+ // *faulty_bytes = 2;
100
+ return false;
101
+ }
102
+ if (u8a[i + 2] < 0x80 || u8a[i + 2] > 0xBF) {
103
+ // *message = "After a first byte between EE and EF, expecting 3rd byte between 80 and BF.";
104
+ // *faulty_bytes = 3;
105
+ return false;
106
+ }
107
+ }
108
+ else {
109
+ // *message = "After a first byte between EE and EF, two following bytes.";
110
+ // *faulty_bytes = 1;
111
+ return false;
112
+ }
113
+ i += 3;
114
+ }
115
+ else if (u8a[i] === 0xF0) /* F0 90..BF 80..BF 80..BF */ {
116
+ if (i + 3 < len) /* Expect a 2nd, 3rd 3th byte */ {
117
+ if (u8a[i + 1] < 0x90 || u8a[i + 1] > 0xBF) {
118
+ // *message = "After a first byte of F0, expecting 2nd byte between 90 and BF.";
119
+ // *faulty_bytes = 2;
120
+ return false;
121
+ }
122
+ if (u8a[i + 2] < 0x80 || u8a[i + 2] > 0xBF) {
123
+ // *message = "After a first byte of F0, expecting 3rd byte between 80 and BF.";
124
+ // *faulty_bytes = 3;
125
+ return false;
126
+ }
127
+ if (u8a[i + 3] < 0x80 || u8a[i + 3] > 0xBF) {
128
+ // *message = "After a first byte of F0, expecting 4th byte between 80 and BF.";
129
+ // *faulty_bytes = 4;
130
+ return false;
131
+ }
132
+ }
133
+ else {
134
+ // *message = "After a first byte of F0, expecting three following bytes.";
135
+ // *faulty_bytes = 1;
136
+ return false;
137
+ }
138
+ i += 4;
139
+ }
140
+ else if (u8a[i] >= 0xF1 && u8a[i] <= 0xF3) /* F1..F3 80..BF 80..BF 80..BF */ {
141
+ if (i + 3 < len) /* Expect a 2nd, 3rd 3th byte */ {
142
+ if (u8a[i + 1] < 0x80 || u8a[i + 1] > 0xBF) {
143
+ // *message = "After a first byte of F1, F2, or F3, expecting a 2nd byte between 80 and BF.";
144
+ // *faulty_bytes = 2;
145
+ return false;
146
+ }
147
+ if (u8a[i + 2] < 0x80 || u8a[i + 2] > 0xBF) {
148
+ // *message = "After a first byte of F1, F2, or F3, expecting a 3rd byte between 80 and BF.";
149
+ // *faulty_bytes = 3;
150
+ return false;
151
+ }
152
+ if (u8a[i + 3] < 0x80 || u8a[i + 3] > 0xBF) {
153
+ // *message = "After a first byte of F1, F2, or F3, expecting a 4th byte between 80 and BF.";
154
+ // *faulty_bytes = 4;
155
+ return false;
156
+ }
157
+ }
158
+ else {
159
+ // *message = "After a first byte of F1, F2, or F3, expecting three following bytes.";
160
+ // *faulty_bytes = 1;
161
+ return false;
162
+ }
163
+ i += 4;
164
+ }
165
+ else if (u8a[i] === 0xF4) /* F4 80..8F 80..BF 80..BF */ {
166
+ if (i + 3 < len) /* Expect a 2nd, 3rd 3th byte */ {
167
+ if (u8a[i + 1] < 0x80 || u8a[i + 1] > 0x8F) {
168
+ // *message = "After a first byte of F4, expecting 2nd byte between 80 and 8F.";
169
+ // *faulty_bytes = 2;
170
+ return false;
171
+ }
172
+ if (u8a[i + 2] < 0x80 || u8a[i + 2] > 0xBF) {
173
+ // *message = "After a first byte of F4, expecting 3rd byte between 80 and BF.";
174
+ // *faulty_bytes = 3;
175
+ return false;
176
+ }
177
+ if (u8a[i + 3] < 0x80 || u8a[i + 3] > 0xBF) {
178
+ // *message = "After a first byte of F4, expecting 4th byte between 80 and BF.";
179
+ // *faulty_bytes = 4;
180
+ return false;
181
+ }
182
+ }
183
+ else {
184
+ // *message = "After a first byte of F4, expecting three following bytes.";
185
+ // *faulty_bytes = 1;
186
+ return false;
187
+ }
188
+ i += 4;
189
+ }
190
+ else {
191
+ // *message = "Expecting bytes in the following ranges: 00..7F C2..F4.";
192
+ // *faulty_bytes = 1;
193
+ return false;
194
+ }
195
+ }
196
+ return true;
197
+ }
package/is/wasm.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @name isWasm
3
+ * @summary Tests if the input has a WASM header
4
+ * @description
5
+ * Checks to see if the input Uint8Array contains a valid WASM header
6
+ */
7
+ export declare function isWasm(value?: unknown): value is Uint8Array;
@@ -1,17 +1,12 @@
1
- // Copyright 2017-2025 @polkadot/util authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
1
  import { u8aEq } from '../u8a/eq.js';
5
2
  import { isU8a } from './u8a.js';
6
-
7
3
  const WASM_MAGIC = new Uint8Array([0, 97, 115, 109]); // \0asm
8
-
9
4
  /**
10
5
  * @name isWasm
11
6
  * @summary Tests if the input has a WASM header
12
7
  * @description
13
8
  * Checks to see if the input Uint8Array contains a valid WASM header
14
9
  */
15
- export function isWasm (value?: unknown): value is Uint8Array {
16
- return isU8a(value) && u8aEq(value.subarray(0, 4), WASM_MAGIC);
10
+ export function isWasm(value) {
11
+ return isU8a(value) && u8aEq(value.subarray(0, 4), WASM_MAGIC);
17
12
  }
package/lazy.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ type AnyFn = (...args: unknown[]) => unknown;
2
+ /**
3
+ * @name lazyMethod
4
+ * @description
5
+ * Creates a lazy, on-demand getter for the specific value. Upon get the value will be evaluated.
6
+ */
7
+ export declare function lazyMethod<T, K, S>(result: Record<string, T> | AnyFn, item: K, creator: (item: K, index: number, self: S) => T, getName?: (item: K, index: number) => string, index?: number): void;
8
+ /**
9
+ * @name lazyMethods
10
+ * @description
11
+ * Creates lazy, on-demand getters for the specific values.
12
+ */
13
+ export declare function lazyMethods<T, K, S>(result: Record<string, T>, items: readonly K[], creator: (item: K, index: number, self: S) => T, getName?: (item: K, index: number) => string): Record<string, T>;
14
+ export {};
package/lazy.js ADDED
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @name lazyMethod
3
+ * @description
4
+ * Creates a lazy, on-demand getter for the specific value. Upon get the value will be evaluated.
5
+ */
6
+ export function lazyMethod(result, item, creator, getName, index = 0) {
7
+ const name = getName
8
+ ? getName(item, index)
9
+ : item.toString();
10
+ let value;
11
+ Object.defineProperty(result, name, {
12
+ // This allows for re-configuration with the embedded defineProperty below
13
+ // and ensures that on tested browsers and Node, it _will_ be redefined
14
+ // and thus short-circuited for future access
15
+ configurable: true,
16
+ enumerable: true,
17
+ // Use a function here, we don't want to capture the outer this, i.e.
18
+ // don't use arrow functions in this context since we have a this inside
19
+ get: function () {
20
+ // This check should _always_ be false and unneeded, since we override
21
+ // with a value below ... however we ensure we are quire vigilant against
22
+ // all environment failures, so we are rather be safe than sorry
23
+ if (value === undefined) {
24
+ value = creator(item, index, this);
25
+ try {
26
+ // re-define the property as a value, next time around this
27
+ // getter will only return the computed value
28
+ Object.defineProperty(this, name, { value });
29
+ }
30
+ catch {
31
+ // ignore any errors, since this _should_ not happen due to
32
+ // the "configurable" property above. But if it ever does
33
+ // from here-on we will be the cached value the next time
34
+ // around (with a very slight dip in performance)
35
+ }
36
+ }
37
+ return value;
38
+ }
39
+ });
40
+ }
41
+ /**
42
+ * @name lazyMethods
43
+ * @description
44
+ * Creates lazy, on-demand getters for the specific values.
45
+ */
46
+ export function lazyMethods(result, items, creator, getName) {
47
+ for (let i = 0, count = items.length; i < count; i++) {
48
+ lazyMethod(result, items[i], creator, getName, i);
49
+ }
50
+ return result;
51
+ }
package/logger.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ import type { Logger } from './types.js';
2
+ export declare function loggerFormat(value: unknown): unknown;
3
+ /**
4
+ * @name Logger
5
+ * @summary Creates a consistent log interface for messages
6
+ * @description
7
+ * Returns a `Logger` that has `.log`, `.error`, `.warn` and `.debug` (controlled with environment `DEBUG=typeA,typeB`) methods. Logging is done with a consistent prefix (type of logger, date) followed by the actual message using the underlying console.
8
+ * @example
9
+ * <BR>
10
+ *
11
+ * ```javascript
12
+ * import { logger } from '@polkadot/util';
13
+ *
14
+ * const l = logger('test');
15
+ * ```
16
+ */
17
+ export declare function logger(origin: string): Logger;
package/logger.js ADDED
@@ -0,0 +1,118 @@
1
+ import { xglobal } from '@pezkuwi/x-global';
2
+ import { formatDate } from './format/formatDate.js';
3
+ import { isBn } from './is/bn.js';
4
+ import { isBuffer } from './is/buffer.js';
5
+ import { isFunction } from './is/function.js';
6
+ import { isObject } from './is/object.js';
7
+ import { isU8a } from './is/u8a.js';
8
+ import { u8aToHex } from './u8a/toHex.js';
9
+ import { u8aToU8a } from './u8a/toU8a.js';
10
+ import { noop } from './noop.js';
11
+ const logTo = {
12
+ debug: 'log',
13
+ error: 'error',
14
+ log: 'log',
15
+ warn: 'warn'
16
+ };
17
+ function formatOther(value) {
18
+ if (value && isObject(value) && value.constructor === Object) {
19
+ const result = {};
20
+ for (const [k, v] of Object.entries(value)) {
21
+ result[k] = loggerFormat(v);
22
+ }
23
+ return result;
24
+ }
25
+ return value;
26
+ }
27
+ export function loggerFormat(value) {
28
+ if (Array.isArray(value)) {
29
+ return value.map(loggerFormat);
30
+ }
31
+ else if (isBn(value)) {
32
+ return value.toString();
33
+ }
34
+ else if (isU8a(value) || isBuffer(value)) {
35
+ return u8aToHex(u8aToU8a(value));
36
+ }
37
+ return formatOther(value);
38
+ }
39
+ function formatWithLength(maxLength) {
40
+ return (v) => {
41
+ if (maxLength <= 0) {
42
+ return v;
43
+ }
44
+ const r = `${v}`;
45
+ return r.length < maxLength
46
+ ? v
47
+ : `${r.substring(0, maxLength)} ...`;
48
+ };
49
+ }
50
+ function apply(log, type, values, maxSize = -1) {
51
+ if (values.length === 1 && isFunction(values[0])) {
52
+ const fnResult = values[0]();
53
+ return apply(log, type, Array.isArray(fnResult) ? fnResult : [fnResult], maxSize);
54
+ }
55
+ console[logTo[log]](formatDate(new Date()), type, ...values
56
+ .map(loggerFormat)
57
+ .map(formatWithLength(maxSize)));
58
+ }
59
+ function isDebugOn(e, type) {
60
+ return !!e && (e === '*' ||
61
+ type === e ||
62
+ (e.endsWith('*') &&
63
+ type.startsWith(e.slice(0, -1))));
64
+ }
65
+ function isDebugOff(e, type) {
66
+ return !!e && (e.startsWith('-') &&
67
+ (type === e.slice(1) ||
68
+ (e.endsWith('*') &&
69
+ type.startsWith(e.slice(1, -1)))));
70
+ }
71
+ function getDebugFlag(env, type) {
72
+ let flag = false;
73
+ for (const e of env) {
74
+ if (isDebugOn(e, type)) {
75
+ flag = true;
76
+ }
77
+ else if (isDebugOff(e, type)) {
78
+ flag = false;
79
+ }
80
+ }
81
+ return flag;
82
+ }
83
+ function parseEnv(type) {
84
+ const maxSize = parseInt(xglobal.process?.env?.['DEBUG_MAX'] || '-1', 10);
85
+ return [
86
+ getDebugFlag((xglobal.process?.env?.['DEBUG'] || '').toLowerCase().split(','), type),
87
+ isNaN(maxSize)
88
+ ? -1
89
+ : maxSize
90
+ ];
91
+ }
92
+ /**
93
+ * @name Logger
94
+ * @summary Creates a consistent log interface for messages
95
+ * @description
96
+ * Returns a `Logger` that has `.log`, `.error`, `.warn` and `.debug` (controlled with environment `DEBUG=typeA,typeB`) methods. Logging is done with a consistent prefix (type of logger, date) followed by the actual message using the underlying console.
97
+ * @example
98
+ * <BR>
99
+ *
100
+ * ```javascript
101
+ * import { logger } from '@pezkuwi/util';
102
+ *
103
+ * const l = logger('test');
104
+ * ```
105
+ */
106
+ export function logger(origin) {
107
+ const type = `${origin.toUpperCase()}:`.padStart(16);
108
+ const [isDebug, maxSize] = parseEnv(origin.toLowerCase());
109
+ return {
110
+ debug: isDebug
111
+ ? (...values) => apply('debug', type, values, maxSize)
112
+ : noop,
113
+ error: (...values) => apply('error', type, values),
114
+ log: (...values) => apply('log', type, values),
115
+ noop,
116
+ warn: (...values) => apply('warn', type, values)
117
+ };
118
+ }
package/memoize.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ import type { Memoized } from './types.js';
2
+ interface Options {
3
+ getInstanceId?: () => string;
4
+ }
5
+ /**
6
+ * @name memoize
7
+ * @description Memomize the function with a specific instanceId
8
+ */
9
+ export declare function memoize<T, F extends (...args: any[]) => T>(fn: F, { getInstanceId }?: Options): Memoized<F>;
10
+ export {};
package/memoize.js ADDED
@@ -0,0 +1,30 @@
1
+ import { stringify } from './stringify.js';
2
+ function defaultGetId() {
3
+ return 'none';
4
+ }
5
+ /**
6
+ * @name memoize
7
+ * @description Memomize the function with a specific instanceId
8
+ */
9
+ export function memoize(fn, { getInstanceId = defaultGetId } = {}) {
10
+ const cache = {};
11
+ const memoized = (...args) => {
12
+ const stringParams = stringify(args);
13
+ const instanceId = getInstanceId();
14
+ if (!cache[instanceId]) {
15
+ cache[instanceId] = {};
16
+ }
17
+ if (cache[instanceId][stringParams] === undefined) {
18
+ cache[instanceId][stringParams] = fn(...args);
19
+ }
20
+ return cache[instanceId][stringParams];
21
+ };
22
+ memoized.unmemoize = (...args) => {
23
+ const stringParams = stringify(args);
24
+ const instanceId = getInstanceId();
25
+ if (cache[instanceId]?.[stringParams] !== undefined) {
26
+ delete cache[instanceId][stringParams];
27
+ }
28
+ };
29
+ return memoized;
30
+ }
package/nextTick.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @name nextTick
3
+ * @description Defer the operation to the queue for evaluation on the next tick
4
+ */
5
+ export declare function nextTick(onExec: () => unknown, onError?: (error: Error) => unknown): void;
package/nextTick.js ADDED
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @name nextTick
3
+ * @description Defer the operation to the queue for evaluation on the next tick
4
+ */
5
+ export function nextTick(onExec, onError) {
6
+ // While Promise.resolve().then(...) would defer to the nextTick, this
7
+ // actually does not play as nicely in browsers like the setTimeout(...)
8
+ // approach. So the safer, though less optimal approach is the one taken here
9
+ setTimeout(() => {
10
+ Promise
11
+ .resolve()
12
+ .then(() => {
13
+ onExec();
14
+ })
15
+ .catch((error) => {
16
+ if (onError) {
17
+ onError(error);
18
+ }
19
+ else {
20
+ console.error(error);
21
+ }
22
+ });
23
+ }, 0);
24
+ }
package/noop.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ /**
2
+ * A sharable identity function. Returns the input as-is with no transformation applied.
3
+ */
4
+ export declare function identity<T>(value: T): T;
5
+ /**
6
+ * A sharable noop function. As the name suggests, does nothing
7
+ */
8
+ export declare function noop(): void;
package/noop.js ADDED
@@ -0,0 +1,12 @@
1
+ /**
2
+ * A sharable identity function. Returns the input as-is with no transformation applied.
3
+ */
4
+ export function identity(value) {
5
+ return value;
6
+ }
7
+ /**
8
+ * A sharable noop function. As the name suggests, does nothing
9
+ */
10
+ export function noop() {
11
+ // noop
12
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @summary Utility methods to convert to and from `number` values
3
+ */
4
+ export { numberToHex } from './toHex.js';
5
+ export { numberToU8a } from './toU8a.js';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @summary Utility methods to convert to and from `number` values
3
+ */
4
+ export { numberToHex } from './toHex.js';
5
+ export { numberToU8a } from './toU8a.js';
@@ -0,0 +1,17 @@
1
+ import type { HexString } from '../types.js';
2
+ /**
3
+ * @name numberToHex
4
+ * @summary Creates a hex value from a number.
5
+ * @description
6
+ * `null`/`undefined`/`NaN` inputs returns an empty `0x` result. `number` input values return the actual bytes value converted to a `hex`. With `bitLength` set, it converts the number to the equivalent size.
7
+ * @example
8
+ * <BR>
9
+ *
10
+ * ```javascript
11
+ * import { numberToHex } from '@polkadot/util';
12
+ *
13
+ * numberToHex(0x1234); // => '0x1234'
14
+ * numberToHex(0x1234, 32); // => 0x00001234
15
+ * ```
16
+ */
17
+ export declare function numberToHex(value?: number | null, bitLength?: number): HexString;
@@ -1,10 +1,4 @@
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
1
  import { hexFixLength } from '../hex/fixLength.js';
7
-
8
2
  /**
9
3
  * @name numberToHex
10
4
  * @summary Creates a hex value from a number.
@@ -20,8 +14,7 @@ import { hexFixLength } from '../hex/fixLength.js';
20
14
  * numberToHex(0x1234, 32); // => 0x00001234
21
15
  * ```
22
16
  */
23
- export function numberToHex (value?: number | null, bitLength = -1): HexString {
24
- const hex = (!value || Number.isNaN(value) ? 0 : value).toString(16);
25
-
26
- return hexFixLength(hex.length % 2 ? `0${hex}` : hex, bitLength, true);
17
+ export function numberToHex(value, bitLength = -1) {
18
+ const hex = (!value || Number.isNaN(value) ? 0 : value).toString(16);
19
+ return hexFixLength(hex.length % 2 ? `0${hex}` : hex, bitLength, true);
27
20
  }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @name numberToU8a
3
+ * @summary Creates a Uint8Array object from a number.
4
+ * @description
5
+ * `null`/`undefined`/`NaN` inputs returns an empty `Uint8Array` result. `number` input values return the actual bytes value converted to a `Uint8Array`. With `bitLength`, it converts the value to the equivalent size.
6
+ * @example
7
+ * <BR>
8
+ *
9
+ * ```javascript
10
+ * import { numberToU8a } from '@polkadot/util';
11
+ *
12
+ * numberToU8a(0x1234); // => [0x12, 0x34]
13
+ * ```
14
+ */
15
+ export declare function numberToU8a(value?: number | null, bitLength?: number): Uint8Array;
@@ -1,9 +1,5 @@
1
- // Copyright 2017-2025 @polkadot/util authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
1
  import { hexToU8a } from '../hex/toU8a.js';
5
2
  import { numberToHex } from './toHex.js';
6
-
7
3
  /**
8
4
  * @name numberToU8a
9
5
  * @summary Creates a Uint8Array object from a number.
@@ -18,8 +14,6 @@ import { numberToHex } from './toHex.js';
18
14
  * numberToU8a(0x1234); // => [0x12, 0x34]
19
15
  * ```
20
16
  */
21
- export function numberToU8a (value?: number | null, bitLength = -1): Uint8Array {
22
- return hexToU8a(
23
- numberToHex(value, bitLength)
24
- );
17
+ export function numberToU8a(value, bitLength = -1) {
18
+ return hexToU8a(numberToHex(value, bitLength));
25
19
  }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @name objectClear
3
+ * @summary Removes all the keys from the input object
4
+ */
5
+ export declare function objectClear<T>(value: Record<string, T>): Record<string, T>;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @name objectClear
3
+ * @summary Removes all the keys from the input object
4
+ */
5
+ export function objectClear(value) {
6
+ const keys = Object.keys(value);
7
+ for (let i = 0, count = keys.length; i < count; i++) {
8
+ delete value[keys[i]];
9
+ }
10
+ return value;
11
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @name objectCopy
3
+ * @summary Creates a shallow clone of the input object
4
+ */
5
+ export declare function objectCopy<T extends object>(source: T): T;
package/object/copy.js ADDED
@@ -0,0 +1,8 @@
1
+ import { objectSpread } from './spread.js';
2
+ /**
3
+ * @name objectCopy
4
+ * @summary Creates a shallow clone of the input object
5
+ */
6
+ export function objectCopy(source) {
7
+ return objectSpread({}, source);
8
+ }
@@ -0,0 +1,9 @@
1
+ type Entries<T> = {
2
+ [K in keyof T]: [K, T[K]];
3
+ }[keyof T][];
4
+ /**
5
+ * @name objectEntries
6
+ * @summary A version of Object.entries that is typed for TS
7
+ */
8
+ export declare function objectEntries<T extends object>(obj: T): Entries<T>;
9
+ export {};