@vinicunca/perkakas 1.6.0 → 1.7.1

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 (515) hide show
  1. package/dist/add-prop.cjs +1 -1
  2. package/dist/add-prop.d.cts +1 -1
  3. package/dist/add-prop.d.ts +1 -1
  4. package/dist/add-prop.js +1 -1
  5. package/dist/add.cjs +1 -1
  6. package/dist/add.js +1 -1
  7. package/dist/all-pass.cjs +1 -1
  8. package/dist/all-pass.js +1 -1
  9. package/dist/any-pass.cjs +1 -1
  10. package/dist/any-pass.js +1 -1
  11. package/dist/{array-required-prefix-BW08fIbb.d.cts → array-required-prefix-Ck4lHkbA.d.cts} +3 -5
  12. package/dist/{array-required-prefix-a3sgCkd2.d.ts → array-required-prefix-DXv_WnmG.d.ts} +3 -5
  13. package/dist/{bounded-partial-CJjczH6j.d.ts → bounded-partial-B15MLSAS.d.ts} +2 -2
  14. package/dist/{bounded-partial-wqR8ceNQ.d.cts → bounded-partial-BhnecV3P.d.cts} +2 -2
  15. package/dist/ceil.cjs +1 -1
  16. package/dist/ceil.js +1 -1
  17. package/dist/chunk-3DOG24FJ.cjs +1 -0
  18. package/dist/chunk-4BTTPOEU.cjs +1 -0
  19. package/dist/chunk-4Y6KJJOW.js +1 -0
  20. package/dist/chunk-4Y6VRHEP.js +1 -0
  21. package/dist/{chunk-BDBX4ZMW.cjs → chunk-76VE5EC6.cjs} +1 -1
  22. package/dist/{chunk-TNA73S2T.cjs → chunk-7C7R7JNX.cjs} +1 -1
  23. package/dist/{chunk-WONMP5WS.js → chunk-7V7IBWP5.js} +1 -1
  24. package/dist/chunk-ALP5JUXX.cjs +1 -0
  25. package/dist/chunk-BKBHW2XJ.js +1 -0
  26. package/dist/chunk-BSNCALDT.cjs +1 -0
  27. package/dist/{chunk-UGWBDJPI.cjs → chunk-D4TUHKBA.cjs} +1 -1
  28. package/dist/chunk-DXA7AZUA.js +1 -0
  29. package/dist/chunk-EK7ODJWE.js +1 -0
  30. package/dist/chunk-FIO5FNV2.js +1 -0
  31. package/dist/chunk-GRKRFDIL.js +1 -0
  32. package/dist/chunk-HHNHTPVO.cjs +1 -0
  33. package/dist/chunk-I5B54QDJ.cjs +438 -0
  34. package/dist/chunk-JYWIRZ2Z.js +1 -0
  35. package/dist/chunk-MBGSSEZN.cjs +1 -0
  36. package/dist/{chunk-GFXNX2W7.js → chunk-MPWQN3WY.js} +1 -1
  37. package/dist/chunk-NHTBBY2L.js +1 -0
  38. package/dist/chunk-NQUTCPKD.js +1 -0
  39. package/dist/chunk-OKBFQ7B6.js +1 -0
  40. package/dist/chunk-QGF2XNZS.cjs +1 -0
  41. package/dist/chunk-QPMGUF2V.cjs +1 -0
  42. package/dist/chunk-RMOD5JNB.cjs +1 -0
  43. package/dist/{chunk-5NW4GR2Q.cjs → chunk-RTFVY5D4.cjs} +1 -1
  44. package/dist/chunk-RZBBV6PK.js +1 -0
  45. package/dist/chunk-SG2YWG6U.cjs +1 -0
  46. package/dist/chunk-SXNRBENP.cjs +1 -0
  47. package/dist/chunk-TSP3FU72.cjs +1 -0
  48. package/dist/chunk-TWCEO47X.cjs +1 -0
  49. package/dist/{chunk-L4FN2W5Q.cjs → chunk-TXPRX236.cjs} +1 -1
  50. package/dist/{chunk-3K7SNX4D.cjs → chunk-UURK6I3D.cjs} +1 -1
  51. package/dist/chunk-VVGDSDKI.js +438 -0
  52. package/dist/chunk-XCG2UC6T.js +1 -0
  53. package/dist/{chunk-673TXH2U.js → chunk-YRVN4PYH.js} +1 -1
  54. package/dist/chunk-YWIXN5BR.js +1 -0
  55. package/dist/{chunk-EDZFEURO.js → chunk-Z5YZYBC2.js} +1 -1
  56. package/dist/chunk-ZMG3NQDL.js +1 -0
  57. package/dist/chunk.cjs +1 -1
  58. package/dist/chunk.d.cts +9 -32
  59. package/dist/chunk.d.ts +9 -32
  60. package/dist/chunk.js +1 -1
  61. package/dist/clamp.cjs +1 -1
  62. package/dist/clamp.js +1 -1
  63. package/dist/clone.cjs +1 -1
  64. package/dist/clone.js +1 -1
  65. package/dist/concat.cjs +1 -1
  66. package/dist/concat.js +1 -1
  67. package/dist/conditional.cjs +1 -1
  68. package/dist/conditional.d.cts +133 -43
  69. package/dist/conditional.d.ts +133 -43
  70. package/dist/conditional.js +1 -1
  71. package/dist/constant.cjs +1 -1
  72. package/dist/constant.d.cts +1 -1
  73. package/dist/constant.d.ts +1 -1
  74. package/dist/constant.js +1 -1
  75. package/dist/count-by.cjs +1 -1
  76. package/dist/count-by.d.cts +2 -2
  77. package/dist/count-by.d.ts +2 -2
  78. package/dist/count-by.js +1 -1
  79. package/dist/curry.cjs +1 -1
  80. package/dist/curry.js +1 -1
  81. package/dist/debounce.cjs +1 -1
  82. package/dist/debounce.js +1 -1
  83. package/dist/difference-with.cjs +1 -1
  84. package/dist/difference-with.js +1 -1
  85. package/dist/difference.cjs +1 -1
  86. package/dist/difference.js +1 -1
  87. package/dist/divide.cjs +1 -1
  88. package/dist/divide.js +1 -1
  89. package/dist/do-nothing.cjs +1 -1
  90. package/dist/do-nothing.js +1 -1
  91. package/dist/drop-first-by.cjs +1 -1
  92. package/dist/drop-first-by.d.cts +1 -1
  93. package/dist/drop-first-by.d.ts +1 -1
  94. package/dist/drop-first-by.js +1 -1
  95. package/dist/drop-last-while.cjs +1 -1
  96. package/dist/drop-last-while.js +1 -1
  97. package/dist/drop-last.cjs +1 -1
  98. package/dist/drop-last.js +1 -1
  99. package/dist/drop-while.cjs +1 -1
  100. package/dist/drop-while.js +1 -1
  101. package/dist/drop.cjs +1 -1
  102. package/dist/drop.d.cts +2 -1
  103. package/dist/drop.d.ts +2 -1
  104. package/dist/drop.js +1 -1
  105. package/dist/entries.cjs +1 -1
  106. package/dist/entries.d.cts +8 -5
  107. package/dist/entries.d.ts +8 -5
  108. package/dist/entries.js +1 -1
  109. package/dist/{enumerable-string-key-of-BQ4aR5ep.d.ts → enumerable-string-key-of-C4gsorXe.d.ts} +3 -1
  110. package/dist/{enumerable-string-key-of-BQ4aR5ep.d.cts → enumerable-string-key-of-D8w_3Yg8.d.cts} +3 -1
  111. package/dist/enumerable-string-keyed-value-of-BU9R_cEk.d.cts +9 -0
  112. package/dist/enumerable-string-keyed-value-of-BU9R_cEk.d.ts +9 -0
  113. package/dist/evolve.cjs +1 -1
  114. package/dist/evolve.js +1 -1
  115. package/dist/filter.cjs +1 -1
  116. package/dist/filter.d.cts +4 -4
  117. package/dist/filter.d.ts +4 -4
  118. package/dist/filter.js +1 -1
  119. package/dist/{filtered-array-DX6NNaBq.d.cts → filtered-array-BCjySbC6.d.cts} +1 -1
  120. package/dist/{filtered-array-BNHX1Nwj.d.ts → filtered-array-JKATL39M.d.ts} +1 -1
  121. package/dist/find-index.cjs +1 -1
  122. package/dist/find-index.js +1 -1
  123. package/dist/find-last-index.cjs +1 -1
  124. package/dist/find-last-index.js +1 -1
  125. package/dist/find-last.cjs +1 -1
  126. package/dist/find-last.js +1 -1
  127. package/dist/find.cjs +1 -1
  128. package/dist/find.js +1 -1
  129. package/dist/first-by.cjs +1 -1
  130. package/dist/first-by.d.cts +1 -1
  131. package/dist/first-by.d.ts +1 -1
  132. package/dist/first-by.js +1 -1
  133. package/dist/first.cjs +1 -1
  134. package/dist/first.js +1 -1
  135. package/dist/flat-map.cjs +1 -1
  136. package/dist/flat-map.js +1 -1
  137. package/dist/flat.cjs +1 -1
  138. package/dist/flat.d.cts +2 -5
  139. package/dist/flat.d.ts +2 -5
  140. package/dist/flat.js +1 -1
  141. package/dist/floor.cjs +1 -1
  142. package/dist/floor.js +1 -1
  143. package/dist/for-each-obj.cjs +1 -1
  144. package/dist/for-each-obj.d.cts +3 -2
  145. package/dist/for-each-obj.d.ts +3 -2
  146. package/dist/for-each-obj.js +1 -1
  147. package/dist/for-each.cjs +1 -1
  148. package/dist/for-each.js +1 -1
  149. package/dist/from-entries.cjs +1 -1
  150. package/dist/from-entries.d.cts +4 -2
  151. package/dist/from-entries.d.ts +4 -2
  152. package/dist/from-entries.js +1 -1
  153. package/dist/from-keys.cjs +1 -1
  154. package/dist/from-keys.d.cts +2 -2
  155. package/dist/from-keys.d.ts +2 -2
  156. package/dist/from-keys.js +1 -1
  157. package/dist/funnel.cjs +1 -1
  158. package/dist/funnel.d.cts +7 -7
  159. package/dist/funnel.d.ts +7 -7
  160. package/dist/funnel.js +1 -1
  161. package/dist/funnel.lodash-debounce-with-cached-value.test.cjs +1 -1
  162. package/dist/funnel.lodash-debounce-with-cached-value.test.js +1 -1
  163. package/dist/funnel.lodash-debounce.test.cjs +1 -1
  164. package/dist/funnel.lodash-debounce.test.js +1 -1
  165. package/dist/funnel.lodash-throttle-with-cached-value.test.cjs +1 -1
  166. package/dist/funnel.lodash-throttle-with-cached-value.test.js +1 -1
  167. package/dist/funnel.lodash-throttle.test.cjs +1 -1
  168. package/dist/funnel.lodash-throttle.test.js +1 -1
  169. package/dist/funnel.perkakas-debounce.test.cjs +1 -0
  170. package/dist/funnel.perkakas-debounce.test.js +1 -0
  171. package/dist/funnel.reference-batch.test.cjs +1 -1
  172. package/dist/funnel.reference-batch.test.js +1 -1
  173. package/dist/funnel.test-d.cjs +1 -1
  174. package/dist/funnel.test-d.js +1 -1
  175. package/dist/funnel.test.cjs +1 -1
  176. package/dist/funnel.test.js +1 -1
  177. package/dist/group-by-prop.cjs +1 -1
  178. package/dist/group-by-prop.d.cts +6 -5
  179. package/dist/group-by-prop.d.ts +6 -5
  180. package/dist/group-by-prop.js +1 -1
  181. package/dist/group-by.cjs +1 -1
  182. package/dist/group-by.d.cts +2 -2
  183. package/dist/group-by.d.ts +2 -2
  184. package/dist/group-by.js +1 -1
  185. package/dist/has-at-least.cjs +1 -1
  186. package/dist/has-at-least.d.cts +3 -2
  187. package/dist/has-at-least.d.ts +3 -2
  188. package/dist/has-at-least.js +1 -1
  189. package/dist/has-sub-object.cjs +1 -1
  190. package/dist/has-sub-object.js +1 -1
  191. package/dist/human-readable-file-size.cjs +1 -1
  192. package/dist/human-readable-file-size.js +1 -1
  193. package/dist/identity.cjs +1 -1
  194. package/dist/identity.js +1 -1
  195. package/dist/index-by.cjs +1 -1
  196. package/dist/index-by.d.cts +2 -2
  197. package/dist/index-by.d.ts +2 -2
  198. package/dist/index-by.js +1 -1
  199. package/dist/index.cjs +1 -1
  200. package/dist/index.d.cts +12 -10
  201. package/dist/index.d.ts +12 -10
  202. package/dist/index.js +1 -1
  203. package/dist/intersection-with.cjs +1 -1
  204. package/dist/intersection-with.js +1 -1
  205. package/dist/intersection.cjs +1 -1
  206. package/dist/intersection.js +1 -1
  207. package/dist/invert.cjs +1 -1
  208. package/dist/invert.d.cts +2 -1
  209. package/dist/invert.d.ts +2 -1
  210. package/dist/invert.js +1 -1
  211. package/dist/is-array.cjs +1 -1
  212. package/dist/is-array.js +1 -1
  213. package/dist/is-big-int.cjs +1 -1
  214. package/dist/is-big-int.js +1 -1
  215. package/dist/is-boolean.cjs +1 -1
  216. package/dist/is-boolean.js +1 -1
  217. package/dist/is-bounded-record-C9WAwfA8.d.cts +30 -0
  218. package/dist/is-bounded-record-C9WAwfA8.d.ts +30 -0
  219. package/dist/is-date.cjs +1 -1
  220. package/dist/is-date.js +1 -1
  221. package/dist/is-deep-equal.cjs +1 -1
  222. package/dist/is-deep-equal.js +1 -1
  223. package/dist/is-defined.cjs +1 -1
  224. package/dist/is-defined.js +1 -1
  225. package/dist/is-empty.cjs +1 -1
  226. package/dist/is-empty.js +1 -1
  227. package/dist/is-error.cjs +1 -1
  228. package/dist/is-error.js +1 -1
  229. package/dist/is-function.cjs +1 -1
  230. package/dist/is-function.js +1 -1
  231. package/dist/is-included-in.cjs +1 -1
  232. package/dist/is-included-in.js +1 -1
  233. package/dist/is-non-null.cjs +1 -1
  234. package/dist/is-non-null.js +1 -1
  235. package/dist/is-non-nullish.cjs +1 -1
  236. package/dist/is-non-nullish.js +1 -1
  237. package/dist/is-not.cjs +1 -1
  238. package/dist/is-not.js +1 -1
  239. package/dist/is-nullish.cjs +1 -1
  240. package/dist/is-nullish.js +1 -1
  241. package/dist/is-number.cjs +1 -1
  242. package/dist/is-number.js +1 -1
  243. package/dist/is-object-type.cjs +1 -1
  244. package/dist/is-object-type.js +1 -1
  245. package/dist/is-plain-object.cjs +1 -1
  246. package/dist/is-plain-object.js +1 -1
  247. package/dist/is-promise.cjs +1 -1
  248. package/dist/is-promise.js +1 -1
  249. package/dist/is-shallow-equal.cjs +1 -1
  250. package/dist/is-shallow-equal.js +1 -1
  251. package/dist/is-strict-equal.cjs +1 -1
  252. package/dist/is-strict-equal.js +1 -1
  253. package/dist/is-string.cjs +1 -1
  254. package/dist/is-string.js +1 -1
  255. package/dist/is-symbol.cjs +1 -1
  256. package/dist/is-symbol.js +1 -1
  257. package/dist/is-truthy.cjs +1 -1
  258. package/dist/is-truthy.js +1 -1
  259. package/dist/join.cjs +1 -1
  260. package/dist/join.js +1 -1
  261. package/dist/key-codes.cjs +1 -1
  262. package/dist/key-codes.js +1 -1
  263. package/dist/keys.cjs +1 -1
  264. package/dist/keys.d.cts +4 -3
  265. package/dist/keys.d.ts +4 -3
  266. package/dist/keys.js +1 -1
  267. package/dist/last.cjs +1 -1
  268. package/dist/last.js +1 -1
  269. package/dist/length.cjs +1 -1
  270. package/dist/length.js +1 -1
  271. package/dist/magic-string.es-2ADFIHOO.cjs +13 -0
  272. package/dist/magic-string.es-PNCTE22R.js +13 -0
  273. package/dist/map-keys.cjs +1 -1
  274. package/dist/map-keys.d.cts +5 -4
  275. package/dist/map-keys.d.ts +5 -4
  276. package/dist/map-keys.js +1 -1
  277. package/dist/map-to-obj.cjs +1 -1
  278. package/dist/map-to-obj.d.cts +30 -12
  279. package/dist/map-to-obj.d.ts +30 -12
  280. package/dist/map-to-obj.js +1 -1
  281. package/dist/map-values.cjs +1 -1
  282. package/dist/map-values.d.cts +4 -3
  283. package/dist/map-values.d.ts +4 -3
  284. package/dist/map-values.js +1 -1
  285. package/dist/map-with-feedback.cjs +1 -1
  286. package/dist/map-with-feedback.js +1 -1
  287. package/dist/map.cjs +1 -1
  288. package/dist/map.js +1 -1
  289. package/dist/mean-by.cjs +1 -1
  290. package/dist/mean-by.js +1 -1
  291. package/dist/merge-all.cjs +1 -1
  292. package/dist/merge-all.d.cts +2 -1
  293. package/dist/merge-all.d.ts +2 -1
  294. package/dist/merge-all.js +1 -1
  295. package/dist/merge-deep.cjs +1 -1
  296. package/dist/merge-deep.js +1 -1
  297. package/dist/merge.cjs +1 -1
  298. package/dist/merge.js +1 -1
  299. package/dist/multiply.cjs +1 -1
  300. package/dist/multiply.js +1 -1
  301. package/dist/n-tuple-5jljrt4c.d.cts +10 -0
  302. package/dist/n-tuple-5jljrt4c.d.ts +10 -0
  303. package/dist/nth-by.cjs +1 -1
  304. package/dist/nth-by.d.cts +1 -1
  305. package/dist/nth-by.d.ts +1 -1
  306. package/dist/nth-by.js +1 -1
  307. package/dist/obj-of.cjs +1 -1
  308. package/dist/obj-of.js +1 -1
  309. package/dist/omit-by.cjs +1 -1
  310. package/dist/omit-by.d.cts +6 -6
  311. package/dist/omit-by.d.ts +6 -6
  312. package/dist/omit-by.js +1 -1
  313. package/dist/omit.cjs +1 -1
  314. package/dist/omit.js +1 -1
  315. package/dist/once.cjs +1 -1
  316. package/dist/once.js +1 -1
  317. package/dist/only.cjs +1 -1
  318. package/dist/only.js +1 -1
  319. package/dist/partition.cjs +1 -1
  320. package/dist/partition.js +1 -1
  321. package/dist/path-or.cjs +1 -1
  322. package/dist/path-or.d.cts +10 -0
  323. package/dist/path-or.d.ts +10 -0
  324. package/dist/path-or.js +1 -1
  325. package/dist/perkakas-type-error-8wPb8T2y.d.cts +17 -0
  326. package/dist/perkakas-type-error-8wPb8T2y.d.ts +17 -0
  327. package/dist/pick-by.cjs +1 -1
  328. package/dist/pick-by.d.cts +10 -11
  329. package/dist/pick-by.d.ts +10 -11
  330. package/dist/pick-by.js +1 -1
  331. package/dist/pick.cjs +1 -1
  332. package/dist/pick.d.cts +51 -7
  333. package/dist/pick.d.ts +51 -7
  334. package/dist/pick.js +1 -1
  335. package/dist/pipe.cjs +1 -1
  336. package/dist/pipe.js +1 -1
  337. package/dist/piped.cjs +1 -1
  338. package/dist/piped.js +1 -1
  339. package/dist/product.cjs +1 -1
  340. package/dist/product.js +1 -1
  341. package/dist/prop.cjs +1 -1
  342. package/dist/prop.d.cts +118 -13
  343. package/dist/prop.d.ts +118 -13
  344. package/dist/prop.js +1 -1
  345. package/dist/pull-object.cjs +1 -1
  346. package/dist/pull-object.d.cts +2 -2
  347. package/dist/pull-object.d.ts +2 -2
  348. package/dist/pull-object.js +1 -1
  349. package/dist/random-integer.cjs +1 -1
  350. package/dist/random-integer.js +1 -1
  351. package/dist/random-string.cjs +1 -1
  352. package/dist/random-string.js +1 -1
  353. package/dist/range.cjs +1 -1
  354. package/dist/range.js +1 -1
  355. package/dist/rank-by.cjs +1 -1
  356. package/dist/rank-by.d.cts +1 -1
  357. package/dist/rank-by.d.ts +1 -1
  358. package/dist/rank-by.js +1 -1
  359. package/dist/reduce.cjs +1 -1
  360. package/dist/reduce.js +1 -1
  361. package/dist/reverse.cjs +1 -1
  362. package/dist/reverse.js +1 -1
  363. package/dist/round.cjs +1 -1
  364. package/dist/round.js +1 -1
  365. package/dist/sample.cjs +1 -1
  366. package/dist/sample.d.cts +32 -8
  367. package/dist/sample.d.ts +32 -8
  368. package/dist/sample.js +1 -1
  369. package/dist/set-path.cjs +1 -1
  370. package/dist/set-path.d.cts +18 -7
  371. package/dist/set-path.d.ts +18 -7
  372. package/dist/set-path.js +1 -1
  373. package/dist/set.cjs +1 -1
  374. package/dist/set.d.cts +1 -1
  375. package/dist/set.d.ts +1 -1
  376. package/dist/set.js +1 -1
  377. package/dist/shuffle.cjs +1 -1
  378. package/dist/shuffle.js +1 -1
  379. package/dist/sleep.cjs +1 -1
  380. package/dist/sleep.js +1 -1
  381. package/dist/slice-string.cjs +1 -1
  382. package/dist/slice-string.js +1 -1
  383. package/dist/slugify.cjs +1 -1
  384. package/dist/slugify.js +1 -1
  385. package/dist/sort-by.cjs +1 -1
  386. package/dist/sort-by.js +1 -1
  387. package/dist/sort.cjs +1 -1
  388. package/dist/sort.js +1 -1
  389. package/dist/sorted-index-by.cjs +1 -1
  390. package/dist/sorted-index-by.js +1 -1
  391. package/dist/sorted-index-with.cjs +1 -1
  392. package/dist/sorted-index-with.js +1 -1
  393. package/dist/sorted-index.cjs +1 -1
  394. package/dist/sorted-index.js +1 -1
  395. package/dist/sorted-last-index-by.cjs +1 -1
  396. package/dist/sorted-last-index-by.js +1 -1
  397. package/dist/sorted-last-index.cjs +1 -1
  398. package/dist/sorted-last-index.js +1 -1
  399. package/dist/splice.cjs +1 -1
  400. package/dist/splice.js +1 -1
  401. package/dist/split-at.cjs +1 -1
  402. package/dist/split-at.js +1 -1
  403. package/dist/split-when.cjs +1 -1
  404. package/dist/split-when.js +1 -1
  405. package/dist/split.cjs +1 -1
  406. package/dist/split.js +1 -1
  407. package/dist/string-to-path.cjs +1 -1
  408. package/dist/string-to-path.d.cts +32 -11
  409. package/dist/string-to-path.d.ts +32 -11
  410. package/dist/string-to-path.js +1 -1
  411. package/dist/subtract.cjs +1 -1
  412. package/dist/subtract.js +1 -1
  413. package/dist/sum-by.cjs +1 -1
  414. package/dist/sum-by.js +1 -1
  415. package/dist/sum.cjs +1 -1
  416. package/dist/sum.js +1 -1
  417. package/dist/swap-indices.cjs +1 -1
  418. package/dist/swap-indices.js +1 -1
  419. package/dist/swap-props.cjs +1 -1
  420. package/dist/swap-props.js +1 -1
  421. package/dist/take-first-by.cjs +1 -1
  422. package/dist/take-first-by.d.cts +1 -1
  423. package/dist/take-first-by.d.ts +1 -1
  424. package/dist/take-first-by.js +1 -1
  425. package/dist/take-last-while.cjs +1 -1
  426. package/dist/take-last-while.js +1 -1
  427. package/dist/take-last.cjs +1 -1
  428. package/dist/take-last.js +1 -1
  429. package/dist/take-while.cjs +1 -1
  430. package/dist/take-while.js +1 -1
  431. package/dist/take.cjs +1 -1
  432. package/dist/take.js +1 -1
  433. package/dist/tap.cjs +1 -1
  434. package/dist/tap.js +1 -1
  435. package/dist/times.cjs +1 -1
  436. package/dist/times.d.cts +1 -9
  437. package/dist/times.d.ts +1 -9
  438. package/dist/times.js +1 -1
  439. package/dist/to-camel-case.cjs +1 -1
  440. package/dist/to-camel-case.js +1 -1
  441. package/dist/to-capital-case.cjs +1 -1
  442. package/dist/to-capital-case.js +1 -1
  443. package/dist/to-constant-case.cjs +1 -1
  444. package/dist/to-constant-case.js +1 -1
  445. package/dist/to-kebab-case.cjs +1 -1
  446. package/dist/to-kebab-case.js +1 -1
  447. package/dist/to-no-case.cjs +1 -1
  448. package/dist/to-no-case.js +1 -1
  449. package/dist/to-pascal-case.cjs +1 -1
  450. package/dist/to-pascal-case.js +1 -1
  451. package/dist/to-pascal-snake-case.cjs +1 -1
  452. package/dist/to-pascal-snake-case.js +1 -1
  453. package/dist/to-sentence-case.cjs +1 -1
  454. package/dist/to-sentence-case.js +1 -1
  455. package/dist/to-snake-case.cjs +1 -1
  456. package/dist/to-snake-case.js +1 -1
  457. package/dist/to-string-DO8zw6jS.d.cts +11 -0
  458. package/dist/to-string-DO8zw6jS.d.ts +11 -0
  459. package/dist/to-train-case.cjs +1 -1
  460. package/dist/to-train-case.js +1 -1
  461. package/dist/{tuple-parts-CrwnkDKX.d.ts → tuple-parts-BTivqbtT.d.ts} +4 -18
  462. package/dist/{tuple-parts-DAqFAJP8.d.cts → tuple-parts-v6av7LMU.d.cts} +4 -18
  463. package/dist/unique-by.cjs +1 -1
  464. package/dist/unique-by.js +1 -1
  465. package/dist/unique-with.cjs +1 -1
  466. package/dist/unique-with.js +1 -1
  467. package/dist/unique.cjs +1 -1
  468. package/dist/unique.js +1 -1
  469. package/dist/{upsert-prop-tIHFi_F_.d.cts → upsert-prop-Cc3jEW9l.d.cts} +1 -2
  470. package/dist/{upsert-prop-D0N8486l.d.ts → upsert-prop-CdUtD50i.d.ts} +1 -2
  471. package/dist/values.cjs +1 -1
  472. package/dist/values.d.cts +1 -1
  473. package/dist/values.d.ts +1 -1
  474. package/dist/values.js +1 -1
  475. package/dist/zip-with.cjs +1 -1
  476. package/dist/zip-with.js +1 -1
  477. package/dist/zip.cjs +1 -1
  478. package/dist/zip.js +1 -1
  479. package/package.json +12 -12
  480. package/dist/chunk-2MHE6M7V.cjs +0 -1
  481. package/dist/chunk-5SAUYUEK.js +0 -1
  482. package/dist/chunk-6HSB3NFW.js +0 -1
  483. package/dist/chunk-6L5XEBJG.js +0 -1
  484. package/dist/chunk-A2PAJNYA.js +0 -1
  485. package/dist/chunk-AWXJSK4F.js +0 -1
  486. package/dist/chunk-CZLV6ZLZ.js +0 -1
  487. package/dist/chunk-F3JXHUP4.cjs +0 -1
  488. package/dist/chunk-FMUPPQZE.js +0 -1
  489. package/dist/chunk-FP3LV577.js +0 -1
  490. package/dist/chunk-GFQXVPLP.cjs +0 -1
  491. package/dist/chunk-GOUUMCT7.cjs +0 -1
  492. package/dist/chunk-HRK4GMT2.cjs +0 -1
  493. package/dist/chunk-ICYGL2YZ.js +0 -1
  494. package/dist/chunk-J3ZXNDMT.cjs +0 -1
  495. package/dist/chunk-MBC7VZHY.js +0 -1
  496. package/dist/chunk-NEIICTWC.js +0 -1
  497. package/dist/chunk-NQGMUM3E.cjs +0 -1
  498. package/dist/chunk-OBWPUDD3.cjs +0 -1
  499. package/dist/chunk-SOPOELNU.cjs +0 -1
  500. package/dist/chunk-SQZULO7V.js +0 -1
  501. package/dist/chunk-UDSRBKNR.js +0 -1
  502. package/dist/chunk-VRZNQSZN.cjs +0 -1
  503. package/dist/chunk-WYM2JV5T.cjs +0 -1
  504. package/dist/chunk-XEAAXO7F.js +0 -1
  505. package/dist/chunk-XU4TDKMD.cjs +0 -1
  506. package/dist/enumerable-string-keyed-value-of-CLzltniW.d.cts +0 -15
  507. package/dist/enumerable-string-keyed-value-of-CLzltniW.d.ts +0 -15
  508. package/dist/funnel.remeda-debounce.test.cjs +0 -1
  509. package/dist/funnel.remeda-debounce.test.js +0 -1
  510. package/dist/if-bounded-record-Drd4UbBU.d.cts +0 -29
  511. package/dist/if-bounded-record-Drd4UbBU.d.ts +0 -29
  512. package/dist/reconstructed-record-DchLaSO8.d.cts +0 -10
  513. package/dist/reconstructed-record-DuxOLlMs.d.ts +0 -10
  514. /package/dist/{funnel.remeda-debounce.test.d.cts → funnel.perkakas-debounce.test.d.cts} +0 -0
  515. /package/dist/{funnel.remeda-debounce.test.d.ts → funnel.perkakas-debounce.test.d.ts} +0 -0
@@ -1 +1 @@
1
- "use strict";var _chunkHC3HZK4Qcjs = require('./chunk-HC3HZK4Q.cjs');var _chunkGOUUMCT7cjs = require('./chunk-GOUUMCT7.cjs');function l(e,t=0,{leading:o=!0,trailing:s=!0}={}){let{call:i,isIdle:u,...r}=_chunkGOUUMCT7cjs.a.call(void 0, c=>{!o&&!s||e(...c)},{reducer:(c,...h)=>h,minQuietPeriodMs:t,maxBurstDurationMs:t,...s?o?{triggerAt:"both"}:{triggerAt:"end"}:{triggerAt:"start"}});return Object.assign(i,r)}var a=16;describe("https://github.com/lodash/lodash/blob/4.17.21/test/test.js#L22768",()=>{it("should throttle a function",async()=>{let e=vi.fn(),t=l(e,a);t(),t(),t();let o=e.mock.calls.length;expect(o).toBeGreaterThan(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*a),expect(e.mock.calls.length).toBeGreaterThan(o)}),it("should clear timeout when `func` is called",async()=>{let e=vi.fn(),t=l(e,a);t(),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*a),t(),expect(e).toHaveBeenCalledTimes(2)}),it("should not trigger a trailing call when invoked once",async()=>{let e=vi.fn();l(e,a)(),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*a),expect(e).toHaveBeenCalledTimes(1)}),it("should trigger a call when invoked repeatedly",()=>{let e=vi.fn(),t=l(e,a),o=Date.now()+10*a;for(;Date.now()<o;)t();expect(e).toHaveBeenCalledWith()}),it("should trigger a call when invoked repeatedly and `leading` is `false`",async()=>{let e=vi.fn(),t=l(e,a,{leading:!1}),o=Date.now()+10*a;for(;Date.now()<o;)t();await _chunkHC3HZK4Qcjs.a.call(void 0, 0),expect(e).toHaveBeenCalledWith()}),it("should trigger a second throttled call as soon as possible",async()=>{let e=vi.fn(),t=l(e,4*a,{leading:!1});t(),await _chunkHC3HZK4Qcjs.a.call(void 0, 6*a),expect(e).toHaveBeenCalledTimes(1),t(),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*a),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 4*a),expect(e).toHaveBeenCalledTimes(2)}),it("should apply default options",async()=>{let e=vi.fn(),t=l(e,a,{});t(),t(),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 4*a),expect(e).toHaveBeenCalledTimes(2)}),it("should support a `leading` option",()=>{let e=vi.fn(),t=vi.fn(),o=l(e,a,{leading:!0}),s=l(t,a,{leading:!1});o(),s(),expect(e).toHaveBeenCalledTimes(1),expect(t).toHaveBeenCalledTimes(0)}),it("should support a `trailing` option",async()=>{let e=vi.fn(),t=vi.fn(),o=l(e,2*a,{trailing:!0}),s=l(t,2*a,{trailing:!1});o("a"),o("b"),s("a"),s("b"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenCalledWith("a"),expect(t).toHaveBeenCalledTimes(1),expect(t).toHaveBeenCalledWith("a"),await _chunkHC3HZK4Qcjs.a.call(void 0, 8*a),expect(e).toHaveBeenCalledTimes(2),expect(t).toHaveBeenCalledTimes(1)}),it("should not update `lastCalled`, at the end of the timeout, when `trailing` is `false`",async()=>{let e=vi.fn(),t=l(e,64,{trailing:!1});t(),t(),await _chunkHC3HZK4Qcjs.a.call(void 0, 3*a),t(),t(),await _chunkHC3HZK4Qcjs.a.call(void 0, 3*a),expect(e).toHaveBeenCalledWith()})});describe("https://github.com/lodash/lodash/blob/4.17.21/test/test.js#L23038",()=>{it("should use a default `wait` of `0`",async()=>{let e=vi.fn(),t=l(e);t(),await _chunkHC3HZK4Qcjs.a.call(void 0, a),t(),expect(e).toHaveBeenCalledTimes(2)}),it("supports recursive calls",async()=>{let e=[],t=["a","b","c"],o=l(s=>{e.push(s);let i=t.shift();i!==void 0&&o(i)},a);o(t.shift()),expect(e).toStrictEqual(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 8*a),expect(e).toStrictEqual(["a","b","c"])}),it("should support cancelling delayed calls",async()=>{let e=vi.fn(),t=l(e,a,{leading:!1});t(),t.cancel(),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*a),expect(e).toHaveBeenCalledTimes(0)}),it("should reset `lastCalled` after cancelling",async()=>{let e=vi.fn(),t=l(e,a,{leading:!0});t(),expect(e).toHaveBeenCalledTimes(1),t.cancel(),t(),expect(e).toHaveBeenCalledTimes(2),t(),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*a),expect(e).toHaveBeenCalledTimes(3)}),it("should support flushing delayed calls",async()=>{let e=vi.fn(),t=l(e,a,{leading:!1});t(),t.flush(),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*a),expect(e).toHaveBeenCalledTimes(1)}),it("should noop `cancel` and `flush` when nothing is queued",async()=>{let e=vi.fn(),t=l(e,a);t.cancel(),t.flush(),expect(e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*a),expect(e).toHaveBeenCalledTimes(0)})});describe("not tested by Lodash",()=>{it("should do nothing when `leading` and `trailing` are both `disabled`",async()=>{let e=vi.fn(),t=l(e,a,{leading:!1,trailing:!1});t(),t(),t(),expect(e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*a),expect(e).toHaveBeenCalledTimes(0)})});
1
+ "use strict";var _chunkHC3HZK4Qcjs = require('./chunk-HC3HZK4Q.cjs');var _chunkI5B54QDJcjs = require('./chunk-I5B54QDJ.cjs');var _chunkRMOD5JNBcjs = require('./chunk-RMOD5JNB.cjs');require('./chunk-MBGSSEZN.cjs');function s(e,t=0,{leading:d=!0,trailing:c=!0}={}){let{call:r,isIdle:f,...v}=_chunkRMOD5JNBcjs.a.call(void 0, u=>{!d&&!c||e(...u)},{reducer:(u,...g)=>g,minQuietPeriodMs:t,maxBurstDurationMs:t,...c?d?{triggerAt:"both"}:{triggerAt:"end"}:{triggerAt:"start"}});return Object.assign(r,v)}var o=16;_chunkI5B54QDJcjs.a.call(void 0, "https://github.com/lodash/lodash/blob/4.17.21/test/test.js#L22768",()=>{_chunkI5B54QDJcjs.b.call(void 0, "should throttle a function",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),t=s(e,o);t(),t(),t();let d=e.mock.calls.length;_chunkI5B54QDJcjs.c.call(void 0, d).toBeGreaterThan(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*o),_chunkI5B54QDJcjs.c.call(void 0, e.mock.calls.length).toBeGreaterThan(d)}),_chunkI5B54QDJcjs.b.call(void 0, "should clear timeout when `func` is called",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),t=s(e,o);t(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*o),t(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2)}),_chunkI5B54QDJcjs.b.call(void 0, "should not trigger a trailing call when invoked once",async()=>{let e=_chunkI5B54QDJcjs.d.fn();s(e,o)(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*o),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1)}),_chunkI5B54QDJcjs.b.call(void 0, "should trigger a call when invoked repeatedly",()=>{let e=_chunkI5B54QDJcjs.d.fn(),t=s(e,o),d=Date.now()+10*o;for(;Date.now()<d;)t();_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledWith()}),_chunkI5B54QDJcjs.b.call(void 0, "should trigger a call when invoked repeatedly and `leading` is `false`",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),t=s(e,o,{leading:!1}),d=Date.now()+10*o;for(;Date.now()<d;)t();await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledWith()}),_chunkI5B54QDJcjs.b.call(void 0, "should trigger a second throttled call as soon as possible",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),t=s(e,4*o,{leading:!1});t(),await _chunkHC3HZK4Qcjs.a.call(void 0, 6*o),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),t(),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*o),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 4*o),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2)}),_chunkI5B54QDJcjs.b.call(void 0, "should apply default options",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),t=s(e,o,{});t(),t(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 4*o),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2)}),_chunkI5B54QDJcjs.b.call(void 0, "should support a `leading` option",()=>{let e=_chunkI5B54QDJcjs.d.fn(),t=_chunkI5B54QDJcjs.d.fn(),d=s(e,o,{leading:!0}),c=s(t,o,{leading:!1});d(),c(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, t).toHaveBeenCalledTimes(0)}),_chunkI5B54QDJcjs.b.call(void 0, "should support a `trailing` option",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),t=_chunkI5B54QDJcjs.d.fn(),d=s(e,2*o,{trailing:!0}),c=s(t,2*o,{trailing:!1});d("a"),d("b"),c("a"),c("b"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledWith("a"),_chunkI5B54QDJcjs.c.call(void 0, t).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, t).toHaveBeenCalledWith("a"),await _chunkHC3HZK4Qcjs.a.call(void 0, 8*o),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkI5B54QDJcjs.c.call(void 0, t).toHaveBeenCalledTimes(1)}),_chunkI5B54QDJcjs.b.call(void 0, "should not update `lastCalled`, at the end of the timeout, when `trailing` is `false`",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),t=s(e,64,{trailing:!1});t(),t(),await _chunkHC3HZK4Qcjs.a.call(void 0, 3*o),t(),t(),await _chunkHC3HZK4Qcjs.a.call(void 0, 3*o),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledWith()})});_chunkI5B54QDJcjs.a.call(void 0, "https://github.com/lodash/lodash/blob/4.17.21/test/test.js#L23038",()=>{_chunkI5B54QDJcjs.b.call(void 0, "should use a default `wait` of `0`",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),t=s(e);t(),await _chunkHC3HZK4Qcjs.a.call(void 0, o),t(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2)}),_chunkI5B54QDJcjs.b.call(void 0, "supports recursive calls",async()=>{let e=[],t=["a","b","c"],d=s(c=>{e.push(c);let r=t.shift();r!==void 0&&d(r)},o);d(t.shift()),_chunkI5B54QDJcjs.c.call(void 0, e).toStrictEqual(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 8*o),_chunkI5B54QDJcjs.c.call(void 0, e).toStrictEqual(["a","b","c"])}),_chunkI5B54QDJcjs.b.call(void 0, "should support cancelling delayed calls",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),t=s(e,o,{leading:!1});t(),t.cancel(),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*o),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0)}),_chunkI5B54QDJcjs.b.call(void 0, "should reset `lastCalled` after cancelling",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),t=s(e,o,{leading:!0});t(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),t.cancel(),t(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),t(),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*o),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(3)}),_chunkI5B54QDJcjs.b.call(void 0, "should support flushing delayed calls",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),t=s(e,o,{leading:!1});t(),t.flush(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*o),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1)}),_chunkI5B54QDJcjs.b.call(void 0, "should noop `cancel` and `flush` when nothing is queued",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),t=s(e,o);t.cancel(),t.flush(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*o),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0)})});_chunkI5B54QDJcjs.a.call(void 0, "not tested by Lodash",()=>{_chunkI5B54QDJcjs.b.call(void 0, "should do nothing when `leading` and `trailing` are both `disabled`",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),t=s(e,o,{leading:!1,trailing:!1});t(),t(),t(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*o),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0)})});
@@ -1 +1 @@
1
- import{a as n}from"./chunk-6SYP2DRD.js";import{a as d}from"./chunk-AWXJSK4F.js";function l(e,t=0,{leading:o=!0,trailing:s=!0}={}){let{call:i,isIdle:u,...r}=d(c=>{!o&&!s||e(...c)},{reducer:(c,...h)=>h,minQuietPeriodMs:t,maxBurstDurationMs:t,...s?o?{triggerAt:"both"}:{triggerAt:"end"}:{triggerAt:"start"}});return Object.assign(i,r)}var a=16;describe("https://github.com/lodash/lodash/blob/4.17.21/test/test.js#L22768",()=>{it("should throttle a function",async()=>{let e=vi.fn(),t=l(e,a);t(),t(),t();let o=e.mock.calls.length;expect(o).toBeGreaterThan(0),await n(2*a),expect(e.mock.calls.length).toBeGreaterThan(o)}),it("should clear timeout when `func` is called",async()=>{let e=vi.fn(),t=l(e,a);t(),expect(e).toHaveBeenCalledTimes(1),await n(2*a),t(),expect(e).toHaveBeenCalledTimes(2)}),it("should not trigger a trailing call when invoked once",async()=>{let e=vi.fn();l(e,a)(),expect(e).toHaveBeenCalledTimes(1),await n(2*a),expect(e).toHaveBeenCalledTimes(1)}),it("should trigger a call when invoked repeatedly",()=>{let e=vi.fn(),t=l(e,a),o=Date.now()+10*a;for(;Date.now()<o;)t();expect(e).toHaveBeenCalledWith()}),it("should trigger a call when invoked repeatedly and `leading` is `false`",async()=>{let e=vi.fn(),t=l(e,a,{leading:!1}),o=Date.now()+10*a;for(;Date.now()<o;)t();await n(0),expect(e).toHaveBeenCalledWith()}),it("should trigger a second throttled call as soon as possible",async()=>{let e=vi.fn(),t=l(e,4*a,{leading:!1});t(),await n(6*a),expect(e).toHaveBeenCalledTimes(1),t(),await n(2*a),expect(e).toHaveBeenCalledTimes(1),await n(4*a),expect(e).toHaveBeenCalledTimes(2)}),it("should apply default options",async()=>{let e=vi.fn(),t=l(e,a,{});t(),t(),expect(e).toHaveBeenCalledTimes(1),await n(4*a),expect(e).toHaveBeenCalledTimes(2)}),it("should support a `leading` option",()=>{let e=vi.fn(),t=vi.fn(),o=l(e,a,{leading:!0}),s=l(t,a,{leading:!1});o(),s(),expect(e).toHaveBeenCalledTimes(1),expect(t).toHaveBeenCalledTimes(0)}),it("should support a `trailing` option",async()=>{let e=vi.fn(),t=vi.fn(),o=l(e,2*a,{trailing:!0}),s=l(t,2*a,{trailing:!1});o("a"),o("b"),s("a"),s("b"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenCalledWith("a"),expect(t).toHaveBeenCalledTimes(1),expect(t).toHaveBeenCalledWith("a"),await n(8*a),expect(e).toHaveBeenCalledTimes(2),expect(t).toHaveBeenCalledTimes(1)}),it("should not update `lastCalled`, at the end of the timeout, when `trailing` is `false`",async()=>{let e=vi.fn(),t=l(e,64,{trailing:!1});t(),t(),await n(3*a),t(),t(),await n(3*a),expect(e).toHaveBeenCalledWith()})});describe("https://github.com/lodash/lodash/blob/4.17.21/test/test.js#L23038",()=>{it("should use a default `wait` of `0`",async()=>{let e=vi.fn(),t=l(e);t(),await n(a),t(),expect(e).toHaveBeenCalledTimes(2)}),it("supports recursive calls",async()=>{let e=[],t=["a","b","c"],o=l(s=>{e.push(s);let i=t.shift();i!==void 0&&o(i)},a);o(t.shift()),expect(e).toStrictEqual(["a"]),await n(8*a),expect(e).toStrictEqual(["a","b","c"])}),it("should support cancelling delayed calls",async()=>{let e=vi.fn(),t=l(e,a,{leading:!1});t(),t.cancel(),await n(2*a),expect(e).toHaveBeenCalledTimes(0)}),it("should reset `lastCalled` after cancelling",async()=>{let e=vi.fn(),t=l(e,a,{leading:!0});t(),expect(e).toHaveBeenCalledTimes(1),t.cancel(),t(),expect(e).toHaveBeenCalledTimes(2),t(),await n(2*a),expect(e).toHaveBeenCalledTimes(3)}),it("should support flushing delayed calls",async()=>{let e=vi.fn(),t=l(e,a,{leading:!1});t(),t.flush(),expect(e).toHaveBeenCalledTimes(1),await n(2*a),expect(e).toHaveBeenCalledTimes(1)}),it("should noop `cancel` and `flush` when nothing is queued",async()=>{let e=vi.fn(),t=l(e,a);t.cancel(),t.flush(),expect(e).toHaveBeenCalledTimes(0),await n(2*a),expect(e).toHaveBeenCalledTimes(0)})});describe("not tested by Lodash",()=>{it("should do nothing when `leading` and `trailing` are both `disabled`",async()=>{let e=vi.fn(),t=l(e,a,{leading:!1,trailing:!1});t(),t(),t(),expect(e).toHaveBeenCalledTimes(0),await n(2*a),expect(e).toHaveBeenCalledTimes(0)})});
1
+ import{a as l}from"./chunk-6SYP2DRD.js";import{a as h,b as i,c as a,d as n}from"./chunk-VVGDSDKI.js";import{a as m}from"./chunk-YWIXN5BR.js";import"./chunk-EK7ODJWE.js";function s(e,t=0,{leading:d=!0,trailing:c=!0}={}){let{call:r,isIdle:f,...v}=m(u=>{!d&&!c||e(...u)},{reducer:(u,...g)=>g,minQuietPeriodMs:t,maxBurstDurationMs:t,...c?d?{triggerAt:"both"}:{triggerAt:"end"}:{triggerAt:"start"}});return Object.assign(r,v)}var o=16;h("https://github.com/lodash/lodash/blob/4.17.21/test/test.js#L22768",()=>{i("should throttle a function",async()=>{let e=n.fn(),t=s(e,o);t(),t(),t();let d=e.mock.calls.length;a(d).toBeGreaterThan(0),await l(2*o),a(e.mock.calls.length).toBeGreaterThan(d)}),i("should clear timeout when `func` is called",async()=>{let e=n.fn(),t=s(e,o);t(),a(e).toHaveBeenCalledTimes(1),await l(2*o),t(),a(e).toHaveBeenCalledTimes(2)}),i("should not trigger a trailing call when invoked once",async()=>{let e=n.fn();s(e,o)(),a(e).toHaveBeenCalledTimes(1),await l(2*o),a(e).toHaveBeenCalledTimes(1)}),i("should trigger a call when invoked repeatedly",()=>{let e=n.fn(),t=s(e,o),d=Date.now()+10*o;for(;Date.now()<d;)t();a(e).toHaveBeenCalledWith()}),i("should trigger a call when invoked repeatedly and `leading` is `false`",async()=>{let e=n.fn(),t=s(e,o,{leading:!1}),d=Date.now()+10*o;for(;Date.now()<d;)t();await l(0),a(e).toHaveBeenCalledWith()}),i("should trigger a second throttled call as soon as possible",async()=>{let e=n.fn(),t=s(e,4*o,{leading:!1});t(),await l(6*o),a(e).toHaveBeenCalledTimes(1),t(),await l(2*o),a(e).toHaveBeenCalledTimes(1),await l(4*o),a(e).toHaveBeenCalledTimes(2)}),i("should apply default options",async()=>{let e=n.fn(),t=s(e,o,{});t(),t(),a(e).toHaveBeenCalledTimes(1),await l(4*o),a(e).toHaveBeenCalledTimes(2)}),i("should support a `leading` option",()=>{let e=n.fn(),t=n.fn(),d=s(e,o,{leading:!0}),c=s(t,o,{leading:!1});d(),c(),a(e).toHaveBeenCalledTimes(1),a(t).toHaveBeenCalledTimes(0)}),i("should support a `trailing` option",async()=>{let e=n.fn(),t=n.fn(),d=s(e,2*o,{trailing:!0}),c=s(t,2*o,{trailing:!1});d("a"),d("b"),c("a"),c("b"),a(e).toHaveBeenCalledTimes(1),a(e).toHaveBeenCalledWith("a"),a(t).toHaveBeenCalledTimes(1),a(t).toHaveBeenCalledWith("a"),await l(8*o),a(e).toHaveBeenCalledTimes(2),a(t).toHaveBeenCalledTimes(1)}),i("should not update `lastCalled`, at the end of the timeout, when `trailing` is `false`",async()=>{let e=n.fn(),t=s(e,64,{trailing:!1});t(),t(),await l(3*o),t(),t(),await l(3*o),a(e).toHaveBeenCalledWith()})});h("https://github.com/lodash/lodash/blob/4.17.21/test/test.js#L23038",()=>{i("should use a default `wait` of `0`",async()=>{let e=n.fn(),t=s(e);t(),await l(o),t(),a(e).toHaveBeenCalledTimes(2)}),i("supports recursive calls",async()=>{let e=[],t=["a","b","c"],d=s(c=>{e.push(c);let r=t.shift();r!==void 0&&d(r)},o);d(t.shift()),a(e).toStrictEqual(["a"]),await l(8*o),a(e).toStrictEqual(["a","b","c"])}),i("should support cancelling delayed calls",async()=>{let e=n.fn(),t=s(e,o,{leading:!1});t(),t.cancel(),await l(2*o),a(e).toHaveBeenCalledTimes(0)}),i("should reset `lastCalled` after cancelling",async()=>{let e=n.fn(),t=s(e,o,{leading:!0});t(),a(e).toHaveBeenCalledTimes(1),t.cancel(),t(),a(e).toHaveBeenCalledTimes(2),t(),await l(2*o),a(e).toHaveBeenCalledTimes(3)}),i("should support flushing delayed calls",async()=>{let e=n.fn(),t=s(e,o,{leading:!1});t(),t.flush(),a(e).toHaveBeenCalledTimes(1),await l(2*o),a(e).toHaveBeenCalledTimes(1)}),i("should noop `cancel` and `flush` when nothing is queued",async()=>{let e=n.fn(),t=s(e,o);t.cancel(),t.flush(),a(e).toHaveBeenCalledTimes(0),await l(2*o),a(e).toHaveBeenCalledTimes(0)})});h("not tested by Lodash",()=>{i("should do nothing when `leading` and `trailing` are both `disabled`",async()=>{let e=n.fn(),t=s(e,o,{leading:!1,trailing:!1});t(),t(),t(),a(e).toHaveBeenCalledTimes(0),await l(2*o),a(e).toHaveBeenCalledTimes(0)})});
@@ -0,0 +1 @@
1
+ "use strict"; function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkAQRYBCA3cjs = require('./chunk-AQRYBCA3.cjs');var _chunkHC3HZK4Qcjs = require('./chunk-HC3HZK4Q.cjs');var _chunkI5B54QDJcjs = require('./chunk-I5B54QDJ.cjs');var _chunkRMOD5JNBcjs = require('./chunk-RMOD5JNB.cjs');var _chunkWLNQOMKLcjs = require('./chunk-WLNQOMKL.cjs');require('./chunk-MBGSSEZN.cjs');function l(e,{timing:n,waitMs:d,maxWaitMs:s}){if(s!==void 0&&d!==void 0&&s<d)throw new Error(`debounce: maxWaitMs (${s.toString()}) cannot be less than waitMs (${d.toString()})`);let r,m=_chunkRMOD5JNBcjs.a.call(void 0, w=>{r=e(...w)},{reducer:(w,...b)=>b,minQuietPeriodMs:_nullishCoalesce(_nullishCoalesce(d, () => (s)), () => (0)),...s!==void 0&&{maxBurstDurationMs:s},...n==="leading"?{triggerAt:"start"}:n==="both"?{triggerAt:"both"}:{triggerAt:"end"}});return{call:(...w)=>(m.call(...w),r),flush:()=>(m.flush(),r),cancel:()=>{m.cancel()},get isPending(){return!m.isIdle},get cachedValue(){return r}}}_chunkI5B54QDJcjs.a.call(void 0, "main functionality",()=>{_chunkI5B54QDJcjs.b.call(void 0, "should debounce a function",async()=>{let e=_chunkI5B54QDJcjs.d.fn(_chunkAQRYBCA3cjs.a.call(void 0, )),n=l(e,{waitMs:32});_chunkI5B54QDJcjs.c.call(void 0, [n.call("a"),n.call("b"),n.call("c")]).toStrictEqual([void 0,void 0,void 0]),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 128),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, [n.call("d"),n.call("e"),n.call("f")]).toStrictEqual(["c","c","c"]),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 256),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2)}),_chunkI5B54QDJcjs.b.call(void 0, "subsequent debounced calls return the last `func` result",async()=>{let e=l(_chunkAQRYBCA3cjs.a.call(void 0, ),{waitMs:32});e.call("a"),await _chunkHC3HZK4Qcjs.a.call(void 0, 64),_chunkI5B54QDJcjs.c.call(void 0, e.call("b")).toBe("a"),await _chunkHC3HZK4Qcjs.a.call(void 0, 128),_chunkI5B54QDJcjs.c.call(void 0, e.call("c")).toBe("b")}),_chunkI5B54QDJcjs.b.call(void 0, "should not immediately call `func` when `wait` is `0`",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),n=l(e,{});n.call(),n.call(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 5),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1)}),_chunkI5B54QDJcjs.b.call(void 0, "should apply default options",async()=>{let e=_chunkI5B54QDJcjs.d.fn();l(e,{waitMs:32}).call(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 64),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1)}),_chunkI5B54QDJcjs.b.call(void 0, "should support a `leading` option",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),n=_chunkI5B54QDJcjs.d.fn(),d=l(e,{waitMs:32,timing:"leading"});d.call(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1);let s=l(n,{waitMs:32,timing:"both"});s.call(),s.call(),_chunkI5B54QDJcjs.c.call(void 0, n).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 64),_chunkI5B54QDJcjs.c.call(void 0, n).toHaveBeenCalledTimes(2),d.call(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2)}),_chunkI5B54QDJcjs.b.call(void 0, "subsequent leading debounced calls return the last `func` result",async()=>{let e=l(_chunkAQRYBCA3cjs.a.call(void 0, ),{waitMs:32,timing:"leading"});_chunkI5B54QDJcjs.c.call(void 0, [e.call("a"),e.call("b")]).toStrictEqual(["a","a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 64),_chunkI5B54QDJcjs.c.call(void 0, [e.call("c"),e.call("d")]).toStrictEqual(["c","c"])}),_chunkI5B54QDJcjs.b.call(void 0, "should support a `trailing` option",async()=>{let e=_chunkI5B54QDJcjs.d.fn();l(e,{waitMs:32,timing:"trailing"}).call(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 64),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1)})});_chunkI5B54QDJcjs.a.call(void 0, "optional param maxWaitMs",()=>{_chunkI5B54QDJcjs.b.call(void 0, "should support a `maxWait` option",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),n=l(e,{waitMs:32,maxWaitMs:64});n.call("a"),n.call("b"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 128),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),n.call("c"),n.call("d"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 256),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2)}),_chunkI5B54QDJcjs.b.call(void 0, "should support `maxWait` in a tight loop",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),n=_chunkI5B54QDJcjs.d.fn(),d=l(e,{waitMs:32,maxWaitMs:128}),s=l(n,{waitMs:96}),r=Date.now();for(;Date.now()-r<320;)d.call(),s.call();await _chunkHC3HZK4Qcjs.a.call(void 0, 1),_chunkI5B54QDJcjs.c.call(void 0, n).toHaveBeenCalledTimes(0),_chunkI5B54QDJcjs.c.call(void 0, e).not.toHaveBeenCalledTimes(0)}),_chunkI5B54QDJcjs.b.call(void 0, "should queue a trailing call for subsequent debounced calls after `maxWait`",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),n=l(e,{waitMs:200,maxWaitMs:200});n.call(),setTimeout(()=>{n.call()},190),setTimeout(()=>{n.call()},200),setTimeout(()=>{n.call()},210),await _chunkHC3HZK4Qcjs.a.call(void 0, 500),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2)}),_chunkI5B54QDJcjs.b.call(void 0, "should cancel `maxDelayed` when `delayed` is invoked",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),n=l(e,{waitMs:32,maxWaitMs:64});n.call(),await _chunkHC3HZK4Qcjs.a.call(void 0, 128),n.call(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 192),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2)}),_chunkI5B54QDJcjs.b.call(void 0, "works like a leaky bucket when only maxWaitMs is set",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),n=l(e,{maxWaitMs:32});n.call(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 16),n.call(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 17),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1)})});_chunkI5B54QDJcjs.a.call(void 0, "additional functionality",()=>{_chunkI5B54QDJcjs.b.call(void 0, "can cancel before the timer starts",async()=>{let e=l(_chunkAQRYBCA3cjs.a.call(void 0, ),{waitMs:32});_chunkI5B54QDJcjs.c.call(void 0, ()=>{e.cancel()}).not.toThrow(),_chunkI5B54QDJcjs.c.call(void 0, e.call("hello")).toBeUndefined(),await _chunkHC3HZK4Qcjs.a.call(void 0, 32),_chunkI5B54QDJcjs.c.call(void 0, e.call("world")).toBe("hello")}),_chunkI5B54QDJcjs.b.call(void 0, "can cancel the timer",async()=>{let e=_chunkI5B54QDJcjs.d.fn(_chunkWLNQOMKLcjs.a.call(void 0, "Hello, World!")),n=l(e,{waitMs:32});_chunkI5B54QDJcjs.c.call(void 0, n.call()).toBeUndefined(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 1),_chunkI5B54QDJcjs.c.call(void 0, n.call()).toBeUndefined(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),n.cancel(),await _chunkHC3HZK4Qcjs.a.call(void 0, 32),_chunkI5B54QDJcjs.c.call(void 0, n.call()).toBeUndefined(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 32),_chunkI5B54QDJcjs.c.call(void 0, n.call()).toBe("Hello, World!"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1)}),_chunkI5B54QDJcjs.b.call(void 0, "can cancel after the timer ends",async()=>{let e=l(_chunkAQRYBCA3cjs.a.call(void 0, ),{waitMs:32});_chunkI5B54QDJcjs.c.call(void 0, e.call("hello")).toBeUndefined(),await _chunkHC3HZK4Qcjs.a.call(void 0, 32),_chunkI5B54QDJcjs.c.call(void 0, e.call("world")).toBe("hello"),_chunkI5B54QDJcjs.c.call(void 0, ()=>{e.cancel()}).not.toThrow()}),_chunkI5B54QDJcjs.b.call(void 0, "can cancel maxWait timer",async()=>{let e=l(_chunkAQRYBCA3cjs.a.call(void 0, ),{waitMs:16,maxWaitMs:32});_chunkI5B54QDJcjs.c.call(void 0, e.call("hello")).toBeUndefined(),await _chunkHC3HZK4Qcjs.a.call(void 0, 1),e.cancel(),await _chunkHC3HZK4Qcjs.a.call(void 0, 32),_chunkI5B54QDJcjs.c.call(void 0, e.call("world")).toBeUndefined()}),_chunkI5B54QDJcjs.b.call(void 0, "can return a cached value",()=>{let e=l(_chunkAQRYBCA3cjs.a.call(void 0, ),{timing:"leading",waitMs:32});_chunkI5B54QDJcjs.c.call(void 0, e.cachedValue).toBeUndefined(),_chunkI5B54QDJcjs.c.call(void 0, e.call("hello")).toBe("hello"),_chunkI5B54QDJcjs.c.call(void 0, e.cachedValue).toBe("hello")}),_chunkI5B54QDJcjs.b.call(void 0, "can check for inflight timers (trailing)",async()=>{let e=l(_chunkAQRYBCA3cjs.a.call(void 0, ),{waitMs:32});_chunkI5B54QDJcjs.c.call(void 0, e.isPending).toBe(!1),_chunkI5B54QDJcjs.c.call(void 0, e.call("hello")).toBeUndefined(),_chunkI5B54QDJcjs.c.call(void 0, e.isPending).toBe(!0),await _chunkHC3HZK4Qcjs.a.call(void 0, 1),_chunkI5B54QDJcjs.c.call(void 0, e.isPending).toBe(!0),await _chunkHC3HZK4Qcjs.a.call(void 0, 32),_chunkI5B54QDJcjs.c.call(void 0, e.isPending).toBe(!1)}),_chunkI5B54QDJcjs.b.call(void 0, "can check for inflight timers (leading)",async()=>{let e=l(_chunkAQRYBCA3cjs.a.call(void 0, ),{timing:"leading",waitMs:32});_chunkI5B54QDJcjs.c.call(void 0, e.isPending).toBe(!1),_chunkI5B54QDJcjs.c.call(void 0, e.call("hello")).toBe("hello"),_chunkI5B54QDJcjs.c.call(void 0, e.isPending).toBe(!0),await _chunkHC3HZK4Qcjs.a.call(void 0, 1),_chunkI5B54QDJcjs.c.call(void 0, e.isPending).toBe(!0),await _chunkHC3HZK4Qcjs.a.call(void 0, 32),_chunkI5B54QDJcjs.c.call(void 0, e.isPending).toBe(!1)}),_chunkI5B54QDJcjs.b.call(void 0, "can flush before a cool-down",async()=>{let e=l(_chunkAQRYBCA3cjs.a.call(void 0, ),{waitMs:32});_chunkI5B54QDJcjs.c.call(void 0, e.flush()).toBeUndefined(),_chunkI5B54QDJcjs.c.call(void 0, e.call("hello")).toBeUndefined(),await _chunkHC3HZK4Qcjs.a.call(void 0, 32),_chunkI5B54QDJcjs.c.call(void 0, e.call("world")).toBe("hello")}),_chunkI5B54QDJcjs.b.call(void 0, "can flush during a cool-down",async()=>{let e=l(_chunkAQRYBCA3cjs.a.call(void 0, ),{waitMs:32});_chunkI5B54QDJcjs.c.call(void 0, e.call("hello")).toBeUndefined(),await _chunkHC3HZK4Qcjs.a.call(void 0, 1),_chunkI5B54QDJcjs.c.call(void 0, e.call("world")).toBeUndefined(),await _chunkHC3HZK4Qcjs.a.call(void 0, 1),_chunkI5B54QDJcjs.c.call(void 0, e.flush()).toBe("world")}),_chunkI5B54QDJcjs.b.call(void 0, "can flush after a cool-down",async()=>{let e=l(_chunkAQRYBCA3cjs.a.call(void 0, ),{waitMs:32});_chunkI5B54QDJcjs.c.call(void 0, e.call("hello")).toBeUndefined(),await _chunkHC3HZK4Qcjs.a.call(void 0, 32),_chunkI5B54QDJcjs.c.call(void 0, e.flush()).toBe("hello")})});_chunkI5B54QDJcjs.a.call(void 0, "errors",()=>{_chunkI5B54QDJcjs.b.call(void 0, "prevents maxWaitMs to be less then waitMs",()=>{_chunkI5B54QDJcjs.c.call(void 0, ()=>l(_chunkAQRYBCA3cjs.a.call(void 0, ),{waitMs:32,maxWaitMs:16})).toThrow("debounce: maxWaitMs (16) cannot be less than waitMs (32)")})});
@@ -0,0 +1 @@
1
+ import{a as c}from"./chunk-46GBCFAG.js";import{a as t}from"./chunk-6SYP2DRD.js";import{a as u,b as o,c as a,d as i}from"./chunk-VVGDSDKI.js";import{a as h}from"./chunk-YWIXN5BR.js";import{a as f}from"./chunk-T5XG33UI.js";import"./chunk-EK7ODJWE.js";function l(e,{timing:n,waitMs:d,maxWaitMs:s}){if(s!==void 0&&d!==void 0&&s<d)throw new Error(`debounce: maxWaitMs (${s.toString()}) cannot be less than waitMs (${d.toString()})`);let r,m=h(w=>{r=e(...w)},{reducer:(w,...b)=>b,minQuietPeriodMs:d??s??0,...s!==void 0&&{maxBurstDurationMs:s},...n==="leading"?{triggerAt:"start"}:n==="both"?{triggerAt:"both"}:{triggerAt:"end"}});return{call:(...w)=>(m.call(...w),r),flush:()=>(m.flush(),r),cancel:()=>{m.cancel()},get isPending(){return!m.isIdle},get cachedValue(){return r}}}u("main functionality",()=>{o("should debounce a function",async()=>{let e=i.fn(c()),n=l(e,{waitMs:32});a([n.call("a"),n.call("b"),n.call("c")]).toStrictEqual([void 0,void 0,void 0]),a(e).toHaveBeenCalledTimes(0),await t(128),a(e).toHaveBeenCalledTimes(1),a([n.call("d"),n.call("e"),n.call("f")]).toStrictEqual(["c","c","c"]),a(e).toHaveBeenCalledTimes(1),await t(256),a(e).toHaveBeenCalledTimes(2)}),o("subsequent debounced calls return the last `func` result",async()=>{let e=l(c(),{waitMs:32});e.call("a"),await t(64),a(e.call("b")).toBe("a"),await t(128),a(e.call("c")).toBe("b")}),o("should not immediately call `func` when `wait` is `0`",async()=>{let e=i.fn(),n=l(e,{});n.call(),n.call(),a(e).toHaveBeenCalledTimes(0),await t(5),a(e).toHaveBeenCalledTimes(1)}),o("should apply default options",async()=>{let e=i.fn();l(e,{waitMs:32}).call(),a(e).toHaveBeenCalledTimes(0),await t(64),a(e).toHaveBeenCalledTimes(1)}),o("should support a `leading` option",async()=>{let e=i.fn(),n=i.fn(),d=l(e,{waitMs:32,timing:"leading"});d.call(),a(e).toHaveBeenCalledTimes(1);let s=l(n,{waitMs:32,timing:"both"});s.call(),s.call(),a(n).toHaveBeenCalledTimes(1),await t(64),a(n).toHaveBeenCalledTimes(2),d.call(),a(e).toHaveBeenCalledTimes(2)}),o("subsequent leading debounced calls return the last `func` result",async()=>{let e=l(c(),{waitMs:32,timing:"leading"});a([e.call("a"),e.call("b")]).toStrictEqual(["a","a"]),await t(64),a([e.call("c"),e.call("d")]).toStrictEqual(["c","c"])}),o("should support a `trailing` option",async()=>{let e=i.fn();l(e,{waitMs:32,timing:"trailing"}).call(),a(e).toHaveBeenCalledTimes(0),await t(64),a(e).toHaveBeenCalledTimes(1)})});u("optional param maxWaitMs",()=>{o("should support a `maxWait` option",async()=>{let e=i.fn(),n=l(e,{waitMs:32,maxWaitMs:64});n.call("a"),n.call("b"),a(e).toHaveBeenCalledTimes(0),await t(128),a(e).toHaveBeenCalledTimes(1),n.call("c"),n.call("d"),a(e).toHaveBeenCalledTimes(1),await t(256),a(e).toHaveBeenCalledTimes(2)}),o("should support `maxWait` in a tight loop",async()=>{let e=i.fn(),n=i.fn(),d=l(e,{waitMs:32,maxWaitMs:128}),s=l(n,{waitMs:96}),r=Date.now();for(;Date.now()-r<320;)d.call(),s.call();await t(1),a(n).toHaveBeenCalledTimes(0),a(e).not.toHaveBeenCalledTimes(0)}),o("should queue a trailing call for subsequent debounced calls after `maxWait`",async()=>{let e=i.fn(),n=l(e,{waitMs:200,maxWaitMs:200});n.call(),setTimeout(()=>{n.call()},190),setTimeout(()=>{n.call()},200),setTimeout(()=>{n.call()},210),await t(500),a(e).toHaveBeenCalledTimes(2)}),o("should cancel `maxDelayed` when `delayed` is invoked",async()=>{let e=i.fn(),n=l(e,{waitMs:32,maxWaitMs:64});n.call(),await t(128),n.call(),a(e).toHaveBeenCalledTimes(1),await t(192),a(e).toHaveBeenCalledTimes(2)}),o("works like a leaky bucket when only maxWaitMs is set",async()=>{let e=i.fn(),n=l(e,{maxWaitMs:32});n.call(),a(e).toHaveBeenCalledTimes(0),await t(16),n.call(),a(e).toHaveBeenCalledTimes(0),await t(17),a(e).toHaveBeenCalledTimes(1)})});u("additional functionality",()=>{o("can cancel before the timer starts",async()=>{let e=l(c(),{waitMs:32});a(()=>{e.cancel()}).not.toThrow(),a(e.call("hello")).toBeUndefined(),await t(32),a(e.call("world")).toBe("hello")}),o("can cancel the timer",async()=>{let e=i.fn(f("Hello, World!")),n=l(e,{waitMs:32});a(n.call()).toBeUndefined(),a(e).toHaveBeenCalledTimes(0),await t(1),a(n.call()).toBeUndefined(),a(e).toHaveBeenCalledTimes(0),n.cancel(),await t(32),a(n.call()).toBeUndefined(),a(e).toHaveBeenCalledTimes(0),await t(32),a(n.call()).toBe("Hello, World!"),a(e).toHaveBeenCalledTimes(1)}),o("can cancel after the timer ends",async()=>{let e=l(c(),{waitMs:32});a(e.call("hello")).toBeUndefined(),await t(32),a(e.call("world")).toBe("hello"),a(()=>{e.cancel()}).not.toThrow()}),o("can cancel maxWait timer",async()=>{let e=l(c(),{waitMs:16,maxWaitMs:32});a(e.call("hello")).toBeUndefined(),await t(1),e.cancel(),await t(32),a(e.call("world")).toBeUndefined()}),o("can return a cached value",()=>{let e=l(c(),{timing:"leading",waitMs:32});a(e.cachedValue).toBeUndefined(),a(e.call("hello")).toBe("hello"),a(e.cachedValue).toBe("hello")}),o("can check for inflight timers (trailing)",async()=>{let e=l(c(),{waitMs:32});a(e.isPending).toBe(!1),a(e.call("hello")).toBeUndefined(),a(e.isPending).toBe(!0),await t(1),a(e.isPending).toBe(!0),await t(32),a(e.isPending).toBe(!1)}),o("can check for inflight timers (leading)",async()=>{let e=l(c(),{timing:"leading",waitMs:32});a(e.isPending).toBe(!1),a(e.call("hello")).toBe("hello"),a(e.isPending).toBe(!0),await t(1),a(e.isPending).toBe(!0),await t(32),a(e.isPending).toBe(!1)}),o("can flush before a cool-down",async()=>{let e=l(c(),{waitMs:32});a(e.flush()).toBeUndefined(),a(e.call("hello")).toBeUndefined(),await t(32),a(e.call("world")).toBe("hello")}),o("can flush during a cool-down",async()=>{let e=l(c(),{waitMs:32});a(e.call("hello")).toBeUndefined(),await t(1),a(e.call("world")).toBeUndefined(),await t(1),a(e.flush()).toBe("world")}),o("can flush after a cool-down",async()=>{let e=l(c(),{waitMs:32});a(e.call("hello")).toBeUndefined(),await t(32),a(e.flush()).toBe("hello")})});u("errors",()=>{o("prevents maxWaitMs to be less then waitMs",()=>{a(()=>l(c(),{waitMs:32,maxWaitMs:16})).toThrow("debounce: maxWaitMs (16) cannot be less than waitMs (32)")})});
@@ -1 +1 @@
1
- "use strict"; function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkBEMQAYI5cjs = require('./chunk-BEMQAYI5.cjs');var _chunkGOUUMCT7cjs = require('./chunk-GOUUMCT7.cjs');var _chunkWYRK6YJUcjs = require('./chunk-WYRK6YJU.cjs');require('./chunk-XR72I63W.cjs');require('./chunk-GZJMERDJ.cjs');function i(e,a,n=0){let l=_chunkGOUUMCT7cjs.a.call(void 0, s=>{e(s.map(({params:t})=>t)).then(t=>{for(let[o,{params:r,promiseCallbacks:[c]}]of s.entries()){let y=a(t,o,...r);c(y)}}).catch(t=>{for(let{promiseCallbacks:[,o]}of s)o(t)})},{reducer:(s,t)=>[..._nullishCoalesce(s, () => ([])),t],maxBurstDurationMs:n,triggerAt:"end"});return{...l,call:async(...s)=>new Promise((...t)=>{l.call({promiseCallbacks:t,params:s})})}}describe("showcase",()=>{it("results as object",async()=>{let e=vi.fn(async o=>_chunkBEMQAYI5cjs.a.call(void 0, o,r=>r.length)),a=i(async o=>await e(o.flat()),(o,r,c)=>o[c]),n=[a.call("short"),a.call("medium"),a.call("loooooooooooooong")];expect(e).toHaveBeenCalledTimes(0);let[l,s,t]=await Promise.all(n);expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["short","medium","loooooooooooooong"]),expect(e).toHaveLastResolvedWith({short:5,medium:6,loooooooooooooong:17}),expect(l).toBe(5),expect(s).toBe(6),expect(t).toBe(17)}),it("results as array",async()=>{let e=vi.fn(async o=>o.map(r=>r.length)),a=i(async o=>await e(o.flat()),(o,r)=>o[r]),n=[a.call("short"),a.call("medium"),a.call("loooooooooooooong")];expect(e).toHaveBeenCalledTimes(0);let[l,s,t]=await Promise.all(n);expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["short","medium","loooooooooooooong"]),expect(e).toHaveLastResolvedWith([5,6,17]),expect(l).toBe(5),expect(s).toBe(6),expect(t).toBe(17)}),it("error handling",async()=>{let e=i(async a=>{if(a.length>1)throw new Error(`Batch too big! ${JSON.stringify(a)}`)},_chunkWYRK6YJUcjs.a.call(void 0, ));await expect(e.call("a")).resolves.toBeUndefined(),await expect(Promise.all([e.call("hello"),e.call("world")])).rejects.toThrow('Batch too big! [["hello"],["world"]]')})});
1
+ "use strict"; function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkBEMQAYI5cjs = require('./chunk-BEMQAYI5.cjs');var _chunkI5B54QDJcjs = require('./chunk-I5B54QDJ.cjs');var _chunkRMOD5JNBcjs = require('./chunk-RMOD5JNB.cjs');var _chunkWYRK6YJUcjs = require('./chunk-WYRK6YJU.cjs');require('./chunk-XR72I63W.cjs');require('./chunk-GZJMERDJ.cjs');require('./chunk-MBGSSEZN.cjs');function y(o,r,i=0){let n=_chunkRMOD5JNBcjs.a.call(void 0, s=>{o(s.map(({params:t})=>t)).then(t=>{for(let[a,{params:l,promiseCallbacks:[m]}]of s.entries()){let g=r(t,a,...l);m(g)}}).catch(t=>{for(let{promiseCallbacks:[,a]}of s)a(t)})},{reducer:(s,t)=>[..._nullishCoalesce(s, () => ([])),t],maxBurstDurationMs:i,triggerAt:"end"});return{...n,call:async(...s)=>new Promise((...t)=>{n.call({promiseCallbacks:t,params:s})})}}_chunkI5B54QDJcjs.a.call(void 0, "showcase",()=>{_chunkI5B54QDJcjs.b.call(void 0, "results as object",async()=>{let o=_chunkI5B54QDJcjs.d.fn(async a=>_chunkBEMQAYI5cjs.a.call(void 0, a,l=>l.length)),r=y(async a=>await o(a.flat()),(a,l,m)=>a[m]),i=[r.call("short"),r.call("medium"),r.call("loooooooooooooong")];_chunkI5B54QDJcjs.c.call(void 0, o).toHaveBeenCalledTimes(0);let[n,s,t]=await Promise.all(i);_chunkI5B54QDJcjs.c.call(void 0, o).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, o).toHaveBeenLastCalledWith(["short","medium","loooooooooooooong"]),_chunkI5B54QDJcjs.c.call(void 0, o).toHaveLastResolvedWith({short:5,medium:6,loooooooooooooong:17}),_chunkI5B54QDJcjs.c.call(void 0, n).toBe(5),_chunkI5B54QDJcjs.c.call(void 0, s).toBe(6),_chunkI5B54QDJcjs.c.call(void 0, t).toBe(17)}),_chunkI5B54QDJcjs.b.call(void 0, "results as array",async()=>{let o=_chunkI5B54QDJcjs.d.fn(async a=>a.map(l=>l.length)),r=y(async a=>await o(a.flat()),(a,l)=>a[l]),i=[r.call("short"),r.call("medium"),r.call("loooooooooooooong")];_chunkI5B54QDJcjs.c.call(void 0, o).toHaveBeenCalledTimes(0);let[n,s,t]=await Promise.all(i);_chunkI5B54QDJcjs.c.call(void 0, o).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, o).toHaveBeenLastCalledWith(["short","medium","loooooooooooooong"]),_chunkI5B54QDJcjs.c.call(void 0, o).toHaveLastResolvedWith([5,6,17]),_chunkI5B54QDJcjs.c.call(void 0, n).toBe(5),_chunkI5B54QDJcjs.c.call(void 0, s).toBe(6),_chunkI5B54QDJcjs.c.call(void 0, t).toBe(17)}),_chunkI5B54QDJcjs.b.call(void 0, "error handling",async()=>{let o=y(async r=>{if(r.length>1)throw new Error(`Batch too big! ${JSON.stringify(r)}`)},_chunkWYRK6YJUcjs.a.call(void 0, ));await _chunkI5B54QDJcjs.c.call(void 0, o.call("a")).resolves.toBeUndefined(),await _chunkI5B54QDJcjs.c.call(void 0, Promise.all([o.call("hello"),o.call("world")])).rejects.toThrow('Batch too big! [["hello"],["world"]]')})});
@@ -1 +1 @@
1
- import{a as d}from"./chunk-TVMG2NYC.js";import{a as p}from"./chunk-AWXJSK4F.js";import{a as m}from"./chunk-AFO7BV2X.js";import"./chunk-J6WPJH72.js";import"./chunk-KGPDVVVV.js";function i(e,a,n=0){let l=p(s=>{e(s.map(({params:t})=>t)).then(t=>{for(let[o,{params:r,promiseCallbacks:[c]}]of s.entries()){let y=a(t,o,...r);c(y)}}).catch(t=>{for(let{promiseCallbacks:[,o]}of s)o(t)})},{reducer:(s,t)=>[...s??[],t],maxBurstDurationMs:n,triggerAt:"end"});return{...l,call:async(...s)=>new Promise((...t)=>{l.call({promiseCallbacks:t,params:s})})}}describe("showcase",()=>{it("results as object",async()=>{let e=vi.fn(async o=>d(o,r=>r.length)),a=i(async o=>await e(o.flat()),(o,r,c)=>o[c]),n=[a.call("short"),a.call("medium"),a.call("loooooooooooooong")];expect(e).toHaveBeenCalledTimes(0);let[l,s,t]=await Promise.all(n);expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["short","medium","loooooooooooooong"]),expect(e).toHaveLastResolvedWith({short:5,medium:6,loooooooooooooong:17}),expect(l).toBe(5),expect(s).toBe(6),expect(t).toBe(17)}),it("results as array",async()=>{let e=vi.fn(async o=>o.map(r=>r.length)),a=i(async o=>await e(o.flat()),(o,r)=>o[r]),n=[a.call("short"),a.call("medium"),a.call("loooooooooooooong")];expect(e).toHaveBeenCalledTimes(0);let[l,s,t]=await Promise.all(n);expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["short","medium","loooooooooooooong"]),expect(e).toHaveLastResolvedWith([5,6,17]),expect(l).toBe(5),expect(s).toBe(6),expect(t).toBe(17)}),it("error handling",async()=>{let e=i(async a=>{if(a.length>1)throw new Error(`Batch too big! ${JSON.stringify(a)}`)},m());await expect(e.call("a")).resolves.toBeUndefined(),await expect(Promise.all([e.call("hello"),e.call("world")])).rejects.toThrow('Batch too big! [["hello"],["world"]]')})});
1
+ import{a as h}from"./chunk-TVMG2NYC.js";import{a as R,b as c,c as e,d}from"./chunk-VVGDSDKI.js";import{a as p}from"./chunk-YWIXN5BR.js";import{a as u}from"./chunk-AFO7BV2X.js";import"./chunk-J6WPJH72.js";import"./chunk-KGPDVVVV.js";import"./chunk-EK7ODJWE.js";function y(o,r,i=0){let n=p(s=>{o(s.map(({params:t})=>t)).then(t=>{for(let[a,{params:l,promiseCallbacks:[m]}]of s.entries()){let g=r(t,a,...l);m(g)}}).catch(t=>{for(let{promiseCallbacks:[,a]}of s)a(t)})},{reducer:(s,t)=>[...s??[],t],maxBurstDurationMs:i,triggerAt:"end"});return{...n,call:async(...s)=>new Promise((...t)=>{n.call({promiseCallbacks:t,params:s})})}}R("showcase",()=>{c("results as object",async()=>{let o=d.fn(async a=>h(a,l=>l.length)),r=y(async a=>await o(a.flat()),(a,l,m)=>a[m]),i=[r.call("short"),r.call("medium"),r.call("loooooooooooooong")];e(o).toHaveBeenCalledTimes(0);let[n,s,t]=await Promise.all(i);e(o).toHaveBeenCalledTimes(1),e(o).toHaveBeenLastCalledWith(["short","medium","loooooooooooooong"]),e(o).toHaveLastResolvedWith({short:5,medium:6,loooooooooooooong:17}),e(n).toBe(5),e(s).toBe(6),e(t).toBe(17)}),c("results as array",async()=>{let o=d.fn(async a=>a.map(l=>l.length)),r=y(async a=>await o(a.flat()),(a,l)=>a[l]),i=[r.call("short"),r.call("medium"),r.call("loooooooooooooong")];e(o).toHaveBeenCalledTimes(0);let[n,s,t]=await Promise.all(i);e(o).toHaveBeenCalledTimes(1),e(o).toHaveBeenLastCalledWith(["short","medium","loooooooooooooong"]),e(o).toHaveLastResolvedWith([5,6,17]),e(n).toBe(5),e(s).toBe(6),e(t).toBe(17)}),c("error handling",async()=>{let o=y(async r=>{if(r.length>1)throw new Error(`Batch too big! ${JSON.stringify(r)}`)},u());await e(o.call("a")).resolves.toBeUndefined(),await e(Promise.all([o.call("hello"),o.call("world")])).rejects.toThrow('Batch too big! [["hello"],["world"]]')})});
@@ -1 +1 @@
1
- "use strict";var _chunkGOUUMCT7cjs = require('./chunk-GOUUMCT7.cjs');var _chunkWYRK6YJUcjs = require('./chunk-WYRK6YJU.cjs');describe("'call' method args",()=>{test("no args",()=>{let e=_chunkGOUUMCT7cjs.a.call(void 0, _chunkWYRK6YJUcjs.a.call(void 0, ),{reducer:a=>"test",triggerAt:"start"});expectTypeOf(e.call).parameters.toEqualTypeOf()}),test("non-optional args",()=>{let e=_chunkGOUUMCT7cjs.a.call(void 0, _chunkWYRK6YJUcjs.a.call(void 0, ),{reducer:(a,n,s,o)=>"test",triggerAt:"start"});expectTypeOf(e.call).parameters.toEqualTypeOf()}),test("optional args",()=>{let e=_chunkGOUUMCT7cjs.a.call(void 0, _chunkWYRK6YJUcjs.a.call(void 0, ),{reducer:(a,n)=>"test",triggerAt:"start"});expectTypeOf(e.call).parameters.toEqualTypeOf()}),test("rest args",()=>{let e=_chunkGOUUMCT7cjs.a.call(void 0, _chunkWYRK6YJUcjs.a.call(void 0, ),{reducer:(a,...n)=>"test",triggerAt:"start"});expectTypeOf(e.call).parameters.toEqualTypeOf()})});describe("derive the reducer accumulator type from the executor param",()=>{test("simple types",()=>{_chunkGOUUMCT7cjs.a.call(void 0, e=>{},{reducer:e=>(expectTypeOf(e).toEqualTypeOf(),e),triggerAt:"start"})}),test("arrays",()=>{_chunkGOUUMCT7cjs.a.call(void 0, e=>{},{reducer:e=>(expectTypeOf(e).toEqualTypeOf(),e),triggerAt:"start"})}),test("objects",()=>{_chunkGOUUMCT7cjs.a.call(void 0, e=>{},{reducer:e=>(expectTypeOf(e).toEqualTypeOf(),e),triggerAt:"start"})})});describe("prevent bad options",()=>{test("minGapMs cannot be the only option with timing: end",()=>{_chunkGOUUMCT7cjs.a.call(void 0, _chunkWYRK6YJUcjs.a.call(void 0, ),{minGapMs:100}),_chunkGOUUMCT7cjs.a.call(void 0, _chunkWYRK6YJUcjs.a.call(void 0, ),{triggerAt:"end",minGapMs:100}),_chunkGOUUMCT7cjs.a.call(void 0, _chunkWYRK6YJUcjs.a.call(void 0, ),{triggerAt:"start",minGapMs:100}),_chunkGOUUMCT7cjs.a.call(void 0, _chunkWYRK6YJUcjs.a.call(void 0, ),{triggerAt:"both",minGapMs:100})})});
1
+ "use strict";var _chunkI5B54QDJcjs = require('./chunk-I5B54QDJ.cjs');var _chunkRMOD5JNBcjs = require('./chunk-RMOD5JNB.cjs');var _chunkWYRK6YJUcjs = require('./chunk-WYRK6YJU.cjs');require('./chunk-MBGSSEZN.cjs');_chunkI5B54QDJcjs.a.call(void 0, "'call' method args",()=>{_chunkI5B54QDJcjs.b.call(void 0, "no args",()=>{let t=_chunkRMOD5JNBcjs.a.call(void 0, _chunkWYRK6YJUcjs.a.call(void 0, ),{reducer:s=>"test",triggerAt:"start"});(0,_chunkI5B54QDJcjs.e.expectTypeOf)(t.call).parameters.toEqualTypeOf()}),_chunkI5B54QDJcjs.b.call(void 0, "non-optional args",()=>{let t=_chunkRMOD5JNBcjs.a.call(void 0, _chunkWYRK6YJUcjs.a.call(void 0, ),{reducer:(s,i,u,g)=>"test",triggerAt:"start"});(0,_chunkI5B54QDJcjs.e.expectTypeOf)(t.call).parameters.toEqualTypeOf()}),_chunkI5B54QDJcjs.b.call(void 0, "optional args",()=>{let t=_chunkRMOD5JNBcjs.a.call(void 0, _chunkWYRK6YJUcjs.a.call(void 0, ),{reducer:(s,i)=>"test",triggerAt:"start"});(0,_chunkI5B54QDJcjs.e.expectTypeOf)(t.call).parameters.toEqualTypeOf()}),_chunkI5B54QDJcjs.b.call(void 0, "rest args",()=>{let t=_chunkRMOD5JNBcjs.a.call(void 0, _chunkWYRK6YJUcjs.a.call(void 0, ),{reducer:(s,...i)=>"test",triggerAt:"start"});(0,_chunkI5B54QDJcjs.e.expectTypeOf)(t.call).parameters.toEqualTypeOf()})});_chunkI5B54QDJcjs.a.call(void 0, "derive the reducer accumulator type from the executor param",()=>{_chunkI5B54QDJcjs.b.call(void 0, "simple types",()=>{_chunkRMOD5JNBcjs.a.call(void 0, t=>{},{reducer:t=>((0,_chunkI5B54QDJcjs.e.expectTypeOf)(t).toEqualTypeOf(),t),triggerAt:"start"})}),_chunkI5B54QDJcjs.b.call(void 0, "arrays",()=>{_chunkRMOD5JNBcjs.a.call(void 0, t=>{},{reducer:t=>((0,_chunkI5B54QDJcjs.e.expectTypeOf)(t).toEqualTypeOf(),t),triggerAt:"start"})}),_chunkI5B54QDJcjs.b.call(void 0, "objects",()=>{_chunkRMOD5JNBcjs.a.call(void 0, t=>{},{reducer:t=>((0,_chunkI5B54QDJcjs.e.expectTypeOf)(t).toEqualTypeOf(),t),triggerAt:"start"})})});_chunkI5B54QDJcjs.a.call(void 0, "prevent bad options",()=>{_chunkI5B54QDJcjs.b.call(void 0, "minGapMs cannot be the only option with timing: end",()=>{_chunkRMOD5JNBcjs.a.call(void 0, _chunkWYRK6YJUcjs.a.call(void 0, ),{minGapMs:100}),_chunkRMOD5JNBcjs.a.call(void 0, _chunkWYRK6YJUcjs.a.call(void 0, ),{triggerAt:"end",minGapMs:100}),_chunkRMOD5JNBcjs.a.call(void 0, _chunkWYRK6YJUcjs.a.call(void 0, ),{triggerAt:"start",minGapMs:100}),_chunkRMOD5JNBcjs.a.call(void 0, _chunkWYRK6YJUcjs.a.call(void 0, ),{triggerAt:"both",minGapMs:100})})});
@@ -1 +1 @@
1
- import{a as t}from"./chunk-AWXJSK4F.js";import{a as r}from"./chunk-AFO7BV2X.js";describe("'call' method args",()=>{test("no args",()=>{let e=t(r(),{reducer:a=>"test",triggerAt:"start"});expectTypeOf(e.call).parameters.toEqualTypeOf()}),test("non-optional args",()=>{let e=t(r(),{reducer:(a,n,s,o)=>"test",triggerAt:"start"});expectTypeOf(e.call).parameters.toEqualTypeOf()}),test("optional args",()=>{let e=t(r(),{reducer:(a,n)=>"test",triggerAt:"start"});expectTypeOf(e.call).parameters.toEqualTypeOf()}),test("rest args",()=>{let e=t(r(),{reducer:(a,...n)=>"test",triggerAt:"start"});expectTypeOf(e.call).parameters.toEqualTypeOf()})});describe("derive the reducer accumulator type from the executor param",()=>{test("simple types",()=>{t(e=>{},{reducer:e=>(expectTypeOf(e).toEqualTypeOf(),e),triggerAt:"start"})}),test("arrays",()=>{t(e=>{},{reducer:e=>(expectTypeOf(e).toEqualTypeOf(),e),triggerAt:"start"})}),test("objects",()=>{t(e=>{},{reducer:e=>(expectTypeOf(e).toEqualTypeOf(),e),triggerAt:"start"})})});describe("prevent bad options",()=>{test("minGapMs cannot be the only option with timing: end",()=>{t(r(),{minGapMs:100}),t(r(),{triggerAt:"end",minGapMs:100}),t(r(),{triggerAt:"start",minGapMs:100}),t(r(),{triggerAt:"both",minGapMs:100})})});
1
+ import{a as o,b as a,e as n}from"./chunk-VVGDSDKI.js";import{a as e}from"./chunk-YWIXN5BR.js";import{a as r}from"./chunk-AFO7BV2X.js";import"./chunk-EK7ODJWE.js";o("'call' method args",()=>{a("no args",()=>{let t=e(r(),{reducer:s=>"test",triggerAt:"start"});(0,n.expectTypeOf)(t.call).parameters.toEqualTypeOf()}),a("non-optional args",()=>{let t=e(r(),{reducer:(s,i,u,g)=>"test",triggerAt:"start"});(0,n.expectTypeOf)(t.call).parameters.toEqualTypeOf()}),a("optional args",()=>{let t=e(r(),{reducer:(s,i)=>"test",triggerAt:"start"});(0,n.expectTypeOf)(t.call).parameters.toEqualTypeOf()}),a("rest args",()=>{let t=e(r(),{reducer:(s,...i)=>"test",triggerAt:"start"});(0,n.expectTypeOf)(t.call).parameters.toEqualTypeOf()})});o("derive the reducer accumulator type from the executor param",()=>{a("simple types",()=>{e(t=>{},{reducer:t=>((0,n.expectTypeOf)(t).toEqualTypeOf(),t),triggerAt:"start"})}),a("arrays",()=>{e(t=>{},{reducer:t=>((0,n.expectTypeOf)(t).toEqualTypeOf(),t),triggerAt:"start"})}),a("objects",()=>{e(t=>{},{reducer:t=>((0,n.expectTypeOf)(t).toEqualTypeOf(),t),triggerAt:"start"})})});o("prevent bad options",()=>{a("minGapMs cannot be the only option with timing: end",()=>{e(r(),{minGapMs:100}),e(r(),{triggerAt:"end",minGapMs:100}),e(r(),{triggerAt:"start",minGapMs:100}),e(r(),{triggerAt:"both",minGapMs:100})})});
@@ -1 +1 @@
1
- "use strict"; function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkHC3HZK4Qcjs = require('./chunk-HC3HZK4Q.cjs');var _chunkGOUUMCT7cjs = require('./chunk-GOUUMCT7.cjs');var _chunkWYRK6YJUcjs = require('./chunk-WYRK6YJU.cjs');var _chunkWLNQOMKLcjs = require('./chunk-WLNQOMKL.cjs');var a=16;function i(e,t){return e===void 0?[t]:[...e,t]}describe("reducer behavior",()=>{it("passes the reduced arg to the executor",()=>{let e=vi.fn();_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:_chunkWLNQOMKLcjs.a.call(void 0, "hello world"),triggerAt:"start",minQuietPeriodMs:a}).call(),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith("hello world")}),it("reduces call args",async()=>{let e=vi.fn(n=>{}),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:(n,o)=>(_nullishCoalesce(n, () => (0)))+o,minQuietPeriodMs:2*a,triggerAt:"end"});t.call(1),t.call(2),t.call(3),await _chunkHC3HZK4Qcjs.a.call(void 0, a),t.call(4),t.call(5),t.call(6),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*a),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(21)}),it("does not invoke if reduceArgs returns undefined",async()=>{let e=vi.fn();_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:_chunkWLNQOMKLcjs.a.call(void 0, void 0),triggerAt:"end",minQuietPeriodMs:a}).call(),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*a),expect(e).toHaveBeenCalledTimes(0)}),it("supports multiple arguments",()=>{let e=vi.fn();_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:(n,o,r,m)=>[n,o,r,m],triggerAt:"start",minQuietPeriodMs:a}).call(1,"a",!0),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith([void 0,1,"a",!0])}),it("reducer isn't called again when 'invokedAt: start'",async()=>{let e=vi.fn(i),t=_chunkGOUUMCT7cjs.a.call(void 0, _chunkWYRK6YJUcjs.a.call(void 0, ),{reducer:e,triggerAt:"start",minQuietPeriodMs:a});t.call("a"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(void 0,"a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*a),expect(e).toHaveBeenCalledTimes(1)})});describe("non-trivial (>0ms) timer duration",()=>{describe("delay timer",()=>{it("invokedAt: start",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"start",minGapMs:a});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, a),expect(e).toHaveBeenCalledTimes(1),t.call("d"),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["d"])}),it("invokedAt: both",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"both",minGapMs:a});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, a),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b","c"]),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(2),await _chunkHC3HZK4Qcjs.a.call(void 0, a),expect(e).toHaveBeenCalledTimes(3),expect(e).toHaveBeenLastCalledWith(["d","e","f"])}),it("invocations in the middle of a window",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"both",minGapMs:a});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, .75*a),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, .75*a),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b","c","d","e","f"])})}),describe("burst timer",()=>{it("invokedAt: start",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"start",minQuietPeriodMs:a});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, a),expect(e).toHaveBeenCalledTimes(1),t.call("d"),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["d"])}),it("invokedAt: both",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"both",minQuietPeriodMs:a});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, a),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b","c"]),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(3),expect(e).toHaveBeenLastCalledWith(["d"]),await _chunkHC3HZK4Qcjs.a.call(void 0, a),expect(e).toHaveBeenCalledTimes(4),expect(e).toHaveBeenLastCalledWith(["e","f"])}),it("invokedAt: end",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"end",minQuietPeriodMs:a});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, a),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a","b","c"]),t.call("e"),t.call("f"),t.call("g"),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, a),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["e","f","g"])}),it("invocations in the middle of a window",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"end",minQuietPeriodMs:a});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, .9*a),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, .1*a),expect(e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, a),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a","b","c","d","e","f"])}),it("maxBurstDurationMs limits the burst duration",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,minQuietPeriodMs:a,maxBurstDurationMs:2*a,triggerAt:"end"});t.call("a"),await _chunkHC3HZK4Qcjs.a.call(void 0, .75*a),t.call("b"),await _chunkHC3HZK4Qcjs.a.call(void 0, .75*a),t.call("c"),expect(e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, .75*a),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a","b","c"])})}),describe("both timers",()=>{it("delay is longer than burst",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,minGapMs:2*a,minQuietPeriodMs:a,triggerAt:"both"});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, a),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, a),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b","c","d","e","f"])}),it("burst is longer than delay",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,minGapMs:a,minQuietPeriodMs:2*a,triggerAt:"both"});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, a),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, a),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, a),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b","c","d","e","f"])}),it("burst and delay are equal",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,minGapMs:a,minQuietPeriodMs:a,triggerAt:"both"});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, a),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b","c"]),await _chunkHC3HZK4Qcjs.a.call(void 0, a),expect(e).toHaveBeenCalledTimes(3),expect(e).toHaveBeenLastCalledWith(["d","e","f"])}),it("delay and maxBurstDurationMs are equal",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,minGapMs:a,minQuietPeriodMs:2*a,maxBurstDurationMs:a,triggerAt:"both"});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, a),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b","c"]),await _chunkHC3HZK4Qcjs.a.call(void 0, a),expect(e).toHaveBeenCalledTimes(3),expect(e).toHaveBeenLastCalledWith(["d","e","f"])})})});describe("immediate (===0) timer durations",()=>{describe("delay timer",()=>{it("invokedAt: start",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"start",minGapMs:0});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["d"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),expect(e).toHaveBeenCalledTimes(2)}),it("invokedAt: both",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"both",minGapMs:0});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b","c"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),expect(e).toHaveBeenCalledTimes(3),expect(e).toHaveBeenLastCalledWith(["d","e","f"])}),it("with a non-trivial burst timer",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"both",minGapMs:0,minQuietPeriodMs:a});t.call("a"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),t.call("b"),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, a),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b"])})}),describe("burst timer",()=>{it("invokedAt: start",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"start",minQuietPeriodMs:0});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["d"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),expect(e).toHaveBeenCalledTimes(2)}),it("invokedAt: both",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"both",minQuietPeriodMs:0});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b","c"]),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(3),expect(e).toHaveBeenLastCalledWith(["d"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),expect(e).toHaveBeenCalledTimes(4),expect(e).toHaveBeenLastCalledWith(["e","f"])}),it("invokedAt: end",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"end",minQuietPeriodMs:0});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a","b","c"]),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["d","e","f"])}),it("with a non-trivial delay timer",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"both",minGapMs:a,minQuietPeriodMs:0});t.call("a"),t.call("b"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, a),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b"])}),it("burst timer with non-trivial maxBurstDuration",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,minQuietPeriodMs:0,maxBurstDurationMs:a,triggerAt:"end"});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a","b","c"])})}),it("both timers",async()=>{let e=vi.fn();_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"both",minGapMs:0,minQuietPeriodMs:0}).call("a"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),expect(e).toHaveBeenCalledTimes(1)}),it("maxBurstDurationMs = 0 limits the burst immediately",async()=>{let e=vi.fn();_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"end",minQuietPeriodMs:a,maxBurstDurationMs:0}).call("a"),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"])}),it("all timeouts zero",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"both",minGapMs:0,minQuietPeriodMs:0,maxBurstDurationMs:0});t.call("a"),t.call("b"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b"])})});describe("default minQuietPeriodMs === 0 when minGapMs is not defined",()=>{it("invokedAt: start",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"start"});t.call("a"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),t.call("b"),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),expect(e).toHaveBeenCalledTimes(1),t.call("c"),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["c"])}),it("invokedAt: both",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"both"});t.call("a"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),t.call("b"),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b"]),t.call("c"),expect(e).toHaveBeenCalledTimes(3),expect(e).toHaveBeenLastCalledWith(["c"])})});describe("utility functions",()=>{describe("flush",()=>{it("flush triggers an immediate invocation",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"end",minQuietPeriodMs:a});t.call("a"),t.call("b"),t.call("c"),t.flush(),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a","b","c"]),await _chunkHC3HZK4Qcjs.a.call(void 0, a),expect(e).toHaveBeenCalledTimes(1)}),it("flush during active burst",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"end",minQuietPeriodMs:2*a});t.call("a"),t.call("b"),t.call("c"),await _chunkHC3HZK4Qcjs.a.call(void 0, a),t.flush(),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a","b","c"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*a),expect(e).toHaveBeenCalledTimes(1)})}),describe("cancel",()=>{it("cancel prevents invocation",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"end",minQuietPeriodMs:a});t.call("a"),t.call("b"),t.call("c"),t.cancel(),await _chunkHC3HZK4Qcjs.a.call(void 0, a),expect(e).toHaveBeenCalledTimes(0)}),it("cancel during delay period",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"start",minGapMs:2*a});t.call("a"),t.call("b"),await _chunkHC3HZK4Qcjs.a.call(void 0, a),t.cancel(),await _chunkHC3HZK4Qcjs.a.call(void 0, a),expect(e).toHaveBeenCalledTimes(1)})}),describe("isIdle",()=>{it("isIdle reflects the funnel's state",()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"end",minQuietPeriodMs:a});expect(t.isIdle).toBe(!0),t.call("a"),expect(t.isIdle).toBe(!1),t.cancel(),expect(t.isIdle).toBe(!0)}),it("isIdle works when burst duration is 0",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"end",minQuietPeriodMs:0});expect(t.isIdle).toBe(!0),t.call("a"),t.call("b"),t.call("c"),expect(t.isIdle).toBe(!1),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),expect(t.isIdle).toBe(!0)})})});describe("edge-cases",()=>{it("bursts that start late don't prevent delayed invocations",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"both",minQuietPeriodMs:a,minGapMs:2*a});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 1.5*a),expect(e).toHaveBeenCalledTimes(1),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, .5*a),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b","c","d","e","f"])}),it("delay timeouts don't cause an invocation in the middle of bursts",async()=>{let e=vi.fn(),t=_chunkGOUUMCT7cjs.a.call(void 0, e,{reducer:i,triggerAt:"both",minQuietPeriodMs:2*a,minGapMs:a});t.call("a"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, a),t.call("b"),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, a),t.call("c"),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, a),t.call("d"),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, a),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, a),expect(e).toHaveBeenCalledTimes(2)})});
1
+ "use strict"; function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkHC3HZK4Qcjs = require('./chunk-HC3HZK4Q.cjs');var _chunkI5B54QDJcjs = require('./chunk-I5B54QDJ.cjs');var _chunkRMOD5JNBcjs = require('./chunk-RMOD5JNB.cjs');var _chunkWYRK6YJUcjs = require('./chunk-WYRK6YJU.cjs');var _chunkWLNQOMKLcjs = require('./chunk-WLNQOMKL.cjs');require('./chunk-MBGSSEZN.cjs');var l=16;function c(e,a){return e===void 0?[a]:[...e,a]}_chunkI5B54QDJcjs.a.call(void 0, "reducer behavior",()=>{_chunkI5B54QDJcjs.b.call(void 0, "passes the reduced arg to the executor",()=>{let e=_chunkI5B54QDJcjs.d.fn();_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:_chunkWLNQOMKLcjs.a.call(void 0, "hello world"),triggerAt:"start",minQuietPeriodMs:l}).call(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith("hello world")}),_chunkI5B54QDJcjs.b.call(void 0, "reduces call args",async()=>{let e=_chunkI5B54QDJcjs.d.fn(r=>{}),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:(r,m)=>(_nullishCoalesce(r, () => (0)))+m,minQuietPeriodMs:2*l,triggerAt:"end"});a.call(1),a.call(2),a.call(3),await _chunkHC3HZK4Qcjs.a.call(void 0, l),a.call(4),a.call(5),a.call(6),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(21)}),_chunkI5B54QDJcjs.b.call(void 0, "does not invoke if reduceArgs returns undefined",async()=>{let e=_chunkI5B54QDJcjs.d.fn();_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:_chunkWLNQOMKLcjs.a.call(void 0, void 0),triggerAt:"end",minQuietPeriodMs:l}).call(),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0)}),_chunkI5B54QDJcjs.b.call(void 0, "supports multiple arguments",()=>{let e=_chunkI5B54QDJcjs.d.fn();_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:(r,m,C,H)=>[r,m,C,H],triggerAt:"start",minQuietPeriodMs:l}).call(1,"a",!0),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith([void 0,1,"a",!0])}),_chunkI5B54QDJcjs.b.call(void 0, "reducer isn't called again when 'invokedAt: start'",async()=>{let e=_chunkI5B54QDJcjs.d.fn(c),a=_chunkRMOD5JNBcjs.a.call(void 0, _chunkWYRK6YJUcjs.a.call(void 0, ),{reducer:e,triggerAt:"start",minQuietPeriodMs:l});a.call("a"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(void 0,"a"),a.call("b"),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1)})});_chunkI5B54QDJcjs.a.call(void 0, "non-trivial (>0ms) timer duration",()=>{_chunkI5B54QDJcjs.a.call(void 0, "delay timer",()=>{_chunkI5B54QDJcjs.b.call(void 0, "invokedAt: start",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"start",minGapMs:l});a.call("a"),a.call("b"),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),a.call("d"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["d"])}),_chunkI5B54QDJcjs.b.call(void 0, "invokedAt: both",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"both",minGapMs:l});a.call("a"),a.call("b"),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b","c"]),a.call("d"),a.call("e"),a.call("f"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(3),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["d","e","f"])}),_chunkI5B54QDJcjs.b.call(void 0, "invocations in the middle of a window",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"both",minGapMs:l});a.call("a"),a.call("b"),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, .75*l),a.call("d"),a.call("e"),a.call("f"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, .75*l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b","c","d","e","f"])})}),_chunkI5B54QDJcjs.a.call(void 0, "burst timer",()=>{_chunkI5B54QDJcjs.b.call(void 0, "invokedAt: start",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"start",minQuietPeriodMs:l});a.call("a"),a.call("b"),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),a.call("d"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["d"])}),_chunkI5B54QDJcjs.b.call(void 0, "invokedAt: both",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"both",minQuietPeriodMs:l});a.call("a"),a.call("b"),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b","c"]),a.call("d"),a.call("e"),a.call("f"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(3),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["d"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(4),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["e","f"])}),_chunkI5B54QDJcjs.b.call(void 0, "invokedAt: end",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"end",minQuietPeriodMs:l});a.call("a"),a.call("b"),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a","b","c"]),a.call("e"),a.call("f"),a.call("g"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["e","f","g"])}),_chunkI5B54QDJcjs.b.call(void 0, "invocations in the middle of a window",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"end",minQuietPeriodMs:l});a.call("a"),a.call("b"),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, .9*l),a.call("d"),a.call("e"),a.call("f"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, .1*l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a","b","c","d","e","f"])}),_chunkI5B54QDJcjs.b.call(void 0, "maxBurstDurationMs limits the burst duration",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,minQuietPeriodMs:l,maxBurstDurationMs:2*l,triggerAt:"end"});a.call("a"),await _chunkHC3HZK4Qcjs.a.call(void 0, .75*l),a.call("b"),await _chunkHC3HZK4Qcjs.a.call(void 0, .75*l),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, .75*l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a","b","c"])})}),_chunkI5B54QDJcjs.a.call(void 0, "both timers",()=>{_chunkI5B54QDJcjs.b.call(void 0, "delay is longer than burst",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,minGapMs:2*l,minQuietPeriodMs:l,triggerAt:"both"});a.call("a"),a.call("b"),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),a.call("d"),a.call("e"),a.call("f"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b","c","d","e","f"])}),_chunkI5B54QDJcjs.b.call(void 0, "burst is longer than delay",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,minGapMs:l,minQuietPeriodMs:2*l,triggerAt:"both"});a.call("a"),a.call("b"),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),a.call("d"),a.call("e"),a.call("f"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b","c","d","e","f"])}),_chunkI5B54QDJcjs.b.call(void 0, "burst and delay are equal",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,minGapMs:l,minQuietPeriodMs:l,triggerAt:"both"});a.call("a"),a.call("b"),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),a.call("d"),a.call("e"),a.call("f"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b","c"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(3),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["d","e","f"])}),_chunkI5B54QDJcjs.b.call(void 0, "delay and maxBurstDurationMs are equal",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,minGapMs:l,minQuietPeriodMs:2*l,maxBurstDurationMs:l,triggerAt:"both"});a.call("a"),a.call("b"),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),a.call("d"),a.call("e"),a.call("f"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b","c"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(3),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["d","e","f"])})})});_chunkI5B54QDJcjs.a.call(void 0, "immediate (===0) timer durations",()=>{_chunkI5B54QDJcjs.a.call(void 0, "delay timer",()=>{_chunkI5B54QDJcjs.b.call(void 0, "invokedAt: start",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"start",minGapMs:0});a.call("a"),a.call("b"),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),a.call("d"),a.call("e"),a.call("f"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["d"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2)}),_chunkI5B54QDJcjs.b.call(void 0, "invokedAt: both",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"both",minGapMs:0});a.call("a"),a.call("b"),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),a.call("d"),a.call("e"),a.call("f"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b","c"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(3),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["d","e","f"])}),_chunkI5B54QDJcjs.b.call(void 0, "with a non-trivial burst timer",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"both",minGapMs:0,minQuietPeriodMs:l});a.call("a"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),a.call("b"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b"])})}),_chunkI5B54QDJcjs.a.call(void 0, "burst timer",()=>{_chunkI5B54QDJcjs.b.call(void 0, "invokedAt: start",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"start",minQuietPeriodMs:0});a.call("a"),a.call("b"),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),a.call("d"),a.call("e"),a.call("f"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["d"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2)}),_chunkI5B54QDJcjs.b.call(void 0, "invokedAt: both",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"both",minQuietPeriodMs:0});a.call("a"),a.call("b"),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b","c"]),a.call("d"),a.call("e"),a.call("f"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(3),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["d"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(4),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["e","f"])}),_chunkI5B54QDJcjs.b.call(void 0, "invokedAt: end",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"end",minQuietPeriodMs:0});a.call("a"),a.call("b"),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a","b","c"]),a.call("d"),a.call("e"),a.call("f"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["d","e","f"])}),_chunkI5B54QDJcjs.b.call(void 0, "with a non-trivial delay timer",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"both",minGapMs:l,minQuietPeriodMs:0});a.call("a"),a.call("b"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b"])}),_chunkI5B54QDJcjs.b.call(void 0, "burst timer with non-trivial maxBurstDuration",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,minQuietPeriodMs:0,maxBurstDurationMs:l,triggerAt:"end"});a.call("a"),a.call("b"),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a","b","c"])})}),_chunkI5B54QDJcjs.b.call(void 0, "both timers",async()=>{let e=_chunkI5B54QDJcjs.d.fn();_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"both",minGapMs:0,minQuietPeriodMs:0}).call("a"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1)}),_chunkI5B54QDJcjs.b.call(void 0, "maxBurstDurationMs = 0 limits the burst immediately",async()=>{let e=_chunkI5B54QDJcjs.d.fn();_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"end",minQuietPeriodMs:l,maxBurstDurationMs:0}).call("a"),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"])}),_chunkI5B54QDJcjs.b.call(void 0, "all timeouts zero",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"both",minGapMs:0,minQuietPeriodMs:0,maxBurstDurationMs:0});a.call("a"),a.call("b"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b"])})});_chunkI5B54QDJcjs.a.call(void 0, "default minQuietPeriodMs === 0 when minGapMs is not defined",()=>{_chunkI5B54QDJcjs.b.call(void 0, "invokedAt: start",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"start"});a.call("a"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),a.call("b"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["c"])}),_chunkI5B54QDJcjs.b.call(void 0, "invokedAt: both",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"both"});a.call("a"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),a.call("b"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b"]),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(3),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["c"])})});_chunkI5B54QDJcjs.a.call(void 0, "utility functions",()=>{_chunkI5B54QDJcjs.a.call(void 0, "flush",()=>{_chunkI5B54QDJcjs.b.call(void 0, "flush triggers an immediate invocation",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"end",minQuietPeriodMs:l});a.call("a"),a.call("b"),a.call("c"),a.flush(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a","b","c"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1)}),_chunkI5B54QDJcjs.b.call(void 0, "flush during active burst",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"end",minQuietPeriodMs:2*l});a.call("a"),a.call("b"),a.call("c"),await _chunkHC3HZK4Qcjs.a.call(void 0, l),a.flush(),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a","b","c"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1)})}),_chunkI5B54QDJcjs.a.call(void 0, "cancel",()=>{_chunkI5B54QDJcjs.b.call(void 0, "cancel prevents invocation",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"end",minQuietPeriodMs:l});a.call("a"),a.call("b"),a.call("c"),a.cancel(),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(0)}),_chunkI5B54QDJcjs.b.call(void 0, "cancel during delay period",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"start",minGapMs:2*l});a.call("a"),a.call("b"),await _chunkHC3HZK4Qcjs.a.call(void 0, l),a.cancel(),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1)})}),_chunkI5B54QDJcjs.a.call(void 0, "isIdle",()=>{_chunkI5B54QDJcjs.b.call(void 0, "isIdle reflects the funnel's state",()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"end",minQuietPeriodMs:l});_chunkI5B54QDJcjs.c.call(void 0, a.isIdle).toBe(!0),a.call("a"),_chunkI5B54QDJcjs.c.call(void 0, a.isIdle).toBe(!1),a.cancel(),_chunkI5B54QDJcjs.c.call(void 0, a.isIdle).toBe(!0)}),_chunkI5B54QDJcjs.b.call(void 0, "isIdle works when burst duration is 0",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"end",minQuietPeriodMs:0});_chunkI5B54QDJcjs.c.call(void 0, a.isIdle).toBe(!0),a.call("a"),a.call("b"),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, a.isIdle).toBe(!1),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkI5B54QDJcjs.c.call(void 0, a.isIdle).toBe(!0)})})});_chunkI5B54QDJcjs.a.call(void 0, "edge-cases",()=>{_chunkI5B54QDJcjs.b.call(void 0, "bursts that start late don't prevent delayed invocations",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"both",minQuietPeriodMs:l,minGapMs:2*l});a.call("a"),a.call("b"),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 1.5*l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),a.call("d"),a.call("e"),a.call("f"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, .5*l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b","c","d","e","f"])}),_chunkI5B54QDJcjs.b.call(void 0, "delay timeouts don't cause an invocation in the middle of bursts",async()=>{let e=_chunkI5B54QDJcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"both",minQuietPeriodMs:2*l,minGapMs:l});a.call("a"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),a.call("b"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, l),a.call("c"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, l),a.call("d"),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkI5B54QDJcjs.c.call(void 0, e).toHaveBeenCalledTimes(2)})});
@@ -1 +1 @@
1
- import{a as l}from"./chunk-6SYP2DRD.js";import{a as c}from"./chunk-AWXJSK4F.js";import{a as d}from"./chunk-AFO7BV2X.js";import{a as s}from"./chunk-T5XG33UI.js";var a=16;function i(e,t){return e===void 0?[t]:[...e,t]}describe("reducer behavior",()=>{it("passes the reduced arg to the executor",()=>{let e=vi.fn();c(e,{reducer:s("hello world"),triggerAt:"start",minQuietPeriodMs:a}).call(),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith("hello world")}),it("reduces call args",async()=>{let e=vi.fn(n=>{}),t=c(e,{reducer:(n,o)=>(n??0)+o,minQuietPeriodMs:2*a,triggerAt:"end"});t.call(1),t.call(2),t.call(3),await l(a),t.call(4),t.call(5),t.call(6),await l(2*a),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(21)}),it("does not invoke if reduceArgs returns undefined",async()=>{let e=vi.fn();c(e,{reducer:s(void 0),triggerAt:"end",minQuietPeriodMs:a}).call(),await l(2*a),expect(e).toHaveBeenCalledTimes(0)}),it("supports multiple arguments",()=>{let e=vi.fn();c(e,{reducer:(n,o,r,m)=>[n,o,r,m],triggerAt:"start",minQuietPeriodMs:a}).call(1,"a",!0),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith([void 0,1,"a",!0])}),it("reducer isn't called again when 'invokedAt: start'",async()=>{let e=vi.fn(i),t=c(d(),{reducer:e,triggerAt:"start",minQuietPeriodMs:a});t.call("a"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(void 0,"a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),await l(2*a),expect(e).toHaveBeenCalledTimes(1)})});describe("non-trivial (>0ms) timer duration",()=>{describe("delay timer",()=>{it("invokedAt: start",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"start",minGapMs:a});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await l(a),expect(e).toHaveBeenCalledTimes(1),t.call("d"),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["d"])}),it("invokedAt: both",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"both",minGapMs:a});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await l(a),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b","c"]),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(2),await l(a),expect(e).toHaveBeenCalledTimes(3),expect(e).toHaveBeenLastCalledWith(["d","e","f"])}),it("invocations in the middle of a window",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"both",minGapMs:a});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await l(.75*a),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(1),await l(.75*a),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b","c","d","e","f"])})}),describe("burst timer",()=>{it("invokedAt: start",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"start",minQuietPeriodMs:a});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await l(a),expect(e).toHaveBeenCalledTimes(1),t.call("d"),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["d"])}),it("invokedAt: both",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"both",minQuietPeriodMs:a});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await l(a),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b","c"]),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(3),expect(e).toHaveBeenLastCalledWith(["d"]),await l(a),expect(e).toHaveBeenCalledTimes(4),expect(e).toHaveBeenLastCalledWith(["e","f"])}),it("invokedAt: end",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"end",minQuietPeriodMs:a});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(0),await l(a),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a","b","c"]),t.call("e"),t.call("f"),t.call("g"),expect(e).toHaveBeenCalledTimes(1),await l(a),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["e","f","g"])}),it("invocations in the middle of a window",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"end",minQuietPeriodMs:a});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(0),await l(.9*a),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(0),await l(.1*a),expect(e).toHaveBeenCalledTimes(0),await l(a),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a","b","c","d","e","f"])}),it("maxBurstDurationMs limits the burst duration",async()=>{let e=vi.fn(),t=c(e,{reducer:i,minQuietPeriodMs:a,maxBurstDurationMs:2*a,triggerAt:"end"});t.call("a"),await l(.75*a),t.call("b"),await l(.75*a),t.call("c"),expect(e).toHaveBeenCalledTimes(0),await l(.75*a),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a","b","c"])})}),describe("both timers",()=>{it("delay is longer than burst",async()=>{let e=vi.fn(),t=c(e,{reducer:i,minGapMs:2*a,minQuietPeriodMs:a,triggerAt:"both"});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await l(a),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(1),await l(a),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b","c","d","e","f"])}),it("burst is longer than delay",async()=>{let e=vi.fn(),t=c(e,{reducer:i,minGapMs:a,minQuietPeriodMs:2*a,triggerAt:"both"});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await l(a),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(1),await l(a),expect(e).toHaveBeenCalledTimes(1),await l(a),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b","c","d","e","f"])}),it("burst and delay are equal",async()=>{let e=vi.fn(),t=c(e,{reducer:i,minGapMs:a,minQuietPeriodMs:a,triggerAt:"both"});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await l(a),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b","c"]),await l(a),expect(e).toHaveBeenCalledTimes(3),expect(e).toHaveBeenLastCalledWith(["d","e","f"])}),it("delay and maxBurstDurationMs are equal",async()=>{let e=vi.fn(),t=c(e,{reducer:i,minGapMs:a,minQuietPeriodMs:2*a,maxBurstDurationMs:a,triggerAt:"both"});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await l(a),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b","c"]),await l(a),expect(e).toHaveBeenCalledTimes(3),expect(e).toHaveBeenLastCalledWith(["d","e","f"])})})});describe("immediate (===0) timer durations",()=>{describe("delay timer",()=>{it("invokedAt: start",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"start",minGapMs:0});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await l(0),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["d"]),await l(0),expect(e).toHaveBeenCalledTimes(2)}),it("invokedAt: both",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"both",minGapMs:0});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await l(0),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b","c"]),await l(0),expect(e).toHaveBeenCalledTimes(3),expect(e).toHaveBeenLastCalledWith(["d","e","f"])}),it("with a non-trivial burst timer",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"both",minGapMs:0,minQuietPeriodMs:a});t.call("a"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),t.call("b"),expect(e).toHaveBeenCalledTimes(1),await l(a),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b"])})}),describe("burst timer",()=>{it("invokedAt: start",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"start",minQuietPeriodMs:0});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await l(0),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["d"]),await l(0),expect(e).toHaveBeenCalledTimes(2)}),it("invokedAt: both",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"both",minQuietPeriodMs:0});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await l(0),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b","c"]),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(3),expect(e).toHaveBeenLastCalledWith(["d"]),await l(0),expect(e).toHaveBeenCalledTimes(4),expect(e).toHaveBeenLastCalledWith(["e","f"])}),it("invokedAt: end",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"end",minQuietPeriodMs:0});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(0),await l(0),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a","b","c"]),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(1),await l(0),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["d","e","f"])}),it("with a non-trivial delay timer",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"both",minGapMs:a,minQuietPeriodMs:0});t.call("a"),t.call("b"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await l(0),expect(e).toHaveBeenCalledTimes(1),await l(a),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b"])}),it("burst timer with non-trivial maxBurstDuration",async()=>{let e=vi.fn(),t=c(e,{reducer:i,minQuietPeriodMs:0,maxBurstDurationMs:a,triggerAt:"end"});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(0),await l(0),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a","b","c"])})}),it("both timers",async()=>{let e=vi.fn();c(e,{reducer:i,triggerAt:"both",minGapMs:0,minQuietPeriodMs:0}).call("a"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await l(0),expect(e).toHaveBeenCalledTimes(1)}),it("maxBurstDurationMs = 0 limits the burst immediately",async()=>{let e=vi.fn();c(e,{reducer:i,triggerAt:"end",minQuietPeriodMs:a,maxBurstDurationMs:0}).call("a"),await l(0),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"])}),it("all timeouts zero",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"both",minGapMs:0,minQuietPeriodMs:0,maxBurstDurationMs:0});t.call("a"),t.call("b"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await l(0),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b"])})});describe("default minQuietPeriodMs === 0 when minGapMs is not defined",()=>{it("invokedAt: start",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"start"});t.call("a"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),t.call("b"),expect(e).toHaveBeenCalledTimes(1),await l(0),expect(e).toHaveBeenCalledTimes(1),t.call("c"),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["c"])}),it("invokedAt: both",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"both"});t.call("a"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),t.call("b"),expect(e).toHaveBeenCalledTimes(1),await l(0),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b"]),t.call("c"),expect(e).toHaveBeenCalledTimes(3),expect(e).toHaveBeenLastCalledWith(["c"])})});describe("utility functions",()=>{describe("flush",()=>{it("flush triggers an immediate invocation",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"end",minQuietPeriodMs:a});t.call("a"),t.call("b"),t.call("c"),t.flush(),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a","b","c"]),await l(a),expect(e).toHaveBeenCalledTimes(1)}),it("flush during active burst",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"end",minQuietPeriodMs:2*a});t.call("a"),t.call("b"),t.call("c"),await l(a),t.flush(),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a","b","c"]),await l(2*a),expect(e).toHaveBeenCalledTimes(1)})}),describe("cancel",()=>{it("cancel prevents invocation",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"end",minQuietPeriodMs:a});t.call("a"),t.call("b"),t.call("c"),t.cancel(),await l(a),expect(e).toHaveBeenCalledTimes(0)}),it("cancel during delay period",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"start",minGapMs:2*a});t.call("a"),t.call("b"),await l(a),t.cancel(),await l(a),expect(e).toHaveBeenCalledTimes(1)})}),describe("isIdle",()=>{it("isIdle reflects the funnel's state",()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"end",minQuietPeriodMs:a});expect(t.isIdle).toBe(!0),t.call("a"),expect(t.isIdle).toBe(!1),t.cancel(),expect(t.isIdle).toBe(!0)}),it("isIdle works when burst duration is 0",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"end",minQuietPeriodMs:0});expect(t.isIdle).toBe(!0),t.call("a"),t.call("b"),t.call("c"),expect(t.isIdle).toBe(!1),await l(0),expect(t.isIdle).toBe(!0)})})});describe("edge-cases",()=>{it("bursts that start late don't prevent delayed invocations",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"both",minQuietPeriodMs:a,minGapMs:2*a});t.call("a"),t.call("b"),t.call("c"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await l(1.5*a),expect(e).toHaveBeenCalledTimes(1),t.call("d"),t.call("e"),t.call("f"),expect(e).toHaveBeenCalledTimes(1),await l(.5*a),expect(e).toHaveBeenCalledTimes(2),expect(e).toHaveBeenLastCalledWith(["b","c","d","e","f"])}),it("delay timeouts don't cause an invocation in the middle of bursts",async()=>{let e=vi.fn(),t=c(e,{reducer:i,triggerAt:"both",minQuietPeriodMs:2*a,minGapMs:a});t.call("a"),expect(e).toHaveBeenCalledTimes(1),expect(e).toHaveBeenLastCalledWith(["a"]),await l(a),t.call("b"),expect(e).toHaveBeenCalledTimes(1),await l(a),t.call("c"),expect(e).toHaveBeenCalledTimes(1),await l(a),t.call("d"),expect(e).toHaveBeenCalledTimes(1),await l(a),expect(e).toHaveBeenCalledTimes(1),await l(a),expect(e).toHaveBeenCalledTimes(2)})});
1
+ import{a as n}from"./chunk-6SYP2DRD.js";import{a as d,b as o,c as t,d as i}from"./chunk-VVGDSDKI.js";import{a as s}from"./chunk-YWIXN5BR.js";import{a as B}from"./chunk-AFO7BV2X.js";import{a as v}from"./chunk-T5XG33UI.js";import"./chunk-EK7ODJWE.js";var l=16;function c(e,a){return e===void 0?[a]:[...e,a]}d("reducer behavior",()=>{o("passes the reduced arg to the executor",()=>{let e=i.fn();s(e,{reducer:v("hello world"),triggerAt:"start",minQuietPeriodMs:l}).call(),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith("hello world")}),o("reduces call args",async()=>{let e=i.fn(r=>{}),a=s(e,{reducer:(r,m)=>(r??0)+m,minQuietPeriodMs:2*l,triggerAt:"end"});a.call(1),a.call(2),a.call(3),await n(l),a.call(4),a.call(5),a.call(6),await n(2*l),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(21)}),o("does not invoke if reduceArgs returns undefined",async()=>{let e=i.fn();s(e,{reducer:v(void 0),triggerAt:"end",minQuietPeriodMs:l}).call(),await n(2*l),t(e).toHaveBeenCalledTimes(0)}),o("supports multiple arguments",()=>{let e=i.fn();s(e,{reducer:(r,m,C,H)=>[r,m,C,H],triggerAt:"start",minQuietPeriodMs:l}).call(1,"a",!0),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([void 0,1,"a",!0])}),o("reducer isn't called again when 'invokedAt: start'",async()=>{let e=i.fn(c),a=s(B(),{reducer:e,triggerAt:"start",minQuietPeriodMs:l});a.call("a"),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(void 0,"a"),a.call("b"),a.call("c"),t(e).toHaveBeenCalledTimes(1),await n(2*l),t(e).toHaveBeenCalledTimes(1)})});d("non-trivial (>0ms) timer duration",()=>{d("delay timer",()=>{o("invokedAt: start",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"start",minGapMs:l});a.call("a"),a.call("b"),a.call("c"),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a"]),await n(l),t(e).toHaveBeenCalledTimes(1),a.call("d"),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith(["d"])}),o("invokedAt: both",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"both",minGapMs:l});a.call("a"),a.call("b"),a.call("c"),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a"]),await n(l),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith(["b","c"]),a.call("d"),a.call("e"),a.call("f"),t(e).toHaveBeenCalledTimes(2),await n(l),t(e).toHaveBeenCalledTimes(3),t(e).toHaveBeenLastCalledWith(["d","e","f"])}),o("invocations in the middle of a window",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"both",minGapMs:l});a.call("a"),a.call("b"),a.call("c"),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a"]),await n(.75*l),a.call("d"),a.call("e"),a.call("f"),t(e).toHaveBeenCalledTimes(1),await n(.75*l),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith(["b","c","d","e","f"])})}),d("burst timer",()=>{o("invokedAt: start",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"start",minQuietPeriodMs:l});a.call("a"),a.call("b"),a.call("c"),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a"]),await n(l),t(e).toHaveBeenCalledTimes(1),a.call("d"),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith(["d"])}),o("invokedAt: both",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"both",minQuietPeriodMs:l});a.call("a"),a.call("b"),a.call("c"),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a"]),await n(l),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith(["b","c"]),a.call("d"),a.call("e"),a.call("f"),t(e).toHaveBeenCalledTimes(3),t(e).toHaveBeenLastCalledWith(["d"]),await n(l),t(e).toHaveBeenCalledTimes(4),t(e).toHaveBeenLastCalledWith(["e","f"])}),o("invokedAt: end",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"end",minQuietPeriodMs:l});a.call("a"),a.call("b"),a.call("c"),t(e).toHaveBeenCalledTimes(0),await n(l),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a","b","c"]),a.call("e"),a.call("f"),a.call("g"),t(e).toHaveBeenCalledTimes(1),await n(l),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith(["e","f","g"])}),o("invocations in the middle of a window",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"end",minQuietPeriodMs:l});a.call("a"),a.call("b"),a.call("c"),t(e).toHaveBeenCalledTimes(0),await n(.9*l),a.call("d"),a.call("e"),a.call("f"),t(e).toHaveBeenCalledTimes(0),await n(.1*l),t(e).toHaveBeenCalledTimes(0),await n(l),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a","b","c","d","e","f"])}),o("maxBurstDurationMs limits the burst duration",async()=>{let e=i.fn(),a=s(e,{reducer:c,minQuietPeriodMs:l,maxBurstDurationMs:2*l,triggerAt:"end"});a.call("a"),await n(.75*l),a.call("b"),await n(.75*l),a.call("c"),t(e).toHaveBeenCalledTimes(0),await n(.75*l),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a","b","c"])})}),d("both timers",()=>{o("delay is longer than burst",async()=>{let e=i.fn(),a=s(e,{reducer:c,minGapMs:2*l,minQuietPeriodMs:l,triggerAt:"both"});a.call("a"),a.call("b"),a.call("c"),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a"]),await n(l),a.call("d"),a.call("e"),a.call("f"),t(e).toHaveBeenCalledTimes(1),await n(l),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith(["b","c","d","e","f"])}),o("burst is longer than delay",async()=>{let e=i.fn(),a=s(e,{reducer:c,minGapMs:l,minQuietPeriodMs:2*l,triggerAt:"both"});a.call("a"),a.call("b"),a.call("c"),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a"]),await n(l),a.call("d"),a.call("e"),a.call("f"),t(e).toHaveBeenCalledTimes(1),await n(l),t(e).toHaveBeenCalledTimes(1),await n(l),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith(["b","c","d","e","f"])}),o("burst and delay are equal",async()=>{let e=i.fn(),a=s(e,{reducer:c,minGapMs:l,minQuietPeriodMs:l,triggerAt:"both"});a.call("a"),a.call("b"),a.call("c"),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a"]),await n(l),a.call("d"),a.call("e"),a.call("f"),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith(["b","c"]),await n(l),t(e).toHaveBeenCalledTimes(3),t(e).toHaveBeenLastCalledWith(["d","e","f"])}),o("delay and maxBurstDurationMs are equal",async()=>{let e=i.fn(),a=s(e,{reducer:c,minGapMs:l,minQuietPeriodMs:2*l,maxBurstDurationMs:l,triggerAt:"both"});a.call("a"),a.call("b"),a.call("c"),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a"]),await n(l),a.call("d"),a.call("e"),a.call("f"),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith(["b","c"]),await n(l),t(e).toHaveBeenCalledTimes(3),t(e).toHaveBeenLastCalledWith(["d","e","f"])})})});d("immediate (===0) timer durations",()=>{d("delay timer",()=>{o("invokedAt: start",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"start",minGapMs:0});a.call("a"),a.call("b"),a.call("c"),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a"]),await n(0),a.call("d"),a.call("e"),a.call("f"),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith(["d"]),await n(0),t(e).toHaveBeenCalledTimes(2)}),o("invokedAt: both",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"both",minGapMs:0});a.call("a"),a.call("b"),a.call("c"),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a"]),await n(0),a.call("d"),a.call("e"),a.call("f"),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith(["b","c"]),await n(0),t(e).toHaveBeenCalledTimes(3),t(e).toHaveBeenLastCalledWith(["d","e","f"])}),o("with a non-trivial burst timer",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"both",minGapMs:0,minQuietPeriodMs:l});a.call("a"),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a"]),a.call("b"),t(e).toHaveBeenCalledTimes(1),await n(l),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith(["b"])})}),d("burst timer",()=>{o("invokedAt: start",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"start",minQuietPeriodMs:0});a.call("a"),a.call("b"),a.call("c"),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a"]),await n(0),a.call("d"),a.call("e"),a.call("f"),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith(["d"]),await n(0),t(e).toHaveBeenCalledTimes(2)}),o("invokedAt: both",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"both",minQuietPeriodMs:0});a.call("a"),a.call("b"),a.call("c"),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a"]),await n(0),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith(["b","c"]),a.call("d"),a.call("e"),a.call("f"),t(e).toHaveBeenCalledTimes(3),t(e).toHaveBeenLastCalledWith(["d"]),await n(0),t(e).toHaveBeenCalledTimes(4),t(e).toHaveBeenLastCalledWith(["e","f"])}),o("invokedAt: end",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"end",minQuietPeriodMs:0});a.call("a"),a.call("b"),a.call("c"),t(e).toHaveBeenCalledTimes(0),await n(0),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a","b","c"]),a.call("d"),a.call("e"),a.call("f"),t(e).toHaveBeenCalledTimes(1),await n(0),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith(["d","e","f"])}),o("with a non-trivial delay timer",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"both",minGapMs:l,minQuietPeriodMs:0});a.call("a"),a.call("b"),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a"]),await n(0),t(e).toHaveBeenCalledTimes(1),await n(l),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith(["b"])}),o("burst timer with non-trivial maxBurstDuration",async()=>{let e=i.fn(),a=s(e,{reducer:c,minQuietPeriodMs:0,maxBurstDurationMs:l,triggerAt:"end"});a.call("a"),a.call("b"),a.call("c"),t(e).toHaveBeenCalledTimes(0),await n(0),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a","b","c"])})}),o("both timers",async()=>{let e=i.fn();s(e,{reducer:c,triggerAt:"both",minGapMs:0,minQuietPeriodMs:0}).call("a"),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a"]),await n(0),t(e).toHaveBeenCalledTimes(1)}),o("maxBurstDurationMs = 0 limits the burst immediately",async()=>{let e=i.fn();s(e,{reducer:c,triggerAt:"end",minQuietPeriodMs:l,maxBurstDurationMs:0}).call("a"),await n(0),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a"])}),o("all timeouts zero",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"both",minGapMs:0,minQuietPeriodMs:0,maxBurstDurationMs:0});a.call("a"),a.call("b"),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a"]),await n(0),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith(["b"])})});d("default minQuietPeriodMs === 0 when minGapMs is not defined",()=>{o("invokedAt: start",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"start"});a.call("a"),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a"]),a.call("b"),t(e).toHaveBeenCalledTimes(1),await n(0),t(e).toHaveBeenCalledTimes(1),a.call("c"),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith(["c"])}),o("invokedAt: both",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"both"});a.call("a"),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a"]),a.call("b"),t(e).toHaveBeenCalledTimes(1),await n(0),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith(["b"]),a.call("c"),t(e).toHaveBeenCalledTimes(3),t(e).toHaveBeenLastCalledWith(["c"])})});d("utility functions",()=>{d("flush",()=>{o("flush triggers an immediate invocation",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"end",minQuietPeriodMs:l});a.call("a"),a.call("b"),a.call("c"),a.flush(),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a","b","c"]),await n(l),t(e).toHaveBeenCalledTimes(1)}),o("flush during active burst",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"end",minQuietPeriodMs:2*l});a.call("a"),a.call("b"),a.call("c"),await n(l),a.flush(),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a","b","c"]),await n(2*l),t(e).toHaveBeenCalledTimes(1)})}),d("cancel",()=>{o("cancel prevents invocation",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"end",minQuietPeriodMs:l});a.call("a"),a.call("b"),a.call("c"),a.cancel(),await n(l),t(e).toHaveBeenCalledTimes(0)}),o("cancel during delay period",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"start",minGapMs:2*l});a.call("a"),a.call("b"),await n(l),a.cancel(),await n(l),t(e).toHaveBeenCalledTimes(1)})}),d("isIdle",()=>{o("isIdle reflects the funnel's state",()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"end",minQuietPeriodMs:l});t(a.isIdle).toBe(!0),a.call("a"),t(a.isIdle).toBe(!1),a.cancel(),t(a.isIdle).toBe(!0)}),o("isIdle works when burst duration is 0",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"end",minQuietPeriodMs:0});t(a.isIdle).toBe(!0),a.call("a"),a.call("b"),a.call("c"),t(a.isIdle).toBe(!1),await n(0),t(a.isIdle).toBe(!0)})})});d("edge-cases",()=>{o("bursts that start late don't prevent delayed invocations",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"both",minQuietPeriodMs:l,minGapMs:2*l});a.call("a"),a.call("b"),a.call("c"),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a"]),await n(1.5*l),t(e).toHaveBeenCalledTimes(1),a.call("d"),a.call("e"),a.call("f"),t(e).toHaveBeenCalledTimes(1),await n(.5*l),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith(["b","c","d","e","f"])}),o("delay timeouts don't cause an invocation in the middle of bursts",async()=>{let e=i.fn(),a=s(e,{reducer:c,triggerAt:"both",minQuietPeriodMs:2*l,minGapMs:l});a.call("a"),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(["a"]),await n(l),a.call("b"),t(e).toHaveBeenCalledTimes(1),await n(l),a.call("c"),t(e).toHaveBeenCalledTimes(1),await n(l),a.call("d"),t(e).toHaveBeenCalledTimes(1),await n(l),t(e).toHaveBeenCalledTimes(1),await n(l),t(e).toHaveBeenCalledTimes(2)})});
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkHSNPZS6Rcjs = require('./chunk-HSNPZS6R.cjs');require('./chunk-XR72I63W.cjs');require('./chunk-GZJMERDJ.cjs');exports.groupByProp = _chunkHSNPZS6Rcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkHSNPZS6Rcjs = require('./chunk-HSNPZS6R.cjs');require('./chunk-XR72I63W.cjs');require('./chunk-GZJMERDJ.cjs');require('./chunk-MBGSSEZN.cjs');exports.groupByProp = _chunkHSNPZS6Rcjs.a;
@@ -1,12 +1,13 @@
1
1
  import { ConditionalKeys, AllUnionFields, IfNever, Merge, And } from 'type-fest';
2
- import { A as ArrayRequiredPrefix } from './array-required-prefix-BW08fIbb.cjs';
3
- import { B as BoundedPartial } from './bounded-partial-wqR8ceNQ.cjs';
4
- import { F as FilteredArray } from './filtered-array-DX6NNaBq.cjs';
2
+ import { A as ArrayRequiredPrefix } from './array-required-prefix-Ck4lHkbA.cjs';
3
+ import { B as BoundedPartial } from './bounded-partial-BhnecV3P.cjs';
4
+ import { F as FilteredArray } from './filtered-array-BCjySbC6.cjs';
5
5
  import { I as IterableContainer } from './iterable-container-BTpDVdNc.cjs';
6
- import { T as TupleParts } from './tuple-parts-DAqFAJP8.cjs';
6
+ import { T as TupleParts } from './tuple-parts-v6av7LMU.cjs';
7
7
  import './clamped-integer-subtract-DZ7rsJE4.cjs';
8
8
  import './coerced-array-DRz3tqda.cjs';
9
- import './if-bounded-record-Drd4UbBU.cjs';
9
+ import './perkakas-type-error-8wPb8T2y.cjs';
10
+ import './is-bounded-record-C9WAwfA8.cjs';
10
11
 
11
12
  type GroupByProp<T extends IterableContainer, Prop extends GroupableProps<T>> = T extends unknown ? FixEmptyObject<EnsureValuesAreNonEmpty<{
12
13
  [Value in AllPropValues<T, Prop>]: FilteredArray<T, Record<Prop, Value>>;
@@ -1,12 +1,13 @@
1
1
  import { ConditionalKeys, AllUnionFields, IfNever, Merge, And } from 'type-fest';
2
- import { A as ArrayRequiredPrefix } from './array-required-prefix-a3sgCkd2.js';
3
- import { B as BoundedPartial } from './bounded-partial-CJjczH6j.js';
4
- import { F as FilteredArray } from './filtered-array-BNHX1Nwj.js';
2
+ import { A as ArrayRequiredPrefix } from './array-required-prefix-DXv_WnmG.js';
3
+ import { B as BoundedPartial } from './bounded-partial-B15MLSAS.js';
4
+ import { F as FilteredArray } from './filtered-array-JKATL39M.js';
5
5
  import { I as IterableContainer } from './iterable-container-BTpDVdNc.js';
6
- import { T as TupleParts } from './tuple-parts-CrwnkDKX.js';
6
+ import { T as TupleParts } from './tuple-parts-BTivqbtT.js';
7
7
  import './clamped-integer-subtract-DZ7rsJE4.js';
8
8
  import './coerced-array-DRz3tqda.js';
9
- import './if-bounded-record-Drd4UbBU.js';
9
+ import './perkakas-type-error-8wPb8T2y.js';
10
+ import './is-bounded-record-C9WAwfA8.js';
10
11
 
11
12
  type GroupByProp<T extends IterableContainer, Prop extends GroupableProps<T>> = T extends unknown ? FixEmptyObject<EnsureValuesAreNonEmpty<{
12
13
  [Value in AllPropValues<T, Prop>]: FilteredArray<T, Record<Prop, Value>>;
@@ -1 +1 @@
1
- import{a}from"./chunk-6M4IYQFZ.js";import"./chunk-J6WPJH72.js";import"./chunk-KGPDVVVV.js";export{a as groupByProp};
1
+ import{a}from"./chunk-6M4IYQFZ.js";import"./chunk-J6WPJH72.js";import"./chunk-KGPDVVVV.js";import"./chunk-EK7ODJWE.js";export{a as groupByProp};
package/dist/group-by.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkGW4KDK3Dcjs = require('./chunk-GW4KDK3D.cjs');require('./chunk-XR72I63W.cjs');require('./chunk-GZJMERDJ.cjs');exports.groupBy = _chunkGW4KDK3Dcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkGW4KDK3Dcjs = require('./chunk-GW4KDK3D.cjs');require('./chunk-XR72I63W.cjs');require('./chunk-GZJMERDJ.cjs');require('./chunk-MBGSSEZN.cjs');exports.groupBy = _chunkGW4KDK3Dcjs.a;
@@ -1,6 +1,6 @@
1
- import { B as BoundedPartial } from './bounded-partial-wqR8ceNQ.cjs';
1
+ import { B as BoundedPartial } from './bounded-partial-BhnecV3P.cjs';
2
2
  import { N as NonEmptyArray } from './non-empty-array-C9Od1wmF.cjs';
3
- import './if-bounded-record-Drd4UbBU.cjs';
3
+ import './is-bounded-record-C9WAwfA8.cjs';
4
4
  import 'type-fest';
5
5
 
6
6
  /**
@@ -1,6 +1,6 @@
1
- import { B as BoundedPartial } from './bounded-partial-CJjczH6j.js';
1
+ import { B as BoundedPartial } from './bounded-partial-B15MLSAS.js';
2
2
  import { N as NonEmptyArray } from './non-empty-array-C9Od1wmF.js';
3
- import './if-bounded-record-Drd4UbBU.js';
3
+ import './is-bounded-record-C9WAwfA8.js';
4
4
  import 'type-fest';
5
5
 
6
6
  /**
package/dist/group-by.js CHANGED
@@ -1 +1 @@
1
- import{a}from"./chunk-44LUF6RO.js";import"./chunk-J6WPJH72.js";import"./chunk-KGPDVVVV.js";export{a as groupBy};
1
+ import{a}from"./chunk-44LUF6RO.js";import"./chunk-J6WPJH72.js";import"./chunk-KGPDVVVV.js";import"./chunk-EK7ODJWE.js";export{a as groupBy};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk66JP4PUGcjs = require('./chunk-66JP4PUG.cjs');require('./chunk-XR72I63W.cjs');require('./chunk-GZJMERDJ.cjs');exports.hasAtLeast = _chunk66JP4PUGcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk66JP4PUGcjs = require('./chunk-66JP4PUG.cjs');require('./chunk-XR72I63W.cjs');require('./chunk-GZJMERDJ.cjs');require('./chunk-MBGSSEZN.cjs');exports.hasAtLeast = _chunk66JP4PUGcjs.a;
@@ -1,9 +1,10 @@
1
1
  import { IsNumericLiteral } from 'type-fest';
2
- import { A as ArrayRequiredPrefix } from './array-required-prefix-BW08fIbb.cjs';
2
+ import { A as ArrayRequiredPrefix } from './array-required-prefix-Ck4lHkbA.cjs';
3
3
  import { I as IterableContainer } from './iterable-container-BTpDVdNc.cjs';
4
4
  import './clamped-integer-subtract-DZ7rsJE4.cjs';
5
5
  import './coerced-array-DRz3tqda.cjs';
6
- import './tuple-parts-DAqFAJP8.cjs';
6
+ import './perkakas-type-error-8wPb8T2y.cjs';
7
+ import './tuple-parts-v6av7LMU.cjs';
7
8
 
8
9
  /**
9
10
  * Checks if the given array has at least the defined number of elements. When
@@ -1,9 +1,10 @@
1
1
  import { IsNumericLiteral } from 'type-fest';
2
- import { A as ArrayRequiredPrefix } from './array-required-prefix-a3sgCkd2.js';
2
+ import { A as ArrayRequiredPrefix } from './array-required-prefix-DXv_WnmG.js';
3
3
  import { I as IterableContainer } from './iterable-container-BTpDVdNc.js';
4
4
  import './clamped-integer-subtract-DZ7rsJE4.js';
5
5
  import './coerced-array-DRz3tqda.js';
6
- import './tuple-parts-CrwnkDKX.js';
6
+ import './perkakas-type-error-8wPb8T2y.js';
7
+ import './tuple-parts-BTivqbtT.js';
7
8
 
8
9
  /**
9
10
  * Checks if the given array has at least the defined number of elements. When
@@ -1 +1 @@
1
- import{a}from"./chunk-ITDJLXHO.js";import"./chunk-J6WPJH72.js";import"./chunk-KGPDVVVV.js";export{a as hasAtLeast};
1
+ import{a}from"./chunk-ITDJLXHO.js";import"./chunk-J6WPJH72.js";import"./chunk-KGPDVVVV.js";import"./chunk-EK7ODJWE.js";export{a as hasAtLeast};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkL3VSMTOZcjs = require('./chunk-L3VSMTOZ.cjs');require('./chunk-HJ2H6KUH.cjs');require('./chunk-XR72I63W.cjs');require('./chunk-GZJMERDJ.cjs');exports.hasSubObject = _chunkL3VSMTOZcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkL3VSMTOZcjs = require('./chunk-L3VSMTOZ.cjs');require('./chunk-HJ2H6KUH.cjs');require('./chunk-XR72I63W.cjs');require('./chunk-GZJMERDJ.cjs');require('./chunk-MBGSSEZN.cjs');exports.hasSubObject = _chunkL3VSMTOZcjs.a;
@@ -1 +1 @@
1
- import{a}from"./chunk-7AN7XHLU.js";import"./chunk-2IO5CTEV.js";import"./chunk-J6WPJH72.js";import"./chunk-KGPDVVVV.js";export{a as hasSubObject};
1
+ import{a}from"./chunk-7AN7XHLU.js";import"./chunk-2IO5CTEV.js";import"./chunk-J6WPJH72.js";import"./chunk-KGPDVVVV.js";import"./chunk-EK7ODJWE.js";export{a as hasSubObject};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkY7RFTHSRcjs = require('./chunk-Y7RFTHSR.cjs');exports.humanReadableFileSize = _chunkY7RFTHSRcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkY7RFTHSRcjs = require('./chunk-Y7RFTHSR.cjs');require('./chunk-MBGSSEZN.cjs');exports.humanReadableFileSize = _chunkY7RFTHSRcjs.a;
@@ -1 +1 @@
1
- import{a}from"./chunk-4YJCXB4Y.js";export{a as humanReadableFileSize};
1
+ import{a}from"./chunk-4YJCXB4Y.js";import"./chunk-EK7ODJWE.js";export{a as humanReadableFileSize};
package/dist/identity.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkAQRYBCA3cjs = require('./chunk-AQRYBCA3.cjs');exports.identity = _chunkAQRYBCA3cjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkAQRYBCA3cjs = require('./chunk-AQRYBCA3.cjs');require('./chunk-MBGSSEZN.cjs');exports.identity = _chunkAQRYBCA3cjs.a;
package/dist/identity.js CHANGED
@@ -1 +1 @@
1
- import{a}from"./chunk-46GBCFAG.js";export{a as identity};
1
+ import{a}from"./chunk-46GBCFAG.js";import"./chunk-EK7ODJWE.js";export{a as identity};
package/dist/index-by.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkK26HQR4Ycjs = require('./chunk-K26HQR4Y.cjs');require('./chunk-XR72I63W.cjs');require('./chunk-GZJMERDJ.cjs');exports.indexBy = _chunkK26HQR4Ycjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkK26HQR4Ycjs = require('./chunk-K26HQR4Y.cjs');require('./chunk-XR72I63W.cjs');require('./chunk-GZJMERDJ.cjs');require('./chunk-MBGSSEZN.cjs');exports.indexBy = _chunkK26HQR4Ycjs.a;
@@ -1,5 +1,5 @@
1
- import { B as BoundedPartial } from './bounded-partial-wqR8ceNQ.cjs';
2
- import './if-bounded-record-Drd4UbBU.cjs';
1
+ import { B as BoundedPartial } from './bounded-partial-BhnecV3P.cjs';
2
+ import './is-bounded-record-C9WAwfA8.cjs';
3
3
  import 'type-fest';
4
4
 
5
5
  /**
@@ -1,5 +1,5 @@
1
- import { B as BoundedPartial } from './bounded-partial-CJjczH6j.js';
2
- import './if-bounded-record-Drd4UbBU.js';
1
+ import { B as BoundedPartial } from './bounded-partial-B15MLSAS.js';
2
+ import './is-bounded-record-C9WAwfA8.js';
3
3
  import 'type-fest';
4
4
 
5
5
  /**
package/dist/index-by.js CHANGED
@@ -1 +1 @@
1
- import{a}from"./chunk-2XGSSTCA.js";import"./chunk-J6WPJH72.js";import"./chunk-KGPDVVVV.js";export{a as indexBy};
1
+ import{a}from"./chunk-2XGSSTCA.js";import"./chunk-J6WPJH72.js";import"./chunk-KGPDVVVV.js";import"./chunk-EK7ODJWE.js";export{a as indexBy};