@vielzeug/toolkit 1.1.2 → 2.0.0

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 (764) hide show
  1. package/README.md +419 -0
  2. package/dist/array/chunk.cjs +2 -2
  3. package/dist/array/chunk.cjs.map +1 -1
  4. package/dist/array/chunk.d.ts +29 -0
  5. package/dist/array/chunk.d.ts.map +1 -0
  6. package/dist/array/chunk.js +22 -24
  7. package/dist/array/chunk.js.map +1 -1
  8. package/dist/array/contains.cjs +2 -2
  9. package/dist/array/contains.cjs.map +1 -1
  10. package/dist/array/contains.d.ts +19 -0
  11. package/dist/array/contains.d.ts.map +1 -0
  12. package/dist/array/contains.js +12 -9
  13. package/dist/array/contains.js.map +1 -1
  14. package/dist/array/fold.cjs +2 -0
  15. package/dist/array/fold.cjs.map +1 -0
  16. package/dist/array/fold.d.ts +21 -0
  17. package/dist/array/fold.d.ts.map +1 -0
  18. package/dist/array/fold.js +19 -0
  19. package/dist/array/fold.js.map +1 -0
  20. package/dist/array/group.cjs +2 -2
  21. package/dist/array/group.cjs.map +1 -1
  22. package/dist/array/group.d.ts +19 -0
  23. package/dist/array/group.d.ts.map +1 -0
  24. package/dist/array/group.js +18 -15
  25. package/dist/array/group.js.map +1 -1
  26. package/dist/array/index.d.ts +16 -0
  27. package/dist/array/index.d.ts.map +1 -0
  28. package/dist/array/keyBy.cjs +2 -0
  29. package/dist/array/keyBy.cjs.map +1 -0
  30. package/dist/array/keyBy.d.ts +20 -0
  31. package/dist/array/keyBy.d.ts.map +1 -0
  32. package/dist/array/keyBy.js +19 -0
  33. package/dist/array/keyBy.js.map +1 -0
  34. package/dist/array/list.cjs +2 -2
  35. package/dist/array/list.cjs.map +1 -1
  36. package/dist/array/list.d.ts +58 -0
  37. package/dist/array/list.d.ts.map +1 -0
  38. package/dist/array/list.js +103 -106
  39. package/dist/array/list.js.map +1 -1
  40. package/dist/array/pick.cjs +2 -2
  41. package/dist/array/pick.cjs.map +1 -1
  42. package/dist/array/pick.d.ts +19 -0
  43. package/dist/array/pick.d.ts.map +1 -0
  44. package/dist/array/pick.js +15 -14
  45. package/dist/array/pick.js.map +1 -1
  46. package/dist/array/remoteList.cjs +2 -2
  47. package/dist/array/remoteList.cjs.map +1 -1
  48. package/dist/array/remoteList.d.ts +64 -0
  49. package/dist/array/remoteList.d.ts.map +1 -0
  50. package/dist/array/remoteList.js +121 -122
  51. package/dist/array/remoteList.js.map +1 -1
  52. package/dist/array/replace.cjs +2 -0
  53. package/dist/array/replace.cjs.map +1 -0
  54. package/dist/array/replace.d.ts +20 -0
  55. package/dist/array/replace.d.ts.map +1 -0
  56. package/dist/array/replace.js +19 -0
  57. package/dist/array/replace.js.map +1 -0
  58. package/dist/array/rotate.cjs +2 -0
  59. package/dist/array/rotate.cjs.map +1 -0
  60. package/dist/array/rotate.d.ts +22 -0
  61. package/dist/array/rotate.d.ts.map +1 -0
  62. package/dist/array/rotate.js +19 -0
  63. package/dist/array/rotate.js.map +1 -0
  64. package/dist/array/search.cjs +2 -2
  65. package/dist/array/search.cjs.map +1 -1
  66. package/dist/array/search.d.ts +19 -0
  67. package/dist/array/search.d.ts.map +1 -0
  68. package/dist/array/search.js +23 -13
  69. package/dist/array/search.js.map +1 -1
  70. package/dist/array/select.cjs +2 -2
  71. package/dist/array/select.cjs.map +1 -1
  72. package/dist/array/select.d.ts +21 -0
  73. package/dist/array/select.d.ts.map +1 -0
  74. package/dist/array/select.js +16 -15
  75. package/dist/array/select.js.map +1 -1
  76. package/dist/array/sort.cjs +2 -2
  77. package/dist/array/sort.cjs.map +1 -1
  78. package/dist/array/sort.d.ts +26 -0
  79. package/dist/array/sort.d.ts.map +1 -0
  80. package/dist/array/sort.js +18 -12
  81. package/dist/array/sort.js.map +1 -1
  82. package/dist/array/toggle.cjs +2 -0
  83. package/dist/array/toggle.cjs.map +1 -0
  84. package/dist/array/toggle.d.ts +29 -0
  85. package/dist/array/toggle.d.ts.map +1 -0
  86. package/dist/array/toggle.js +9 -0
  87. package/dist/array/toggle.js.map +1 -0
  88. package/dist/array/uniq.cjs +2 -2
  89. package/dist/array/uniq.cjs.map +1 -1
  90. package/dist/array/uniq.d.ts +21 -0
  91. package/dist/array/uniq.d.ts.map +1 -0
  92. package/dist/array/uniq.js +15 -17
  93. package/dist/array/uniq.js.map +1 -1
  94. package/dist/async/attempt.cjs +2 -2
  95. package/dist/async/attempt.cjs.map +1 -1
  96. package/dist/async/attempt.d.ts +40 -0
  97. package/dist/async/attempt.d.ts.map +1 -0
  98. package/dist/async/attempt.js +19 -14
  99. package/dist/async/attempt.js.map +1 -1
  100. package/dist/async/defer.cjs +2 -2
  101. package/dist/async/defer.cjs.map +1 -1
  102. package/dist/async/defer.d.ts +23 -0
  103. package/dist/async/defer.d.ts.map +1 -0
  104. package/dist/async/defer.js +12 -9
  105. package/dist/async/defer.js.map +1 -1
  106. package/dist/async/index.d.ts +12 -0
  107. package/dist/async/index.d.ts.map +1 -0
  108. package/dist/async/parallel.cjs +2 -2
  109. package/dist/async/parallel.cjs.map +1 -1
  110. package/dist/async/parallel.d.ts +31 -0
  111. package/dist/async/parallel.d.ts.map +1 -0
  112. package/dist/async/parallel.js +26 -27
  113. package/dist/async/parallel.js.map +1 -1
  114. package/dist/async/pool.cjs +2 -2
  115. package/dist/async/pool.cjs.map +1 -1
  116. package/dist/async/pool.d.ts +21 -0
  117. package/dist/async/pool.d.ts.map +1 -0
  118. package/dist/async/pool.js +23 -21
  119. package/dist/async/pool.js.map +1 -1
  120. package/dist/async/predict.cjs +2 -2
  121. package/dist/async/predict.cjs.map +1 -1
  122. package/dist/async/predict.d.ts +24 -0
  123. package/dist/async/predict.d.ts.map +1 -0
  124. package/dist/async/predict.js +10 -12
  125. package/dist/async/predict.js.map +1 -1
  126. package/dist/async/queue.cjs +2 -2
  127. package/dist/async/queue.cjs.map +1 -1
  128. package/dist/async/queue.d.ts +43 -0
  129. package/dist/async/queue.d.ts.map +1 -0
  130. package/dist/async/queue.js +52 -56
  131. package/dist/async/queue.js.map +1 -1
  132. package/dist/async/race.cjs +2 -2
  133. package/dist/async/race.cjs.map +1 -1
  134. package/dist/async/race.d.ts +16 -0
  135. package/dist/async/race.d.ts.map +1 -0
  136. package/dist/async/race.js +8 -7
  137. package/dist/async/race.js.map +1 -1
  138. package/dist/async/retry.cjs +2 -2
  139. package/dist/async/retry.cjs.map +1 -1
  140. package/dist/async/retry.d.ts +32 -0
  141. package/dist/async/retry.d.ts.map +1 -0
  142. package/dist/async/retry.js +19 -24
  143. package/dist/async/retry.js.map +1 -1
  144. package/dist/async/scheduler.cjs +2 -0
  145. package/dist/async/scheduler.cjs.map +1 -0
  146. package/dist/async/scheduler.d.ts +51 -0
  147. package/dist/async/scheduler.d.ts.map +1 -0
  148. package/dist/async/scheduler.js +43 -0
  149. package/dist/async/scheduler.js.map +1 -0
  150. package/dist/async/sleep.cjs +2 -2
  151. package/dist/async/sleep.cjs.map +1 -1
  152. package/dist/async/sleep.d.ts +16 -0
  153. package/dist/async/sleep.d.ts.map +1 -0
  154. package/dist/async/sleep.js +11 -11
  155. package/dist/async/sleep.js.map +1 -1
  156. package/dist/async/waitFor.cjs +2 -2
  157. package/dist/async/waitFor.cjs.map +1 -1
  158. package/dist/async/waitFor.d.ts +33 -0
  159. package/dist/async/waitFor.d.ts.map +1 -0
  160. package/dist/async/waitFor.js +29 -36
  161. package/dist/async/waitFor.js.map +1 -1
  162. package/dist/date/expires.cjs +2 -2
  163. package/dist/date/expires.cjs.map +1 -1
  164. package/dist/date/expires.d.ts +15 -0
  165. package/dist/date/expires.d.ts.map +1 -0
  166. package/dist/date/expires.js +11 -10
  167. package/dist/date/expires.js.map +1 -1
  168. package/dist/date/index.d.ts +4 -0
  169. package/dist/date/index.d.ts.map +1 -0
  170. package/dist/date/interval.cjs +2 -2
  171. package/dist/date/interval.cjs.map +1 -1
  172. package/dist/date/interval.d.ts +25 -0
  173. package/dist/date/interval.d.ts.map +1 -0
  174. package/dist/date/interval.js +31 -37
  175. package/dist/date/interval.js.map +1 -1
  176. package/dist/date/timeDiff.cjs +2 -2
  177. package/dist/date/timeDiff.cjs.map +1 -1
  178. package/dist/date/timeDiff.d.ts +24 -0
  179. package/dist/date/timeDiff.d.ts.map +1 -0
  180. package/dist/date/timeDiff.js +58 -25
  181. package/dist/date/timeDiff.js.map +1 -1
  182. package/dist/function/assert.cjs +2 -3
  183. package/dist/function/assert.cjs.map +1 -1
  184. package/dist/function/assert.d.ts +38 -0
  185. package/dist/function/assert.d.ts.map +1 -0
  186. package/dist/function/assert.js +13 -11
  187. package/dist/function/assert.js.map +1 -1
  188. package/dist/function/assertParams.cjs +2 -2
  189. package/dist/function/assertParams.cjs.map +1 -1
  190. package/dist/function/assertParams.d.ts +24 -0
  191. package/dist/function/assertParams.d.ts.map +1 -0
  192. package/dist/function/assertParams.js +13 -12
  193. package/dist/function/assertParams.js.map +1 -1
  194. package/dist/function/compare.cjs +2 -2
  195. package/dist/function/compare.cjs.map +1 -1
  196. package/dist/function/compare.d.ts +23 -0
  197. package/dist/function/compare.d.ts.map +1 -0
  198. package/dist/function/compare.js +22 -21
  199. package/dist/function/compare.js.map +1 -1
  200. package/dist/function/compareBy.cjs +2 -2
  201. package/dist/function/compareBy.cjs.map +1 -1
  202. package/dist/function/compareBy.d.ts +24 -0
  203. package/dist/function/compareBy.d.ts.map +1 -0
  204. package/dist/function/compareBy.js +15 -14
  205. package/dist/function/compareBy.js.map +1 -1
  206. package/dist/function/compose.cjs +2 -2
  207. package/dist/function/compose.cjs.map +1 -1
  208. package/dist/function/compose.d.ts +22 -0
  209. package/dist/function/compose.d.ts.map +1 -0
  210. package/dist/function/compose.js +10 -13
  211. package/dist/function/compose.js.map +1 -1
  212. package/dist/function/curry.cjs +2 -2
  213. package/dist/function/curry.cjs.map +1 -1
  214. package/dist/function/curry.d.ts +21 -0
  215. package/dist/function/curry.d.ts.map +1 -0
  216. package/dist/function/curry.js +8 -7
  217. package/dist/function/curry.js.map +1 -1
  218. package/dist/function/debounce.cjs +2 -2
  219. package/dist/function/debounce.cjs.map +1 -1
  220. package/dist/function/debounce.d.ts +12 -0
  221. package/dist/function/debounce.d.ts.map +1 -0
  222. package/dist/function/debounce.js +34 -26
  223. package/dist/function/debounce.js.map +1 -1
  224. package/dist/function/fp.cjs +2 -2
  225. package/dist/function/fp.cjs.map +1 -1
  226. package/dist/function/fp.d.ts +24 -0
  227. package/dist/function/fp.d.ts.map +1 -0
  228. package/dist/function/fp.js +6 -10
  229. package/dist/function/fp.js.map +1 -1
  230. package/dist/function/index.d.ts +13 -0
  231. package/dist/function/index.d.ts.map +1 -0
  232. package/dist/function/memo.cjs +2 -2
  233. package/dist/function/memo.cjs.map +1 -1
  234. package/dist/function/memo.d.ts +30 -0
  235. package/dist/function/memo.d.ts.map +1 -0
  236. package/dist/function/memo.js +16 -24
  237. package/dist/function/memo.js.map +1 -1
  238. package/dist/function/once.cjs +2 -2
  239. package/dist/function/once.cjs.map +1 -1
  240. package/dist/function/once.d.ts +24 -0
  241. package/dist/function/once.d.ts.map +1 -0
  242. package/dist/function/once.js +10 -10
  243. package/dist/function/once.js.map +1 -1
  244. package/dist/function/pipe.cjs +2 -2
  245. package/dist/function/pipe.cjs.map +1 -1
  246. package/dist/function/pipe.d.ts +23 -0
  247. package/dist/function/pipe.d.ts.map +1 -0
  248. package/dist/function/pipe.js +10 -10
  249. package/dist/function/pipe.js.map +1 -1
  250. package/dist/function/throttle.cjs +2 -2
  251. package/dist/function/throttle.cjs.map +1 -1
  252. package/dist/function/throttle.d.ts +21 -0
  253. package/dist/function/throttle.d.ts.map +1 -0
  254. package/dist/function/throttle.js +45 -37
  255. package/dist/function/throttle.js.map +1 -1
  256. package/dist/index.cjs +1 -2
  257. package/dist/index.d.ts +77 -2813
  258. package/dist/index.d.ts.map +1 -0
  259. package/dist/index.js +75 -253
  260. package/dist/math/abs.cjs +2 -2
  261. package/dist/math/abs.cjs.map +1 -1
  262. package/dist/math/abs.d.ts +17 -0
  263. package/dist/math/abs.d.ts.map +1 -0
  264. package/dist/math/abs.js +7 -6
  265. package/dist/math/abs.js.map +1 -1
  266. package/dist/math/allocate.cjs +2 -2
  267. package/dist/math/allocate.cjs.map +1 -1
  268. package/dist/math/allocate.d.ts +24 -0
  269. package/dist/math/allocate.d.ts.map +1 -0
  270. package/dist/math/allocate.js +20 -28
  271. package/dist/math/allocate.js.map +1 -1
  272. package/dist/math/average.cjs +2 -2
  273. package/dist/math/average.cjs.map +1 -1
  274. package/dist/math/average.d.ts +16 -0
  275. package/dist/math/average.d.ts.map +1 -0
  276. package/dist/math/average.js +13 -24
  277. package/dist/math/average.js.map +1 -1
  278. package/dist/math/clamp.cjs +2 -2
  279. package/dist/math/clamp.cjs.map +1 -1
  280. package/dist/math/clamp.d.ts +18 -0
  281. package/dist/math/clamp.d.ts.map +1 -0
  282. package/dist/math/clamp.js +7 -6
  283. package/dist/math/clamp.js.map +1 -1
  284. package/dist/math/distribute.cjs +2 -2
  285. package/dist/math/distribute.cjs.map +1 -1
  286. package/dist/math/distribute.d.ts +24 -0
  287. package/dist/math/distribute.d.ts.map +1 -0
  288. package/dist/math/distribute.js +14 -17
  289. package/dist/math/distribute.js.map +1 -1
  290. package/dist/math/index.d.ts +14 -0
  291. package/dist/math/index.d.ts.map +1 -0
  292. package/dist/math/linspace.cjs +2 -0
  293. package/dist/math/linspace.cjs.map +1 -0
  294. package/dist/math/linspace.d.ts +19 -0
  295. package/dist/math/linspace.d.ts.map +1 -0
  296. package/dist/math/linspace.js +11 -0
  297. package/dist/math/linspace.js.map +1 -0
  298. package/dist/math/max.cjs +2 -2
  299. package/dist/math/max.cjs.map +1 -1
  300. package/dist/math/max.d.ts +23 -0
  301. package/dist/math/max.d.ts.map +1 -0
  302. package/dist/math/max.js +10 -11
  303. package/dist/math/max.js.map +1 -1
  304. package/dist/math/median.cjs +2 -2
  305. package/dist/math/median.cjs.map +1 -1
  306. package/dist/math/median.d.ts +17 -0
  307. package/dist/math/median.d.ts.map +1 -0
  308. package/dist/math/median.js +11 -10
  309. package/dist/math/median.js.map +1 -1
  310. package/dist/math/min.cjs +2 -2
  311. package/dist/math/min.cjs.map +1 -1
  312. package/dist/math/min.d.ts +23 -0
  313. package/dist/math/min.d.ts.map +1 -0
  314. package/dist/math/min.js +10 -11
  315. package/dist/math/min.js.map +1 -1
  316. package/dist/math/percent.cjs +2 -0
  317. package/dist/math/percent.cjs.map +1 -0
  318. package/dist/math/percent.d.ts +19 -0
  319. package/dist/math/percent.d.ts.map +1 -0
  320. package/dist/math/percent.js +8 -0
  321. package/dist/math/percent.js.map +1 -0
  322. package/dist/math/range.cjs +2 -2
  323. package/dist/math/range.cjs.map +1 -1
  324. package/dist/math/range.d.ts +23 -0
  325. package/dist/math/range.d.ts.map +1 -0
  326. package/dist/math/range.js +28 -17
  327. package/dist/math/range.js.map +1 -1
  328. package/dist/math/round.cjs +2 -2
  329. package/dist/math/round.cjs.map +1 -1
  330. package/dist/math/round.d.ts +21 -0
  331. package/dist/math/round.d.ts.map +1 -0
  332. package/dist/math/round.js +9 -8
  333. package/dist/math/round.js.map +1 -1
  334. package/dist/math/sum.cjs +2 -2
  335. package/dist/math/sum.cjs.map +1 -1
  336. package/dist/math/sum.d.ts +17 -0
  337. package/dist/math/sum.d.ts.map +1 -0
  338. package/dist/math/sum.js +11 -14
  339. package/dist/math/sum.js.map +1 -1
  340. package/dist/money/currency.cjs +2 -2
  341. package/dist/money/currency.cjs.map +1 -1
  342. package/dist/money/currency.d.ts +30 -0
  343. package/dist/money/currency.d.ts.map +1 -0
  344. package/dist/money/currency.js +19 -47
  345. package/dist/money/currency.js.map +1 -1
  346. package/dist/money/exchange.cjs +2 -2
  347. package/dist/money/exchange.cjs.map +1 -1
  348. package/dist/money/exchange.d.ts +29 -0
  349. package/dist/money/exchange.d.ts.map +1 -0
  350. package/dist/money/exchange.js +12 -12
  351. package/dist/money/exchange.js.map +1 -1
  352. package/dist/money/index.d.ts +4 -0
  353. package/dist/money/index.d.ts.map +1 -0
  354. package/dist/money/types.d.ts +9 -0
  355. package/dist/money/types.d.ts.map +1 -0
  356. package/dist/object/diff.cjs +2 -2
  357. package/dist/object/diff.cjs.map +1 -1
  358. package/dist/object/diff.d.ts +26 -0
  359. package/dist/object/diff.d.ts.map +1 -0
  360. package/dist/object/diff.js +19 -17
  361. package/dist/object/diff.js.map +1 -1
  362. package/dist/object/index.d.ts +9 -0
  363. package/dist/object/index.d.ts.map +1 -0
  364. package/dist/object/merge.cjs +2 -2
  365. package/dist/object/merge.cjs.map +1 -1
  366. package/dist/object/merge.d.ts +44 -0
  367. package/dist/object/merge.d.ts.map +1 -0
  368. package/dist/object/merge.js +27 -21
  369. package/dist/object/merge.js.map +1 -1
  370. package/dist/object/parseJSON.cjs +2 -2
  371. package/dist/object/parseJSON.cjs.map +1 -1
  372. package/dist/object/parseJSON.d.ts +32 -0
  373. package/dist/object/parseJSON.d.ts.map +1 -0
  374. package/dist/object/parseJSON.js +17 -18
  375. package/dist/object/parseJSON.js.map +1 -1
  376. package/dist/object/path.cjs +2 -2
  377. package/dist/object/path.cjs.map +1 -1
  378. package/dist/object/path.d.ts +32 -0
  379. package/dist/object/path.d.ts.map +1 -0
  380. package/dist/object/path.js +25 -23
  381. package/dist/object/path.js.map +1 -1
  382. package/dist/object/proxy.cjs +2 -0
  383. package/dist/object/proxy.cjs.map +1 -0
  384. package/dist/object/proxy.d.ts +30 -0
  385. package/dist/object/proxy.d.ts.map +1 -0
  386. package/dist/object/proxy.js +21 -0
  387. package/dist/object/proxy.js.map +1 -0
  388. package/dist/object/prune.cjs +2 -0
  389. package/dist/object/prune.cjs.map +1 -0
  390. package/dist/object/prune.d.ts +21 -0
  391. package/dist/object/prune.d.ts.map +1 -0
  392. package/dist/object/prune.js +31 -0
  393. package/dist/object/prune.js.map +1 -0
  394. package/dist/object/seek.cjs +2 -2
  395. package/dist/object/seek.cjs.map +1 -1
  396. package/dist/object/seek.d.ts +2 -0
  397. package/dist/object/seek.d.ts.map +1 -0
  398. package/dist/object/seek.js +25 -12
  399. package/dist/object/seek.js.map +1 -1
  400. package/dist/object/stash.cjs +2 -0
  401. package/dist/object/stash.cjs.map +1 -0
  402. package/dist/object/stash.d.ts +45 -0
  403. package/dist/object/stash.d.ts.map +1 -0
  404. package/dist/object/stash.js +99 -0
  405. package/dist/object/stash.js.map +1 -0
  406. package/dist/random/draw.cjs +2 -2
  407. package/dist/random/draw.cjs.map +1 -1
  408. package/dist/random/draw.d.ts +16 -0
  409. package/dist/random/draw.d.ts.map +1 -0
  410. package/dist/random/draw.js +13 -10
  411. package/dist/random/draw.js.map +1 -1
  412. package/dist/random/index.d.ts +5 -0
  413. package/dist/random/index.d.ts.map +1 -0
  414. package/dist/random/random.cjs +2 -2
  415. package/dist/random/random.cjs.map +1 -1
  416. package/dist/random/random.d.ts +14 -0
  417. package/dist/random/random.d.ts.map +1 -0
  418. package/dist/random/random.js +16 -9
  419. package/dist/random/random.js.map +1 -1
  420. package/dist/random/shuffle.cjs +2 -2
  421. package/dist/random/shuffle.cjs.map +1 -1
  422. package/dist/random/shuffle.d.ts +17 -0
  423. package/dist/random/shuffle.d.ts.map +1 -0
  424. package/dist/random/shuffle.js +18 -14
  425. package/dist/random/shuffle.js.map +1 -1
  426. package/dist/random/uuid.cjs +2 -2
  427. package/dist/random/uuid.cjs.map +1 -1
  428. package/dist/random/uuid.d.ts +12 -0
  429. package/dist/random/uuid.d.ts.map +1 -0
  430. package/dist/random/uuid.js +7 -9
  431. package/dist/random/uuid.js.map +1 -1
  432. package/dist/string/_caseUtils.cjs +2 -2
  433. package/dist/string/_caseUtils.cjs.map +1 -1
  434. package/dist/string/_caseUtils.d.ts +13 -0
  435. package/dist/string/_caseUtils.d.ts.map +1 -0
  436. package/dist/string/_caseUtils.js +8 -8
  437. package/dist/string/_caseUtils.js.map +1 -1
  438. package/dist/string/camelCase.cjs +2 -2
  439. package/dist/string/camelCase.cjs.map +1 -1
  440. package/dist/string/camelCase.d.ts +14 -0
  441. package/dist/string/camelCase.d.ts.map +1 -0
  442. package/dist/string/camelCase.js +8 -7
  443. package/dist/string/camelCase.js.map +1 -1
  444. package/dist/string/index.d.ts +7 -0
  445. package/dist/string/index.d.ts.map +1 -0
  446. package/dist/string/kebabCase.cjs +2 -2
  447. package/dist/string/kebabCase.cjs.map +1 -1
  448. package/dist/string/kebabCase.d.ts +15 -0
  449. package/dist/string/kebabCase.d.ts.map +1 -0
  450. package/dist/string/kebabCase.js +8 -7
  451. package/dist/string/kebabCase.js.map +1 -1
  452. package/dist/string/pascalCase.cjs +2 -2
  453. package/dist/string/pascalCase.cjs.map +1 -1
  454. package/dist/string/pascalCase.d.ts +15 -0
  455. package/dist/string/pascalCase.d.ts.map +1 -0
  456. package/dist/string/pascalCase.js +8 -7
  457. package/dist/string/pascalCase.js.map +1 -1
  458. package/dist/string/similarity.cjs +2 -2
  459. package/dist/string/similarity.cjs.map +1 -1
  460. package/dist/string/similarity.d.ts +20 -0
  461. package/dist/string/similarity.d.ts.map +1 -0
  462. package/dist/string/similarity.js +20 -36
  463. package/dist/string/similarity.js.map +1 -1
  464. package/dist/string/snakeCase.cjs +2 -2
  465. package/dist/string/snakeCase.cjs.map +1 -1
  466. package/dist/string/snakeCase.d.ts +15 -0
  467. package/dist/string/snakeCase.d.ts.map +1 -0
  468. package/dist/string/snakeCase.js +8 -7
  469. package/dist/string/snakeCase.js.map +1 -1
  470. package/dist/string/truncate.cjs +2 -2
  471. package/dist/string/truncate.cjs.map +1 -1
  472. package/dist/string/truncate.d.ts +28 -0
  473. package/dist/string/truncate.d.ts.map +1 -0
  474. package/dist/string/truncate.js +20 -17
  475. package/dist/string/truncate.js.map +1 -1
  476. package/dist/toolkit.cjs +2 -0
  477. package/dist/toolkit.cjs.map +1 -0
  478. package/dist/toolkit.js +1523 -0
  479. package/dist/toolkit.js.map +1 -0
  480. package/dist/typed/index.d.ts +24 -0
  481. package/dist/typed/index.d.ts.map +1 -0
  482. package/dist/typed/is.cjs +2 -2
  483. package/dist/typed/is.cjs.map +1 -1
  484. package/dist/typed/is.d.ts +95 -0
  485. package/dist/typed/is.d.ts.map +1 -0
  486. package/dist/typed/is.js +54 -42
  487. package/dist/typed/is.js.map +1 -1
  488. package/dist/typed/isArray.cjs +2 -2
  489. package/dist/typed/isArray.cjs.map +1 -1
  490. package/dist/typed/isArray.d.ts +16 -0
  491. package/dist/typed/isArray.d.ts.map +1 -0
  492. package/dist/typed/isArray.js +8 -8
  493. package/dist/typed/isArray.js.map +1 -1
  494. package/dist/typed/isBoolean.cjs +2 -2
  495. package/dist/typed/isBoolean.cjs.map +1 -1
  496. package/dist/typed/isBoolean.d.ts +23 -0
  497. package/dist/typed/isBoolean.d.ts.map +1 -0
  498. package/dist/typed/isBoolean.js +7 -6
  499. package/dist/typed/isBoolean.js.map +1 -1
  500. package/dist/typed/isDate.cjs +2 -2
  501. package/dist/typed/isDate.cjs.map +1 -1
  502. package/dist/typed/isDate.d.ts +16 -0
  503. package/dist/typed/isDate.d.ts.map +1 -0
  504. package/dist/typed/isDate.js +7 -8
  505. package/dist/typed/isDate.js.map +1 -1
  506. package/dist/typed/isDefined.cjs +2 -2
  507. package/dist/typed/isDefined.cjs.map +1 -1
  508. package/dist/typed/isDefined.d.ts +19 -0
  509. package/dist/typed/isDefined.d.ts.map +1 -0
  510. package/dist/typed/isDefined.js +7 -6
  511. package/dist/typed/isDefined.js.map +1 -1
  512. package/dist/typed/isEmpty.cjs +2 -2
  513. package/dist/typed/isEmpty.cjs.map +1 -1
  514. package/dist/typed/isEmpty.d.ts +24 -0
  515. package/dist/typed/isEmpty.d.ts.map +1 -0
  516. package/dist/typed/isEmpty.js +8 -9
  517. package/dist/typed/isEmpty.js.map +1 -1
  518. package/dist/typed/isEqual.cjs +2 -2
  519. package/dist/typed/isEqual.cjs.map +1 -1
  520. package/dist/typed/isEqual.d.ts +24 -0
  521. package/dist/typed/isEqual.d.ts.map +1 -0
  522. package/dist/typed/isEqual.js +27 -28
  523. package/dist/typed/isEqual.js.map +1 -1
  524. package/dist/typed/isEven.cjs +2 -2
  525. package/dist/typed/isEven.cjs.map +1 -1
  526. package/dist/typed/isEven.d.ts +9 -0
  527. package/dist/typed/isEven.d.ts.map +1 -0
  528. package/dist/typed/isEven.js +7 -6
  529. package/dist/typed/isEven.js.map +1 -1
  530. package/dist/typed/isFunction.cjs +2 -2
  531. package/dist/typed/isFunction.cjs.map +1 -1
  532. package/dist/typed/isFunction.d.ts +16 -0
  533. package/dist/typed/isFunction.d.ts.map +1 -0
  534. package/dist/typed/isFunction.js +7 -8
  535. package/dist/typed/isFunction.js.map +1 -1
  536. package/dist/typed/isMatch.cjs +2 -2
  537. package/dist/typed/isMatch.cjs.map +1 -1
  538. package/dist/typed/isMatch.d.ts +23 -0
  539. package/dist/typed/isMatch.d.ts.map +1 -0
  540. package/dist/typed/isMatch.js +16 -18
  541. package/dist/typed/isMatch.js.map +1 -1
  542. package/dist/typed/isNegative.cjs +2 -2
  543. package/dist/typed/isNegative.cjs.map +1 -1
  544. package/dist/typed/isNegative.d.ts +26 -0
  545. package/dist/typed/isNegative.d.ts.map +1 -0
  546. package/dist/typed/isNegative.js +7 -6
  547. package/dist/typed/isNegative.js.map +1 -1
  548. package/dist/typed/isNil.cjs +2 -2
  549. package/dist/typed/isNil.cjs.map +1 -1
  550. package/dist/typed/isNil.d.ts +17 -0
  551. package/dist/typed/isNil.d.ts.map +1 -0
  552. package/dist/typed/isNil.js +7 -8
  553. package/dist/typed/isNil.js.map +1 -1
  554. package/dist/typed/isNumber.cjs +2 -2
  555. package/dist/typed/isNumber.cjs.map +1 -1
  556. package/dist/typed/isNumber.d.ts +16 -0
  557. package/dist/typed/isNumber.d.ts.map +1 -0
  558. package/dist/typed/isNumber.js +8 -8
  559. package/dist/typed/isNumber.js.map +1 -1
  560. package/dist/typed/isObject.cjs +2 -2
  561. package/dist/typed/isObject.cjs.map +1 -1
  562. package/dist/typed/isObject.d.ts +19 -0
  563. package/dist/typed/isObject.d.ts.map +1 -0
  564. package/dist/typed/isObject.js +8 -8
  565. package/dist/typed/isObject.js.map +1 -1
  566. package/dist/typed/isOdd.cjs +2 -2
  567. package/dist/typed/isOdd.cjs.map +1 -1
  568. package/dist/typed/isOdd.d.ts +9 -0
  569. package/dist/typed/isOdd.d.ts.map +1 -0
  570. package/dist/typed/isOdd.js +7 -6
  571. package/dist/typed/isOdd.js.map +1 -1
  572. package/dist/typed/isPositive.cjs +2 -2
  573. package/dist/typed/isPositive.cjs.map +1 -1
  574. package/dist/typed/isPositive.d.ts +26 -0
  575. package/dist/typed/isPositive.d.ts.map +1 -0
  576. package/dist/typed/isPositive.js +7 -6
  577. package/dist/typed/isPositive.js.map +1 -1
  578. package/dist/typed/isPrimitive.cjs +2 -2
  579. package/dist/typed/isPrimitive.cjs.map +1 -1
  580. package/dist/typed/isPrimitive.d.ts +18 -0
  581. package/dist/typed/isPrimitive.d.ts.map +1 -0
  582. package/dist/typed/isPrimitive.js +8 -9
  583. package/dist/typed/isPrimitive.js.map +1 -1
  584. package/dist/typed/isPromise.cjs +2 -2
  585. package/dist/typed/isPromise.cjs.map +1 -1
  586. package/dist/typed/isPromise.d.ts +17 -0
  587. package/dist/typed/isPromise.d.ts.map +1 -0
  588. package/dist/typed/isPromise.js +7 -9
  589. package/dist/typed/isPromise.js.map +1 -1
  590. package/dist/typed/isRegex.cjs +2 -2
  591. package/dist/typed/isRegex.cjs.map +1 -1
  592. package/dist/typed/isRegex.d.ts +21 -0
  593. package/dist/typed/isRegex.d.ts.map +1 -0
  594. package/dist/typed/isRegex.js +7 -6
  595. package/dist/typed/isRegex.js.map +1 -1
  596. package/dist/typed/isString.cjs +2 -2
  597. package/dist/typed/isString.cjs.map +1 -1
  598. package/dist/typed/isString.d.ts +16 -0
  599. package/dist/typed/isString.d.ts.map +1 -0
  600. package/dist/typed/isString.js +8 -8
  601. package/dist/typed/isString.js.map +1 -1
  602. package/dist/typed/isWithin.cjs +2 -2
  603. package/dist/typed/isWithin.cjs.map +1 -1
  604. package/dist/typed/isWithin.d.ts +20 -0
  605. package/dist/typed/isWithin.d.ts.map +1 -0
  606. package/dist/typed/isWithin.js +9 -9
  607. package/dist/typed/isWithin.js.map +1 -1
  608. package/dist/typed/isZero.cjs +2 -2
  609. package/dist/typed/isZero.cjs.map +1 -1
  610. package/dist/typed/isZero.d.ts +25 -0
  611. package/dist/typed/isZero.d.ts.map +1 -0
  612. package/dist/typed/isZero.js +7 -6
  613. package/dist/typed/isZero.js.map +1 -1
  614. package/dist/typed/typeOf.cjs +2 -2
  615. package/dist/typed/typeOf.cjs.map +1 -1
  616. package/dist/typed/typeOf.d.ts +30 -0
  617. package/dist/typed/typeOf.d.ts.map +1 -0
  618. package/dist/typed/typeOf.js +11 -13
  619. package/dist/typed/typeOf.js.map +1 -1
  620. package/dist/types.d.ts +9 -0
  621. package/dist/types.d.ts.map +1 -0
  622. package/package.json +77 -12
  623. package/dist/array/aggregate.cjs +0 -2
  624. package/dist/array/aggregate.cjs.map +0 -1
  625. package/dist/array/aggregate.js +0 -16
  626. package/dist/array/aggregate.js.map +0 -1
  627. package/dist/array/alternate.cjs +0 -2
  628. package/dist/array/alternate.cjs.map +0 -1
  629. package/dist/array/alternate.js +0 -9
  630. package/dist/array/alternate.js.map +0 -1
  631. package/dist/array/arrange.cjs +0 -2
  632. package/dist/array/arrange.cjs.map +0 -1
  633. package/dist/array/arrange.js +0 -6
  634. package/dist/array/arrange.js.map +0 -1
  635. package/dist/array/compact.cjs +0 -2
  636. package/dist/array/compact.cjs.map +0 -1
  637. package/dist/array/compact.js +0 -9
  638. package/dist/array/compact.js.map +0 -1
  639. package/dist/array/every.cjs +0 -2
  640. package/dist/array/every.cjs.map +0 -1
  641. package/dist/array/every.js +0 -14
  642. package/dist/array/every.js.map +0 -1
  643. package/dist/array/filter.cjs +0 -2
  644. package/dist/array/filter.cjs.map +0 -1
  645. package/dist/array/filter.js +0 -14
  646. package/dist/array/filter.js.map +0 -1
  647. package/dist/array/find.cjs +0 -2
  648. package/dist/array/find.cjs.map +0 -1
  649. package/dist/array/find.js +0 -14
  650. package/dist/array/find.js.map +0 -1
  651. package/dist/array/findIndex.cjs +0 -2
  652. package/dist/array/findIndex.cjs.map +0 -1
  653. package/dist/array/findIndex.js +0 -14
  654. package/dist/array/findIndex.js.map +0 -1
  655. package/dist/array/findLast.cjs +0 -2
  656. package/dist/array/findLast.cjs.map +0 -1
  657. package/dist/array/findLast.js +0 -14
  658. package/dist/array/findLast.js.map +0 -1
  659. package/dist/array/flatten.cjs +0 -2
  660. package/dist/array/flatten.cjs.map +0 -1
  661. package/dist/array/flatten.js +0 -7
  662. package/dist/array/flatten.js.map +0 -1
  663. package/dist/array/map.cjs +0 -2
  664. package/dist/array/map.cjs.map +0 -1
  665. package/dist/array/map.js +0 -18
  666. package/dist/array/map.js.map +0 -1
  667. package/dist/array/reduce.cjs +0 -2
  668. package/dist/array/reduce.cjs.map +0 -1
  669. package/dist/array/reduce.js +0 -16
  670. package/dist/array/reduce.js.map +0 -1
  671. package/dist/array/shift.cjs +0 -2
  672. package/dist/array/shift.cjs.map +0 -1
  673. package/dist/array/shift.js +0 -13
  674. package/dist/array/shift.js.map +0 -1
  675. package/dist/array/some.cjs +0 -2
  676. package/dist/array/some.cjs.map +0 -1
  677. package/dist/array/some.js +0 -14
  678. package/dist/array/some.js.map +0 -1
  679. package/dist/array/substitute.cjs +0 -2
  680. package/dist/array/substitute.cjs.map +0 -1
  681. package/dist/array/substitute.js +0 -13
  682. package/dist/array/substitute.js.map +0 -1
  683. package/dist/async/delay.cjs +0 -2
  684. package/dist/async/delay.cjs.map +0 -1
  685. package/dist/async/delay.js +0 -8
  686. package/dist/async/delay.js.map +0 -1
  687. package/dist/function/proxy.cjs +0 -2
  688. package/dist/function/proxy.cjs.map +0 -1
  689. package/dist/function/proxy.js +0 -22
  690. package/dist/function/proxy.js.map +0 -1
  691. package/dist/function/prune.cjs +0 -2
  692. package/dist/function/prune.cjs.map +0 -1
  693. package/dist/function/prune.js +0 -30
  694. package/dist/function/prune.js.map +0 -1
  695. package/dist/function/worker.cjs +0 -14
  696. package/dist/function/worker.cjs.map +0 -1
  697. package/dist/function/worker.js +0 -29
  698. package/dist/function/worker.js.map +0 -1
  699. package/dist/index.cjs.map +0 -1
  700. package/dist/index.js.map +0 -1
  701. package/dist/logit/dist/logit.cjs +0 -2
  702. package/dist/logit/dist/logit.cjs.map +0 -1
  703. package/dist/logit/dist/logit.js +0 -263
  704. package/dist/logit/dist/logit.js.map +0 -1
  705. package/dist/math/add.cjs +0 -2
  706. package/dist/math/add.cjs.map +0 -1
  707. package/dist/math/add.js +0 -9
  708. package/dist/math/add.js.map +0 -1
  709. package/dist/math/boil.cjs +0 -2
  710. package/dist/math/boil.cjs.map +0 -1
  711. package/dist/math/boil.js +0 -17
  712. package/dist/math/boil.js.map +0 -1
  713. package/dist/math/divide.cjs +0 -2
  714. package/dist/math/divide.cjs.map +0 -1
  715. package/dist/math/divide.js +0 -11
  716. package/dist/math/divide.js.map +0 -1
  717. package/dist/math/multiply.cjs +0 -2
  718. package/dist/math/multiply.cjs.map +0 -1
  719. package/dist/math/multiply.js +0 -9
  720. package/dist/math/multiply.js.map +0 -1
  721. package/dist/math/rate.cjs +0 -2
  722. package/dist/math/rate.cjs.map +0 -1
  723. package/dist/math/rate.js +0 -9
  724. package/dist/math/rate.js.map +0 -1
  725. package/dist/math/subtract.cjs +0 -2
  726. package/dist/math/subtract.cjs.map +0 -1
  727. package/dist/math/subtract.js +0 -9
  728. package/dist/math/subtract.js.map +0 -1
  729. package/dist/object/cache.cjs +0 -2
  730. package/dist/object/cache.cjs.map +0 -1
  731. package/dist/object/cache.js +0 -63
  732. package/dist/object/cache.js.map +0 -1
  733. package/dist/object/clone.cjs +0 -2
  734. package/dist/object/clone.cjs.map +0 -1
  735. package/dist/object/clone.js +0 -17
  736. package/dist/object/clone.js.map +0 -1
  737. package/dist/object/entries.cjs +0 -2
  738. package/dist/object/entries.cjs.map +0 -1
  739. package/dist/object/entries.js +0 -9
  740. package/dist/object/entries.js.map +0 -1
  741. package/dist/object/keys.cjs +0 -2
  742. package/dist/object/keys.cjs.map +0 -1
  743. package/dist/object/keys.js +0 -9
  744. package/dist/object/keys.js.map +0 -1
  745. package/dist/object/values.cjs +0 -2
  746. package/dist/object/values.cjs.map +0 -1
  747. package/dist/object/values.js +0 -9
  748. package/dist/object/values.js.map +0 -1
  749. package/dist/typed/ge.cjs +0 -2
  750. package/dist/typed/ge.cjs.map +0 -1
  751. package/dist/typed/ge.js +0 -7
  752. package/dist/typed/ge.js.map +0 -1
  753. package/dist/typed/gt.cjs +0 -2
  754. package/dist/typed/gt.cjs.map +0 -1
  755. package/dist/typed/gt.js +0 -7
  756. package/dist/typed/gt.js.map +0 -1
  757. package/dist/typed/le.cjs +0 -2
  758. package/dist/typed/le.cjs.map +0 -1
  759. package/dist/typed/le.js +0 -7
  760. package/dist/typed/le.js.map +0 -1
  761. package/dist/typed/lt.cjs +0 -2
  762. package/dist/typed/lt.cjs.map +0 -1
  763. package/dist/typed/lt.js +0 -7
  764. package/dist/typed/lt.js.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../typed/isPromise.cjs"),c=require("./assert.cjs");function u(...e){c.assert(e.length>0,"pipe requires at least one function",{args:{fns:e}});const s=e[0],i=e.slice(1);return((...o)=>i.reduce((t,r)=>n.isPromise(t)?t.then(r):r(t),s(...o)))}exports.pipe=u;
2
- //# sourceMappingURL=pipe.cjs.map
1
+ const e=require(`./assert.cjs`);function t(...t){e.assert(t.length>0,`pipe requires at least one function`,{args:{fns:t}});let[n,...r]=t;return((...e)=>r.reduce((e,t)=>t(e),n(...e)))}exports.pipe=t;
2
+ //# sourceMappingURL=pipe.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipe.cjs","sources":["../../src/function/pipe.ts"],"sourcesContent":["/** biome-ignore-all lint/suspicious/noExplicitAny: - */\n\nimport { isPromise } from '../typed/isPromise';\nimport type { FnDynamic } from '../types';\nimport { assert } from './assert';\n\ntype FirstParameters<T> = T extends [infer First extends FnDynamic, ...any] ? Parameters<First> : never;\ntype LastReturnType<T> = T extends [...any, infer Last extends FnDynamic] ? ReturnType<Last> : never;\ntype PipeReturn<T extends FnDynamic[]> = (\n ...args: FirstParameters<T>\n) => LastReturnType<T> extends Promise<any> ? Promise<Awaited<LastReturnType<T>>> : LastReturnType<T>;\n\n/**\n * Pipes multiple functions into a single function. It starts from the leftmost function and proceeds to the right.\n *\n * @example\n * ```ts\n * const add = (x) => x + 2;\n * const multiply = (x) => x * 3;\n * const subtract = (x) => x - 4;\n * const pipedFn = pipe(subtract, multiply, add);\n *\n * pipedFn(5); // ((5-4) * 3) + 2 = 5\n * ```\n *\n * @example\n * ```ts\n * const square = async (x) => x * x;\n * const add = async (x) => x + 2;\n * const pipedFn = pipe(square, add);\n *\n * await pipedFn(4); // (4 * 4) + 2 = 18\n * ```\n *\n * @param fns - List of functions to be piped.\n *\n * @returns A new function that is the pipe of the input functions.\n */\nexport function pipe<T extends FnDynamic[]>(...fns: T) {\n assert(fns.length > 0, 'pipe requires at least one function', { args: { fns } });\n\n const firstFn = fns[0];\n const restFns = fns.slice(1);\n\n return ((...args: FirstParameters<T>) =>\n restFns.reduce((prev, fn) => (isPromise(prev) ? prev.then(fn) : fn(prev)), firstFn(...args))) as PipeReturn<T>;\n}\n"],"names":["pipe","fns","assert","firstFn","restFns","args","prev","fn","isPromise"],"mappings":"oJAsCO,SAASA,KAA+BC,EAAQ,CACrDC,SAAOD,EAAI,OAAS,EAAG,sCAAuC,CAAE,KAAM,CAAE,IAAAA,CAAA,EAAO,EAE/E,MAAME,EAAUF,EAAI,CAAC,EACfG,EAAUH,EAAI,MAAM,CAAC,EAE3B,OAAQ,IAAII,IACVD,EAAQ,OAAO,CAACE,EAAMC,IAAQC,EAAAA,UAAUF,CAAI,EAAIA,EAAK,KAAKC,CAAE,EAAIA,EAAGD,CAAI,EAAIH,EAAQ,GAAGE,CAAI,CAAC,EAC/F"}
1
+ {"version":3,"file":"pipe.cjs","names":[],"sources":["../../src/function/pipe.ts"],"sourcesContent":["import type { Fn } from '../types';\n\nimport { assert } from './assert';\n\ntype FirstParameters<T> = T extends [infer First extends Fn, ...any] ? Parameters<First> : never;\ntype LastReturnType<T> = T extends [...any, infer Last extends Fn] ? ReturnType<Last> : never;\n\n/**\n * Pipes multiple functions into a single function. It starts from the leftmost function and proceeds to the right.\n *\n * @example\n * ```ts\n * const add = (x) => x + 2;\n * const multiply = (x) => x * 3;\n * const subtract = (x) => x - 4;\n * const pipedFn = pipe(subtract, multiply, add);\n *\n * pipedFn(5); // ((5-4) * 3) + 2 = 5\n * ```\n *\n * @param fns - List of functions to be piped.\n *\n * @returns A new function that is the pipe of the input functions.\n */\nexport function pipe<T extends Fn[]>(...fns: T): (...args: FirstParameters<T>) => LastReturnType<T> {\n assert(fns.length > 0, 'pipe requires at least one function', { args: { fns } });\n\n const [firstFn, ...restFns] = fns;\n\n return ((...args: FirstParameters<T>) => restFns.reduce((prev, fn) => fn(prev), firstFn(...args))) as (\n ...args: FirstParameters<T>\n ) => LastReturnType<T>;\n}\n"],"mappings":"gCAwBA,SAAgB,EAAqB,GAAG,EAA4D,CAClG,EAAA,OAAO,EAAI,OAAS,EAAG,sCAAuC,CAAE,KAAM,CAAE,MAAK,CAAE,CAAC,CAEhF,GAAM,CAAC,EAAS,GAAG,GAAW,EAE9B,QAAS,GAAG,IAA6B,EAAQ,QAAQ,EAAM,IAAO,EAAG,EAAK,CAAE,EAAQ,GAAG,EAAK,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { Fn } from '../types';
2
+ type FirstParameters<T> = T extends [infer First extends Fn, ...any] ? Parameters<First> : never;
3
+ type LastReturnType<T> = T extends [...any, infer Last extends Fn] ? ReturnType<Last> : never;
4
+ /**
5
+ * Pipes multiple functions into a single function. It starts from the leftmost function and proceeds to the right.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const add = (x) => x + 2;
10
+ * const multiply = (x) => x * 3;
11
+ * const subtract = (x) => x - 4;
12
+ * const pipedFn = pipe(subtract, multiply, add);
13
+ *
14
+ * pipedFn(5); // ((5-4) * 3) + 2 = 5
15
+ * ```
16
+ *
17
+ * @param fns - List of functions to be piped.
18
+ *
19
+ * @returns A new function that is the pipe of the input functions.
20
+ */
21
+ export declare function pipe<T extends Fn[]>(...fns: T): (...args: FirstParameters<T>) => LastReturnType<T>;
22
+ export {};
23
+ //# sourceMappingURL=pipe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipe.d.ts","sourceRoot":"","sources":["../../src/function/pipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAInC,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACjG,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,MAAM,IAAI,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AAE9F;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,CAQlG"}
@@ -1,11 +1,11 @@
1
- import { isPromise as n } from "../typed/isPromise.js";
2
- import { assert as c } from "./assert.js";
3
- function u(...t) {
4
- c(t.length > 0, "pipe requires at least one function", { args: { fns: t } });
5
- const i = t[0], o = t.slice(1);
6
- return ((...s) => o.reduce((e, r) => n(e) ? e.then(r) : r(e), i(...s)));
1
+ import { assert as e } from "./assert.js";
2
+ //#region src/function/pipe.ts
3
+ function t(...t) {
4
+ e(t.length > 0, "pipe requires at least one function", { args: { fns: t } });
5
+ let [n, ...r] = t;
6
+ return ((...e) => r.reduce((e, t) => t(e), n(...e)));
7
7
  }
8
- export {
9
- u as pipe
10
- };
11
- //# sourceMappingURL=pipe.js.map
8
+ //#endregion
9
+ export { t as pipe };
10
+
11
+ //# sourceMappingURL=pipe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipe.js","sources":["../../src/function/pipe.ts"],"sourcesContent":["/** biome-ignore-all lint/suspicious/noExplicitAny: - */\n\nimport { isPromise } from '../typed/isPromise';\nimport type { FnDynamic } from '../types';\nimport { assert } from './assert';\n\ntype FirstParameters<T> = T extends [infer First extends FnDynamic, ...any] ? Parameters<First> : never;\ntype LastReturnType<T> = T extends [...any, infer Last extends FnDynamic] ? ReturnType<Last> : never;\ntype PipeReturn<T extends FnDynamic[]> = (\n ...args: FirstParameters<T>\n) => LastReturnType<T> extends Promise<any> ? Promise<Awaited<LastReturnType<T>>> : LastReturnType<T>;\n\n/**\n * Pipes multiple functions into a single function. It starts from the leftmost function and proceeds to the right.\n *\n * @example\n * ```ts\n * const add = (x) => x + 2;\n * const multiply = (x) => x * 3;\n * const subtract = (x) => x - 4;\n * const pipedFn = pipe(subtract, multiply, add);\n *\n * pipedFn(5); // ((5-4) * 3) + 2 = 5\n * ```\n *\n * @example\n * ```ts\n * const square = async (x) => x * x;\n * const add = async (x) => x + 2;\n * const pipedFn = pipe(square, add);\n *\n * await pipedFn(4); // (4 * 4) + 2 = 18\n * ```\n *\n * @param fns - List of functions to be piped.\n *\n * @returns A new function that is the pipe of the input functions.\n */\nexport function pipe<T extends FnDynamic[]>(...fns: T) {\n assert(fns.length > 0, 'pipe requires at least one function', { args: { fns } });\n\n const firstFn = fns[0];\n const restFns = fns.slice(1);\n\n return ((...args: FirstParameters<T>) =>\n restFns.reduce((prev, fn) => (isPromise(prev) ? prev.then(fn) : fn(prev)), firstFn(...args))) as PipeReturn<T>;\n}\n"],"names":["pipe","fns","assert","firstFn","restFns","args","prev","fn","isPromise"],"mappings":";;AAsCO,SAASA,KAA+BC,GAAQ;AACrD,EAAAC,EAAOD,EAAI,SAAS,GAAG,uCAAuC,EAAE,MAAM,EAAE,KAAAA,EAAA,GAAO;AAE/E,QAAME,IAAUF,EAAI,CAAC,GACfG,IAAUH,EAAI,MAAM,CAAC;AAE3B,UAAQ,IAAII,MACVD,EAAQ,OAAO,CAACE,GAAMC,MAAQC,EAAUF,CAAI,IAAIA,EAAK,KAAKC,CAAE,IAAIA,EAAGD,CAAI,GAAIH,EAAQ,GAAGE,CAAI,CAAC;AAC/F;"}
1
+ {"version":3,"file":"pipe.js","names":[],"sources":["../../src/function/pipe.ts"],"sourcesContent":["import type { Fn } from '../types';\n\nimport { assert } from './assert';\n\ntype FirstParameters<T> = T extends [infer First extends Fn, ...any] ? Parameters<First> : never;\ntype LastReturnType<T> = T extends [...any, infer Last extends Fn] ? ReturnType<Last> : never;\n\n/**\n * Pipes multiple functions into a single function. It starts from the leftmost function and proceeds to the right.\n *\n * @example\n * ```ts\n * const add = (x) => x + 2;\n * const multiply = (x) => x * 3;\n * const subtract = (x) => x - 4;\n * const pipedFn = pipe(subtract, multiply, add);\n *\n * pipedFn(5); // ((5-4) * 3) + 2 = 5\n * ```\n *\n * @param fns - List of functions to be piped.\n *\n * @returns A new function that is the pipe of the input functions.\n */\nexport function pipe<T extends Fn[]>(...fns: T): (...args: FirstParameters<T>) => LastReturnType<T> {\n assert(fns.length > 0, 'pipe requires at least one function', { args: { fns } });\n\n const [firstFn, ...restFns] = fns;\n\n return ((...args: FirstParameters<T>) => restFns.reduce((prev, fn) => fn(prev), firstFn(...args))) as (\n ...args: FirstParameters<T>\n ) => LastReturnType<T>;\n}\n"],"mappings":";;AAwBA,SAAgB,EAAqB,GAAG,GAA4D;AAClG,GAAO,EAAI,SAAS,GAAG,uCAAuC,EAAE,MAAM,EAAE,QAAK,EAAE,CAAC;CAEhF,IAAM,CAAC,GAAS,GAAG,KAAW;AAE9B,UAAS,GAAG,MAA6B,EAAQ,QAAQ,GAAM,MAAO,EAAG,EAAK,EAAE,EAAQ,GAAG,EAAK,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("./assert.cjs");function b(u,o=700,f={leading:!0,trailing:!0}){p.assert(typeof u=="function","First argument must be a function",{args:{fn:u},type:TypeError}),p.assert(typeof o=="number"&&o>=0,"Delay must be a non-negative number",{args:{delay:o},type:TypeError});const T=f.leading??!0,y=f.trailing??!1;let n,i=0,e,s,m;const c=()=>{n!==void 0&&(clearTimeout(n),n=void 0)},g=t=>{if(i=t,c(),!e)return;const r=e,l=s;return e=void 0,s=void 0,m=u.apply(l,r),m},d=t=>o-(t-i),v=()=>{const t=Date.now();e&&d(t)<=0?g(t):e?n=setTimeout(v,d(t)):c()},a=function(...t){const r=Date.now();i===0&&!T&&(i=r),e=t,s=this;const l=d(r);l<=0?g(r):y&&!n&&(n=setTimeout(v,l))};return a.cancel=()=>{c(),e=void 0,s=void 0,i=0},a.flush=()=>{if(!e)return;const t=Date.now();return g(t)},a.pending=()=>e!==void 0||n!==void 0,a}exports.throttle=b;
2
- //# sourceMappingURL=throttle.cjs.map
1
+ const e=require(`./assert.cjs`),t=require(`../async/scheduler.cjs`);function n(n,r=700,i={leading:!0,trailing:!1}){e.assert(typeof n==`function`,`First argument must be a function`,{args:{fn:n},type:TypeError}),e.assert(typeof r==`number`&&r>=0,`Delay must be a non-negative number`,{args:{delay:r},type:TypeError});let a=i.leading??!0,o=i.trailing??!1,s,c=0,l,u,d,f=()=>{s!==void 0&&(s.abort(),s=void 0)},p=e=>{let n=new AbortController,r=new t.Scheduler;s=n,r.postTask(g,{delay:e,priority:`user-visible`,signal:n.signal}).catch(()=>{})},m=e=>{if(c=e,f(),!l)return;let t=l,r=u;return l=void 0,u=void 0,d=n.apply(r,t),d},h=e=>r-(e-c),g=()=>{let e=Date.now();l&&h(e)<=0?m(e):l?p(h(e)):f()},_=function(...e){let t=Date.now();c===0&&!a&&(c=t),l=e,u=this;let n=h(t);n<=0?m(t):o&&!s&&p(n)};return _.cancel=()=>{f(),l=void 0,u=void 0,c=0},_.flush=()=>{if(l)return m(Date.now())},_.pending=()=>l!==void 0||s!==void 0,_}exports.throttle=n;
2
+ //# sourceMappingURL=throttle.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"throttle.cjs","sources":["../../src/function/throttle.ts"],"sourcesContent":["import type { Fn } from '../types';\nimport { assert } from './assert';\n\nexport type ThrottleOptions = {\n leading?: boolean; // invoke at the start of the window\n trailing?: boolean; // invoke at the end with the last args\n};\n\nexport type Throttled<T extends Fn> = ((this: ThisParameterType<T>, ...args: Parameters<T>) => void) & {\n cancel(): void;\n flush(): ReturnType<T> | undefined;\n pending(): boolean; // whether there's a pending call that flush() would execute\n};\n\n/**\n * Throttles a function. By default, leading and trailing are both true (lodash-like behavior).\n * The function is invoked at the leading edge and trailing edge of the throttle period.\n *\n * Example:\n * const fn = () => ...\n * const t = throttle(fn, 700);\n * const leadingOnly = throttle(fn, 700, { trailing: false });\n */\nexport function throttle<T extends Fn>(\n fn: T,\n delay = 700,\n options: ThrottleOptions = { leading: true, trailing: true },\n): Throttled<T> {\n assert(typeof fn === 'function', 'First argument must be a function', {\n args: { fn },\n type: TypeError,\n });\n assert(typeof delay === 'number' && delay >= 0, 'Delay must be a non-negative number', {\n args: { delay },\n type: TypeError,\n });\n\n const leading = options.leading ?? true;\n const trailing = options.trailing ?? false;\n\n let timer: ReturnType<typeof setTimeout> | undefined;\n let lastInvokeTime = 0;\n let lastArgs: Parameters<T> | undefined;\n let lastThis: ThisParameterType<T> | undefined;\n let lastResult: ReturnType<T> | undefined;\n\n const clearTimer = () => {\n if (timer !== undefined) {\n clearTimeout(timer);\n timer = undefined;\n }\n };\n\n const invoke = (now: number) => {\n lastInvokeTime = now;\n clearTimer();\n if (!lastArgs) return undefined;\n const args = lastArgs;\n const ctx = lastThis as ThisParameterType<T>;\n lastArgs = undefined;\n lastThis = undefined;\n // biome-ignore lint/suspicious/noExplicitAny: -\n lastResult = fn.apply(ctx as any, args);\n return lastResult;\n };\n\n const remaining = (now: number) => delay - (now - lastInvokeTime);\n\n const timerExpired = () => {\n const now = Date.now();\n if (lastArgs && remaining(now) <= 0) {\n // trailing edge invoke\n invoke(now);\n } else if (lastArgs) {\n // reschedule until a window elapses\n timer = setTimeout(timerExpired, remaining(now));\n } else {\n clearTimer();\n }\n };\n\n const throttled = function (this: ThisParameterType<T>, ...args: Parameters<T>) {\n const now = Date.now();\n if (lastInvokeTime === 0 && !leading) {\n // If leading is false, start the window now but don't invoke immediately\n lastInvokeTime = now;\n }\n\n lastArgs = args;\n lastThis = this;\n\n const rem = remaining(now);\n\n if (rem <= 0) {\n // Window elapsed: invoke now\n invoke(now);\n } else if (trailing && !timer) {\n // Schedule trailing call if not already scheduled\n timer = setTimeout(timerExpired, rem);\n }\n } as Throttled<T>;\n\n throttled.cancel = () => {\n clearTimer();\n lastArgs = undefined;\n lastThis = undefined;\n lastInvokeTime = 0;\n };\n\n throttled.flush = () => {\n if (!lastArgs) return undefined;\n const now = Date.now();\n return invoke(now) as ReturnType<T> | undefined;\n };\n\n // Pending if a trailing call is scheduled OR there are queued args.\n throttled.pending = () => lastArgs !== undefined || timer !== undefined;\n\n return throttled;\n}\n"],"names":["throttle","fn","delay","options","assert","leading","trailing","timer","lastInvokeTime","lastArgs","lastThis","lastResult","clearTimer","invoke","now","args","ctx","remaining","timerExpired","throttled","rem"],"mappings":"gHAuBO,SAASA,EACdC,EACAC,EAAQ,IACRC,EAA2B,CAAE,QAAS,GAAM,SAAU,IACxC,CACdC,EAAAA,OAAO,OAAOH,GAAO,WAAY,oCAAqC,CACpE,KAAM,CAAE,GAAAA,CAAA,EACR,KAAM,SAAA,CACP,EACDG,EAAAA,OAAO,OAAOF,GAAU,UAAYA,GAAS,EAAG,sCAAuC,CACrF,KAAM,CAAE,MAAAA,CAAA,EACR,KAAM,SAAA,CACP,EAED,MAAMG,EAAUF,EAAQ,SAAW,GAC7BG,EAAWH,EAAQ,UAAY,GAErC,IAAII,EACAC,EAAiB,EACjBC,EACAC,EACAC,EAEJ,MAAMC,EAAa,IAAM,CACnBL,IAAU,SACZ,aAAaA,CAAK,EAClBA,EAAQ,OAEZ,EAEMM,EAAUC,GAAgB,CAG9B,GAFAN,EAAiBM,EACjBF,EAAA,EACI,CAACH,EAAU,OACf,MAAMM,EAAON,EACPO,EAAMN,EACZ,OAAAD,EAAW,OACXC,EAAW,OAEXC,EAAaV,EAAG,MAAMe,EAAYD,CAAI,EAC/BJ,CACT,EAEMM,EAAaH,GAAgBZ,GAASY,EAAMN,GAE5CU,EAAe,IAAM,CACzB,MAAMJ,EAAM,KAAK,IAAA,EACbL,GAAYQ,EAAUH,CAAG,GAAK,EAEhCD,EAAOC,CAAG,EACDL,EAETF,EAAQ,WAAWW,EAAcD,EAAUH,CAAG,CAAC,EAE/CF,EAAA,CAEJ,EAEMO,EAAY,YAAyCJ,EAAqB,CAC9E,MAAMD,EAAM,KAAK,IAAA,EACbN,IAAmB,GAAK,CAACH,IAE3BG,EAAiBM,GAGnBL,EAAWM,EACXL,EAAW,KAEX,MAAMU,EAAMH,EAAUH,CAAG,EAErBM,GAAO,EAETP,EAAOC,CAAG,EACDR,GAAY,CAACC,IAEtBA,EAAQ,WAAWW,EAAcE,CAAG,EAExC,EAEA,OAAAD,EAAU,OAAS,IAAM,CACvBP,EAAA,EACAH,EAAW,OACXC,EAAW,OACXF,EAAiB,CACnB,EAEAW,EAAU,MAAQ,IAAM,CACtB,GAAI,CAACV,EAAU,OACf,MAAMK,EAAM,KAAK,IAAA,EACjB,OAAOD,EAAOC,CAAG,CACnB,EAGAK,EAAU,QAAU,IAAMV,IAAa,QAAaF,IAAU,OAEvDY,CACT"}
1
+ {"version":3,"file":"throttle.cjs","names":[],"sources":["../../src/function/throttle.ts"],"sourcesContent":["import type { Fn } from '../types';\n\nimport { Scheduler } from '../async/scheduler';\nimport { assert } from './assert';\n\nexport type ThrottleOptions = {\n leading?: boolean; // invoke at the start of the window\n trailing?: boolean; // invoke at the end with the last args\n};\n\nexport type Throttled<T extends Fn> = ((this: ThisParameterType<T>, ...args: Parameters<T>) => void) & {\n cancel(): void;\n flush(): ReturnType<T> | undefined;\n pending(): boolean; // whether there's a pending call that flush() would execute\n};\n\n/**\n * Throttles a function. By default, only the leading edge fires.\n * Pass `{ trailing: true }` to also invoke at the end of the throttle window.\n *\n * Example:\n * const fn = () => ...\n * const t = throttle(fn, 700);\n * const withTrailing = throttle(fn, 700, { trailing: true });\n */\nexport function throttle<T extends Fn>(\n fn: T,\n delay = 700,\n options: ThrottleOptions = { leading: true, trailing: false },\n): Throttled<T> {\n assert(typeof fn === 'function', 'First argument must be a function', {\n args: { fn },\n type: TypeError,\n });\n assert(typeof delay === 'number' && delay >= 0, 'Delay must be a non-negative number', {\n args: { delay },\n type: TypeError,\n });\n\n const leading = options.leading ?? true;\n const trailing = options.trailing ?? false;\n\n let timerController: AbortController | undefined;\n let lastInvokeTime = 0;\n let lastArgs: Parameters<T> | undefined;\n let lastThis: ThisParameterType<T> | undefined;\n let lastResult: ReturnType<T> | undefined;\n\n const clearTimer = () => {\n if (timerController !== undefined) {\n timerController.abort();\n timerController = undefined;\n }\n };\n\n const scheduleTimer = (delayMs: number) => {\n const controller = new AbortController();\n const scheduler = new Scheduler();\n\n timerController = controller;\n void scheduler\n .postTask(timerExpired, {\n delay: delayMs,\n priority: 'user-visible',\n signal: controller.signal,\n })\n .catch(() => {\n // Aborts are expected when throttle is rescheduled or canceled.\n });\n };\n\n const invoke = (now: number) => {\n lastInvokeTime = now;\n clearTimer();\n\n if (!lastArgs) return undefined;\n\n const args = lastArgs;\n const ctx = lastThis as ThisParameterType<T>;\n\n lastArgs = undefined;\n lastThis = undefined;\n lastResult = fn.apply(ctx as any, args);\n\n return lastResult;\n };\n\n const remaining = (now: number) => delay - (now - lastInvokeTime);\n\n const timerExpired = () => {\n const now = Date.now();\n\n if (lastArgs && remaining(now) <= 0) {\n // trailing edge invoke\n invoke(now);\n } else if (lastArgs) {\n // reschedule until a window elapses\n scheduleTimer(remaining(now));\n } else {\n clearTimer();\n }\n };\n\n const throttled = function (this: ThisParameterType<T>, ...args: Parameters<T>) {\n const now = Date.now();\n\n if (lastInvokeTime === 0 && !leading) {\n // If leading is false, start the window now but don't invoke immediately\n lastInvokeTime = now;\n }\n\n lastArgs = args;\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n lastThis = this;\n\n const rem = remaining(now);\n\n if (rem <= 0) {\n // Window elapsed: invoke now\n invoke(now);\n } else if (trailing && !timerController) {\n // Schedule trailing call if not already scheduled\n scheduleTimer(rem);\n }\n } as Throttled<T>;\n\n throttled.cancel = () => {\n clearTimer();\n lastArgs = undefined;\n lastThis = undefined;\n lastInvokeTime = 0;\n };\n\n throttled.flush = () => {\n if (!lastArgs) return undefined;\n\n const now = Date.now();\n\n return invoke(now) as ReturnType<T> | undefined;\n };\n\n // Pending if a trailing call is scheduled OR there are queued args.\n throttled.pending = () => lastArgs !== undefined || timerController !== undefined;\n\n return throttled;\n}\n"],"mappings":"oEAyBA,SAAgB,EACd,EACA,EAAQ,IACR,EAA2B,CAAE,QAAS,GAAM,SAAU,GAAO,CAC/C,CACd,EAAA,OAAO,OAAO,GAAO,WAAY,oCAAqC,CACpE,KAAM,CAAE,KAAI,CACZ,KAAM,UACP,CAAC,CACF,EAAA,OAAO,OAAO,GAAU,UAAY,GAAS,EAAG,sCAAuC,CACrF,KAAM,CAAE,QAAO,CACf,KAAM,UACP,CAAC,CAEF,IAAM,EAAU,EAAQ,SAAW,GAC7B,EAAW,EAAQ,UAAY,GAEjC,EACA,EAAiB,EACjB,EACA,EACA,EAEE,MAAmB,CACnB,IAAoB,IAAA,KACtB,EAAgB,OAAO,CACvB,EAAkB,IAAA,KAIhB,EAAiB,GAAoB,CACzC,IAAM,EAAa,IAAI,gBACjB,EAAY,IAAI,EAAA,UAEtB,EAAkB,EACb,EACF,SAAS,EAAc,CACtB,MAAO,EACP,SAAU,eACV,OAAQ,EAAW,OACpB,CAAC,CACD,UAAY,GAEX,EAGA,EAAU,GAAgB,CAI9B,GAHA,EAAiB,EACjB,GAAY,CAER,CAAC,EAAU,OAEf,IAAM,EAAO,EACP,EAAM,EAMZ,MAJA,GAAW,IAAA,GACX,EAAW,IAAA,GACX,EAAa,EAAG,MAAM,EAAY,EAAK,CAEhC,GAGH,EAAa,GAAgB,GAAS,EAAM,GAE5C,MAAqB,CACzB,IAAM,EAAM,KAAK,KAAK,CAElB,GAAY,EAAU,EAAI,EAAI,EAEhC,EAAO,EAAI,CACF,EAET,EAAc,EAAU,EAAI,CAAC,CAE7B,GAAY,EAIV,EAAY,SAAsC,GAAG,EAAqB,CAC9E,IAAM,EAAM,KAAK,KAAK,CAElB,IAAmB,GAAK,CAAC,IAE3B,EAAiB,GAGnB,EAAW,EAEX,EAAW,KAEX,IAAM,EAAM,EAAU,EAAI,CAEtB,GAAO,EAET,EAAO,EAAI,CACF,GAAY,CAAC,GAEtB,EAAc,EAAI,EAsBtB,MAlBA,GAAU,WAAe,CACvB,GAAY,CACZ,EAAW,IAAA,GACX,EAAW,IAAA,GACX,EAAiB,GAGnB,EAAU,UAAc,CACjB,KAIL,OAAO,EAFK,KAAK,KAAK,CAEJ,EAIpB,EAAU,YAAgB,IAAa,IAAA,IAAa,IAAoB,IAAA,GAEjE"}
@@ -0,0 +1,21 @@
1
+ import type { Fn } from '../types';
2
+ export type ThrottleOptions = {
3
+ leading?: boolean;
4
+ trailing?: boolean;
5
+ };
6
+ export type Throttled<T extends Fn> = ((this: ThisParameterType<T>, ...args: Parameters<T>) => void) & {
7
+ cancel(): void;
8
+ flush(): ReturnType<T> | undefined;
9
+ pending(): boolean;
10
+ };
11
+ /**
12
+ * Throttles a function. By default, only the leading edge fires.
13
+ * Pass `{ trailing: true }` to also invoke at the end of the throttle window.
14
+ *
15
+ * Example:
16
+ * const fn = () => ...
17
+ * const t = throttle(fn, 700);
18
+ * const withTrailing = throttle(fn, 700, { trailing: true });
19
+ */
20
+ export declare function throttle<T extends Fn>(fn: T, delay?: number, options?: ThrottleOptions): Throttled<T>;
21
+ //# sourceMappingURL=throttle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throttle.d.ts","sourceRoot":"","sources":["../../src/function/throttle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAKnC,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG;IACrG,MAAM,IAAI,IAAI,CAAC;IACf,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACnC,OAAO,IAAI,OAAO,CAAC;CACpB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,EAAE,EACnC,EAAE,EAAE,CAAC,EACL,KAAK,SAAM,EACX,OAAO,GAAE,eAAoD,GAC5D,SAAS,CAAC,CAAC,CAAC,CAoHd"}
@@ -1,38 +1,46 @@
1
- import { assert as p } from "./assert.js";
2
- function y(c, r = 700, g = { leading: !0, trailing: !0 }) {
3
- p(typeof c == "function", "First argument must be a function", {
4
- args: { fn: c },
5
- type: TypeError
6
- }), p(typeof r == "number" && r >= 0, "Delay must be a non-negative number", {
7
- args: { delay: r },
8
- type: TypeError
9
- });
10
- const T = g.leading ?? !0, w = g.trailing ?? !1;
11
- let n, i = 0, e, s, d;
12
- const u = () => {
13
- n !== void 0 && (clearTimeout(n), n = void 0);
14
- }, m = (t) => {
15
- if (i = t, u(), !e) return;
16
- const o = e, l = s;
17
- return e = void 0, s = void 0, d = c.apply(l, o), d;
18
- }, f = (t) => r - (t - i), v = () => {
19
- const t = Date.now();
20
- e && f(t) <= 0 ? m(t) : e ? n = setTimeout(v, f(t)) : u();
21
- }, a = function(...t) {
22
- const o = Date.now();
23
- i === 0 && !T && (i = o), e = t, s = this;
24
- const l = f(o);
25
- l <= 0 ? m(o) : w && !n && (n = setTimeout(v, l));
26
- };
27
- return a.cancel = () => {
28
- u(), e = void 0, s = void 0, i = 0;
29
- }, a.flush = () => {
30
- if (!e) return;
31
- const t = Date.now();
32
- return m(t);
33
- }, a.pending = () => e !== void 0 || n !== void 0, a;
1
+ import { assert as e } from "./assert.js";
2
+ import { Scheduler as t } from "../async/scheduler.js";
3
+ //#region src/function/throttle.ts
4
+ function n(n, r = 700, i = {
5
+ leading: !0,
6
+ trailing: !1
7
+ }) {
8
+ e(typeof n == "function", "First argument must be a function", {
9
+ args: { fn: n },
10
+ type: TypeError
11
+ }), e(typeof r == "number" && r >= 0, "Delay must be a non-negative number", {
12
+ args: { delay: r },
13
+ type: TypeError
14
+ });
15
+ let a = i.leading ?? !0, o = i.trailing ?? !1, s, c = 0, l, u, d, f = () => {
16
+ s !== void 0 && (s.abort(), s = void 0);
17
+ }, p = (e) => {
18
+ let n = new AbortController(), r = new t();
19
+ s = n, r.postTask(g, {
20
+ delay: e,
21
+ priority: "user-visible",
22
+ signal: n.signal
23
+ }).catch(() => {});
24
+ }, m = (e) => {
25
+ if (c = e, f(), !l) return;
26
+ let t = l, r = u;
27
+ return l = void 0, u = void 0, d = n.apply(r, t), d;
28
+ }, h = (e) => r - (e - c), g = () => {
29
+ let e = Date.now();
30
+ l && h(e) <= 0 ? m(e) : l ? p(h(e)) : f();
31
+ }, _ = function(...e) {
32
+ let t = Date.now();
33
+ c === 0 && !a && (c = t), l = e, u = this;
34
+ let n = h(t);
35
+ n <= 0 ? m(t) : o && !s && p(n);
36
+ };
37
+ return _.cancel = () => {
38
+ f(), l = void 0, u = void 0, c = 0;
39
+ }, _.flush = () => {
40
+ if (l) return m(Date.now());
41
+ }, _.pending = () => l !== void 0 || s !== void 0, _;
34
42
  }
35
- export {
36
- y as throttle
37
- };
38
- //# sourceMappingURL=throttle.js.map
43
+ //#endregion
44
+ export { n as throttle };
45
+
46
+ //# sourceMappingURL=throttle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"throttle.js","sources":["../../src/function/throttle.ts"],"sourcesContent":["import type { Fn } from '../types';\nimport { assert } from './assert';\n\nexport type ThrottleOptions = {\n leading?: boolean; // invoke at the start of the window\n trailing?: boolean; // invoke at the end with the last args\n};\n\nexport type Throttled<T extends Fn> = ((this: ThisParameterType<T>, ...args: Parameters<T>) => void) & {\n cancel(): void;\n flush(): ReturnType<T> | undefined;\n pending(): boolean; // whether there's a pending call that flush() would execute\n};\n\n/**\n * Throttles a function. By default, leading and trailing are both true (lodash-like behavior).\n * The function is invoked at the leading edge and trailing edge of the throttle period.\n *\n * Example:\n * const fn = () => ...\n * const t = throttle(fn, 700);\n * const leadingOnly = throttle(fn, 700, { trailing: false });\n */\nexport function throttle<T extends Fn>(\n fn: T,\n delay = 700,\n options: ThrottleOptions = { leading: true, trailing: true },\n): Throttled<T> {\n assert(typeof fn === 'function', 'First argument must be a function', {\n args: { fn },\n type: TypeError,\n });\n assert(typeof delay === 'number' && delay >= 0, 'Delay must be a non-negative number', {\n args: { delay },\n type: TypeError,\n });\n\n const leading = options.leading ?? true;\n const trailing = options.trailing ?? false;\n\n let timer: ReturnType<typeof setTimeout> | undefined;\n let lastInvokeTime = 0;\n let lastArgs: Parameters<T> | undefined;\n let lastThis: ThisParameterType<T> | undefined;\n let lastResult: ReturnType<T> | undefined;\n\n const clearTimer = () => {\n if (timer !== undefined) {\n clearTimeout(timer);\n timer = undefined;\n }\n };\n\n const invoke = (now: number) => {\n lastInvokeTime = now;\n clearTimer();\n if (!lastArgs) return undefined;\n const args = lastArgs;\n const ctx = lastThis as ThisParameterType<T>;\n lastArgs = undefined;\n lastThis = undefined;\n // biome-ignore lint/suspicious/noExplicitAny: -\n lastResult = fn.apply(ctx as any, args);\n return lastResult;\n };\n\n const remaining = (now: number) => delay - (now - lastInvokeTime);\n\n const timerExpired = () => {\n const now = Date.now();\n if (lastArgs && remaining(now) <= 0) {\n // trailing edge invoke\n invoke(now);\n } else if (lastArgs) {\n // reschedule until a window elapses\n timer = setTimeout(timerExpired, remaining(now));\n } else {\n clearTimer();\n }\n };\n\n const throttled = function (this: ThisParameterType<T>, ...args: Parameters<T>) {\n const now = Date.now();\n if (lastInvokeTime === 0 && !leading) {\n // If leading is false, start the window now but don't invoke immediately\n lastInvokeTime = now;\n }\n\n lastArgs = args;\n lastThis = this;\n\n const rem = remaining(now);\n\n if (rem <= 0) {\n // Window elapsed: invoke now\n invoke(now);\n } else if (trailing && !timer) {\n // Schedule trailing call if not already scheduled\n timer = setTimeout(timerExpired, rem);\n }\n } as Throttled<T>;\n\n throttled.cancel = () => {\n clearTimer();\n lastArgs = undefined;\n lastThis = undefined;\n lastInvokeTime = 0;\n };\n\n throttled.flush = () => {\n if (!lastArgs) return undefined;\n const now = Date.now();\n return invoke(now) as ReturnType<T> | undefined;\n };\n\n // Pending if a trailing call is scheduled OR there are queued args.\n throttled.pending = () => lastArgs !== undefined || timer !== undefined;\n\n return throttled;\n}\n"],"names":["throttle","fn","delay","options","assert","leading","trailing","timer","lastInvokeTime","lastArgs","lastThis","lastResult","clearTimer","invoke","now","args","ctx","remaining","timerExpired","throttled","rem"],"mappings":";AAuBO,SAASA,EACdC,GACAC,IAAQ,KACRC,IAA2B,EAAE,SAAS,IAAM,UAAU,MACxC;AACd,EAAAC,EAAO,OAAOH,KAAO,YAAY,qCAAqC;AAAA,IACpE,MAAM,EAAE,IAAAA,EAAA;AAAA,IACR,MAAM;AAAA,EAAA,CACP,GACDG,EAAO,OAAOF,KAAU,YAAYA,KAAS,GAAG,uCAAuC;AAAA,IACrF,MAAM,EAAE,OAAAA,EAAA;AAAA,IACR,MAAM;AAAA,EAAA,CACP;AAED,QAAMG,IAAUF,EAAQ,WAAW,IAC7BG,IAAWH,EAAQ,YAAY;AAErC,MAAII,GACAC,IAAiB,GACjBC,GACAC,GACAC;AAEJ,QAAMC,IAAa,MAAM;AACvB,IAAIL,MAAU,WACZ,aAAaA,CAAK,GAClBA,IAAQ;AAAA,EAEZ,GAEMM,IAAS,CAACC,MAAgB;AAG9B,QAFAN,IAAiBM,GACjBF,EAAA,GACI,CAACH,EAAU;AACf,UAAMM,IAAON,GACPO,IAAMN;AACZ,WAAAD,IAAW,QACXC,IAAW,QAEXC,IAAaV,EAAG,MAAMe,GAAYD,CAAI,GAC/BJ;AAAA,EACT,GAEMM,IAAY,CAACH,MAAgBZ,KAASY,IAAMN,IAE5CU,IAAe,MAAM;AACzB,UAAMJ,IAAM,KAAK,IAAA;AACjB,IAAIL,KAAYQ,EAAUH,CAAG,KAAK,IAEhCD,EAAOC,CAAG,IACDL,IAETF,IAAQ,WAAWW,GAAcD,EAAUH,CAAG,CAAC,IAE/CF,EAAA;AAAA,EAEJ,GAEMO,IAAY,YAAyCJ,GAAqB;AAC9E,UAAMD,IAAM,KAAK,IAAA;AACjB,IAAIN,MAAmB,KAAK,CAACH,MAE3BG,IAAiBM,IAGnBL,IAAWM,GACXL,IAAW;AAEX,UAAMU,IAAMH,EAAUH,CAAG;AAEzB,IAAIM,KAAO,IAETP,EAAOC,CAAG,IACDR,KAAY,CAACC,MAEtBA,IAAQ,WAAWW,GAAcE,CAAG;AAAA,EAExC;AAEA,SAAAD,EAAU,SAAS,MAAM;AACvB,IAAAP,EAAA,GACAH,IAAW,QACXC,IAAW,QACXF,IAAiB;AAAA,EACnB,GAEAW,EAAU,QAAQ,MAAM;AACtB,QAAI,CAACV,EAAU;AACf,UAAMK,IAAM,KAAK,IAAA;AACjB,WAAOD,EAAOC,CAAG;AAAA,EACnB,GAGAK,EAAU,UAAU,MAAMV,MAAa,UAAaF,MAAU,QAEvDY;AACT;"}
1
+ {"version":3,"file":"throttle.js","names":[],"sources":["../../src/function/throttle.ts"],"sourcesContent":["import type { Fn } from '../types';\n\nimport { Scheduler } from '../async/scheduler';\nimport { assert } from './assert';\n\nexport type ThrottleOptions = {\n leading?: boolean; // invoke at the start of the window\n trailing?: boolean; // invoke at the end with the last args\n};\n\nexport type Throttled<T extends Fn> = ((this: ThisParameterType<T>, ...args: Parameters<T>) => void) & {\n cancel(): void;\n flush(): ReturnType<T> | undefined;\n pending(): boolean; // whether there's a pending call that flush() would execute\n};\n\n/**\n * Throttles a function. By default, only the leading edge fires.\n * Pass `{ trailing: true }` to also invoke at the end of the throttle window.\n *\n * Example:\n * const fn = () => ...\n * const t = throttle(fn, 700);\n * const withTrailing = throttle(fn, 700, { trailing: true });\n */\nexport function throttle<T extends Fn>(\n fn: T,\n delay = 700,\n options: ThrottleOptions = { leading: true, trailing: false },\n): Throttled<T> {\n assert(typeof fn === 'function', 'First argument must be a function', {\n args: { fn },\n type: TypeError,\n });\n assert(typeof delay === 'number' && delay >= 0, 'Delay must be a non-negative number', {\n args: { delay },\n type: TypeError,\n });\n\n const leading = options.leading ?? true;\n const trailing = options.trailing ?? false;\n\n let timerController: AbortController | undefined;\n let lastInvokeTime = 0;\n let lastArgs: Parameters<T> | undefined;\n let lastThis: ThisParameterType<T> | undefined;\n let lastResult: ReturnType<T> | undefined;\n\n const clearTimer = () => {\n if (timerController !== undefined) {\n timerController.abort();\n timerController = undefined;\n }\n };\n\n const scheduleTimer = (delayMs: number) => {\n const controller = new AbortController();\n const scheduler = new Scheduler();\n\n timerController = controller;\n void scheduler\n .postTask(timerExpired, {\n delay: delayMs,\n priority: 'user-visible',\n signal: controller.signal,\n })\n .catch(() => {\n // Aborts are expected when throttle is rescheduled or canceled.\n });\n };\n\n const invoke = (now: number) => {\n lastInvokeTime = now;\n clearTimer();\n\n if (!lastArgs) return undefined;\n\n const args = lastArgs;\n const ctx = lastThis as ThisParameterType<T>;\n\n lastArgs = undefined;\n lastThis = undefined;\n lastResult = fn.apply(ctx as any, args);\n\n return lastResult;\n };\n\n const remaining = (now: number) => delay - (now - lastInvokeTime);\n\n const timerExpired = () => {\n const now = Date.now();\n\n if (lastArgs && remaining(now) <= 0) {\n // trailing edge invoke\n invoke(now);\n } else if (lastArgs) {\n // reschedule until a window elapses\n scheduleTimer(remaining(now));\n } else {\n clearTimer();\n }\n };\n\n const throttled = function (this: ThisParameterType<T>, ...args: Parameters<T>) {\n const now = Date.now();\n\n if (lastInvokeTime === 0 && !leading) {\n // If leading is false, start the window now but don't invoke immediately\n lastInvokeTime = now;\n }\n\n lastArgs = args;\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n lastThis = this;\n\n const rem = remaining(now);\n\n if (rem <= 0) {\n // Window elapsed: invoke now\n invoke(now);\n } else if (trailing && !timerController) {\n // Schedule trailing call if not already scheduled\n scheduleTimer(rem);\n }\n } as Throttled<T>;\n\n throttled.cancel = () => {\n clearTimer();\n lastArgs = undefined;\n lastThis = undefined;\n lastInvokeTime = 0;\n };\n\n throttled.flush = () => {\n if (!lastArgs) return undefined;\n\n const now = Date.now();\n\n return invoke(now) as ReturnType<T> | undefined;\n };\n\n // Pending if a trailing call is scheduled OR there are queued args.\n throttled.pending = () => lastArgs !== undefined || timerController !== undefined;\n\n return throttled;\n}\n"],"mappings":";;;AAyBA,SAAgB,EACd,GACA,IAAQ,KACR,IAA2B;CAAE,SAAS;CAAM,UAAU;CAAO,EAC/C;AAKd,CAJA,EAAO,OAAO,KAAO,YAAY,qCAAqC;EACpE,MAAM,EAAE,OAAI;EACZ,MAAM;EACP,CAAC,EACF,EAAO,OAAO,KAAU,YAAY,KAAS,GAAG,uCAAuC;EACrF,MAAM,EAAE,UAAO;EACf,MAAM;EACP,CAAC;CAEF,IAAM,IAAU,EAAQ,WAAW,IAC7B,IAAW,EAAQ,YAAY,IAEjC,GACA,IAAiB,GACjB,GACA,GACA,GAEE,UAAmB;AACvB,EAAI,MAAoB,KAAA,MACtB,EAAgB,OAAO,EACvB,IAAkB,KAAA;IAIhB,KAAiB,MAAoB;EACzC,IAAM,IAAa,IAAI,iBAAiB,EAClC,IAAY,IAAI,GAAW;AAG5B,EADL,IAAkB,GACb,EACF,SAAS,GAAc;GACtB,OAAO;GACP,UAAU;GACV,QAAQ,EAAW;GACpB,CAAC,CACD,YAAY,GAEX;IAGA,KAAU,MAAgB;AAI9B,MAHA,IAAiB,GACjB,GAAY,EAER,CAAC,EAAU;EAEf,IAAM,IAAO,GACP,IAAM;AAMZ,SAJA,IAAW,KAAA,GACX,IAAW,KAAA,GACX,IAAa,EAAG,MAAM,GAAY,EAAK,EAEhC;IAGH,KAAa,MAAgB,KAAS,IAAM,IAE5C,UAAqB;EACzB,IAAM,IAAM,KAAK,KAAK;AAEtB,EAAI,KAAY,EAAU,EAAI,IAAI,IAEhC,EAAO,EAAI,GACF,IAET,EAAc,EAAU,EAAI,CAAC,GAE7B,GAAY;IAIV,IAAY,SAAsC,GAAG,GAAqB;EAC9E,IAAM,IAAM,KAAK,KAAK;AAStB,EAPI,MAAmB,KAAK,CAAC,MAE3B,IAAiB,IAGnB,IAAW,GAEX,IAAW;EAEX,IAAM,IAAM,EAAU,EAAI;AAE1B,EAAI,KAAO,IAET,EAAO,EAAI,GACF,KAAY,CAAC,KAEtB,EAAc,EAAI;;AAsBtB,QAlBA,EAAU,eAAe;AAIvB,EAHA,GAAY,EACZ,IAAW,KAAA,GACX,IAAW,KAAA,GACX,IAAiB;IAGnB,EAAU,cAAc;AACjB,QAIL,QAAO,EAFK,KAAK,KAAK,CAEJ;IAIpB,EAAU,gBAAgB,MAAa,KAAA,KAAa,MAAoB,KAAA,GAEjE"}
package/dist/index.cjs CHANGED
@@ -1,2 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("./array/aggregate.cjs"),m=require("./array/alternate.cjs"),p=require("./array/arrange.cjs"),_=require("./array/chunk.cjs"),d=require("./array/compact.cjs"),S=require("./array/contains.cjs"),f=require("./array/every.cjs"),E=require("./array/filter.cjs"),I=require("./array/find.cjs"),g=require("./array/findIndex.cjs"),O=require("./array/findLast.cjs"),y=require("./array/flatten.cjs"),M=require("./array/group.cjs"),b=require("./array/list.cjs"),v=require("./array/map.cjs"),h=require("./array/pick.cjs"),G=require("./array/reduce.cjs"),N=require("./array/remoteList.cjs"),k=require("./array/search.cjs"),P=require("./array/select.cjs"),x=require("./array/shift.cjs"),C=require("./array/some.cjs"),T=require("./array/sort.cjs"),A=require("./array/substitute.cjs"),D=require("./array/uniq.cjs"),B=require("./async/attempt.cjs"),L=require("./async/defer.cjs"),w=require("./async/delay.cjs"),F=require("./async/parallel.cjs"),U=require("./async/pool.cjs"),J=require("./async/predict.cjs"),W=require("./async/queue.cjs"),j=require("./async/race.cjs"),Y=require("./async/retry.cjs"),Z=require("./async/sleep.cjs"),H=require("./async/waitFor.cjs"),Q=require("./date/expires.cjs"),V=require("./date/interval.cjs"),z=require("./date/timeDiff.cjs"),K=require("./function/assert.cjs"),X=require("./function/assertParams.cjs"),$=require("./function/compare.cjs"),ee=require("./function/compareBy.cjs"),re=require("./function/compose.cjs"),ie=require("./function/curry.cjs"),se=require("./function/debounce.cjs"),te=require("./function/fp.cjs"),ne=require("./function/memo.cjs"),oe=require("./function/once.cjs"),ce=require("./function/pipe.cjs"),ue=require("./function/proxy.cjs"),ae=require("./function/prune.cjs"),qe=require("./function/throttle.cjs"),le=require("./function/worker.cjs"),Re=require("./math/abs.cjs"),me=require("./math/add.cjs"),pe=require("./math/allocate.cjs"),_e=require("./math/average.cjs"),de=require("./math/boil.cjs"),Se=require("./math/clamp.cjs"),fe=require("./math/distribute.cjs"),Ee=require("./math/divide.cjs"),Ie=require("./math/max.cjs"),ge=require("./math/median.cjs"),Oe=require("./math/min.cjs"),ye=require("./math/multiply.cjs"),Me=require("./math/range.cjs"),be=require("./math/rate.cjs"),ve=require("./math/round.cjs"),he=require("./math/subtract.cjs"),Ge=require("./math/sum.cjs"),Ne=require("./money/currency.cjs"),ke=require("./money/exchange.cjs"),Pe=require("./object/cache.cjs"),xe=require("./object/clone.cjs"),Ce=require("./object/diff.cjs"),Te=require("./object/entries.cjs"),Ae=require("./object/keys.cjs"),De=require("./object/merge.cjs"),Be=require("./object/parseJSON.cjs"),Le=require("./object/path.cjs"),we=require("./object/seek.cjs"),Fe=require("./object/values.cjs"),Ue=require("./random/draw.cjs"),Je=require("./random/random.cjs"),We=require("./random/shuffle.cjs"),je=require("./random/uuid.cjs"),Ye=require("./string/camelCase.cjs"),Ze=require("./string/kebabCase.cjs"),He=require("./string/pascalCase.cjs"),Qe=require("./string/similarity.cjs"),Ve=require("./string/snakeCase.cjs"),ze=require("./string/truncate.cjs"),Ke=require("./typed/ge.cjs"),Xe=require("./typed/gt.cjs"),$e=require("./typed/is.cjs"),e=require("./typed/isArray.cjs"),er=require("./typed/isBoolean.cjs"),r=require("./typed/isDate.cjs"),rr=require("./typed/isDefined.cjs"),i=require("./typed/isEmpty.cjs"),s=require("./typed/isEqual.cjs"),ir=require("./typed/isEven.cjs"),t=require("./typed/isFunction.cjs"),sr=require("./typed/isNegative.cjs"),n=require("./typed/isNil.cjs"),o=require("./typed/isNumber.cjs"),c=require("./typed/isObject.cjs"),tr=require("./typed/isOdd.cjs"),nr=require("./typed/isPositive.cjs"),u=require("./typed/isPrimitive.cjs"),a=require("./typed/isPromise.cjs"),or=require("./typed/isRegex.cjs"),q=require("./typed/isString.cjs"),l=require("./typed/isWithin.cjs"),cr=require("./typed/isZero.cjs"),ur=require("./typed/le.cjs"),ar=require("./typed/lt.cjs"),qr=require("./typed/typeOf.cjs");exports.aggregate=R.aggregate;exports.alternate=m.alternate;exports.arrange=p.arrange;exports.chunk=_.chunk;exports.compact=d.compact;exports.contains=S.contains;exports.every=f.every;exports.filter=E.filter;exports.find=I.find;exports.findIndex=g.findIndex;exports.findLast=O.findLast;exports.flatten=y.flatten;exports.group=M.group;exports.list=b.list;exports.map=v.map;exports.pick=h.pick;exports.reduce=G.reduce;exports.remoteList=N.remoteList;exports.search=k.search;exports.select=P.select;exports.shift=x.shift;exports.some=C.some;exports.sort=T.sort;exports.substitute=A.substitute;exports.uniq=D.uniq;exports.attempt=B.attempt;exports.defer=L.defer;exports.delay=w.delay;exports.parallel=F.parallel;exports.pool=U.pool;exports.predict=J.predict;exports.queue=W.queue;exports.race=j.race;exports.retry=Y.retry;exports.sleep=Z.sleep;exports.waitFor=H.waitFor;exports.expires=Q.expires;exports.interval=V.interval;exports.timeDiff=z.timeDiff;exports.assert=K.assert;exports.assertParams=X.assertParams;exports.compare=$.compare;exports.compareBy=ee.compareBy;exports.compose=re.compose;exports.curry=ie.curry;exports.debounce=se.debounce;exports.fp=te.fp;exports.memo=ne.memo;exports.once=oe.once;exports.pipe=ce.pipe;exports.proxy=ue.proxy;exports.prune=ae.prune;exports.throttle=qe.throttle;exports.worker=le.worker;exports.abs=Re.abs;exports.add=me.add;exports.allocate=pe.allocate;exports.average=_e.average;exports.boil=de.boil;exports.clamp=Se.clamp;exports.distribute=fe.distribute;exports.divide=Ee.divide;exports.max=Ie.max;exports.median=ge.median;exports.min=Oe.min;exports.multiply=ye.multiply;exports.range=Me.range;exports.rate=be.rate;exports.round=ve.round;exports.subtract=he.subtract;exports.sum=Ge.sum;exports.currency=Ne.currency;exports.exchange=ke.exchange;exports.cache=Pe.cache;exports.clone=xe.clone;exports.diff=Ce.diff;exports.entries=Te.entries;exports.keys=Ae.keys;exports.merge=De.merge;exports.parseJSON=Be.parseJSON;exports.path=Le.path;exports.seek=we.seek;exports.values=Fe.values;exports.draw=Ue.draw;exports.random=Je.random;exports.shuffle=We.shuffle;exports.uuid=je.uuid;exports.camelCase=Ye.camelCase;exports.kebabCase=Ze.kebabCase;exports.pascalCase=He.pascalCase;exports.similarity=Qe.similarity;exports.snakeCase=Ve.snakeCase;exports.truncate=ze.truncate;exports.ge=Ke.ge;exports.gt=Xe.gt;exports.is=$e.is;exports.IS_ARRAY_ERROR_MSG=e.IS_ARRAY_ERROR_MSG;exports.isArray=e.isArray;exports.isBoolean=er.isBoolean;exports.IS_DATE_ERROR_MSG=r.IS_DATE_ERROR_MSG;exports.isDate=r.isDate;exports.isDefined=rr.isDefined;exports.IS_EMPTY_ERROR_MSG=i.IS_EMPTY_ERROR_MSG;exports.isEmpty=i.isEmpty;exports.IS_EQUAL_ERROR_MSG=s.IS_EQUAL_ERROR_MSG;exports.isEqual=s.isEqual;exports.isEven=ir.isEven;exports.IS_FUNCTION_ERROR_MSG=t.IS_FUNCTION_ERROR_MSG;exports.isFunction=t.isFunction;exports.isNegative=sr.isNegative;exports.IS_NIL_ERROR_MSG=n.IS_NIL_ERROR_MSG;exports.isNil=n.isNil;exports.IS_NUMBER_ERROR_MSG=o.IS_NUMBER_ERROR_MSG;exports.isNumber=o.isNumber;exports.IS_OBJECT_ERROR_MSG=c.IS_OBJECT_ERROR_MSG;exports.isObject=c.isObject;exports.isOdd=tr.isOdd;exports.isPositive=nr.isPositive;exports.IS_PRIMITIVE_ERROR_MSG=u.IS_PRIMITIVE_ERROR_MSG;exports.isPrimitive=u.isPrimitive;exports.IS_PROMISE_ERROR_MSG=a.IS_PROMISE_ERROR_MSG;exports.isPromise=a.isPromise;exports.isRegex=or.isRegex;exports.IS_STRING_ERROR_MSG=q.IS_STRING_ERROR_MSG;exports.isString=q.isString;exports.IS_WITHIN_ERROR_MSG=l.IS_WITHIN_ERROR_MSG;exports.isWithin=l.isWithin;exports.isZero=cr.isZero;exports.le=ur.le;exports.lt=ar.lt;exports.typeOf=qr.typeOf;
2
- //# sourceMappingURL=index.cjs.map
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./function/assert.cjs`),t=require(`./array/chunk.cjs`),n=require(`./array/contains.cjs`),r=require(`./array/fold.cjs`),ee=require(`./array/group.cjs`),te=require(`./array/keyBy.cjs`),i=require(`./string/similarity.cjs`),a=require(`./object/seek.cjs`),o=require(`./array/search.cjs`),s=require(`./array/list.cjs`),c=require(`./array/pick.cjs`),l=require(`./array/remoteList.cjs`),u=require(`./array/replace.cjs`),d=require(`./array/rotate.cjs`),f=require(`./array/select.cjs`),p=require(`./function/compare.cjs`),m=require(`./function/compareBy.cjs`),h=require(`./array/sort.cjs`),g=require(`./array/toggle.cjs`),_=require(`./array/uniq.cjs`),v=require(`./async/sleep.cjs`),y=require(`./async/retry.cjs`),b=require(`./async/attempt.cjs`),x=require(`./async/defer.cjs`),S=require(`./async/parallel.cjs`),C=require(`./async/scheduler.cjs`),w=require(`./async/pool.cjs`),T=require(`./async/queue.cjs`),E=require(`./async/race.cjs`),D=require(`./async/waitFor.cjs`),O=require(`./date/expires.cjs`),k=require(`./date/interval.cjs`),A=require(`./date/timeDiff.cjs`),j=require(`./function/assertParams.cjs`),M=require(`./function/compose.cjs`),N=require(`./function/curry.cjs`),P=require(`./function/debounce.cjs`),F=require(`./function/fp.cjs`),I=require(`./function/memo.cjs`),L=require(`./function/once.cjs`),R=require(`./function/pipe.cjs`),ne=require(`./function/throttle.cjs`),z=require(`./math/abs.cjs`),B=require(`./math/allocate.cjs`),V=require(`./math/sum.cjs`),H=require(`./math/average.cjs`),U=require(`./math/clamp.cjs`),W=require(`./math/distribute.cjs`),G=require(`./math/linspace.cjs`),K=require(`./math/max.cjs`),q=require(`./math/median.cjs`),J=require(`./math/min.cjs`),Y=require(`./math/percent.cjs`),X=require(`./math/range.cjs`),Z=require(`./math/round.cjs`),re=require(`./money/currency.cjs`),ie=require(`./money/exchange.cjs`),ae=require(`./object/stash.cjs`),Q=require(`./object/diff.cjs`),$=require(`./object/merge.cjs`),oe=require(`./object/parseJSON.cjs`),se=require(`./object/path.cjs`),ce=require(`./object/proxy.cjs`),le=require(`./object/prune.cjs`),ue=require(`./random/random.cjs`),de=require(`./random/draw.cjs`),fe=require(`./random/shuffle.cjs`),pe=require(`./random/uuid.cjs`),me=require(`./string/camelCase.cjs`),he=require(`./string/kebabCase.cjs`),ge=require(`./string/pascalCase.cjs`),_e=require(`./string/snakeCase.cjs`),ve=require(`./string/truncate.cjs`),ye=require(`./typed/is.cjs`);exports.DELETED=Q.DELETED,exports.Scheduler=C.Scheduler,exports.abs=z.abs,exports.allocate=B.allocate,exports.assert=e.assert,exports.assertAll=e.assertAll,exports.assertParams=j.assertParams,exports.attempt=b.attempt,exports.average=H.average,exports.camelCase=me.camelCase,exports.chunk=t.chunk,exports.clamp=U.clamp,exports.compare=p.compare,exports.compareBy=m.compareBy,exports.compose=M.compose,exports.contains=n.contains,exports.currency=re.currency,exports.curry=N.curry,exports.debounce=P.debounce,exports.deepMerge=$.deepMerge,exports.defer=x.defer,exports.diff=Q.diff,exports.distribute=W.distribute,exports.draw=de.draw,exports.exchange=ie.exchange,exports.expires=O.expires,exports.fold=r.fold,exports.get=se.get,exports.group=ee.group,exports.interval=k.interval,exports.is=ye.is,exports.kebabCase=he.kebabCase,exports.keyBy=te.keyBy,exports.linspace=G.linspace,exports.list=s.list,exports.max=K.max,exports.median=q.median,exports.memo=I.memo,exports.merge=$.merge,exports.min=J.min,exports.once=L.once,exports.parallel=S.parallel,exports.parseJSON=oe.parseJSON,exports.partial=F.partial,exports.pascalCase=ge.pascalCase,exports.percent=Y.percent,exports.pick=c.pick,exports.pipe=R.pipe,exports.polyfillScheduler=C.polyfillScheduler,exports.pool=w.pool,exports.proxy=ce.proxy,exports.prune=le.prune,exports.queue=T.queue,exports.race=E.race,exports.random=ue.random,exports.range=X.range,exports.remoteList=l.remoteList,exports.replace=u.replace,exports.retry=y.retry,exports.rotate=d.rotate,exports.round=Z.round,exports.search=o.search,exports.seek=a.seek,exports.select=f.select,exports.shallowMerge=$.shallowMerge,exports.shuffle=fe.shuffle,exports.similarity=i.similarity,exports.sleep=v.sleep,exports.snakeCase=_e.snakeCase,exports.sort=h.sort,exports.stash=ae.stash,exports.sum=V.sum,exports.throttle=ne.throttle,exports.timeDiff=A.timeDiff,exports.toggle=g.toggle,exports.truncate=ve.truncate,exports.uniq=_.uniq,exports.uuid=pe.uuid,exports.waitFor=D.waitFor;