@vinicunca/perkakas 1.7.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/add-CbtGbPU8.cjs +1 -0
- package/dist/add-D2WnMolJ.d.cts +34 -0
- package/dist/add-D2WnMolJ.d.cts.map +1 -0
- package/dist/add-XyDHfOBw.js +2 -0
- package/dist/add-XyDHfOBw.js.map +1 -0
- package/dist/add-im980AO9.d.ts +34 -0
- package/dist/add-im980AO9.d.ts.map +1 -0
- package/dist/add-prop-BxqZdgPd.cjs +1 -0
- package/dist/add-prop-CMZauInB.d.ts +46 -0
- package/dist/add-prop-CMZauInB.d.ts.map +1 -0
- package/dist/add-prop-CX56m6sR.js +2 -0
- package/dist/add-prop-CX56m6sR.js.map +1 -0
- package/dist/add-prop-tIjpXGRH.d.cts +46 -0
- package/dist/add-prop-tIjpXGRH.d.cts.map +1 -0
- package/dist/add-prop.cjs +1 -1
- package/dist/add-prop.d.cts +4 -45
- package/dist/add-prop.d.ts +4 -45
- package/dist/add-prop.js +1 -1
- package/dist/add.cjs +1 -1
- package/dist/add.d.cts +2 -32
- package/dist/add.d.ts +2 -32
- package/dist/add.js +1 -1
- package/dist/all-pass-BCivJ27h.d.cts +37 -0
- package/dist/all-pass-BCivJ27h.d.cts.map +1 -0
- package/dist/all-pass-DXpE2AMI.d.ts +37 -0
- package/dist/all-pass-DXpE2AMI.d.ts.map +1 -0
- package/dist/all-pass-Dm8Dnhq7.cjs +1 -0
- package/dist/all-pass-TOwgGHEo.js +2 -0
- package/dist/all-pass-TOwgGHEo.js.map +1 -0
- package/dist/all-pass.cjs +1 -1
- package/dist/all-pass.d.cts +2 -35
- package/dist/all-pass.d.ts +2 -35
- package/dist/all-pass.js +1 -1
- package/dist/any-pass-B1tqZ-S8.js +2 -0
- package/dist/any-pass-B1tqZ-S8.js.map +1 -0
- package/dist/any-pass-BUlFAsyd.d.cts +37 -0
- package/dist/any-pass-BUlFAsyd.d.cts.map +1 -0
- package/dist/any-pass-DODvFXfM.d.ts +37 -0
- package/dist/any-pass-DODvFXfM.d.ts.map +1 -0
- package/dist/any-pass-UiZWZkzr.cjs +1 -0
- package/dist/any-pass.cjs +1 -1
- package/dist/any-pass.d.cts +2 -35
- package/dist/any-pass.d.ts +2 -35
- package/dist/any-pass.js +1 -1
- package/dist/array-required-prefix-BeSNHH4G.d.ts +26 -0
- package/dist/array-required-prefix-BeSNHH4G.d.ts.map +1 -0
- package/dist/array-required-prefix-FSH3Acx8.d.cts +26 -0
- package/dist/array-required-prefix-FSH3Acx8.d.cts.map +1 -0
- package/dist/binary-search-cutoff-index-B3xuP0oe.cjs +1 -0
- package/dist/binary-search-cutoff-index-QhLfC_4-.js +2 -0
- package/dist/binary-search-cutoff-index-QhLfC_4-.js.map +1 -0
- package/dist/bounded-partial-A89bt7Kj.d.cts +17 -0
- package/dist/bounded-partial-A89bt7Kj.d.cts.map +1 -0
- package/dist/bounded-partial-TshEjJC1.d.ts +17 -0
- package/dist/bounded-partial-TshEjJC1.d.ts.map +1 -0
- package/dist/case.transform-0QyAGkjI.js +2 -0
- package/dist/case.transform-0QyAGkjI.js.map +1 -0
- package/dist/case.transform-UvmY1E5L.cjs +1 -0
- package/dist/case.types-C4kGtbSS.d.cts +19 -0
- package/dist/case.types-C4kGtbSS.d.cts.map +1 -0
- package/dist/case.types-DegX_-fY.d.ts +19 -0
- package/dist/case.types-DegX_-fY.d.ts.map +1 -0
- package/dist/ceil--cMT2iUp.js +2 -0
- package/dist/ceil--cMT2iUp.js.map +1 -0
- package/dist/ceil-3wC2QOvT.d.ts +39 -0
- package/dist/ceil-3wC2QOvT.d.ts.map +1 -0
- package/dist/ceil-BfPd1zim.d.cts +39 -0
- package/dist/ceil-BfPd1zim.d.cts.map +1 -0
- package/dist/ceil-CgjlA1iG.cjs +1 -0
- package/dist/ceil.cjs +1 -1
- package/dist/ceil.d.cts +2 -37
- package/dist/ceil.d.ts +2 -37
- package/dist/ceil.js +1 -1
- package/dist/chunk-21HuGLAn.d.ts +76 -0
- package/dist/chunk-21HuGLAn.d.ts.map +1 -0
- package/dist/chunk-C__yw06N.d.cts +76 -0
- package/dist/chunk-C__yw06N.d.cts.map +1 -0
- package/dist/chunk-_kldYmb1.cjs +1 -0
- package/dist/chunk-dIPp871Q.js +2 -0
- package/dist/chunk-dIPp871Q.js.map +1 -0
- package/dist/chunk.cjs +1 -1
- package/dist/chunk.d.cts +9 -115
- package/dist/chunk.d.ts +9 -115
- package/dist/chunk.js +1 -1
- package/dist/clamp-Cnh0Qg03.cjs +1 -0
- package/dist/clamp-DMX7Ua7I.d.cts +37 -0
- package/dist/clamp-DMX7Ua7I.d.cts.map +1 -0
- package/dist/clamp-V39NgixZ.d.ts +37 -0
- package/dist/clamp-V39NgixZ.d.ts.map +1 -0
- package/dist/clamp-zR5XX002.js +2 -0
- package/dist/clamp-zR5XX002.js.map +1 -0
- package/dist/clamp.cjs +1 -1
- package/dist/clamp.d.cts +2 -35
- package/dist/clamp.d.ts +2 -35
- package/dist/clamp.js +1 -1
- package/dist/clamped-integer-subtract-CQL8aT__.d.ts +11 -0
- package/dist/clamped-integer-subtract-CQL8aT__.d.ts.map +1 -0
- package/dist/clamped-integer-subtract-DId0tRjp.d.cts +11 -0
- package/dist/clamped-integer-subtract-DId0tRjp.d.cts.map +1 -0
- package/dist/clone-1QjPrzdD.d.cts +35 -0
- package/dist/clone-1QjPrzdD.d.cts.map +1 -0
- package/dist/clone-BcAGB1C1.js +2 -0
- package/dist/clone-BcAGB1C1.js.map +1 -0
- package/dist/clone-DyRAAJkh.cjs +1 -0
- package/dist/clone-UasIry83.d.ts +35 -0
- package/dist/clone-UasIry83.d.ts.map +1 -0
- package/dist/clone.cjs +1 -1
- package/dist/clone.d.cts +2 -33
- package/dist/clone.d.ts +2 -33
- package/dist/clone.js +1 -1
- package/dist/coerced-array-DyA0Yc12.d.ts +17 -0
- package/dist/coerced-array-DyA0Yc12.d.ts.map +1 -0
- package/dist/coerced-array-kVJtBrMl.d.cts +17 -0
- package/dist/coerced-array-kVJtBrMl.d.cts.map +1 -0
- package/dist/concat-BdgaaV6q.d.cts +41 -0
- package/dist/concat-BdgaaV6q.d.cts.map +1 -0
- package/dist/concat-CVEXmYnw.js +2 -0
- package/dist/concat-CVEXmYnw.js.map +1 -0
- package/dist/concat-Cg3I4d7x.cjs +1 -0
- package/dist/concat-DeyDusex.d.ts +41 -0
- package/dist/concat-DeyDusex.d.ts.map +1 -0
- package/dist/concat.cjs +1 -1
- package/dist/concat.d.cts +3 -38
- package/dist/concat.d.ts +3 -38
- package/dist/concat.js +1 -1
- package/dist/conditional-81kit9Lg.cjs +1 -0
- package/dist/conditional-BivA0O7M.d.cts +221 -0
- package/dist/conditional-BivA0O7M.d.cts.map +1 -0
- package/dist/conditional-ClGfJoeu.js +2 -0
- package/dist/conditional-ClGfJoeu.js.map +1 -0
- package/dist/conditional-DeaF48-8.d.ts +221 -0
- package/dist/conditional-DeaF48-8.d.ts.map +1 -0
- package/dist/conditional.cjs +1 -1
- package/dist/conditional.d.cts +2 -217
- package/dist/conditional.d.ts +2 -217
- package/dist/conditional.js +1 -1
- package/dist/constant-BuIJ9GIn.cjs +1 -0
- package/dist/constant-DD3Fj3xH.d.cts +32 -0
- package/dist/constant-DD3Fj3xH.d.cts.map +1 -0
- package/dist/constant-DrpDXHc7.js +2 -0
- package/dist/constant-DrpDXHc7.js.map +1 -0
- package/dist/constant-XCH8hVM0.d.ts +32 -0
- package/dist/constant-XCH8hVM0.d.ts.map +1 -0
- package/dist/constant.cjs +1 -1
- package/dist/constant.d.cts +2 -30
- package/dist/constant.d.ts +2 -30
- package/dist/constant.js +1 -1
- package/dist/count-by-CYv2OHvx.d.cts +42 -0
- package/dist/count-by-CYv2OHvx.d.cts.map +1 -0
- package/dist/count-by-DUtzS9CI.cjs +1 -0
- package/dist/count-by-DZwTr8U_.js +2 -0
- package/dist/count-by-DZwTr8U_.js.map +1 -0
- package/dist/count-by-oQGTg_br.d.ts +42 -0
- package/dist/count-by-oQGTg_br.d.ts.map +1 -0
- package/dist/count-by.cjs +1 -1
- package/dist/count-by.d.cts +4 -42
- package/dist/count-by.d.ts +4 -42
- package/dist/count-by.js +1 -1
- package/dist/curry-B-8l-0vq.d.ts +68 -0
- package/dist/curry-B-8l-0vq.d.ts.map +1 -0
- package/dist/curry-BPVIsvo3.cjs +1 -0
- package/dist/curry-CzZjDrpv.js +2 -0
- package/dist/curry-CzZjDrpv.js.map +1 -0
- package/dist/curry-from-lazy-BDH06qZ-.cjs +1 -0
- package/dist/curry-from-lazy-BR-hoRDR.js +2 -0
- package/dist/curry-from-lazy-BR-hoRDR.js.map +1 -0
- package/dist/curry-gLBYaLmk.d.cts +68 -0
- package/dist/curry-gLBYaLmk.d.cts.map +1 -0
- package/dist/curry-order-rules-1zjlAgqa.d.cts +48 -0
- package/dist/curry-order-rules-1zjlAgqa.d.cts.map +1 -0
- package/dist/curry-order-rules-BuA7D1F4.js +2 -0
- package/dist/curry-order-rules-BuA7D1F4.js.map +1 -0
- package/dist/curry-order-rules-Cthu8rj4.d.ts +48 -0
- package/dist/curry-order-rules-Cthu8rj4.d.ts.map +1 -0
- package/dist/curry-order-rules-UcuuWkKd.cjs +1 -0
- package/dist/curry.cjs +1 -1
- package/dist/curry.d.cts +2 -64
- package/dist/curry.d.ts +2 -64
- package/dist/curry.js +1 -1
- package/dist/debounce-6x-eQzOn.cjs +1 -0
- package/dist/debounce-BNkJBFrQ.d.cts +96 -0
- package/dist/debounce-BNkJBFrQ.d.cts.map +1 -0
- package/dist/debounce-BtqBDYXu.d.ts +96 -0
- package/dist/debounce-BtqBDYXu.d.ts.map +1 -0
- package/dist/debounce-C9xIAomT.js +2 -0
- package/dist/debounce-C9xIAomT.js.map +1 -0
- package/dist/debounce.cjs +1 -1
- package/dist/debounce.d.cts +2 -94
- package/dist/debounce.d.ts +2 -94
- package/dist/debounce.js +1 -1
- package/dist/deduped-BpPNbB_u.d.cts +23 -0
- package/dist/deduped-BpPNbB_u.d.cts.map +1 -0
- package/dist/deduped-C1IQABjb.d.ts +23 -0
- package/dist/deduped-C1IQABjb.d.ts.map +1 -0
- package/dist/difference-B5WQzd-Z.cjs +1 -0
- package/dist/difference-C1tclXTn.d.cts +37 -0
- package/dist/difference-C1tclXTn.d.cts.map +1 -0
- package/dist/difference-DM8qEnVj.d.ts +37 -0
- package/dist/difference-DM8qEnVj.d.ts.map +1 -0
- package/dist/difference-Dgeqsjn_.js +2 -0
- package/dist/difference-Dgeqsjn_.js.map +1 -0
- package/dist/difference-with-BqLSomQj.d.ts +48 -0
- package/dist/difference-with-BqLSomQj.d.ts.map +1 -0
- package/dist/difference-with-CNN8MVj2.cjs +1 -0
- package/dist/difference-with-CTy1JWpg.d.cts +48 -0
- package/dist/difference-with-CTy1JWpg.d.cts.map +1 -0
- package/dist/difference-with-CiySHDr9.js +2 -0
- package/dist/difference-with-CiySHDr9.js.map +1 -0
- package/dist/difference-with.cjs +1 -1
- package/dist/difference-with.d.cts +2 -46
- package/dist/difference-with.d.ts +2 -46
- package/dist/difference-with.js +1 -1
- package/dist/difference.cjs +1 -1
- package/dist/difference.d.cts +2 -35
- package/dist/difference.d.ts +2 -35
- package/dist/difference.js +1 -1
- package/dist/dist-BQGZfjDS.js +291 -0
- package/dist/dist-BQGZfjDS.js.map +1 -0
- package/dist/dist-gvJoKj_M.cjs +343 -0
- package/dist/divide-BI9ShWGE.js +2 -0
- package/dist/divide-BI9ShWGE.js.map +1 -0
- package/dist/divide-Bsz0OPIK.d.ts +33 -0
- package/dist/divide-Bsz0OPIK.d.ts.map +1 -0
- package/dist/divide-C8COFm-b.d.cts +33 -0
- package/dist/divide-C8COFm-b.d.cts.map +1 -0
- package/dist/divide-ZFT5ZqJ0.cjs +1 -0
- package/dist/divide.cjs +1 -1
- package/dist/divide.d.cts +2 -31
- package/dist/divide.d.ts +2 -31
- package/dist/divide.js +1 -1
- package/dist/do-nothing-Be29JGDG.js +2 -0
- package/dist/do-nothing-Be29JGDG.js.map +1 -0
- package/dist/do-nothing-BvLrwjB7.d.ts +28 -0
- package/dist/do-nothing-BvLrwjB7.d.ts.map +1 -0
- package/dist/do-nothing-Cc1faYu6.cjs +1 -0
- package/dist/do-nothing-xUCzRm4m.d.cts +28 -0
- package/dist/do-nothing-xUCzRm4m.d.cts.map +1 -0
- package/dist/do-nothing.cjs +1 -1
- package/dist/do-nothing.d.cts +2 -26
- package/dist/do-nothing.d.ts +2 -26
- package/dist/do-nothing.js +1 -1
- package/dist/drop-Bmm5QDJI.d.cts +40 -0
- package/dist/drop-Bmm5QDJI.d.cts.map +1 -0
- package/dist/drop-BvsV-rBc.js +2 -0
- package/dist/drop-BvsV-rBc.js.map +1 -0
- package/dist/drop-C-tVyU4K.cjs +1 -0
- package/dist/drop-DTeHYc-D.d.ts +40 -0
- package/dist/drop-DTeHYc-D.d.ts.map +1 -0
- package/dist/drop-first-by-CSqeAzwS.d.cts +41 -0
- package/dist/drop-first-by-CSqeAzwS.d.cts.map +1 -0
- package/dist/drop-first-by-Cclqg5G_.js +2 -0
- package/dist/drop-first-by-Cclqg5G_.js.map +1 -0
- package/dist/drop-first-by-DJOgP-yE.cjs +1 -0
- package/dist/drop-first-by-dH-OI2It.d.ts +41 -0
- package/dist/drop-first-by-dH-OI2It.d.ts.map +1 -0
- package/dist/drop-first-by.cjs +1 -1
- package/dist/drop-first-by.d.cts +4 -38
- package/dist/drop-first-by.d.ts +4 -38
- package/dist/drop-first-by.js +1 -1
- package/dist/drop-last-CX8JXA1b.cjs +1 -0
- package/dist/drop-last-CuCKuM4n.js +2 -0
- package/dist/drop-last-CuCKuM4n.js.map +1 -0
- package/dist/drop-last-oiDr5Owj.d.cts +32 -0
- package/dist/drop-last-oiDr5Owj.d.cts.map +1 -0
- package/dist/drop-last-vbp5oZaK.d.ts +32 -0
- package/dist/drop-last-vbp5oZaK.d.ts.map +1 -0
- package/dist/drop-last-while-BbasDoJh.d.ts +36 -0
- package/dist/drop-last-while-BbasDoJh.d.ts.map +1 -0
- package/dist/drop-last-while-C_hHfAhU.d.cts +36 -0
- package/dist/drop-last-while-C_hHfAhU.d.cts.map +1 -0
- package/dist/drop-last-while-DMzZWC3Y.cjs +1 -0
- package/dist/drop-last-while-StSGe_bf.js +2 -0
- package/dist/drop-last-while-StSGe_bf.js.map +1 -0
- package/dist/drop-last-while.cjs +1 -1
- package/dist/drop-last-while.d.cts +3 -33
- package/dist/drop-last-while.d.ts +3 -33
- package/dist/drop-last-while.js +1 -1
- package/dist/drop-last.cjs +1 -1
- package/dist/drop-last.d.cts +3 -29
- package/dist/drop-last.d.ts +3 -29
- package/dist/drop-last.js +1 -1
- package/dist/drop-while-BCln-hAn.js +2 -0
- package/dist/drop-while-BCln-hAn.js.map +1 -0
- package/dist/drop-while-BGbJsU8z.cjs +1 -0
- package/dist/drop-while-CzvSV4z7.d.ts +36 -0
- package/dist/drop-while-CzvSV4z7.d.ts.map +1 -0
- package/dist/drop-while-T3z_MbtJ.d.cts +36 -0
- package/dist/drop-while-T3z_MbtJ.d.cts.map +1 -0
- package/dist/drop-while.cjs +1 -1
- package/dist/drop-while.d.cts +3 -33
- package/dist/drop-while.d.ts +3 -33
- package/dist/drop-while.js +1 -1
- package/dist/drop.cjs +1 -1
- package/dist/drop.d.cts +8 -51
- package/dist/drop.d.ts +8 -51
- package/dist/drop.js +1 -1
- package/dist/entries--JP88NsB.d.cts +31 -0
- package/dist/entries--JP88NsB.d.cts.map +1 -0
- package/dist/entries-B1cH8giK.cjs +1 -0
- package/dist/entries-Bsl_GQTu.js +2 -0
- package/dist/entries-Bsl_GQTu.js.map +1 -0
- package/dist/entries-YDG-Mx3J.d.ts +31 -0
- package/dist/entries-YDG-Mx3J.d.ts.map +1 -0
- package/dist/entries.cjs +1 -1
- package/dist/entries.d.cts +3 -34
- package/dist/entries.d.ts +3 -34
- package/dist/entries.js +1 -1
- package/dist/enumerable-string-key-of-D2OpyD6n.d.cts +17 -0
- package/dist/enumerable-string-key-of-D2OpyD6n.d.cts.map +1 -0
- package/dist/enumerable-string-key-of-DKzYIarp.d.ts +17 -0
- package/dist/enumerable-string-key-of-DKzYIarp.d.ts.map +1 -0
- package/dist/enumerable-string-keyed-value-of-Bf_owt8O.d.ts +12 -0
- package/dist/enumerable-string-keyed-value-of-Bf_owt8O.d.ts.map +1 -0
- package/dist/enumerable-string-keyed-value-of-aov5dXss.d.cts +12 -0
- package/dist/enumerable-string-keyed-value-of-aov5dXss.d.cts.map +1 -0
- package/dist/evolve-BReerpSa.js +2 -0
- package/dist/evolve-BReerpSa.js.map +1 -0
- package/dist/evolve-CVvPsVxM.d.ts +101 -0
- package/dist/evolve-CVvPsVxM.d.ts.map +1 -0
- package/dist/evolve-DOxUNkYX.d.cts +101 -0
- package/dist/evolve-DOxUNkYX.d.cts.map +1 -0
- package/dist/evolve-DtSJxJiM.cjs +1 -0
- package/dist/evolve.cjs +1 -1
- package/dist/evolve.d.cts +3 -102
- package/dist/evolve.d.ts +3 -102
- package/dist/evolve.js +1 -1
- package/dist/filter-CH_YQe9A.js +2 -0
- package/dist/filter-CH_YQe9A.js.map +1 -0
- package/dist/filter-CkFzFT5Q.d.cts +50 -0
- package/dist/filter-CkFzFT5Q.d.cts.map +1 -0
- package/dist/filter-Dlsk63lj.d.ts +50 -0
- package/dist/filter-Dlsk63lj.d.ts.map +1 -0
- package/dist/filter-DsjklegV.cjs +1 -0
- package/dist/filter.cjs +1 -1
- package/dist/filter.d.cts +7 -51
- package/dist/filter.d.ts +7 -51
- package/dist/filter.js +1 -1
- package/dist/filtered-array-BGEkFwrv.d.ts +13 -0
- package/dist/filtered-array-BGEkFwrv.d.ts.map +1 -0
- package/dist/filtered-array-DQcAXQDD.d.cts +13 -0
- package/dist/filtered-array-DQcAXQDD.d.cts.map +1 -0
- package/dist/find-7ahTlXcE.d.ts +64 -0
- package/dist/find-7ahTlXcE.d.ts.map +1 -0
- package/dist/find-Bc-wGZYR.d.cts +64 -0
- package/dist/find-Bc-wGZYR.d.cts.map +1 -0
- package/dist/find-BuO4hH8Z.cjs +1 -0
- package/dist/find-DR6lM3gh.js +2 -0
- package/dist/find-DR6lM3gh.js.map +1 -0
- package/dist/find-index-BO_tEYVo.d.ts +50 -0
- package/dist/find-index-BO_tEYVo.d.ts.map +1 -0
- package/dist/find-index-CojMwOU1.cjs +1 -0
- package/dist/find-index-CzHRd1Ey.js +2 -0
- package/dist/find-index-CzHRd1Ey.js.map +1 -0
- package/dist/find-index-mVR2WVAJ.d.cts +50 -0
- package/dist/find-index-mVR2WVAJ.d.cts.map +1 -0
- package/dist/find-index.cjs +1 -1
- package/dist/find-index.d.cts +2 -48
- package/dist/find-index.d.ts +2 -48
- package/dist/find-index.js +1 -1
- package/dist/find-last-CekkNCww.d.ts +62 -0
- package/dist/find-last-CekkNCww.d.ts.map +1 -0
- package/dist/find-last-DqGxSxQ-.d.cts +62 -0
- package/dist/find-last-DqGxSxQ-.d.cts.map +1 -0
- package/dist/find-last-gCcPzwJP.js +2 -0
- package/dist/find-last-gCcPzwJP.js.map +1 -0
- package/dist/find-last-index-C-wdKiKp.cjs +1 -0
- package/dist/find-last-index-C4il48Y6.d.cts +50 -0
- package/dist/find-last-index-C4il48Y6.d.cts.map +1 -0
- package/dist/find-last-index-DuYnKTXJ.js +2 -0
- package/dist/find-last-index-DuYnKTXJ.js.map +1 -0
- package/dist/find-last-index-XB_3-4xj.d.ts +50 -0
- package/dist/find-last-index-XB_3-4xj.d.ts.map +1 -0
- package/dist/find-last-index.cjs +1 -1
- package/dist/find-last-index.d.cts +2 -48
- package/dist/find-last-index.d.ts +2 -48
- package/dist/find-last-index.js +1 -1
- package/dist/find-last-yrb1RLMJ.cjs +1 -0
- package/dist/find-last.cjs +1 -1
- package/dist/find-last.d.cts +2 -60
- package/dist/find-last.d.ts +2 -60
- package/dist/find-last.js +1 -1
- package/dist/find.cjs +1 -1
- package/dist/find.d.cts +2 -62
- package/dist/find.d.ts +2 -62
- package/dist/find.js +1 -1
- package/dist/first-1NtfTucX.d.ts +40 -0
- package/dist/first-1NtfTucX.d.ts.map +1 -0
- package/dist/first-C3rp67g0.d.cts +40 -0
- package/dist/first-C3rp67g0.d.cts.map +1 -0
- package/dist/first-DDQc8owl.js +2 -0
- package/dist/first-DDQc8owl.js.map +1 -0
- package/dist/first-Dbxt3OEg.cjs +1 -0
- package/dist/first-by-B5IsCexF.js +2 -0
- package/dist/first-by-B5IsCexF.js.map +1 -0
- package/dist/first-by-BzxRBZ5J.cjs +1 -0
- package/dist/first-by-C0qf5rwh.d.ts +60 -0
- package/dist/first-by-C0qf5rwh.d.ts.map +1 -0
- package/dist/first-by-Dm9iyhMz.d.cts +60 -0
- package/dist/first-by-Dm9iyhMz.d.cts.map +1 -0
- package/dist/first-by.cjs +1 -1
- package/dist/first-by.d.cts +5 -58
- package/dist/first-by.d.ts +5 -58
- package/dist/first-by.js +1 -1
- package/dist/first.cjs +1 -1
- package/dist/first.d.cts +3 -38
- package/dist/first.d.ts +3 -38
- package/dist/first.js +1 -1
- package/dist/flat-BayJJsR-.cjs +1 -0
- package/dist/flat-BbBf5kJs.d.ts +53 -0
- package/dist/flat-BbBf5kJs.d.ts.map +1 -0
- package/dist/flat-CJrZ3ALE.d.cts +53 -0
- package/dist/flat-CJrZ3ALE.d.cts.map +1 -0
- package/dist/flat-Cd7pIXar.js +2 -0
- package/dist/flat-Cd7pIXar.js.map +1 -0
- package/dist/flat-map-1WAgW39N.js +2 -0
- package/dist/flat-map-1WAgW39N.js.map +1 -0
- package/dist/flat-map-BI-sJd2B.cjs +1 -0
- package/dist/flat-map-Do5YLueq.d.cts +47 -0
- package/dist/flat-map-Do5YLueq.d.cts.map +1 -0
- package/dist/flat-map-Ok5sZOb2.d.ts +47 -0
- package/dist/flat-map-Ok5sZOb2.d.ts.map +1 -0
- package/dist/flat-map.cjs +1 -1
- package/dist/flat-map.d.cts +2 -45
- package/dist/flat-map.d.ts +2 -45
- package/dist/flat-map.js +1 -1
- package/dist/flat.cjs +1 -1
- package/dist/flat.d.cts +3 -57
- package/dist/flat.d.ts +3 -57
- package/dist/flat.js +1 -1
- package/dist/floor-Bj0O0YjY.cjs +1 -0
- package/dist/floor-C9us6h14.d.ts +39 -0
- package/dist/floor-C9us6h14.d.ts.map +1 -0
- package/dist/floor-C_xareFD.js +2 -0
- package/dist/floor-C_xareFD.js.map +1 -0
- package/dist/floor-bA1oX38x.d.cts +39 -0
- package/dist/floor-bA1oX38x.d.cts.map +1 -0
- package/dist/floor.cjs +1 -1
- package/dist/floor.d.cts +2 -37
- package/dist/floor.d.ts +2 -37
- package/dist/floor.js +1 -1
- package/dist/for-each-BtbPzNDc.cjs +1 -0
- package/dist/for-each-CYTR5H9O.d.cts +54 -0
- package/dist/for-each-CYTR5H9O.d.cts.map +1 -0
- package/dist/for-each-ClKbAv3A.js +2 -0
- package/dist/for-each-ClKbAv3A.js.map +1 -0
- package/dist/for-each-DIxtfnNY.d.ts +54 -0
- package/dist/for-each-DIxtfnNY.d.ts.map +1 -0
- package/dist/for-each-obj-B6BJwtgs.cjs +1 -0
- package/dist/for-each-obj-CJFU3pj_.js +2 -0
- package/dist/for-each-obj-CJFU3pj_.js.map +1 -0
- package/dist/for-each-obj-DRgFFti8.d.ts +47 -0
- package/dist/for-each-obj-DRgFFti8.d.ts.map +1 -0
- package/dist/for-each-obj-yV90UbvE.d.cts +47 -0
- package/dist/for-each-obj-yV90UbvE.d.cts.map +1 -0
- package/dist/for-each-obj.cjs +1 -1
- package/dist/for-each-obj.d.cts +5 -46
- package/dist/for-each-obj.d.ts +5 -46
- package/dist/for-each-obj.js +1 -1
- package/dist/for-each.cjs +1 -1
- package/dist/for-each.d.cts +3 -51
- package/dist/for-each.d.ts +3 -51
- package/dist/for-each.js +1 -1
- package/dist/from-entries-BqW53CyR.d.ts +68 -0
- package/dist/from-entries-BqW53CyR.d.ts.map +1 -0
- package/dist/from-entries-CToFI5yO.d.cts +68 -0
- package/dist/from-entries-CToFI5yO.d.cts.map +1 -0
- package/dist/from-entries-D6f6Bd0l.js +2 -0
- package/dist/from-entries-D6f6Bd0l.js.map +1 -0
- package/dist/from-entries-DDkKcu-p.cjs +1 -0
- package/dist/from-entries.cjs +1 -1
- package/dist/from-entries.d.cts +4 -74
- package/dist/from-entries.d.ts +4 -74
- package/dist/from-entries.js +1 -1
- package/dist/from-keys-BYHfvCLR.d.ts +60 -0
- package/dist/from-keys-BYHfvCLR.d.ts.map +1 -0
- package/dist/from-keys-CI2PJlIM.cjs +1 -0
- package/dist/from-keys-DJe8xU7b.js +2 -0
- package/dist/from-keys-DJe8xU7b.js.map +1 -0
- package/dist/from-keys-Ds1mndVk.d.cts +60 -0
- package/dist/from-keys-Ds1mndVk.d.cts.map +1 -0
- package/dist/from-keys.cjs +1 -1
- package/dist/from-keys.d.cts +5 -62
- package/dist/from-keys.d.ts +5 -62
- package/dist/from-keys.js +1 -1
- package/dist/funnel-1FhwR-u9.d.ts +155 -0
- package/dist/funnel-1FhwR-u9.d.ts.map +1 -0
- package/dist/funnel-CEbURcmp.js +2 -0
- package/dist/funnel-CEbURcmp.js.map +1 -0
- package/dist/funnel-CL-QFpGk.cjs +1 -0
- package/dist/funnel-DRrT4WPx.d.cts +155 -0
- package/dist/funnel-DRrT4WPx.d.cts.map +1 -0
- package/dist/funnel.cjs +1 -1
- package/dist/funnel.d.cts +2 -147
- package/dist/funnel.d.ts +2 -147
- package/dist/funnel.js +1 -1
- package/dist/funnel.lodash-debounce-with-cached-value.test.cjs +1 -1
- package/dist/funnel.lodash-debounce-with-cached-value.test.d.cts +1 -2
- package/dist/funnel.lodash-debounce-with-cached-value.test.d.ts +1 -2
- package/dist/funnel.lodash-debounce-with-cached-value.test.js +2 -1
- package/dist/funnel.lodash-debounce-with-cached-value.test.js.map +1 -0
- package/dist/funnel.lodash-debounce.test.cjs +1 -1
- package/dist/funnel.lodash-debounce.test.d.cts +1 -2
- package/dist/funnel.lodash-debounce.test.d.ts +1 -2
- package/dist/funnel.lodash-debounce.test.js +2 -1
- package/dist/funnel.lodash-debounce.test.js.map +1 -0
- package/dist/funnel.lodash-throttle-with-cached-value.test.cjs +1 -1
- package/dist/funnel.lodash-throttle-with-cached-value.test.d.cts +1 -2
- package/dist/funnel.lodash-throttle-with-cached-value.test.d.ts +1 -2
- package/dist/funnel.lodash-throttle-with-cached-value.test.js +2 -1
- package/dist/funnel.lodash-throttle-with-cached-value.test.js.map +1 -0
- package/dist/funnel.lodash-throttle.test.cjs +1 -1
- package/dist/funnel.lodash-throttle.test.d.cts +1 -2
- package/dist/funnel.lodash-throttle.test.d.ts +1 -2
- package/dist/funnel.lodash-throttle.test.js +2 -1
- package/dist/funnel.lodash-throttle.test.js.map +1 -0
- package/dist/funnel.perkakas-debounce.test.cjs +1 -1
- package/dist/funnel.perkakas-debounce.test.d.cts +1 -2
- package/dist/funnel.perkakas-debounce.test.d.ts +1 -2
- package/dist/funnel.perkakas-debounce.test.js +2 -1
- package/dist/funnel.perkakas-debounce.test.js.map +1 -0
- package/dist/funnel.reference-batch.test.cjs +1 -1
- package/dist/funnel.reference-batch.test.d.cts +1 -2
- package/dist/funnel.reference-batch.test.d.ts +1 -2
- package/dist/funnel.reference-batch.test.js +2 -1
- package/dist/funnel.reference-batch.test.js.map +1 -0
- package/dist/funnel.test-d.cjs +1 -1
- package/dist/funnel.test-d.d.cts +1 -2
- package/dist/funnel.test-d.d.ts +1 -2
- package/dist/funnel.test-d.js +2 -1
- package/dist/funnel.test-d.js.map +1 -0
- package/dist/funnel.test.cjs +1 -1
- package/dist/funnel.test.d.cts +1 -2
- package/dist/funnel.test.d.ts +1 -2
- package/dist/funnel.test.js +2 -1
- package/dist/funnel.test.js.map +1 -0
- package/dist/group-by-057Glgkg.cjs +1 -0
- package/dist/group-by-8exEDbij.js +2 -0
- package/dist/group-by-8exEDbij.js.map +1 -0
- package/dist/group-by-DDS1NPHf.d.cts +69 -0
- package/dist/group-by-DDS1NPHf.d.cts.map +1 -0
- package/dist/group-by-prop--MehVKql.d.ts +89 -0
- package/dist/group-by-prop--MehVKql.d.ts.map +1 -0
- package/dist/group-by-prop-ByeUoeXV.cjs +1 -0
- package/dist/group-by-prop-CcSzCSuu.d.cts +89 -0
- package/dist/group-by-prop-CcSzCSuu.d.cts.map +1 -0
- package/dist/group-by-prop-Gi66eXCp.js +2 -0
- package/dist/group-by-prop-Gi66eXCp.js.map +1 -0
- package/dist/group-by-prop.cjs +1 -1
- package/dist/group-by-prop.d.cts +11 -93
- package/dist/group-by-prop.d.ts +11 -93
- package/dist/group-by-prop.js +1 -1
- package/dist/group-by-schxH1QR.d.ts +69 -0
- package/dist/group-by-schxH1QR.d.ts.map +1 -0
- package/dist/group-by.cjs +1 -1
- package/dist/group-by.d.cts +5 -69
- package/dist/group-by.d.ts +5 -69
- package/dist/group-by.js +1 -1
- package/dist/has-at-least-6iRvhsST.js +2 -0
- package/dist/has-at-least-6iRvhsST.js.map +1 -0
- package/dist/has-at-least-BbYfXc8L.d.cts +59 -0
- package/dist/has-at-least-BbYfXc8L.d.cts.map +1 -0
- package/dist/has-at-least-D-ahiJB6.cjs +1 -0
- package/dist/has-at-least-D1A8i5J3.d.ts +59 -0
- package/dist/has-at-least-D1A8i5J3.d.ts.map +1 -0
- package/dist/has-at-least.cjs +1 -1
- package/dist/has-at-least.d.cts +8 -60
- package/dist/has-at-least.d.ts +8 -60
- package/dist/has-at-least.js +1 -1
- package/dist/has-sub-object-C7LwzJ88.js +2 -0
- package/dist/has-sub-object-C7LwzJ88.js.map +1 -0
- package/dist/has-sub-object-DPcKaDk7.d.ts +44 -0
- package/dist/has-sub-object-DPcKaDk7.d.ts.map +1 -0
- package/dist/has-sub-object-DjlCWSUi.cjs +1 -0
- package/dist/has-sub-object-oUnH6b7a.d.cts +44 -0
- package/dist/has-sub-object-oUnH6b7a.d.cts.map +1 -0
- package/dist/has-sub-object.cjs +1 -1
- package/dist/has-sub-object.d.cts +2 -52
- package/dist/has-sub-object.d.ts +2 -52
- package/dist/has-sub-object.js +1 -1
- package/dist/heap-BrQEhV5W.js +2 -0
- package/dist/heap-BrQEhV5W.js.map +1 -0
- package/dist/heap-CpdbyWAN.cjs +1 -0
- package/dist/human-readable-file-size-BtprvwQj.cjs +1 -0
- package/dist/human-readable-file-size-C2gHuBVX.d.ts +17 -0
- package/dist/human-readable-file-size-C2gHuBVX.d.ts.map +1 -0
- package/dist/human-readable-file-size-CPeHO1Te.js +2 -0
- package/dist/human-readable-file-size-CPeHO1Te.js.map +1 -0
- package/dist/human-readable-file-size-DtwHNZes.d.cts +17 -0
- package/dist/human-readable-file-size-DtwHNZes.d.cts.map +1 -0
- package/dist/human-readable-file-size.cjs +1 -1
- package/dist/human-readable-file-size.d.cts +2 -15
- package/dist/human-readable-file-size.d.ts +2 -15
- package/dist/human-readable-file-size.js +1 -1
- package/dist/identity-BAryUWbs.cjs +1 -0
- package/dist/identity-BwbmOFJX.d.ts +22 -0
- package/dist/identity-BwbmOFJX.d.ts.map +1 -0
- package/dist/identity-CPDLj9Cq.d.cts +22 -0
- package/dist/identity-CPDLj9Cq.d.cts.map +1 -0
- package/dist/identity-D7NWGnLw.js +2 -0
- package/dist/identity-D7NWGnLw.js.map +1 -0
- package/dist/identity.cjs +1 -1
- package/dist/identity.d.cts +2 -20
- package/dist/identity.d.ts +2 -20
- package/dist/identity.js +1 -1
- package/dist/index-by-BJH9P6kU.cjs +1 -0
- package/dist/index-by-CJj3L6wv.d.ts +53 -0
- package/dist/index-by-CJj3L6wv.d.ts.map +1 -0
- package/dist/index-by-CNa3p-Is.d.cts +53 -0
- package/dist/index-by-CNa3p-Is.d.cts.map +1 -0
- package/dist/index-by-adSf-XkW.js +2 -0
- package/dist/index-by-adSf-XkW.js.map +1 -0
- package/dist/index-by.cjs +1 -1
- package/dist/index-by.d.cts +4 -53
- package/dist/index-by.d.ts +4 -53
- package/dist/index-by.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +186 -185
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +186 -185
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -0
- package/dist/int-range-inclusive-BSXuRjMO.d.ts +15 -0
- package/dist/int-range-inclusive-BSXuRjMO.d.ts.map +1 -0
- package/dist/int-range-inclusive-DZG3R2Xl.d.cts +15 -0
- package/dist/int-range-inclusive-DZG3R2Xl.d.cts.map +1 -0
- package/dist/intersection-CaBWENw7.d.cts +37 -0
- package/dist/intersection-CaBWENw7.d.cts.map +1 -0
- package/dist/intersection-Crt0YdjH.js +2 -0
- package/dist/intersection-Crt0YdjH.js.map +1 -0
- package/dist/intersection-DJQJxp9k.d.ts +37 -0
- package/dist/intersection-DJQJxp9k.d.ts.map +1 -0
- package/dist/intersection-pxjmHAj1.cjs +1 -0
- package/dist/intersection-with-COmRebRq.d.ts +54 -0
- package/dist/intersection-with-COmRebRq.d.ts.map +1 -0
- package/dist/intersection-with-DlHJvAUn.js +2 -0
- package/dist/intersection-with-DlHJvAUn.js.map +1 -0
- package/dist/intersection-with-Dre9A1oC.d.cts +54 -0
- package/dist/intersection-with-Dre9A1oC.d.cts.map +1 -0
- package/dist/intersection-with-X3fvRkLr.cjs +1 -0
- package/dist/intersection-with.cjs +1 -1
- package/dist/intersection-with.d.cts +2 -52
- package/dist/intersection-with.d.ts +2 -52
- package/dist/intersection-with.js +1 -1
- package/dist/intersection.cjs +1 -1
- package/dist/intersection.d.cts +2 -35
- package/dist/intersection.d.ts +2 -35
- package/dist/intersection.js +1 -1
- package/dist/invert-DMSQXxyb.d.ts +33 -0
- package/dist/invert-DMSQXxyb.d.ts.map +1 -0
- package/dist/invert-DhET3F4O.cjs +1 -0
- package/dist/invert-DsEwwjea.js +2 -0
- package/dist/invert-DsEwwjea.js.map +1 -0
- package/dist/invert-W6EUYMws.d.cts +33 -0
- package/dist/invert-W6EUYMws.d.cts.map +1 -0
- package/dist/invert.cjs +1 -1
- package/dist/invert.d.cts +3 -33
- package/dist/invert.d.ts +3 -33
- package/dist/invert.js +1 -1
- package/dist/is-array-DAz7gkMm.d.cts +21 -0
- package/dist/is-array-DAz7gkMm.d.cts.map +1 -0
- package/dist/is-array-DWFX2okh.js +2 -0
- package/dist/is-array-DWFX2okh.js.map +1 -0
- package/dist/is-array-KzYs6pgh.cjs +1 -0
- package/dist/is-array-prXR4sUC.d.ts +21 -0
- package/dist/is-array-prXR4sUC.d.ts.map +1 -0
- package/dist/is-array.cjs +1 -1
- package/dist/is-array.d.cts +3 -19
- package/dist/is-array.d.ts +3 -19
- package/dist/is-array.js +1 -1
- package/dist/is-big-int-Cgisg7DN.cjs +1 -0
- package/dist/is-big-int-CnWK6SmP.js +2 -0
- package/dist/is-big-int-CnWK6SmP.js.map +1 -0
- package/dist/is-big-int-Dow1Lswh.d.cts +22 -0
- package/dist/is-big-int-Dow1Lswh.d.cts.map +1 -0
- package/dist/is-big-int-e123CwI2.d.ts +22 -0
- package/dist/is-big-int-e123CwI2.d.ts.map +1 -0
- package/dist/is-big-int.cjs +1 -1
- package/dist/is-big-int.d.cts +3 -20
- package/dist/is-big-int.d.ts +3 -20
- package/dist/is-big-int.js +1 -1
- package/dist/is-boolean-CZKz4ij3.js +2 -0
- package/dist/is-boolean-CZKz4ij3.js.map +1 -0
- package/dist/is-boolean-DADmOIbu.cjs +1 -0
- package/dist/is-boolean-DWuHhrIe.d.ts +21 -0
- package/dist/is-boolean-DWuHhrIe.d.ts.map +1 -0
- package/dist/is-boolean-NhoGl1jZ.d.cts +21 -0
- package/dist/is-boolean-NhoGl1jZ.d.cts.map +1 -0
- package/dist/is-boolean.cjs +1 -1
- package/dist/is-boolean.d.cts +3 -19
- package/dist/is-boolean.d.ts +3 -19
- package/dist/is-boolean.js +1 -1
- package/dist/is-bounded-record-DCEYRY41.d.ts +34 -0
- package/dist/is-bounded-record-DCEYRY41.d.ts.map +1 -0
- package/dist/is-bounded-record-kpsb1wQA.d.cts +34 -0
- package/dist/is-bounded-record-kpsb1wQA.d.cts.map +1 -0
- package/dist/is-date--gIC--NA.d.cts +17 -0
- package/dist/is-date--gIC--NA.d.cts.map +1 -0
- package/dist/is-date-BgcZ3-ed.d.ts +17 -0
- package/dist/is-date-BgcZ3-ed.d.ts.map +1 -0
- package/dist/is-date-CNebQb0Y.cjs +1 -0
- package/dist/is-date-DKKVtHVY.js +2 -0
- package/dist/is-date-DKKVtHVY.js.map +1 -0
- package/dist/is-date.cjs +1 -1
- package/dist/is-date.d.cts +2 -15
- package/dist/is-date.d.ts +2 -15
- package/dist/is-date.js +1 -1
- package/dist/is-deep-equal-B_XN4vCU.d.ts +71 -0
- package/dist/is-deep-equal-B_XN4vCU.d.ts.map +1 -0
- package/dist/is-deep-equal-CtBdM4eT.d.cts +71 -0
- package/dist/is-deep-equal-CtBdM4eT.d.cts.map +1 -0
- package/dist/is-deep-equal-D7dqs3e2.js +2 -0
- package/dist/is-deep-equal-D7dqs3e2.js.map +1 -0
- package/dist/is-deep-equal-DR9xJg8D.cjs +1 -0
- package/dist/is-deep-equal.cjs +1 -1
- package/dist/is-deep-equal.d.cts +2 -69
- package/dist/is-deep-equal.d.ts +2 -69
- package/dist/is-deep-equal.js +1 -1
- package/dist/is-defined-3Qp6lmQw.d.cts +19 -0
- package/dist/is-defined-3Qp6lmQw.d.cts.map +1 -0
- package/dist/is-defined-BnbPFPUx.cjs +1 -0
- package/dist/is-defined-DESIOXqX.d.ts +19 -0
- package/dist/is-defined-DESIOXqX.d.ts.map +1 -0
- package/dist/is-defined-bdl8LRyD.js +2 -0
- package/dist/is-defined-bdl8LRyD.js.map +1 -0
- package/dist/is-defined.cjs +1 -1
- package/dist/is-defined.d.cts +2 -17
- package/dist/is-defined.d.ts +2 -17
- package/dist/is-defined.js +1 -1
- package/dist/is-empty-BSkgk0sE.js +2 -0
- package/dist/is-empty-BSkgk0sE.js.map +1 -0
- package/dist/is-empty-CFT22qg4.d.cts +35 -0
- package/dist/is-empty-CFT22qg4.d.cts.map +1 -0
- package/dist/is-empty-qOplNC63.d.ts +35 -0
- package/dist/is-empty-qOplNC63.d.ts.map +1 -0
- package/dist/is-empty-s3B43K38.cjs +1 -0
- package/dist/is-empty.cjs +1 -1
- package/dist/is-empty.d.cts +3 -32
- package/dist/is-empty.d.ts +3 -32
- package/dist/is-empty.js +1 -1
- package/dist/is-error-7hLjNT9B.d.cts +18 -0
- package/dist/is-error-7hLjNT9B.d.cts.map +1 -0
- package/dist/is-error-C0Qr0E3U.js +2 -0
- package/dist/is-error-C0Qr0E3U.js.map +1 -0
- package/dist/is-error-CjiajQ5C.d.ts +18 -0
- package/dist/is-error-CjiajQ5C.d.ts.map +1 -0
- package/dist/is-error-bQ2IwWHj.cjs +1 -0
- package/dist/is-error.cjs +1 -1
- package/dist/is-error.d.cts +2 -16
- package/dist/is-error.d.ts +2 -16
- package/dist/is-error.js +1 -1
- package/dist/is-function-DaoOpTFE.cjs +1 -0
- package/dist/is-function-DpNu_iYN.d.ts +18 -0
- package/dist/is-function-DpNu_iYN.d.ts.map +1 -0
- package/dist/is-function-o1ixw9eS.d.cts +18 -0
- package/dist/is-function-o1ixw9eS.d.cts.map +1 -0
- package/dist/is-function-r9PVEQ1p.js +2 -0
- package/dist/is-function-r9PVEQ1p.js.map +1 -0
- package/dist/is-function.cjs +1 -1
- package/dist/is-function.d.cts +2 -16
- package/dist/is-function.d.ts +2 -16
- package/dist/is-function.js +1 -1
- package/dist/is-included-in-B1CoqHXo.cjs +1 -0
- package/dist/is-included-in-BeJz7gyj.js +2 -0
- package/dist/is-included-in-BeJz7gyj.js.map +1 -0
- package/dist/is-included-in-CPnrdiNI.d.ts +110 -0
- package/dist/is-included-in-CPnrdiNI.d.ts.map +1 -0
- package/dist/is-included-in-ciZ0ThQh.d.cts +110 -0
- package/dist/is-included-in-ciZ0ThQh.d.cts.map +1 -0
- package/dist/is-included-in.cjs +1 -1
- package/dist/is-included-in.d.cts +4 -107
- package/dist/is-included-in.d.ts +4 -107
- package/dist/is-included-in.js +1 -1
- package/dist/is-non-null-BaxoBfPo.js +2 -0
- package/dist/is-non-null-BaxoBfPo.js.map +1 -0
- package/dist/is-non-null-DnDE6zDD.cjs +1 -0
- package/dist/is-non-null-DtN0OIEX.d.cts +19 -0
- package/dist/is-non-null-DtN0OIEX.d.cts.map +1 -0
- package/dist/is-non-null-Y3FhczVS.d.ts +19 -0
- package/dist/is-non-null-Y3FhczVS.d.ts.map +1 -0
- package/dist/is-non-null.cjs +1 -1
- package/dist/is-non-null.d.cts +2 -17
- package/dist/is-non-null.d.ts +2 -17
- package/dist/is-non-null.js +1 -1
- package/dist/is-non-nullish-BW-uIWkn.d.cts +20 -0
- package/dist/is-non-nullish-BW-uIWkn.d.cts.map +1 -0
- package/dist/is-non-nullish-C7zZvb8c.d.ts +20 -0
- package/dist/is-non-nullish-C7zZvb8c.d.ts.map +1 -0
- package/dist/is-non-nullish-CgmLeA39.cjs +1 -0
- package/dist/is-non-nullish-CsmQhBq1.js +2 -0
- package/dist/is-non-nullish-CsmQhBq1.js.map +1 -0
- package/dist/is-non-nullish.cjs +1 -1
- package/dist/is-non-nullish.d.cts +2 -18
- package/dist/is-non-nullish.d.ts +2 -18
- package/dist/is-non-nullish.js +1 -1
- package/dist/is-not-C2o5RmWD.cjs +1 -0
- package/dist/is-not-CBCnEdKF.js +2 -0
- package/dist/is-not-CBCnEdKF.js.map +1 -0
- package/dist/is-not-DYVAMLBs.d.cts +19 -0
- package/dist/is-not-DYVAMLBs.d.cts.map +1 -0
- package/dist/is-not-VNjzMFnp.d.ts +19 -0
- package/dist/is-not-VNjzMFnp.d.ts.map +1 -0
- package/dist/is-not.cjs +1 -1
- package/dist/is-not.d.cts +2 -17
- package/dist/is-not.d.ts +2 -17
- package/dist/is-not.js +1 -1
- package/dist/is-nullish-CEDQo8Hn.d.ts +23 -0
- package/dist/is-nullish-CEDQo8Hn.d.ts.map +1 -0
- package/dist/is-nullish-DSaUMZZs.js +2 -0
- package/dist/is-nullish-DSaUMZZs.js.map +1 -0
- package/dist/is-nullish-Dd6vFJuS.cjs +1 -0
- package/dist/is-nullish-Djw8KpQn.d.cts +23 -0
- package/dist/is-nullish-Djw8KpQn.d.cts.map +1 -0
- package/dist/is-nullish.cjs +1 -1
- package/dist/is-nullish.d.cts +3 -21
- package/dist/is-nullish.d.ts +3 -21
- package/dist/is-nullish.js +1 -1
- package/dist/is-number-CTdFYf2z.d.cts +22 -0
- package/dist/is-number-CTdFYf2z.d.cts.map +1 -0
- package/dist/is-number-CZ5Eb2Cm.d.ts +22 -0
- package/dist/is-number-CZ5Eb2Cm.d.ts.map +1 -0
- package/dist/is-number-DRJ5I-tT.js +2 -0
- package/dist/is-number-DRJ5I-tT.js.map +1 -0
- package/dist/is-number-Dh9GBANx.cjs +1 -0
- package/dist/is-number.cjs +1 -1
- package/dist/is-number.d.cts +3 -20
- package/dist/is-number.d.ts +3 -20
- package/dist/is-number.js +1 -1
- package/dist/is-object-type-4fvedNiu.d.ts +35 -0
- package/dist/is-object-type-4fvedNiu.d.ts.map +1 -0
- package/dist/is-object-type-8OtwCXgl.cjs +1 -0
- package/dist/is-object-type-BWyBChB5.js +2 -0
- package/dist/is-object-type-BWyBChB5.js.map +1 -0
- package/dist/is-object-type-D5u6pYGC.d.cts +35 -0
- package/dist/is-object-type-D5u6pYGC.d.cts.map +1 -0
- package/dist/is-object-type.cjs +1 -1
- package/dist/is-object-type.d.cts +3 -33
- package/dist/is-object-type.d.ts +3 -33
- package/dist/is-object-type.js +1 -1
- package/dist/is-plain-object-BlyD-E-m.d.ts +33 -0
- package/dist/is-plain-object-BlyD-E-m.d.ts.map +1 -0
- package/dist/is-plain-object-BvL_W8IP.d.cts +33 -0
- package/dist/is-plain-object-BvL_W8IP.d.cts.map +1 -0
- package/dist/is-plain-object-Cnx_x0Ei.js +2 -0
- package/dist/is-plain-object-Cnx_x0Ei.js.map +1 -0
- package/dist/is-plain-object-ufeXFQks.cjs +1 -0
- package/dist/is-plain-object.cjs +1 -1
- package/dist/is-plain-object.d.cts +3 -31
- package/dist/is-plain-object.d.ts +3 -31
- package/dist/is-plain-object.js +1 -1
- package/dist/is-promise-BVzvJRjb.cjs +1 -0
- package/dist/is-promise-CcLSSGQE.d.ts +18 -0
- package/dist/is-promise-CcLSSGQE.d.ts.map +1 -0
- package/dist/is-promise-DbVIpcYL.js +2 -0
- package/dist/is-promise-DbVIpcYL.js.map +1 -0
- package/dist/is-promise-VSzOkl6R.d.cts +18 -0
- package/dist/is-promise-VSzOkl6R.d.cts.map +1 -0
- package/dist/is-promise.cjs +1 -1
- package/dist/is-promise.d.cts +2 -16
- package/dist/is-promise.d.ts +2 -16
- package/dist/is-promise.js +1 -1
- package/dist/is-shallow-equal-BygWppM-.js +2 -0
- package/dist/is-shallow-equal-BygWppM-.js.map +1 -0
- package/dist/is-shallow-equal-CSDwHXxr.cjs +1 -0
- package/dist/is-shallow-equal-DQCnwLNk.d.ts +71 -0
- package/dist/is-shallow-equal-DQCnwLNk.d.ts.map +1 -0
- package/dist/is-shallow-equal-DuVbTG3f.d.cts +71 -0
- package/dist/is-shallow-equal-DuVbTG3f.d.cts.map +1 -0
- package/dist/is-shallow-equal.cjs +1 -1
- package/dist/is-shallow-equal.d.cts +2 -69
- package/dist/is-shallow-equal.d.ts +2 -69
- package/dist/is-shallow-equal.js +1 -1
- package/dist/is-strict-equal-2zT4bfOn.js +2 -0
- package/dist/is-strict-equal-2zT4bfOn.js.map +1 -0
- package/dist/is-strict-equal-5yvkDn8Q.d.ts +67 -0
- package/dist/is-strict-equal-5yvkDn8Q.d.ts.map +1 -0
- package/dist/is-strict-equal-Ct5kAZ5_.d.cts +67 -0
- package/dist/is-strict-equal-Ct5kAZ5_.d.cts.map +1 -0
- package/dist/is-strict-equal-sxCmPWrn.cjs +1 -0
- package/dist/is-strict-equal.cjs +1 -1
- package/dist/is-strict-equal.d.cts +2 -65
- package/dist/is-strict-equal.d.ts +2 -65
- package/dist/is-strict-equal.js +1 -1
- package/dist/is-string-A-koYYS3.js +2 -0
- package/dist/is-string-A-koYYS3.js.map +1 -0
- package/dist/is-string-DAe_2BJR.d.ts +20 -0
- package/dist/is-string-DAe_2BJR.d.ts.map +1 -0
- package/dist/is-string-DiT0W6sZ.cjs +1 -0
- package/dist/is-string-wfqO0Lag.d.cts +20 -0
- package/dist/is-string-wfqO0Lag.d.cts.map +1 -0
- package/dist/is-string.cjs +1 -1
- package/dist/is-string.d.cts +3 -18
- package/dist/is-string.d.ts +3 -18
- package/dist/is-string.js +1 -1
- package/dist/is-symbol-CIR-W22K.d.cts +20 -0
- package/dist/is-symbol-CIR-W22K.d.cts.map +1 -0
- package/dist/is-symbol-CVwn3meF.d.ts +20 -0
- package/dist/is-symbol-CVwn3meF.d.ts.map +1 -0
- package/dist/is-symbol-DFWPkgNV.cjs +1 -0
- package/dist/is-symbol-Vzo5mVUM.js +2 -0
- package/dist/is-symbol-Vzo5mVUM.js.map +1 -0
- package/dist/is-symbol.cjs +1 -1
- package/dist/is-symbol.d.cts +3 -18
- package/dist/is-symbol.d.ts +3 -18
- package/dist/is-symbol.js +1 -1
- package/dist/is-truthy-CJgAM1AZ.cjs +1 -0
- package/dist/is-truthy-CoTXzAuK.d.cts +21 -0
- package/dist/is-truthy-CoTXzAuK.d.cts.map +1 -0
- package/dist/is-truthy-Ctdf-v7U.d.ts +21 -0
- package/dist/is-truthy-Ctdf-v7U.d.ts.map +1 -0
- package/dist/is-truthy-ZWo_GERD.js +2 -0
- package/dist/is-truthy-ZWo_GERD.js.map +1 -0
- package/dist/is-truthy.cjs +1 -1
- package/dist/is-truthy.d.cts +2 -19
- package/dist/is-truthy.d.ts +2 -19
- package/dist/is-truthy.js +1 -1
- package/dist/is-union-BEGCMhOi.d.cts +8 -0
- package/dist/is-union-BEGCMhOi.d.cts.map +1 -0
- package/dist/is-union-CBVcM_uW.d.ts +8 -0
- package/dist/is-union-CBVcM_uW.d.ts.map +1 -0
- package/dist/iterable-container-V5sa0V_H.d.cts +17 -0
- package/dist/iterable-container-V5sa0V_H.d.cts.map +1 -0
- package/dist/iterable-container-wtkYslN_.d.ts +17 -0
- package/dist/iterable-container-wtkYslN_.d.ts.map +1 -0
- package/dist/join-BXqvyin6.cjs +1 -0
- package/dist/join-D0iujfDN.d.cts +46 -0
- package/dist/join-D0iujfDN.d.cts.map +1 -0
- package/dist/join-E8OrzoQ8.d.ts +46 -0
- package/dist/join-E8OrzoQ8.d.ts.map +1 -0
- package/dist/join-nCY8bATt.js +2 -0
- package/dist/join-nCY8bATt.js.map +1 -0
- package/dist/join.cjs +1 -1
- package/dist/join.d.cts +2 -44
- package/dist/join.d.ts +2 -44
- package/dist/join.js +1 -1
- package/dist/key-codes-3lqUuEMs.d.cts +29 -0
- package/dist/key-codes-3lqUuEMs.d.cts.map +1 -0
- package/dist/key-codes-ChQrhdSG.js +2 -0
- package/dist/key-codes-ChQrhdSG.js.map +1 -0
- package/dist/key-codes-Do_lEvpi.d.ts +29 -0
- package/dist/key-codes-Do_lEvpi.d.ts.map +1 -0
- package/dist/key-codes-DofSlv3v.cjs +1 -0
- package/dist/key-codes.cjs +1 -1
- package/dist/key-codes.d.cts +2 -27
- package/dist/key-codes.d.ts +2 -27
- package/dist/key-codes.js +1 -1
- package/dist/keys-BOIca6L1.d.cts +38 -0
- package/dist/keys-BOIca6L1.d.cts.map +1 -0
- package/dist/keys-CeZxsvdJ.js +2 -0
- package/dist/keys-CeZxsvdJ.js.map +1 -0
- package/dist/keys-DQwPfo__.cjs +1 -0
- package/dist/keys-fX8vI-uH.d.ts +38 -0
- package/dist/keys-fX8vI-uH.d.ts.map +1 -0
- package/dist/keys.cjs +1 -1
- package/dist/keys.d.cts +5 -38
- package/dist/keys.d.ts +5 -38
- package/dist/keys.js +1 -1
- package/dist/last-BoVh9Bgz.d.ts +37 -0
- package/dist/last-BoVh9Bgz.d.ts.map +1 -0
- package/dist/last-BsvhqAkE.js +2 -0
- package/dist/last-BsvhqAkE.js.map +1 -0
- package/dist/last-Cy_0pMbz.d.cts +37 -0
- package/dist/last-Cy_0pMbz.d.cts.map +1 -0
- package/dist/last-DCnS88X2.cjs +1 -0
- package/dist/last.cjs +1 -1
- package/dist/last.d.cts +3 -35
- package/dist/last.d.ts +3 -35
- package/dist/last.js +1 -1
- package/dist/lazy-data-last-impl-3PAFkslW.cjs +1 -0
- package/dist/lazy-data-last-impl-7QfM1xXg.js +2 -0
- package/dist/lazy-data-last-impl-7QfM1xXg.js.map +1 -0
- package/dist/length-BKo5HUVo.d.ts +28 -0
- package/dist/length-BKo5HUVo.d.ts.map +1 -0
- package/dist/length-BtKC_n_k.js +2 -0
- package/dist/length-BtKC_n_k.js.map +1 -0
- package/dist/length-Cch-gs0T.cjs +1 -0
- package/dist/length-DQCuaUy9.d.cts +28 -0
- package/dist/length-DQCuaUy9.d.cts.map +1 -0
- package/dist/length.cjs +1 -1
- package/dist/length.d.cts +2 -26
- package/dist/length.d.ts +2 -26
- package/dist/length.js +1 -1
- package/dist/magic-string.es-Dlejmjth.cjs +15 -0
- package/dist/magic-string.es-bOkeFdlI.js +15 -0
- package/dist/magic-string.es-bOkeFdlI.js.map +1 -0
- package/dist/map-2CmGA3HQ.cjs +1 -0
- package/dist/map-D2kXyrhE.d.ts +47 -0
- package/dist/map-D2kXyrhE.d.ts.map +1 -0
- package/dist/map-hbl-e0fs.d.cts +47 -0
- package/dist/map-hbl-e0fs.d.cts.map +1 -0
- package/dist/map-keys-5JqEYSRn.js +2 -0
- package/dist/map-keys-5JqEYSRn.js.map +1 -0
- package/dist/map-keys-B636MLly.cjs +1 -0
- package/dist/map-keys-BMF5TTCT.d.cts +34 -0
- package/dist/map-keys-BMF5TTCT.d.cts.map +1 -0
- package/dist/map-keys-DTuz2AU9.d.ts +34 -0
- package/dist/map-keys-DTuz2AU9.d.ts.map +1 -0
- package/dist/map-keys.cjs +1 -1
- package/dist/map-keys.d.cts +7 -35
- package/dist/map-keys.d.ts +7 -35
- package/dist/map-keys.js +1 -1
- package/dist/map-t5kkqRLl.js +2 -0
- package/dist/map-t5kkqRLl.js.map +1 -0
- package/dist/map-to-obj-C3TvW3Zq.d.ts +68 -0
- package/dist/map-to-obj-C3TvW3Zq.d.ts.map +1 -0
- package/dist/map-to-obj-D5MFa8lB.d.cts +68 -0
- package/dist/map-to-obj-D5MFa8lB.d.cts.map +1 -0
- package/dist/map-to-obj-D8GiFVoH.cjs +1 -0
- package/dist/map-to-obj-DSoMzAgs.js +2 -0
- package/dist/map-to-obj-DSoMzAgs.js.map +1 -0
- package/dist/map-to-obj.cjs +1 -1
- package/dist/map-to-obj.d.cts +2 -66
- package/dist/map-to-obj.d.ts +2 -66
- package/dist/map-to-obj.js +1 -1
- package/dist/map-values-Bj4nhj3r.js +2 -0
- package/dist/map-values-Bj4nhj3r.js.map +1 -0
- package/dist/map-values-CXFe39-O.d.ts +42 -0
- package/dist/map-values-CXFe39-O.d.ts.map +1 -0
- package/dist/map-values-CbOf72JF.cjs +1 -0
- package/dist/map-values-DgFd9qsH.d.cts +42 -0
- package/dist/map-values-DgFd9qsH.d.cts.map +1 -0
- package/dist/map-values.cjs +1 -1
- package/dist/map-values.d.cts +5 -43
- package/dist/map-values.d.ts +5 -43
- package/dist/map-values.js +1 -1
- package/dist/map-with-feedback-Bjyq9-ss.d.cts +54 -0
- package/dist/map-with-feedback-Bjyq9-ss.d.cts.map +1 -0
- package/dist/map-with-feedback-BwvFVDYW.cjs +1 -0
- package/dist/map-with-feedback-DV8xKpjj.d.ts +54 -0
- package/dist/map-with-feedback-DV8xKpjj.d.ts.map +1 -0
- package/dist/map-with-feedback-l2Hn2I08.js +2 -0
- package/dist/map-with-feedback-l2Hn2I08.js.map +1 -0
- package/dist/map-with-feedback.cjs +1 -1
- package/dist/map-with-feedback.d.cts +4 -51
- package/dist/map-with-feedback.d.ts +4 -51
- package/dist/map-with-feedback.js +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.d.cts +4 -44
- package/dist/map.d.ts +4 -44
- package/dist/map.js +1 -1
- package/dist/mapped-CywWFD6s.d.ts +7 -0
- package/dist/mapped-CywWFD6s.d.ts.map +1 -0
- package/dist/mapped-DdfSDQ5D.d.cts +7 -0
- package/dist/mapped-DdfSDQ5D.d.cts.map +1 -0
- package/dist/mean-by-CSUU6ZRi.d.cts +35 -0
- package/dist/mean-by-CSUU6ZRi.d.cts.map +1 -0
- package/dist/mean-by-D6OE3lEe.cjs +1 -0
- package/dist/mean-by-D6OGvOgW.js +2 -0
- package/dist/mean-by-D6OGvOgW.js.map +1 -0
- package/dist/mean-by-DiH-QI0U.d.ts +35 -0
- package/dist/mean-by-DiH-QI0U.d.ts.map +1 -0
- package/dist/mean-by.cjs +1 -1
- package/dist/mean-by.d.cts +2 -33
- package/dist/mean-by.d.ts +2 -33
- package/dist/mean-by.js +1 -1
- package/dist/merge-BKrUYniy.cjs +1 -0
- package/dist/merge-CXnHl0ti.d.cts +57 -0
- package/dist/merge-CXnHl0ti.d.cts.map +1 -0
- package/dist/merge-DM3LuCr8.js +2 -0
- package/dist/merge-DM3LuCr8.js.map +1 -0
- package/dist/merge-EO0Q1QPA.d.ts +57 -0
- package/dist/merge-EO0Q1QPA.d.ts.map +1 -0
- package/dist/merge-all-BbdTIlUo.js +2 -0
- package/dist/merge-all-BbdTIlUo.js.map +1 -0
- package/dist/merge-all-DA-xZzpl.d.ts +42 -0
- package/dist/merge-all-DA-xZzpl.d.ts.map +1 -0
- package/dist/merge-all-DkmSC0ri.d.cts +42 -0
- package/dist/merge-all-DkmSC0ri.d.cts.map +1 -0
- package/dist/merge-all-MOlMBgeb.cjs +1 -0
- package/dist/merge-all.cjs +1 -1
- package/dist/merge-all.d.cts +6 -42
- package/dist/merge-all.d.ts +6 -42
- package/dist/merge-all.js +1 -1
- package/dist/merge-deep-A4Cgd47e.d.ts +37 -0
- package/dist/merge-deep-A4Cgd47e.d.ts.map +1 -0
- package/dist/merge-deep-BcekJf0s.cjs +1 -0
- package/dist/merge-deep-DAfbgx82.d.cts +37 -0
- package/dist/merge-deep-DAfbgx82.d.cts.map +1 -0
- package/dist/merge-deep-Dn1sRc5z.js +2 -0
- package/dist/merge-deep-Dn1sRc5z.js.map +1 -0
- package/dist/merge-deep.cjs +1 -1
- package/dist/merge-deep.d.cts +2 -34
- package/dist/merge-deep.d.ts +2 -34
- package/dist/merge-deep.js +1 -1
- package/dist/merge.cjs +1 -1
- package/dist/merge.d.cts +2 -54
- package/dist/merge.d.ts +2 -54
- package/dist/merge.js +1 -1
- package/dist/multiply-BI2VvlFd.js +2 -0
- package/dist/multiply-BI2VvlFd.js.map +1 -0
- package/dist/multiply-CTfXAoM_.cjs +1 -0
- package/dist/multiply-UBFQYNUD.d.ts +33 -0
- package/dist/multiply-UBFQYNUD.d.ts.map +1 -0
- package/dist/multiply-gDDdmofq.d.cts +33 -0
- package/dist/multiply-gDDdmofq.d.cts.map +1 -0
- package/dist/multiply.cjs +1 -1
- package/dist/multiply.d.cts +2 -31
- package/dist/multiply.d.ts +2 -31
- package/dist/multiply.js +1 -1
- package/dist/n-tuple-BELi5yRe.d.ts +12 -0
- package/dist/n-tuple-BELi5yRe.d.ts.map +1 -0
- package/dist/n-tuple-Co_jgwEn.d.cts +12 -0
- package/dist/n-tuple-Co_jgwEn.d.cts.map +1 -0
- package/dist/narrowed-to-BTrqm7Xt.d.cts +15 -0
- package/dist/narrowed-to-BTrqm7Xt.d.cts.map +1 -0
- package/dist/narrowed-to-C6wP224-.d.ts +15 -0
- package/dist/narrowed-to-C6wP224-.d.ts.map +1 -0
- package/dist/non-empty-array-D3HWDPMt.d.ts +5 -0
- package/dist/non-empty-array-D3HWDPMt.d.ts.map +1 -0
- package/dist/non-empty-array-D3ZRHApS.d.cts +5 -0
- package/dist/non-empty-array-D3ZRHApS.d.cts.map +1 -0
- package/dist/nth-by-BLlYxw3C.cjs +1 -0
- package/dist/nth-by-BR1fcwCZ.js +2 -0
- package/dist/nth-by-BR1fcwCZ.js.map +1 -0
- package/dist/nth-by-CKFOiBHp.d.cts +42 -0
- package/dist/nth-by-CKFOiBHp.d.cts.map +1 -0
- package/dist/nth-by-DX2PBdEe.d.ts +42 -0
- package/dist/nth-by-DX2PBdEe.d.ts.map +1 -0
- package/dist/nth-by.cjs +1 -1
- package/dist/nth-by.d.cts +5 -39
- package/dist/nth-by.d.ts +5 -39
- package/dist/nth-by.js +1 -1
- package/dist/obj-of-B7t_1Jdi.d.ts +27 -0
- package/dist/obj-of-B7t_1Jdi.d.ts.map +1 -0
- package/dist/obj-of-CXD9MOPS.js +2 -0
- package/dist/obj-of-CXD9MOPS.js.map +1 -0
- package/dist/obj-of-DE7eb-D1.cjs +1 -0
- package/dist/obj-of-OgSK6d9I.d.cts +27 -0
- package/dist/obj-of-OgSK6d9I.d.cts.map +1 -0
- package/dist/obj-of.cjs +1 -1
- package/dist/obj-of.d.cts +2 -29
- package/dist/obj-of.d.ts +2 -29
- package/dist/obj-of.js +1 -1
- package/dist/omit-Bpyv8_An.d.ts +29 -0
- package/dist/omit-Bpyv8_An.d.ts.map +1 -0
- package/dist/omit-DB0YVkss.d.cts +29 -0
- package/dist/omit-DB0YVkss.d.cts.map +1 -0
- package/dist/omit-DDC-zMp9.cjs +1 -0
- package/dist/omit-Dgi9IFmV.js +2 -0
- package/dist/omit-Dgi9IFmV.js.map +1 -0
- package/dist/omit-by-6UKJmELm.d.cts +52 -0
- package/dist/omit-by-6UKJmELm.d.cts.map +1 -0
- package/dist/omit-by-BUnyJURX.js +2 -0
- package/dist/omit-by-BUnyJURX.js.map +1 -0
- package/dist/omit-by-BwOILpho.d.ts +52 -0
- package/dist/omit-by-BwOILpho.d.ts.map +1 -0
- package/dist/omit-by-DODiMBly.cjs +1 -0
- package/dist/omit-by.cjs +1 -1
- package/dist/omit-by.d.cts +6 -60
- package/dist/omit-by.d.ts +6 -60
- package/dist/omit-by.js +1 -1
- package/dist/omit.cjs +1 -1
- package/dist/omit.d.cts +2 -27
- package/dist/omit.d.ts +2 -27
- package/dist/omit.js +1 -1
- package/dist/once-CDA15oHo.js +2 -0
- package/dist/once-CDA15oHo.js.map +1 -0
- package/dist/once-CKjmehD8.d.cts +17 -0
- package/dist/once-CKjmehD8.d.cts.map +1 -0
- package/dist/once-DBa0D-t8.d.ts +17 -0
- package/dist/once-DBa0D-t8.d.ts.map +1 -0
- package/dist/once-ndNMC6PL.cjs +1 -0
- package/dist/once.cjs +1 -1
- package/dist/once.d.cts +2 -15
- package/dist/once.d.ts +2 -15
- package/dist/once.js +1 -1
- package/dist/only-DRLNxyIr.d.cts +34 -0
- package/dist/only-DRLNxyIr.d.cts.map +1 -0
- package/dist/only-IIcEVYAb.cjs +1 -0
- package/dist/only-Kwk1k50y.js +2 -0
- package/dist/only-Kwk1k50y.js.map +1 -0
- package/dist/only-iY0lPSED.d.ts +34 -0
- package/dist/only-iY0lPSED.d.ts.map +1 -0
- package/dist/only.cjs +1 -1
- package/dist/only.d.cts +3 -32
- package/dist/only.d.ts +3 -32
- package/dist/only.js +1 -1
- package/dist/partial-array-CzOnr197.d.cts +12 -0
- package/dist/partial-array-CzOnr197.d.cts.map +1 -0
- package/dist/partial-array-IoGI5gCo.d.ts +12 -0
- package/dist/partial-array-IoGI5gCo.d.ts.map +1 -0
- package/dist/partition-BAwbSsom.cjs +1 -0
- package/dist/partition-BRCPpbRh.d.cts +51 -0
- package/dist/partition-BRCPpbRh.d.cts.map +1 -0
- package/dist/partition-BmC5u4fI.js +2 -0
- package/dist/partition-BmC5u4fI.js.map +1 -0
- package/dist/partition-TVQP5mCe.d.ts +51 -0
- package/dist/partition-TVQP5mCe.d.ts.map +1 -0
- package/dist/partition.cjs +1 -1
- package/dist/partition.d.cts +2 -49
- package/dist/partition.d.ts +2 -49
- package/dist/partition.js +1 -1
- package/dist/path-or-BY4Gf2OC.js +2 -0
- package/dist/path-or-BY4Gf2OC.js.map +1 -0
- package/dist/path-or-CVvftsB5.cjs +1 -0
- package/dist/path-or-Cly_jEXS.d.ts +87 -0
- package/dist/path-or-Cly_jEXS.d.ts.map +1 -0
- package/dist/path-or-mXO0iY19.d.cts +87 -0
- package/dist/path-or-mXO0iY19.d.cts.map +1 -0
- package/dist/path-or.cjs +1 -1
- package/dist/path-or.d.cts +2 -79
- package/dist/path-or.d.ts +2 -79
- package/dist/path-or.js +1 -1
- package/dist/perkakas-type-error-0tHtaPbi.d.cts +19 -0
- package/dist/perkakas-type-error-0tHtaPbi.d.cts.map +1 -0
- package/dist/perkakas-type-error-Da3ni385.d.ts +19 -0
- package/dist/perkakas-type-error-Da3ni385.d.ts.map +1 -0
- package/dist/pick--K1QxTFe.cjs +1 -0
- package/dist/pick-BeGmtZCr.d.ts +66 -0
- package/dist/pick-BeGmtZCr.d.ts.map +1 -0
- package/dist/pick-BuIVJICv.js +2 -0
- package/dist/pick-BuIVJICv.js.map +1 -0
- package/dist/pick-CsXZS_Xe.d.cts +66 -0
- package/dist/pick-CsXZS_Xe.d.cts.map +1 -0
- package/dist/pick-by-CVILzj6i.cjs +1 -0
- package/dist/pick-by-CmgAp9Gv.d.ts +68 -0
- package/dist/pick-by-CmgAp9Gv.d.ts.map +1 -0
- package/dist/pick-by-D6ACT8QA.js +2 -0
- package/dist/pick-by-D6ACT8QA.js.map +1 -0
- package/dist/pick-by-DVekF8fN.d.cts +68 -0
- package/dist/pick-by-DVekF8fN.d.cts.map +1 -0
- package/dist/pick-by.cjs +1 -1
- package/dist/pick-by.d.cts +6 -73
- package/dist/pick-by.d.ts +6 -73
- package/dist/pick-by.js +1 -1
- package/dist/pick.cjs +1 -1
- package/dist/pick.d.cts +7 -70
- package/dist/pick.d.ts +7 -70
- package/dist/pick.js +1 -1
- package/dist/pipe-CjmXKJLt.d.ts +34 -0
- package/dist/pipe-CjmXKJLt.d.ts.map +1 -0
- package/dist/pipe-CtsfTnqv.js +2 -0
- package/dist/pipe-CtsfTnqv.js.map +1 -0
- package/dist/pipe-DGVP9PCt.d.cts +34 -0
- package/dist/pipe-DGVP9PCt.d.cts.map +1 -0
- package/dist/pipe-DlFjc4Wf.cjs +1 -0
- package/dist/pipe.cjs +1 -1
- package/dist/pipe.d.cts +2 -32
- package/dist/pipe.d.ts +2 -32
- package/dist/pipe.js +1 -1
- package/dist/piped-7IMVVz1U.d.ts +31 -0
- package/dist/piped-7IMVVz1U.d.ts.map +1 -0
- package/dist/piped-Bj0X7cQT.js +2 -0
- package/dist/piped-Bj0X7cQT.js.map +1 -0
- package/dist/piped-Brc8b_TJ.d.cts +31 -0
- package/dist/piped-Brc8b_TJ.d.cts.map +1 -0
- package/dist/piped-Dk4o0Pdm.cjs +1 -0
- package/dist/piped.cjs +1 -1
- package/dist/piped.d.cts +2 -29
- package/dist/piped.d.ts +2 -29
- package/dist/piped.js +1 -1
- package/dist/product-BHRT4Aan.cjs +1 -0
- package/dist/product-D3OVy5Sj.js +2 -0
- package/dist/product-D3OVy5Sj.js.map +1 -0
- package/dist/product-DKaFnVZj.d.cts +52 -0
- package/dist/product-DKaFnVZj.d.cts.map +1 -0
- package/dist/product-DSfUTpxQ.d.ts +52 -0
- package/dist/product-DSfUTpxQ.d.ts.map +1 -0
- package/dist/product.cjs +1 -1
- package/dist/product.d.cts +3 -50
- package/dist/product.d.ts +3 -50
- package/dist/product.js +1 -1
- package/dist/prop-1ZO514Bp.d.cts +88 -0
- package/dist/prop-1ZO514Bp.d.cts.map +1 -0
- package/dist/prop-BAo3Mk2v.js +2 -0
- package/dist/prop-BAo3Mk2v.js.map +1 -0
- package/dist/prop-BMBSfMKq.d.ts +88 -0
- package/dist/prop-BMBSfMKq.d.ts.map +1 -0
- package/dist/prop-BRP9y5gY.cjs +1 -0
- package/dist/prop.cjs +1 -1
- package/dist/prop.d.cts +7 -29
- package/dist/prop.d.ts +7 -29
- package/dist/prop.js +1 -1
- package/dist/pull-object-CmpUbuXg.d.ts +70 -0
- package/dist/pull-object-CmpUbuXg.d.ts.map +1 -0
- package/dist/pull-object-s5cSNZGP.js +2 -0
- package/dist/pull-object-s5cSNZGP.js.map +1 -0
- package/dist/pull-object-svkB0qoh.d.cts +70 -0
- package/dist/pull-object-svkB0qoh.d.cts.map +1 -0
- package/dist/pull-object-xYSFzkv6.cjs +1 -0
- package/dist/pull-object.cjs +1 -1
- package/dist/pull-object.d.cts +5 -70
- package/dist/pull-object.d.ts +5 -70
- package/dist/pull-object.js +1 -1
- package/dist/random-integer-6M2bFpGx.d.cts +23 -0
- package/dist/random-integer-6M2bFpGx.d.cts.map +1 -0
- package/dist/random-integer-6gYh92ze.cjs +1 -0
- package/dist/random-integer-BschXumd.d.ts +23 -0
- package/dist/random-integer-BschXumd.d.ts.map +1 -0
- package/dist/random-integer-D27vFslT.js +2 -0
- package/dist/random-integer-D27vFslT.js.map +1 -0
- package/dist/random-integer.cjs +1 -1
- package/dist/random-integer.d.cts +3 -21
- package/dist/random-integer.d.ts +3 -21
- package/dist/random-integer.js +1 -1
- package/dist/random-string-B49LA01O.js +2 -0
- package/dist/random-string-B49LA01O.js.map +1 -0
- package/dist/random-string-DBUea-au.d.ts +29 -0
- package/dist/random-string-DBUea-au.d.ts.map +1 -0
- package/dist/random-string-DlACN4ZV.d.cts +29 -0
- package/dist/random-string-DlACN4ZV.d.cts.map +1 -0
- package/dist/random-string-LG5QFZXR.cjs +1 -0
- package/dist/random-string.cjs +1 -1
- package/dist/random-string.d.cts +2 -27
- package/dist/random-string.d.ts +2 -27
- package/dist/random-string.js +1 -1
- package/dist/range-BNpqskPd.d.ts +27 -0
- package/dist/range-BNpqskPd.d.ts.map +1 -0
- package/dist/range-BYm8b8OO.cjs +1 -0
- package/dist/range-BtCOvN_L.js +2 -0
- package/dist/range-BtCOvN_L.js.map +1 -0
- package/dist/range-EauFMBl4.d.cts +27 -0
- package/dist/range-EauFMBl4.d.cts.map +1 -0
- package/dist/range.cjs +1 -1
- package/dist/range.d.cts +2 -25
- package/dist/range.d.ts +2 -25
- package/dist/range.js +1 -1
- package/dist/rank-by-B5nxlwg6.d.cts +45 -0
- package/dist/rank-by-B5nxlwg6.d.cts.map +1 -0
- package/dist/rank-by-B778jLnu.cjs +1 -0
- package/dist/rank-by-D3jUXMA3.js +2 -0
- package/dist/rank-by-D3jUXMA3.js.map +1 -0
- package/dist/rank-by-urjGYBfY.d.ts +45 -0
- package/dist/rank-by-urjGYBfY.d.ts.map +1 -0
- package/dist/rank-by.cjs +1 -1
- package/dist/rank-by.d.cts +4 -42
- package/dist/rank-by.d.ts +4 -42
- package/dist/rank-by.js +1 -1
- package/dist/reduce-BXmHWGo2.cjs +1 -0
- package/dist/reduce-DYv-piI7.d.cts +53 -0
- package/dist/reduce-DYv-piI7.d.cts.map +1 -0
- package/dist/reduce-RFXB_tDG.d.ts +53 -0
- package/dist/reduce-RFXB_tDG.d.ts.map +1 -0
- package/dist/reduce-RxP5hmH5.js +2 -0
- package/dist/reduce-RxP5hmH5.js.map +1 -0
- package/dist/reduce.cjs +1 -1
- package/dist/reduce.d.cts +2 -51
- package/dist/reduce.d.ts +2 -51
- package/dist/reduce.js +1 -1
- package/dist/reordered-array-BJtughHE.d.ts +7 -0
- package/dist/reordered-array-BJtughHE.d.ts.map +1 -0
- package/dist/reordered-array-CNK-grX0.d.cts +7 -0
- package/dist/reordered-array-CNK-grX0.d.cts.map +1 -0
- package/dist/reverse-Bu350kg_.d.cts +29 -0
- package/dist/reverse-Bu350kg_.d.cts.map +1 -0
- package/dist/reverse-DZc8DCPA.js +2 -0
- package/dist/reverse-DZc8DCPA.js.map +1 -0
- package/dist/reverse-l_bD9Y9C.cjs +1 -0
- package/dist/reverse-w5Ru5uLJ.d.ts +29 -0
- package/dist/reverse-w5Ru5uLJ.d.ts.map +1 -0
- package/dist/reverse.cjs +1 -1
- package/dist/reverse.d.cts +2 -27
- package/dist/reverse.d.ts +2 -27
- package/dist/reverse.js +1 -1
- package/dist/round-BDhuebcp.d.ts +39 -0
- package/dist/round-BDhuebcp.d.ts.map +1 -0
- package/dist/round-CBhbfa_y.cjs +1 -0
- package/dist/round-DhclizH1.js +2 -0
- package/dist/round-DhclizH1.js.map +1 -0
- package/dist/round-rQiLyN4w.d.cts +39 -0
- package/dist/round-rQiLyN4w.d.cts.map +1 -0
- package/dist/round.cjs +1 -1
- package/dist/round.d.cts +2 -37
- package/dist/round.d.ts +2 -37
- package/dist/round.js +1 -1
- package/dist/sample-9vI5EmCM.d.cts +69 -0
- package/dist/sample-9vI5EmCM.d.cts.map +1 -0
- package/dist/sample-BHIZQL57.d.ts +69 -0
- package/dist/sample-BHIZQL57.d.ts.map +1 -0
- package/dist/sample-DEt8y7NC.js +2 -0
- package/dist/sample-DEt8y7NC.js.map +1 -0
- package/dist/sample-arGcBCIK.cjs +1 -0
- package/dist/sample.cjs +1 -1
- package/dist/sample.d.cts +8 -53
- package/dist/sample.d.ts +8 -53
- package/dist/sample.js +1 -1
- package/dist/set-B-FVFS41.cjs +1 -0
- package/dist/set-C3uDSGtA.d.cts +40 -0
- package/dist/set-C3uDSGtA.d.cts.map +1 -0
- package/dist/set-DXK1kRjm.js +2 -0
- package/dist/set-DXK1kRjm.js.map +1 -0
- package/dist/set-Dg5x0drC.d.ts +40 -0
- package/dist/set-Dg5x0drC.d.ts.map +1 -0
- package/dist/set-path-B7WmM4pj.cjs +1 -0
- package/dist/set-path-BBiEMMBi.d.cts +47 -0
- package/dist/set-path-BBiEMMBi.d.cts.map +1 -0
- package/dist/set-path-BIWA01lW.d.ts +47 -0
- package/dist/set-path-BIWA01lW.d.ts.map +1 -0
- package/dist/set-path-DpNQC1fV.js +2 -0
- package/dist/set-path-DpNQC1fV.js.map +1 -0
- package/dist/set-path.cjs +1 -1
- package/dist/set-path.d.cts +3 -50
- package/dist/set-path.d.ts +3 -50
- package/dist/set-path.js +1 -1
- package/dist/set.cjs +1 -1
- package/dist/set.d.cts +4 -39
- package/dist/set.d.ts +4 -39
- package/dist/set.js +1 -1
- package/dist/shuffle-0bfhzGGR.cjs +1 -0
- package/dist/shuffle-BLhbIQQt.js +2 -0
- package/dist/shuffle-BLhbIQQt.js.map +1 -0
- package/dist/shuffle-BzeqMrKZ.d.ts +31 -0
- package/dist/shuffle-BzeqMrKZ.d.ts.map +1 -0
- package/dist/shuffle-CaSQtM8e.d.cts +31 -0
- package/dist/shuffle-CaSQtM8e.d.cts.map +1 -0
- package/dist/shuffle.cjs +1 -1
- package/dist/shuffle.d.cts +4 -28
- package/dist/shuffle.d.ts +4 -28
- package/dist/shuffle.js +1 -1
- package/dist/sleep-1rGV3wAg.cjs +1 -0
- package/dist/sleep-BCki6kgY.d.cts +16 -0
- package/dist/sleep-BCki6kgY.d.cts.map +1 -0
- package/dist/sleep-BtY6g8Yq.d.ts +16 -0
- package/dist/sleep-BtY6g8Yq.d.ts.map +1 -0
- package/dist/sleep-DvzRMgY-.js +2 -0
- package/dist/sleep-DvzRMgY-.js.map +1 -0
- package/dist/sleep.cjs +1 -1
- package/dist/sleep.d.cts +2 -14
- package/dist/sleep.d.ts +2 -14
- package/dist/sleep.js +1 -1
- package/dist/slice-string-BwFQg4Yf.d.ts +41 -0
- package/dist/slice-string-BwFQg4Yf.d.ts.map +1 -0
- package/dist/slice-string-DejPzRCB.js +2 -0
- package/dist/slice-string-DejPzRCB.js.map +1 -0
- package/dist/slice-string-LJL__fcW.d.cts +41 -0
- package/dist/slice-string-LJL__fcW.d.cts.map +1 -0
- package/dist/slice-string-q-zH_WUu.cjs +1 -0
- package/dist/slice-string.cjs +1 -1
- package/dist/slice-string.d.cts +2 -39
- package/dist/slice-string.d.ts +2 -39
- package/dist/slice-string.js +1 -1
- package/dist/slugify-5J_YiC6S.js +2 -0
- package/dist/slugify-5J_YiC6S.js.map +1 -0
- package/dist/slugify-CAFKQvdB.cjs +1 -0
- package/dist/slugify-D7YgZAoM.d.cts +15 -0
- package/dist/slugify-D7YgZAoM.d.cts.map +1 -0
- package/dist/slugify-DXOLjypc.d.ts +15 -0
- package/dist/slugify-DXOLjypc.d.ts.map +1 -0
- package/dist/slugify.cjs +1 -1
- package/dist/slugify.d.cts +2 -13
- package/dist/slugify.d.ts +2 -13
- package/dist/slugify.js +1 -1
- package/dist/sort-CTZy6xBq.d.cts +39 -0
- package/dist/sort-CTZy6xBq.d.cts.map +1 -0
- package/dist/sort-CVjvrZjo.d.ts +39 -0
- package/dist/sort-CVjvrZjo.d.ts.map +1 -0
- package/dist/sort-CaAnTT3F.cjs +1 -0
- package/dist/sort-D8s8kRLr.js +2 -0
- package/dist/sort-D8s8kRLr.js.map +1 -0
- package/dist/sort-by-CrMqBzvd.d.cts +88 -0
- package/dist/sort-by-CrMqBzvd.d.cts.map +1 -0
- package/dist/sort-by-DBCZSbb4.cjs +1 -0
- package/dist/sort-by-DPlbBz7L.js +2 -0
- package/dist/sort-by-DPlbBz7L.js.map +1 -0
- package/dist/sort-by-ovbQMg9U.d.ts +88 -0
- package/dist/sort-by-ovbQMg9U.d.ts.map +1 -0
- package/dist/sort-by.cjs +1 -1
- package/dist/sort-by.d.cts +6 -85
- package/dist/sort-by.d.ts +6 -85
- package/dist/sort-by.js +1 -1
- package/dist/sort.cjs +1 -1
- package/dist/sort.d.cts +4 -36
- package/dist/sort.d.ts +4 -36
- package/dist/sort.js +1 -1
- package/dist/sorted-index-BFrWiZn3.cjs +1 -0
- package/dist/sorted-index-Bmn5VLYJ.d.ts +45 -0
- package/dist/sorted-index-Bmn5VLYJ.d.ts.map +1 -0
- package/dist/sorted-index-CTM_l6te.d.cts +45 -0
- package/dist/sorted-index-CTM_l6te.d.cts.map +1 -0
- package/dist/sorted-index-DMcONUoc.js +2 -0
- package/dist/sorted-index-DMcONUoc.js.map +1 -0
- package/dist/sorted-index-by-CEUsUJdi.d.cts +70 -0
- package/dist/sorted-index-by-CEUsUJdi.d.cts.map +1 -0
- package/dist/sorted-index-by-CLUr58al.js +2 -0
- package/dist/sorted-index-by-CLUr58al.js.map +1 -0
- package/dist/sorted-index-by-CyQx_bQb.d.ts +70 -0
- package/dist/sorted-index-by-CyQx_bQb.d.ts.map +1 -0
- package/dist/sorted-index-by-ywbBQhCr.cjs +1 -0
- package/dist/sorted-index-by.cjs +1 -1
- package/dist/sorted-index-by.d.cts +2 -68
- package/dist/sorted-index-by.d.ts +2 -68
- package/dist/sorted-index-by.js +1 -1
- package/dist/sorted-index-with-CGyMmjPN.d.ts +72 -0
- package/dist/sorted-index-with-CGyMmjPN.d.ts.map +1 -0
- package/dist/sorted-index-with-Cy9W9sdh.d.cts +72 -0
- package/dist/sorted-index-with-Cy9W9sdh.d.cts.map +1 -0
- package/dist/sorted-index-with-D5BcwSL_.cjs +1 -0
- package/dist/sorted-index-with-kTK8prmw.js +2 -0
- package/dist/sorted-index-with-kTK8prmw.js.map +1 -0
- package/dist/sorted-index-with.cjs +1 -1
- package/dist/sorted-index-with.d.cts +2 -70
- package/dist/sorted-index-with.d.ts +2 -70
- package/dist/sorted-index-with.js +1 -1
- package/dist/sorted-index.cjs +1 -1
- package/dist/sorted-index.d.cts +2 -43
- package/dist/sorted-index.d.ts +2 -43
- package/dist/sorted-index.js +1 -1
- package/dist/sorted-last-index-B4zg__sQ.js +2 -0
- package/dist/sorted-last-index-B4zg__sQ.js.map +1 -0
- package/dist/sorted-last-index-CHvbfpBS.d.cts +45 -0
- package/dist/sorted-last-index-CHvbfpBS.d.cts.map +1 -0
- package/dist/sorted-last-index-CdPROn6x.cjs +1 -0
- package/dist/sorted-last-index-DnqTn-Ev.d.ts +45 -0
- package/dist/sorted-last-index-DnqTn-Ev.d.ts.map +1 -0
- package/dist/sorted-last-index-by-B-IP-O5g.cjs +1 -0
- package/dist/sorted-last-index-by-BGr5WioW.js +2 -0
- package/dist/sorted-last-index-by-BGr5WioW.js.map +1 -0
- package/dist/sorted-last-index-by-BipSOnBS.d.ts +72 -0
- package/dist/sorted-last-index-by-BipSOnBS.d.ts.map +1 -0
- package/dist/sorted-last-index-by-u7mPctkh.d.cts +72 -0
- package/dist/sorted-last-index-by-u7mPctkh.d.cts.map +1 -0
- package/dist/sorted-last-index-by.cjs +1 -1
- package/dist/sorted-last-index-by.d.cts +2 -70
- package/dist/sorted-last-index-by.d.ts +2 -70
- package/dist/sorted-last-index-by.js +1 -1
- package/dist/sorted-last-index.cjs +1 -1
- package/dist/sorted-last-index.d.cts +2 -43
- package/dist/sorted-last-index.d.ts +2 -43
- package/dist/sorted-last-index.js +1 -1
- package/dist/splice-BwsAFdV8.cjs +1 -0
- package/dist/splice-CR6DLiFm.d.cts +35 -0
- package/dist/splice-CR6DLiFm.d.cts.map +1 -0
- package/dist/splice-CRabhu-x.d.ts +35 -0
- package/dist/splice-CRabhu-x.d.ts.map +1 -0
- package/dist/splice-DCOBlrIJ.js +2 -0
- package/dist/splice-DCOBlrIJ.js.map +1 -0
- package/dist/splice.cjs +1 -1
- package/dist/splice.d.cts +2 -33
- package/dist/splice.d.ts +2 -33
- package/dist/splice.js +1 -1
- package/dist/split-BMnz50TJ.d.ts +62 -0
- package/dist/split-BMnz50TJ.d.ts.map +1 -0
- package/dist/split-BSiis5Fh.d.cts +62 -0
- package/dist/split-BSiis5Fh.d.cts.map +1 -0
- package/dist/split-Bs-frJ_a.cjs +1 -0
- package/dist/split-D1qUxipp.js +2 -0
- package/dist/split-D1qUxipp.js.map +1 -0
- package/dist/split-at-B3v6wCCc.d.ts +31 -0
- package/dist/split-at-B3v6wCCc.d.ts.map +1 -0
- package/dist/split-at-CU-3otme.d.cts +31 -0
- package/dist/split-at-CU-3otme.d.cts.map +1 -0
- package/dist/split-at-DUSqIHw-.cjs +1 -0
- package/dist/split-at-vzCujYHL.js +2 -0
- package/dist/split-at-vzCujYHL.js.map +1 -0
- package/dist/split-at.cjs +1 -1
- package/dist/split-at.d.cts +2 -29
- package/dist/split-at.d.ts +2 -29
- package/dist/split-at.js +1 -1
- package/dist/split-when-BTekNxF-.d.ts +29 -0
- package/dist/split-when-BTekNxF-.d.ts.map +1 -0
- package/dist/split-when-C7OSEoW3.js +2 -0
- package/dist/split-when-C7OSEoW3.js.map +1 -0
- package/dist/split-when-CCi2Wq1B.cjs +1 -0
- package/dist/split-when-DaTD5jVa.d.cts +29 -0
- package/dist/split-when-DaTD5jVa.d.cts.map +1 -0
- package/dist/split-when.cjs +1 -1
- package/dist/split-when.d.cts +2 -27
- package/dist/split-when.d.ts +2 -27
- package/dist/split-when.js +1 -1
- package/dist/split.cjs +1 -1
- package/dist/split.d.cts +2 -60
- package/dist/split.d.ts +2 -60
- package/dist/split.js +1 -1
- package/dist/string-to-path-C7H_9SeW.d.cts +39 -0
- package/dist/string-to-path-C7H_9SeW.d.cts.map +1 -0
- package/dist/string-to-path-CS10CXKM.d.ts +39 -0
- package/dist/string-to-path-CS10CXKM.d.ts.map +1 -0
- package/dist/string-to-path-D4HSg6rf.js +2 -0
- package/dist/string-to-path-D4HSg6rf.js.map +1 -0
- package/dist/string-to-path-Q_OMxElX.cjs +1 -0
- package/dist/string-to-path.cjs +1 -1
- package/dist/string-to-path.d.cts +2 -44
- package/dist/string-to-path.d.ts +2 -44
- package/dist/string-to-path.js +1 -1
- package/dist/subtract-CktIeIei.js +2 -0
- package/dist/subtract-CktIeIei.js.map +1 -0
- package/dist/subtract-Crhaj882.cjs +1 -0
- package/dist/subtract-DxrBj9Ir.d.ts +35 -0
- package/dist/subtract-DxrBj9Ir.d.ts.map +1 -0
- package/dist/subtract-WxyebhP-.d.cts +35 -0
- package/dist/subtract-WxyebhP-.d.cts.map +1 -0
- package/dist/subtract.cjs +1 -1
- package/dist/subtract.d.cts +2 -33
- package/dist/subtract.d.ts +2 -33
- package/dist/subtract.js +1 -1
- package/dist/sum-BL8tGYgI.cjs +1 -0
- package/dist/sum-CcpwR68x.d.cts +50 -0
- package/dist/sum-CcpwR68x.d.cts.map +1 -0
- package/dist/sum-bjQo9S5Q.d.ts +50 -0
- package/dist/sum-bjQo9S5Q.d.ts.map +1 -0
- package/dist/sum-by-BLqXTrME.d.ts +57 -0
- package/dist/sum-by-BLqXTrME.d.ts.map +1 -0
- package/dist/sum-by-CIOYhCgY.cjs +1 -0
- package/dist/sum-by-CqGEkkyR.d.cts +57 -0
- package/dist/sum-by-CqGEkkyR.d.cts.map +1 -0
- package/dist/sum-by-eeHiHAej.js +2 -0
- package/dist/sum-by-eeHiHAej.js.map +1 -0
- package/dist/sum-by.cjs +1 -1
- package/dist/sum-by.d.cts +3 -55
- package/dist/sum-by.d.ts +3 -55
- package/dist/sum-by.js +1 -1
- package/dist/sum-lEJNA4zT.js +2 -0
- package/dist/sum-lEJNA4zT.js.map +1 -0
- package/dist/sum.cjs +1 -1
- package/dist/sum.d.cts +3 -48
- package/dist/sum.d.ts +3 -48
- package/dist/sum.js +1 -1
- package/dist/swap-in-place-BBqaxzzG.js +2 -0
- package/dist/swap-in-place-BBqaxzzG.js.map +1 -0
- package/dist/swap-in-place-CJrU2n1_.cjs +1 -0
- package/dist/swap-indices-CMgMD_dW.js +2 -0
- package/dist/swap-indices-CMgMD_dW.js.map +1 -0
- package/dist/swap-indices-CRAsQaXi.cjs +1 -0
- package/dist/swap-indices-CdclLgV-.d.ts +61 -0
- package/dist/swap-indices-CdclLgV-.d.ts.map +1 -0
- package/dist/swap-indices-KQ4fsLkb.d.cts +61 -0
- package/dist/swap-indices-KQ4fsLkb.d.cts.map +1 -0
- package/dist/swap-indices.cjs +1 -1
- package/dist/swap-indices.d.cts +3 -64
- package/dist/swap-indices.d.ts +3 -64
- package/dist/swap-indices.js +1 -1
- package/dist/swap-props-BQ2a9nZO.cjs +1 -0
- package/dist/swap-props-D-buo88H.d.ts +34 -0
- package/dist/swap-props-D-buo88H.d.ts.map +1 -0
- package/dist/swap-props-D7be4C3M.d.cts +34 -0
- package/dist/swap-props-D7be4C3M.d.cts.map +1 -0
- package/dist/swap-props-sxLIvQ4Y.js +2 -0
- package/dist/swap-props-sxLIvQ4Y.js.map +1 -0
- package/dist/swap-props.cjs +1 -1
- package/dist/swap-props.d.cts +2 -34
- package/dist/swap-props.d.ts +2 -34
- package/dist/swap-props.js +1 -1
- package/dist/take-BV-ctBqK.d.cts +34 -0
- package/dist/take-BV-ctBqK.d.cts.map +1 -0
- package/dist/take-Cn0xLGe4.js +2 -0
- package/dist/take-Cn0xLGe4.js.map +1 -0
- package/dist/take-CnVckkWV.d.ts +34 -0
- package/dist/take-CnVckkWV.d.ts.map +1 -0
- package/dist/take-DwT7ymnA.cjs +1 -0
- package/dist/take-first-by-BGSUzX61.js +2 -0
- package/dist/take-first-by-BGSUzX61.js.map +1 -0
- package/dist/take-first-by-BgONSKvT.d.ts +41 -0
- package/dist/take-first-by-BgONSKvT.d.ts.map +1 -0
- package/dist/take-first-by-Cpgu4Dll.d.cts +41 -0
- package/dist/take-first-by-Cpgu4Dll.d.cts.map +1 -0
- package/dist/take-first-by-CtrznSxG.cjs +1 -0
- package/dist/take-first-by.cjs +1 -1
- package/dist/take-first-by.d.cts +4 -38
- package/dist/take-first-by.d.ts +4 -38
- package/dist/take-first-by.js +1 -1
- package/dist/take-last-8PzLMvw3.js +2 -0
- package/dist/take-last-8PzLMvw3.js.map +1 -0
- package/dist/take-last-BnF7ADxy.d.ts +32 -0
- package/dist/take-last-BnF7ADxy.d.ts.map +1 -0
- package/dist/take-last-BvjeJFre.d.cts +32 -0
- package/dist/take-last-BvjeJFre.d.cts.map +1 -0
- package/dist/take-last-DT3U0fro.cjs +1 -0
- package/dist/take-last-while-7hpO-w-n.cjs +1 -0
- package/dist/take-last-while-CGrVFpA9.d.ts +36 -0
- package/dist/take-last-while-CGrVFpA9.d.ts.map +1 -0
- package/dist/take-last-while-CNlwvmIf.d.cts +36 -0
- package/dist/take-last-while-CNlwvmIf.d.cts.map +1 -0
- package/dist/take-last-while-D4D1elUu.js +2 -0
- package/dist/take-last-while-D4D1elUu.js.map +1 -0
- package/dist/take-last-while.cjs +1 -1
- package/dist/take-last-while.d.cts +3 -33
- package/dist/take-last-while.d.ts +3 -33
- package/dist/take-last-while.js +1 -1
- package/dist/take-last.cjs +1 -1
- package/dist/take-last.d.cts +3 -29
- package/dist/take-last.d.ts +3 -29
- package/dist/take-last.js +1 -1
- package/dist/take-while-BoYdbQRK.cjs +1 -0
- package/dist/take-while-CPEBQO5f.d.cts +34 -0
- package/dist/take-while-CPEBQO5f.d.cts.map +1 -0
- package/dist/take-while-D7M5vbwg.js +2 -0
- package/dist/take-while-D7M5vbwg.js.map +1 -0
- package/dist/take-while-e4aa4Rzo.d.ts +34 -0
- package/dist/take-while-e4aa4Rzo.d.ts.map +1 -0
- package/dist/take-while.cjs +1 -1
- package/dist/take-while.d.cts +3 -31
- package/dist/take-while.d.ts +3 -31
- package/dist/take-while.js +1 -1
- package/dist/take.cjs +1 -1
- package/dist/take.d.cts +3 -31
- package/dist/take.d.ts +3 -31
- package/dist/take.js +1 -1
- package/dist/tap-2SHLmCBm.cjs +1 -0
- package/dist/tap-BjWhN6y_.d.ts +42 -0
- package/dist/tap-BjWhN6y_.d.ts.map +1 -0
- package/dist/tap-GLPlAKCD.js +2 -0
- package/dist/tap-GLPlAKCD.js.map +1 -0
- package/dist/tap-gF124Yhn.d.cts +42 -0
- package/dist/tap-gF124Yhn.d.cts.map +1 -0
- package/dist/tap.cjs +1 -1
- package/dist/tap.d.cts +2 -40
- package/dist/tap.d.ts +2 -40
- package/dist/tap.js +1 -1
- package/dist/times-BoE5WrNr.d.cts +48 -0
- package/dist/times-BoE5WrNr.d.cts.map +1 -0
- package/dist/times-C4txaWWG.js +2 -0
- package/dist/times-C4txaWWG.js.map +1 -0
- package/dist/times-ChlK_wAM.cjs +1 -0
- package/dist/times-CzRXDAnV.d.ts +48 -0
- package/dist/times-CzRXDAnV.d.ts.map +1 -0
- package/dist/times.cjs +1 -1
- package/dist/times.d.cts +2 -46
- package/dist/times.d.ts +2 -46
- package/dist/times.js +1 -1
- package/dist/to-camel-case-5ZN25UuZ.d.cts +32 -0
- package/dist/to-camel-case-5ZN25UuZ.d.cts.map +1 -0
- package/dist/to-camel-case-DJ5dmboH.d.ts +32 -0
- package/dist/to-camel-case-DJ5dmboH.d.ts.map +1 -0
- package/dist/to-camel-case-JdiHeuUd.js +2 -0
- package/dist/to-camel-case-JdiHeuUd.js.map +1 -0
- package/dist/to-camel-case-MCv0xSE_.cjs +1 -0
- package/dist/to-camel-case.cjs +1 -1
- package/dist/to-camel-case.d.cts +3 -29
- package/dist/to-camel-case.d.ts +3 -29
- package/dist/to-camel-case.js +1 -1
- package/dist/to-capital-case-BBTx9xpN.d.cts +31 -0
- package/dist/to-capital-case-BBTx9xpN.d.cts.map +1 -0
- package/dist/to-capital-case-BD9MIiKM.cjs +1 -0
- package/dist/to-capital-case-BDs8sikX.d.ts +31 -0
- package/dist/to-capital-case-BDs8sikX.d.ts.map +1 -0
- package/dist/to-capital-case-DFgHWUP7.js +2 -0
- package/dist/to-capital-case-DFgHWUP7.js.map +1 -0
- package/dist/to-capital-case.cjs +1 -1
- package/dist/to-capital-case.d.cts +3 -28
- package/dist/to-capital-case.d.ts +3 -28
- package/dist/to-capital-case.js +1 -1
- package/dist/to-constant-case-Bobbz_hT.d.cts +31 -0
- package/dist/to-constant-case-Bobbz_hT.d.cts.map +1 -0
- package/dist/to-constant-case-Bs1J4UNN.js +2 -0
- package/dist/to-constant-case-Bs1J4UNN.js.map +1 -0
- package/dist/to-constant-case-C6XG49MZ.cjs +1 -0
- package/dist/to-constant-case-DlZZVrYx.d.ts +31 -0
- package/dist/to-constant-case-DlZZVrYx.d.ts.map +1 -0
- package/dist/to-constant-case.cjs +1 -1
- package/dist/to-constant-case.d.cts +3 -28
- package/dist/to-constant-case.d.ts +3 -28
- package/dist/to-constant-case.js +1 -1
- package/dist/to-kebab-case-BKdi-Rk7.d.ts +31 -0
- package/dist/to-kebab-case-BKdi-Rk7.d.ts.map +1 -0
- package/dist/to-kebab-case-BRVFPXE9.d.cts +31 -0
- package/dist/to-kebab-case-BRVFPXE9.d.cts.map +1 -0
- package/dist/to-kebab-case-Cud7RCjt.cjs +1 -0
- package/dist/to-kebab-case-z5oAWVif.js +2 -0
- package/dist/to-kebab-case-z5oAWVif.js.map +1 -0
- package/dist/to-kebab-case.cjs +1 -1
- package/dist/to-kebab-case.d.cts +3 -28
- package/dist/to-kebab-case.d.ts +3 -28
- package/dist/to-kebab-case.js +1 -1
- package/dist/to-no-case-BDX0619s.cjs +1 -0
- package/dist/to-no-case-Bt57ASib.js +2 -0
- package/dist/to-no-case-Bt57ASib.js.map +1 -0
- package/dist/to-no-case-D6nPbja8.d.cts +31 -0
- package/dist/to-no-case-D6nPbja8.d.cts.map +1 -0
- package/dist/to-no-case-ctaqyxQN.d.ts +31 -0
- package/dist/to-no-case-ctaqyxQN.d.ts.map +1 -0
- package/dist/to-no-case.cjs +1 -1
- package/dist/to-no-case.d.cts +3 -28
- package/dist/to-no-case.d.ts +3 -28
- package/dist/to-no-case.js +1 -1
- package/dist/to-pascal-case-7nVKvcNg.d.cts +32 -0
- package/dist/to-pascal-case-7nVKvcNg.d.cts.map +1 -0
- package/dist/to-pascal-case-BSZrgkTx.cjs +1 -0
- package/dist/to-pascal-case-COG25kzw.js +2 -0
- package/dist/to-pascal-case-COG25kzw.js.map +1 -0
- package/dist/to-pascal-case-DUupmGjS.d.ts +32 -0
- package/dist/to-pascal-case-DUupmGjS.d.ts.map +1 -0
- package/dist/to-pascal-case.cjs +1 -1
- package/dist/to-pascal-case.d.cts +3 -29
- package/dist/to-pascal-case.d.ts +3 -29
- package/dist/to-pascal-case.js +1 -1
- package/dist/to-pascal-snake-case-BVvnru7G.d.ts +31 -0
- package/dist/to-pascal-snake-case-BVvnru7G.d.ts.map +1 -0
- package/dist/to-pascal-snake-case-C360MTFV.d.cts +31 -0
- package/dist/to-pascal-snake-case-C360MTFV.d.cts.map +1 -0
- package/dist/to-pascal-snake-case-C38j94Cu.cjs +1 -0
- package/dist/to-pascal-snake-case-C64pBLFr.js +2 -0
- package/dist/to-pascal-snake-case-C64pBLFr.js.map +1 -0
- package/dist/to-pascal-snake-case.cjs +1 -1
- package/dist/to-pascal-snake-case.d.cts +3 -28
- package/dist/to-pascal-snake-case.d.ts +3 -28
- package/dist/to-pascal-snake-case.js +1 -1
- package/dist/to-sentence-case--9p0YnHo.js +2 -0
- package/dist/to-sentence-case--9p0YnHo.js.map +1 -0
- package/dist/to-sentence-case-7mo0QXqC.d.cts +31 -0
- package/dist/to-sentence-case-7mo0QXqC.d.cts.map +1 -0
- package/dist/to-sentence-case-BTrqI21a.d.ts +31 -0
- package/dist/to-sentence-case-BTrqI21a.d.ts.map +1 -0
- package/dist/to-sentence-case-C2TveqdZ.cjs +1 -0
- package/dist/to-sentence-case.cjs +1 -1
- package/dist/to-sentence-case.d.cts +3 -28
- package/dist/to-sentence-case.d.ts +3 -28
- package/dist/to-sentence-case.js +1 -1
- package/dist/to-single-Bnq9l8Zp.cjs +1 -0
- package/dist/to-single-bHVECPzX.js +2 -0
- package/dist/to-single-bHVECPzX.js.map +1 -0
- package/dist/to-snake-case-BuWvjluH.cjs +1 -0
- package/dist/to-snake-case-Ddi9YNyo.d.ts +31 -0
- package/dist/to-snake-case-Ddi9YNyo.d.ts.map +1 -0
- package/dist/to-snake-case-IHXwNjtp.js +2 -0
- package/dist/to-snake-case-IHXwNjtp.js.map +1 -0
- package/dist/to-snake-case-e2ooEcFB.d.cts +31 -0
- package/dist/to-snake-case-e2ooEcFB.d.cts.map +1 -0
- package/dist/to-snake-case.cjs +1 -1
- package/dist/to-snake-case.d.cts +3 -28
- package/dist/to-snake-case.d.ts +3 -28
- package/dist/to-snake-case.js +1 -1
- package/dist/to-string-RweoJgSy.d.ts +13 -0
- package/dist/to-string-RweoJgSy.d.ts.map +1 -0
- package/dist/to-string-gK5yUyfp.d.cts +13 -0
- package/dist/to-string-gK5yUyfp.d.cts.map +1 -0
- package/dist/to-train-case-B03OndqT.d.cts +31 -0
- package/dist/to-train-case-B03OndqT.d.cts.map +1 -0
- package/dist/to-train-case-B06CqIxe.js +2 -0
- package/dist/to-train-case-B06CqIxe.js.map +1 -0
- package/dist/to-train-case-CLDlt-Y6.d.ts +31 -0
- package/dist/to-train-case-CLDlt-Y6.d.ts.map +1 -0
- package/dist/to-train-case-CsRLhQ9b.cjs +1 -0
- package/dist/to-train-case.cjs +1 -1
- package/dist/to-train-case.d.cts +3 -28
- package/dist/to-train-case.d.ts +3 -28
- package/dist/to-train-case.js +1 -1
- package/dist/tuple-parts-BIyABPYv.d.cts +89 -0
- package/dist/tuple-parts-BIyABPYv.d.cts.map +1 -0
- package/dist/tuple-parts-BxpZLJ7r.d.ts +89 -0
- package/dist/tuple-parts-BxpZLJ7r.d.ts.map +1 -0
- package/dist/type.helpers-C0eszdCH.d.cts +10 -0
- package/dist/type.helpers-C0eszdCH.d.cts.map +1 -0
- package/dist/type.helpers-CRhd_JIH.js +0 -0
- package/dist/type.helpers-CrSxBVxJ.d.ts +10 -0
- package/dist/type.helpers-CrSxBVxJ.d.ts.map +1 -0
- package/dist/type.helpers.cjs +1 -1
- package/dist/type.helpers.d.cts +2 -10
- package/dist/type.helpers.d.ts +2 -10
- package/dist/type.helpers.js +1 -1
- package/dist/unique-4ky12IzI.d.cts +39 -0
- package/dist/unique-4ky12IzI.d.cts.map +1 -0
- package/dist/unique-DMbDhoaS.js +2 -0
- package/dist/unique-DMbDhoaS.js.map +1 -0
- package/dist/unique-Dx_8Tg2u.d.ts +39 -0
- package/dist/unique-Dx_8Tg2u.d.ts.map +1 -0
- package/dist/unique-Na2E_cV5.cjs +1 -0
- package/dist/unique-by-927ymOrT.js +2 -0
- package/dist/unique-by-927ymOrT.js.map +1 -0
- package/dist/unique-by-B1t_QxyV.d.ts +44 -0
- package/dist/unique-by-B1t_QxyV.d.ts.map +1 -0
- package/dist/unique-by-BYeRvKkn.cjs +1 -0
- package/dist/unique-by-D4r9b-C2.d.cts +44 -0
- package/dist/unique-by-D4r9b-C2.d.cts.map +1 -0
- package/dist/unique-by.cjs +1 -1
- package/dist/unique-by.d.cts +5 -42
- package/dist/unique-by.d.ts +5 -42
- package/dist/unique-by.js +1 -1
- package/dist/unique-with-B0Atc1ch.d.cts +46 -0
- package/dist/unique-with-B0Atc1ch.d.cts.map +1 -0
- package/dist/unique-with-DN7oz8DS.js +2 -0
- package/dist/unique-with-DN7oz8DS.js.map +1 -0
- package/dist/unique-with-DODXeZJO.cjs +1 -0
- package/dist/unique-with-_6gjzVmk.d.ts +46 -0
- package/dist/unique-with-_6gjzVmk.d.ts.map +1 -0
- package/dist/unique-with.cjs +1 -1
- package/dist/unique-with.d.cts +5 -45
- package/dist/unique-with.d.ts +5 -45
- package/dist/unique-with.js +1 -1
- package/dist/unique.cjs +1 -1
- package/dist/unique.d.cts +5 -37
- package/dist/unique.d.ts +5 -37
- package/dist/unique.js +1 -1
- package/dist/upsert-prop-CE7fi_mP.d.ts +9 -0
- package/dist/upsert-prop-CE7fi_mP.d.ts.map +1 -0
- package/dist/upsert-prop-Dtu5xY0L.d.cts +9 -0
- package/dist/upsert-prop-Dtu5xY0L.d.cts.map +1 -0
- package/dist/utility-evaluators-CnQVdcZv.js +2 -0
- package/dist/utility-evaluators-CnQVdcZv.js.map +1 -0
- package/dist/utility-evaluators-DqJcWENu.cjs +1 -0
- package/dist/values-BXlzhi3A.cjs +1 -0
- package/dist/values-CIS32AYx.d.cts +38 -0
- package/dist/values-CIS32AYx.d.cts.map +1 -0
- package/dist/values-DUzzQ-p6.d.ts +38 -0
- package/dist/values-DUzzQ-p6.d.ts.map +1 -0
- package/dist/values-Dsgo6Wke.js +2 -0
- package/dist/values-Dsgo6Wke.js.map +1 -0
- package/dist/values.cjs +1 -1
- package/dist/values.d.cts +4 -37
- package/dist/values.d.ts +4 -37
- package/dist/values.js +1 -1
- package/dist/with-precision-BgF-Y_mF.cjs +1 -0
- package/dist/with-precision-BoiuafbM.js +2 -0
- package/dist/with-precision-BoiuafbM.js.map +1 -0
- package/dist/zip-CA2if4ix.cjs +1 -0
- package/dist/zip-CoEM-79C.d.cts +38 -0
- package/dist/zip-CoEM-79C.d.cts.map +1 -0
- package/dist/zip-DhsVpwcO.js +2 -0
- package/dist/zip-DhsVpwcO.js.map +1 -0
- package/dist/zip-with-BRpfRkdc.js +2 -0
- package/dist/zip-with-BRpfRkdc.js.map +1 -0
- package/dist/zip-with-CABk7jf5.d.ts +50 -0
- package/dist/zip-with-CABk7jf5.d.ts.map +1 -0
- package/dist/zip-with-D0Ey6gSU.d.cts +50 -0
- package/dist/zip-with-D0Ey6gSU.d.cts.map +1 -0
- package/dist/zip-with-D7HfIW7V.cjs +1 -0
- package/dist/zip-with.cjs +1 -1
- package/dist/zip-with.d.cts +3 -48
- package/dist/zip-with.d.ts +3 -48
- package/dist/zip-with.js +1 -1
- package/dist/zip-xjUg1DcS.d.ts +38 -0
- package/dist/zip-xjUg1DcS.d.ts.map +1 -0
- package/dist/zip.cjs +1 -1
- package/dist/zip.d.cts +3 -42
- package/dist/zip.d.ts +3 -42
- package/dist/zip.js +1 -1
- package/package.json +12 -9
- package/dist/array-required-prefix-Ck4lHkbA.d.cts +0 -33
- package/dist/array-required-prefix-DXv_WnmG.d.ts +0 -33
- package/dist/bounded-partial-BqwRN49U.d.cts +0 -15
- package/dist/bounded-partial-BzynYDVs.d.ts +0 -15
- package/dist/case.types-C6kHRY4f.d.cts +0 -16
- package/dist/case.types-C6kHRY4f.d.ts +0 -16
- package/dist/chunk-22AQJBPW.cjs +0 -1
- package/dist/chunk-243K2CZR.js +0 -1
- package/dist/chunk-25CFIH7L.cjs +0 -1
- package/dist/chunk-2CBHJMXW.cjs +0 -1
- package/dist/chunk-2GPOH4MN.js +0 -1
- package/dist/chunk-2H7RTCCP.js +0 -1
- package/dist/chunk-2HQM73IT.cjs +0 -1
- package/dist/chunk-2IO5CTEV.js +0 -1
- package/dist/chunk-2KMUA3WC.js +0 -1
- package/dist/chunk-2MHE6M7V.cjs +0 -1
- package/dist/chunk-2N3HEQTG.js +0 -1
- package/dist/chunk-2XGSSTCA.js +0 -1
- package/dist/chunk-32JKKR4M.js +0 -1
- package/dist/chunk-33W5GL27.js +0 -1
- package/dist/chunk-37ONVI2M.cjs +0 -1
- package/dist/chunk-3DOG24FJ.cjs +0 -1
- package/dist/chunk-3I7FLADN.js +0 -1
- package/dist/chunk-3LC3CLYE.cjs +0 -1
- package/dist/chunk-3WCOFJCS.cjs +0 -1
- package/dist/chunk-442DWBIM.cjs +0 -1
- package/dist/chunk-44LUF6RO.js +0 -1
- package/dist/chunk-46GBCFAG.js +0 -1
- package/dist/chunk-4BTTPOEU.cjs +0 -1
- package/dist/chunk-4MZDYEVQ.js +0 -1
- package/dist/chunk-4Y6KJJOW.js +0 -1
- package/dist/chunk-4YJCXB4Y.js +0 -1
- package/dist/chunk-54MVGVJC.js +0 -1
- package/dist/chunk-54P3FZNG.cjs +0 -1
- package/dist/chunk-5GI4OEUM.cjs +0 -1
- package/dist/chunk-5OPUQ5T6.js +0 -1
- package/dist/chunk-5PMGMODH.js +0 -1
- package/dist/chunk-5T6DY3SA.js +0 -1
- package/dist/chunk-5XH2VMVF.cjs +0 -1
- package/dist/chunk-5XOATIT7.js +0 -1
- package/dist/chunk-63GGX2BS.cjs +0 -1
- package/dist/chunk-64BZAONG.cjs +0 -1
- package/dist/chunk-66JP4PUG.cjs +0 -1
- package/dist/chunk-6AFNPQW2.js +0 -1
- package/dist/chunk-6BKLAQWR.js +0 -1
- package/dist/chunk-6G5YNQXD.js +0 -1
- package/dist/chunk-6GEID3HE.js +0 -1
- package/dist/chunk-6LM7XJ2A.js +0 -1
- package/dist/chunk-6M4IYQFZ.js +0 -1
- package/dist/chunk-6OO2SBYL.cjs +0 -1
- package/dist/chunk-6SYP2DRD.js +0 -1
- package/dist/chunk-6UVARJ55.cjs +0 -1
- package/dist/chunk-75K2QEB3.js +0 -1
- package/dist/chunk-76VE5EC6.cjs +0 -1
- package/dist/chunk-7AN7XHLU.js +0 -1
- package/dist/chunk-7C7R7JNX.cjs +0 -1
- package/dist/chunk-7EMQYM4A.js +0 -1
- package/dist/chunk-7GAGU65U.cjs +0 -1
- package/dist/chunk-7HFKYJCK.cjs +0 -1
- package/dist/chunk-7JKUI675.js +0 -1
- package/dist/chunk-7KBK2RWQ.js +0 -1
- package/dist/chunk-7RUINKY7.js +0 -1
- package/dist/chunk-7TDMV2GO.cjs +0 -1
- package/dist/chunk-7V7IBWP5.js +0 -1
- package/dist/chunk-7XMQFPW7.cjs +0 -1
- package/dist/chunk-7Y6PT4GT.cjs +0 -1
- package/dist/chunk-A3EBULR7.cjs +0 -1
- package/dist/chunk-A4KJAQNY.js +0 -1
- package/dist/chunk-ACPTAGS3.cjs +0 -1
- package/dist/chunk-AFO7BV2X.js +0 -1
- package/dist/chunk-APO7U7HG.cjs +0 -1
- package/dist/chunk-AQRYBCA3.cjs +0 -1
- package/dist/chunk-ARGHV7HW.cjs +0 -1
- package/dist/chunk-AZUJCNUP.js +0 -1
- package/dist/chunk-B6SBIS6W.js +0 -1
- package/dist/chunk-BASNU4JY.cjs +0 -1
- package/dist/chunk-BBPC5RWJ.cjs +0 -1
- package/dist/chunk-BEMQAYI5.cjs +0 -1
- package/dist/chunk-BFOH2ZUR.js +0 -1
- package/dist/chunk-BJQJOCQG.js +0 -1
- package/dist/chunk-BKBHW2XJ.js +0 -1
- package/dist/chunk-BO34ARLY.cjs +0 -1
- package/dist/chunk-BQA4B5JX.js +0 -1
- package/dist/chunk-BSNCALDT.cjs +0 -1
- package/dist/chunk-BUOTA64P.cjs +0 -1
- package/dist/chunk-BUVPABRX.js +0 -1
- package/dist/chunk-BX7F2U4P.cjs +0 -1
- package/dist/chunk-C6IMN7SF.js +0 -1
- package/dist/chunk-CA4X5NZI.js +0 -1
- package/dist/chunk-CL7YONGV.js +0 -1
- package/dist/chunk-CMAETGEV.js +0 -1
- package/dist/chunk-CP5LRZUF.cjs +0 -1
- package/dist/chunk-CQ7LGCRX.js +0 -1
- package/dist/chunk-CR5H624Z.js +0 -1
- package/dist/chunk-CTGIT5TY.js +0 -1
- package/dist/chunk-D4PZEQEG.js +0 -1
- package/dist/chunk-D4TUHKBA.cjs +0 -1
- package/dist/chunk-DAFN5EJR.cjs +0 -1
- package/dist/chunk-DNSXSQCO.js +0 -1
- package/dist/chunk-DZRYZ45X.js +0 -1
- package/dist/chunk-EBS4GCKX.js +0 -1
- package/dist/chunk-EFMVPY3K.js +0 -1
- package/dist/chunk-EFSZB7SJ.js +0 -1
- package/dist/chunk-EHJK4JRF.cjs +0 -1
- package/dist/chunk-EK7ODJWE.js +0 -1
- package/dist/chunk-ENPSKQUH.js +0 -1
- package/dist/chunk-EP626HCI.cjs +0 -1
- package/dist/chunk-EPU4K3DD.js +0 -1
- package/dist/chunk-EQDLLESZ.cjs +0 -1
- package/dist/chunk-EROXO3T4.cjs +0 -1
- package/dist/chunk-ESNMSCOM.js +0 -1
- package/dist/chunk-EXZZ6RPP.js +0 -1
- package/dist/chunk-EYPNBGK5.js +0 -1
- package/dist/chunk-F3EZ6NQM.js +0 -1
- package/dist/chunk-F6RF27Z3.cjs +0 -1
- package/dist/chunk-FDRXRFRK.js +0 -1
- package/dist/chunk-FGMSPUSF.cjs +0 -1
- package/dist/chunk-FGVDZJ7U.js +0 -1
- package/dist/chunk-FIO5FNV2.js +0 -1
- package/dist/chunk-FN6OUY2P.cjs +0 -1
- package/dist/chunk-FOUZI2Q3.cjs +0 -1
- package/dist/chunk-G57ZPKMR.js +0 -1
- package/dist/chunk-G73S4IVJ.js +0 -1
- package/dist/chunk-G74G5PZT.cjs +0 -1
- package/dist/chunk-GRKRFDIL.js +0 -1
- package/dist/chunk-GSBNZGMO.cjs +0 -1
- package/dist/chunk-GSFIDOPZ.cjs +0 -1
- package/dist/chunk-GW4KDK3D.cjs +0 -1
- package/dist/chunk-GWXILWA5.cjs +0 -1
- package/dist/chunk-GZJMERDJ.cjs +0 -1
- package/dist/chunk-H45R7G32.cjs +0 -1
- package/dist/chunk-H5KJ7ULU.js +0 -1
- package/dist/chunk-H6WDSTL3.cjs +0 -1
- package/dist/chunk-HC3HZK4Q.cjs +0 -1
- package/dist/chunk-HFNVS6OX.js +0 -1
- package/dist/chunk-HG6ZJDZX.cjs +0 -1
- package/dist/chunk-HIEVTRB4.cjs +0 -1
- package/dist/chunk-HJ2H6KUH.cjs +0 -1
- package/dist/chunk-HL3QPU5J.cjs +0 -1
- package/dist/chunk-HN4S6V2I.js +0 -1
- package/dist/chunk-HR2LFFYB.js +0 -1
- package/dist/chunk-HSNPZS6R.cjs +0 -1
- package/dist/chunk-I27XCDDI.cjs +0 -1
- package/dist/chunk-I2T3T7TN.js +0 -1
- package/dist/chunk-I2Z6A55T.js +0 -1
- package/dist/chunk-IRWDTBZT.cjs +0 -1
- package/dist/chunk-ITDJLXHO.js +0 -1
- package/dist/chunk-IVO53H3J.cjs +0 -1
- package/dist/chunk-IZWZPKOA.js +0 -1
- package/dist/chunk-J6WPJH72.js +0 -1
- package/dist/chunk-JHFSYEXB.cjs +0 -1
- package/dist/chunk-JI5FJX2E.js +0 -1
- package/dist/chunk-JMK2TCXJ.cjs +0 -1
- package/dist/chunk-JNB74WWB.cjs +0 -1
- package/dist/chunk-JNQXGRDN.js +0 -1
- package/dist/chunk-JPW7GBE2.cjs +0 -1
- package/dist/chunk-JQ76WO4H.js +0 -1
- package/dist/chunk-JRDQRETR.cjs +0 -1
- package/dist/chunk-JUPDV6DZ.cjs +0 -1
- package/dist/chunk-JYWIRZ2Z.js +0 -1
- package/dist/chunk-JZ463SIK.js +0 -1
- package/dist/chunk-K26HQR4Y.cjs +0 -1
- package/dist/chunk-K7T2WOD7.js +0 -1
- package/dist/chunk-KGPDVVVV.js +0 -1
- package/dist/chunk-KGWDTRVR.cjs +0 -1
- package/dist/chunk-KJOG333D.cjs +0 -1
- package/dist/chunk-KM5XOWVG.cjs +0 -1
- package/dist/chunk-KYMVIFAW.cjs +0 -1
- package/dist/chunk-KZJPXI6A.js +0 -1
- package/dist/chunk-L3FG6LLM.js +0 -1
- package/dist/chunk-L3VSMTOZ.cjs +0 -1
- package/dist/chunk-L4S5OAPG.js +0 -1
- package/dist/chunk-L4ZCRIBG.js +0 -1
- package/dist/chunk-L5CACS4O.cjs +0 -1
- package/dist/chunk-L65Z6PP7.cjs +0 -1
- package/dist/chunk-L7WDY53I.cjs +0 -1
- package/dist/chunk-LPNHLDEA.cjs +0 -1
- package/dist/chunk-LSODZ3GY.js +0 -1
- package/dist/chunk-LT2AWHBC.cjs +0 -1
- package/dist/chunk-LTDI6TR7.cjs +0 -1
- package/dist/chunk-M22GUUVY.cjs +0 -1
- package/dist/chunk-MBGSSEZN.cjs +0 -1
- package/dist/chunk-MFSRIHWE.js +0 -1
- package/dist/chunk-MH6AS6QU.js +0 -1
- package/dist/chunk-MKWSPETJ.js +0 -1
- package/dist/chunk-MPWQN3WY.js +0 -1
- package/dist/chunk-MRHAQMCH.cjs +0 -1
- package/dist/chunk-MVQUPUF7.js +0 -1
- package/dist/chunk-MZEHWQF3.js +0 -1
- package/dist/chunk-N2NQKHB3.js +0 -1
- package/dist/chunk-N4LC5TR2.js +0 -1
- package/dist/chunk-N5JE6642.cjs +0 -1
- package/dist/chunk-N6GBVESU.js +0 -1
- package/dist/chunk-N74J5NJE.js +0 -1
- package/dist/chunk-N7AESA4W.cjs +0 -1
- package/dist/chunk-NBUEBREG.cjs +0 -1
- package/dist/chunk-NC2AGJET.cjs +0 -1
- package/dist/chunk-NEIICTWC.js +0 -1
- package/dist/chunk-NHTBBY2L.js +0 -1
- package/dist/chunk-NQUTCPKD.js +0 -1
- package/dist/chunk-NVCXF5UR.cjs +0 -1
- package/dist/chunk-O74TUGYF.js +0 -1
- package/dist/chunk-OBX5B27B.cjs +0 -1
- package/dist/chunk-OCVPUGMZ.cjs +0 -1
- package/dist/chunk-OFLOVIU2.cjs +0 -1
- package/dist/chunk-OKBFQ7B6.js +0 -1
- package/dist/chunk-OLZEQGPJ.cjs +0 -1
- package/dist/chunk-OMHZCALN.cjs +0 -1
- package/dist/chunk-OMJYEGBX.cjs +0 -1
- package/dist/chunk-OPJJI442.cjs +0 -1
- package/dist/chunk-ORBI2CZ3.js +0 -1
- package/dist/chunk-ORWRUK3K.cjs +0 -1
- package/dist/chunk-OT55MXTZ.js +0 -1
- package/dist/chunk-OV6ESBSQ.cjs +0 -1
- package/dist/chunk-P4HDHWKF.js +0 -1
- package/dist/chunk-P7RCAO7P.cjs +0 -438
- package/dist/chunk-PEJ74NWA.js +0 -1
- package/dist/chunk-PHYBTFYH.js +0 -1
- package/dist/chunk-PJM2VP2C.js +0 -1
- package/dist/chunk-PJX2BJHU.cjs +0 -1
- package/dist/chunk-PM4GAQSE.cjs +0 -1
- package/dist/chunk-PNTFWNQB.cjs +0 -1
- package/dist/chunk-PSKQ45PX.js +0 -1
- package/dist/chunk-PZSBVMJ5.cjs +0 -1
- package/dist/chunk-Q2HW4RVT.js +0 -1
- package/dist/chunk-QDXJKXGO.cjs +0 -1
- package/dist/chunk-QGF2XNZS.cjs +0 -1
- package/dist/chunk-QHBVEZSR.js +0 -1
- package/dist/chunk-QID4F4QT.js +0 -1
- package/dist/chunk-QPP664N4.js +0 -1
- package/dist/chunk-QZ3KOXCB.js +0 -1
- package/dist/chunk-R3TYGYBQ.cjs +0 -1
- package/dist/chunk-R4O7XE2F.cjs +0 -1
- package/dist/chunk-RAHS5RJS.cjs +0 -1
- package/dist/chunk-RBODUO3Q.js +0 -1
- package/dist/chunk-RFHE6DOJ.js +0 -1
- package/dist/chunk-RLJFMTDS.js +0 -1
- package/dist/chunk-RLUXP6U4.cjs +0 -1
- package/dist/chunk-RMOD5JNB.cjs +0 -1
- package/dist/chunk-RT7PP32J.cjs +0 -1
- package/dist/chunk-RTFVY5D4.cjs +0 -1
- package/dist/chunk-RW5FFMRB.js +0 -1
- package/dist/chunk-RXUYF4A4.cjs +0 -1
- package/dist/chunk-SAYBB6XF.cjs +0 -1
- package/dist/chunk-SE4JHXNT.js +0 -1
- package/dist/chunk-SEHYNMWP.cjs +0 -1
- package/dist/chunk-SG2YWG6U.cjs +0 -1
- package/dist/chunk-SGK2IP3C.js +0 -1
- package/dist/chunk-SJMGQLYS.cjs +0 -1
- package/dist/chunk-SM7MR26C.cjs +0 -1
- package/dist/chunk-SNYQNW6T.cjs +0 -1
- package/dist/chunk-SOPOELNU.cjs +0 -1
- package/dist/chunk-SRWN2GDP.js +0 -1
- package/dist/chunk-SW62SX4Y.cjs +0 -1
- package/dist/chunk-SWZW76TE.js +0 -1
- package/dist/chunk-SXNRBENP.cjs +0 -1
- package/dist/chunk-T56X44VO.js +0 -1
- package/dist/chunk-T5XG33UI.js +0 -1
- package/dist/chunk-TFN3JWPS.cjs +0 -1
- package/dist/chunk-TOIDL7XA.cjs +0 -1
- package/dist/chunk-TRIZIXDA.cjs +0 -1
- package/dist/chunk-TSP3FU72.cjs +0 -1
- package/dist/chunk-TUZHNOSG.cjs +0 -1
- package/dist/chunk-TVMG2NYC.js +0 -1
- package/dist/chunk-TWCEO47X.cjs +0 -1
- package/dist/chunk-TXPRX236.cjs +0 -1
- package/dist/chunk-U3OEHN5P.cjs +0 -1
- package/dist/chunk-U6ZJSHFS.js +0 -1
- package/dist/chunk-UMTYOMHF.cjs +0 -1
- package/dist/chunk-UTMQRL7N.cjs +0 -1
- package/dist/chunk-UURK6I3D.cjs +0 -1
- package/dist/chunk-UVAWCZB6.js +0 -1
- package/dist/chunk-UWMBE6BM.js +0 -1
- package/dist/chunk-UXW7KBAK.js +0 -1
- package/dist/chunk-UYLVIAK4.js +0 -1
- package/dist/chunk-UZOTODQ4.js +0 -1
- package/dist/chunk-V4GNLMRD.cjs +0 -1
- package/dist/chunk-V57XYQTX.cjs +0 -1
- package/dist/chunk-VAU7HZPO.cjs +0 -1
- package/dist/chunk-VEPS2HPD.js +0 -1
- package/dist/chunk-VHOWC6UM.cjs +0 -1
- package/dist/chunk-VI2QG3FU.js +0 -1
- package/dist/chunk-VJUK4I7J.js +0 -1
- package/dist/chunk-VNI4VRFM.cjs +0 -1
- package/dist/chunk-VOFKZP4G.js +0 -1
- package/dist/chunk-VOILRHZ5.cjs +0 -1
- package/dist/chunk-VPHS3T3W.js +0 -1
- package/dist/chunk-VQ3GU3JR.js +0 -1
- package/dist/chunk-WAYI2SEB.js +0 -1
- package/dist/chunk-WFR3HBYR.cjs +0 -1
- package/dist/chunk-WKNGQQYL.js +0 -1
- package/dist/chunk-WLNQOMKL.cjs +0 -1
- package/dist/chunk-WM4KSO6C.cjs +0 -1
- package/dist/chunk-WVTQN2AI.cjs +0 -1
- package/dist/chunk-WYRK6YJU.cjs +0 -1
- package/dist/chunk-X7EK7EDZ.cjs +0 -1
- package/dist/chunk-X7PFDZGQ.js +0 -1
- package/dist/chunk-XCG2UC6T.js +0 -1
- package/dist/chunk-XEAAXO7F.js +0 -1
- package/dist/chunk-XJFQUA2U.cjs +0 -1
- package/dist/chunk-XKFU3EHP.cjs +0 -1
- package/dist/chunk-XR2MB57Z.cjs +0 -1
- package/dist/chunk-XR72I63W.cjs +0 -1
- package/dist/chunk-XROZFTOX.js +0 -1
- package/dist/chunk-XSIE5W4C.js +0 -1
- package/dist/chunk-XSSRBOMF.js +0 -1
- package/dist/chunk-XWQ3IM2J.js +0 -1
- package/dist/chunk-XY7YER5N.cjs +0 -1
- package/dist/chunk-Y5LDV42I.cjs +0 -1
- package/dist/chunk-Y7RFTHSR.cjs +0 -1
- package/dist/chunk-YBJMFRB6.js +0 -1
- package/dist/chunk-YCSQX2SY.js +0 -1
- package/dist/chunk-YHDBKFF6.js +0 -1
- package/dist/chunk-YJDSLML5.cjs +0 -1
- package/dist/chunk-YJEN2CYE.cjs +0 -1
- package/dist/chunk-YJWH5VIJ.cjs +0 -1
- package/dist/chunk-YN6OVP7D.cjs +0 -1
- package/dist/chunk-YQNLUCDL.cjs +0 -1
- package/dist/chunk-YRVN4PYH.js +0 -1
- package/dist/chunk-YSTUBBOJ.cjs +0 -1
- package/dist/chunk-YWIXN5BR.js +0 -1
- package/dist/chunk-YWTY4X2R.cjs +0 -1
- package/dist/chunk-YXKPCISK.cjs +0 -1
- package/dist/chunk-YXVTDTHY.js +0 -1
- package/dist/chunk-YYEJOSR3.js +0 -1
- package/dist/chunk-Z23BZCCD.js +0 -438
- package/dist/chunk-Z33G2D3N.js +0 -1
- package/dist/chunk-Z3F6RC7S.cjs +0 -1
- package/dist/chunk-Z5EOW435.js +0 -1
- package/dist/chunk-Z5YZYBC2.js +0 -1
- package/dist/chunk-Z5Z4ADBO.cjs +0 -1
- package/dist/chunk-Z6K5VISM.cjs +0 -1
- package/dist/chunk-Z6OOXW67.cjs +0 -1
- package/dist/chunk-Z7D7Q6U3.js +0 -1
- package/dist/chunk-Z7DYKN6W.js +0 -1
- package/dist/chunk-ZAZDS3SB.js +0 -1
- package/dist/chunk-ZCCHYKDG.cjs +0 -1
- package/dist/chunk-ZH3SGWIA.cjs +0 -1
- package/dist/chunk-ZIGQWNCG.js +0 -1
- package/dist/chunk-ZIGQZNHP.js +0 -1
- package/dist/chunk-ZITGCTSW.js +0 -1
- package/dist/chunk-ZLNSRDW7.cjs +0 -1
- package/dist/chunk-ZMG3NQDL.js +0 -1
- package/dist/chunk-ZSKQIU2G.js +0 -1
- package/dist/chunk-ZX5QTVEJ.js +0 -1
- package/dist/clamped-integer-subtract-DZ7rsJE4.d.cts +0 -15
- package/dist/clamped-integer-subtract-DZ7rsJE4.d.ts +0 -15
- package/dist/coerced-array-DRz3tqda.d.cts +0 -14
- package/dist/coerced-array-DRz3tqda.d.ts +0 -14
- package/dist/curry-order-rules-BKXCPBNx.d.cts +0 -37
- package/dist/curry-order-rules-BKXCPBNx.d.ts +0 -37
- package/dist/deduped-CagGlWg1.d.cts +0 -23
- package/dist/deduped-DWYYywHn.d.ts +0 -23
- package/dist/enumerable-string-key-of-C4gsorXe.d.ts +0 -14
- package/dist/enumerable-string-key-of-D8w_3Yg8.d.cts +0 -14
- package/dist/enumerable-string-keyed-value-of-BU9R_cEk.d.cts +0 -9
- package/dist/enumerable-string-keyed-value-of-BU9R_cEk.d.ts +0 -9
- package/dist/filtered-array-BCjySbC6.d.cts +0 -18
- package/dist/filtered-array-JKATL39M.d.ts +0 -18
- package/dist/if-D4QIikQ1.d.cts +0 -5
- package/dist/if-D4QIikQ1.d.ts +0 -5
- package/dist/int-range-inclusive-Cn-qsrAN.d.cts +0 -12
- package/dist/int-range-inclusive-Cn-qsrAN.d.ts +0 -12
- package/dist/is-bounded-record-C9WAwfA8.d.cts +0 -30
- package/dist/is-bounded-record-C9WAwfA8.d.ts +0 -30
- package/dist/is-union-Bx34mF34.d.cts +0 -6
- package/dist/is-union-Bx34mF34.d.ts +0 -6
- package/dist/iterable-container-BTpDVdNc.d.cts +0 -15
- package/dist/iterable-container-BTpDVdNc.d.ts +0 -15
- package/dist/magic-string.es-2ADFIHOO.cjs +0 -13
- package/dist/magic-string.es-PNCTE22R.js +0 -13
- package/dist/mapped-C0LN24rT.d.ts +0 -7
- package/dist/mapped-D9hCE2LX.d.cts +0 -7
- package/dist/narrowed-to-CDIykNaN.d.cts +0 -12
- package/dist/narrowed-to-CDIykNaN.d.ts +0 -12
- package/dist/non-empty-array-C9Od1wmF.d.cts +0 -3
- package/dist/non-empty-array-C9Od1wmF.d.ts +0 -3
- package/dist/partial-array-Vnf1fBtl.d.cts +0 -10
- package/dist/partial-array-Vnf1fBtl.d.ts +0 -10
- package/dist/perkakas-type-error-8wPb8T2y.d.cts +0 -17
- package/dist/perkakas-type-error-8wPb8T2y.d.ts +0 -17
- package/dist/reordered-array-DTkM8K3n.d.cts +0 -7
- package/dist/reordered-array-DVguhAmZ.d.ts +0 -7
- package/dist/to-string-DO8zw6jS.d.cts +0 -11
- package/dist/to-string-DO8zw6jS.d.ts +0 -11
- package/dist/tuple-parts-BTivqbtT.d.ts +0 -86
- package/dist/tuple-parts-v6av7LMU.d.cts +0 -86
- package/dist/upsert-prop-Cc3jEW9l.d.cts +0 -11
- package/dist/upsert-prop-CdUtD50i.d.ts +0 -11
- /package/dist/{chunk-QFJ3I53F.js → type.helpers-CNVsSXtV.cjs} +0 -0
package/dist/funnel.test.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict"; function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkHC3HZK4Qcjs = require('./chunk-HC3HZK4Q.cjs');var _chunkP7RCAO7Pcjs = require('./chunk-P7RCAO7P.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]}_chunkP7RCAO7Pcjs.a.call(void 0, "reducer behavior",()=>{_chunkP7RCAO7Pcjs.b.call(void 0, "passes the reduced arg to the executor",()=>{let e=_chunkP7RCAO7Pcjs.d.fn();_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:_chunkWLNQOMKLcjs.a.call(void 0, "hello world"),triggerAt:"start",minQuietPeriodMs:l}).call(),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith("hello world")}),_chunkP7RCAO7Pcjs.b.call(void 0, "reduces call args",async()=>{let e=_chunkP7RCAO7Pcjs.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),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(21)}),_chunkP7RCAO7Pcjs.b.call(void 0, "does not invoke if reduceArgs returns undefined",async()=>{let e=_chunkP7RCAO7Pcjs.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),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(0)}),_chunkP7RCAO7Pcjs.b.call(void 0, "supports multiple arguments",()=>{let e=_chunkP7RCAO7Pcjs.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),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith([void 0,1,"a",!0])}),_chunkP7RCAO7Pcjs.b.call(void 0, "reducer isn't called again when 'invokedAt: start'",async()=>{let e=_chunkP7RCAO7Pcjs.d.fn(c),a=_chunkRMOD5JNBcjs.a.call(void 0, _chunkWYRK6YJUcjs.a.call(void 0, ),{reducer:e,triggerAt:"start",minQuietPeriodMs:l});a.call("a"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(void 0,"a"),a.call("b"),a.call("c"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1)})});_chunkP7RCAO7Pcjs.a.call(void 0, "non-trivial (>0ms) timer duration",()=>{_chunkP7RCAO7Pcjs.a.call(void 0, "delay timer",()=>{_chunkP7RCAO7Pcjs.b.call(void 0, "invokedAt: start",async()=>{let e=_chunkP7RCAO7Pcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"start",minGapMs:l});a.call("a"),a.call("b"),a.call("c"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),a.call("d"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["d"])}),_chunkP7RCAO7Pcjs.b.call(void 0, "invokedAt: both",async()=>{let e=_chunkP7RCAO7Pcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"both",minGapMs:l});a.call("a"),a.call("b"),a.call("c"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b","c"]),a.call("d"),a.call("e"),a.call("f"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(3),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["d","e","f"])}),_chunkP7RCAO7Pcjs.b.call(void 0, "invocations in the middle of a window",async()=>{let e=_chunkP7RCAO7Pcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"both",minGapMs:l});a.call("a"),a.call("b"),a.call("c"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, .75*l),a.call("d"),a.call("e"),a.call("f"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, .75*l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b","c","d","e","f"])})}),_chunkP7RCAO7Pcjs.a.call(void 0, "burst timer",()=>{_chunkP7RCAO7Pcjs.b.call(void 0, "invokedAt: start",async()=>{let e=_chunkP7RCAO7Pcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"start",minQuietPeriodMs:l});a.call("a"),a.call("b"),a.call("c"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),a.call("d"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["d"])}),_chunkP7RCAO7Pcjs.b.call(void 0, "invokedAt: both",async()=>{let e=_chunkP7RCAO7Pcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"both",minQuietPeriodMs:l});a.call("a"),a.call("b"),a.call("c"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b","c"]),a.call("d"),a.call("e"),a.call("f"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(3),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["d"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(4),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["e","f"])}),_chunkP7RCAO7Pcjs.b.call(void 0, "invokedAt: end",async()=>{let e=_chunkP7RCAO7Pcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"end",minQuietPeriodMs:l});a.call("a"),a.call("b"),a.call("c"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a","b","c"]),a.call("e"),a.call("f"),a.call("g"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["e","f","g"])}),_chunkP7RCAO7Pcjs.b.call(void 0, "invocations in the middle of a window",async()=>{let e=_chunkP7RCAO7Pcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"end",minQuietPeriodMs:l});a.call("a"),a.call("b"),a.call("c"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, .9*l),a.call("d"),a.call("e"),a.call("f"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, .1*l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a","b","c","d","e","f"])}),_chunkP7RCAO7Pcjs.b.call(void 0, "maxBurstDurationMs limits the burst duration",async()=>{let e=_chunkP7RCAO7Pcjs.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"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, .75*l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a","b","c"])})}),_chunkP7RCAO7Pcjs.a.call(void 0, "both timers",()=>{_chunkP7RCAO7Pcjs.b.call(void 0, "delay is longer than burst",async()=>{let e=_chunkP7RCAO7Pcjs.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"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),a.call("d"),a.call("e"),a.call("f"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b","c","d","e","f"])}),_chunkP7RCAO7Pcjs.b.call(void 0, "burst is longer than delay",async()=>{let e=_chunkP7RCAO7Pcjs.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"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),a.call("d"),a.call("e"),a.call("f"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b","c","d","e","f"])}),_chunkP7RCAO7Pcjs.b.call(void 0, "burst and delay are equal",async()=>{let e=_chunkP7RCAO7Pcjs.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"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),a.call("d"),a.call("e"),a.call("f"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b","c"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(3),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["d","e","f"])}),_chunkP7RCAO7Pcjs.b.call(void 0, "delay and maxBurstDurationMs are equal",async()=>{let e=_chunkP7RCAO7Pcjs.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"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),a.call("d"),a.call("e"),a.call("f"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b","c"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(3),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["d","e","f"])})})});_chunkP7RCAO7Pcjs.a.call(void 0, "immediate (===0) timer durations",()=>{_chunkP7RCAO7Pcjs.a.call(void 0, "delay timer",()=>{_chunkP7RCAO7Pcjs.b.call(void 0, "invokedAt: start",async()=>{let e=_chunkP7RCAO7Pcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"start",minGapMs:0});a.call("a"),a.call("b"),a.call("c"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),a.call("d"),a.call("e"),a.call("f"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["d"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2)}),_chunkP7RCAO7Pcjs.b.call(void 0, "invokedAt: both",async()=>{let e=_chunkP7RCAO7Pcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"both",minGapMs:0});a.call("a"),a.call("b"),a.call("c"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),a.call("d"),a.call("e"),a.call("f"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b","c"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(3),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["d","e","f"])}),_chunkP7RCAO7Pcjs.b.call(void 0, "with a non-trivial burst timer",async()=>{let e=_chunkP7RCAO7Pcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"both",minGapMs:0,minQuietPeriodMs:l});a.call("a"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),a.call("b"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b"])})}),_chunkP7RCAO7Pcjs.a.call(void 0, "burst timer",()=>{_chunkP7RCAO7Pcjs.b.call(void 0, "invokedAt: start",async()=>{let e=_chunkP7RCAO7Pcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"start",minQuietPeriodMs:0});a.call("a"),a.call("b"),a.call("c"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),a.call("d"),a.call("e"),a.call("f"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["d"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2)}),_chunkP7RCAO7Pcjs.b.call(void 0, "invokedAt: both",async()=>{let e=_chunkP7RCAO7Pcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"both",minQuietPeriodMs:0});a.call("a"),a.call("b"),a.call("c"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b","c"]),a.call("d"),a.call("e"),a.call("f"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(3),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["d"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(4),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["e","f"])}),_chunkP7RCAO7Pcjs.b.call(void 0, "invokedAt: end",async()=>{let e=_chunkP7RCAO7Pcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"end",minQuietPeriodMs:0});a.call("a"),a.call("b"),a.call("c"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a","b","c"]),a.call("d"),a.call("e"),a.call("f"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["d","e","f"])}),_chunkP7RCAO7Pcjs.b.call(void 0, "with a non-trivial delay timer",async()=>{let e=_chunkP7RCAO7Pcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"both",minGapMs:l,minQuietPeriodMs:0});a.call("a"),a.call("b"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b"])}),_chunkP7RCAO7Pcjs.b.call(void 0, "burst timer with non-trivial maxBurstDuration",async()=>{let e=_chunkP7RCAO7Pcjs.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"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a","b","c"])})}),_chunkP7RCAO7Pcjs.b.call(void 0, "both timers",async()=>{let e=_chunkP7RCAO7Pcjs.d.fn();_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"both",minGapMs:0,minQuietPeriodMs:0}).call("a"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1)}),_chunkP7RCAO7Pcjs.b.call(void 0, "maxBurstDurationMs = 0 limits the burst immediately",async()=>{let e=_chunkP7RCAO7Pcjs.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),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"])}),_chunkP7RCAO7Pcjs.b.call(void 0, "all timeouts zero",async()=>{let e=_chunkP7RCAO7Pcjs.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"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b"])})});_chunkP7RCAO7Pcjs.a.call(void 0, "default minQuietPeriodMs === 0 when minGapMs is not defined",()=>{_chunkP7RCAO7Pcjs.b.call(void 0, "invokedAt: start",async()=>{let e=_chunkP7RCAO7Pcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"start"});a.call("a"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),a.call("b"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),a.call("c"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["c"])}),_chunkP7RCAO7Pcjs.b.call(void 0, "invokedAt: both",async()=>{let e=_chunkP7RCAO7Pcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"both"});a.call("a"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),a.call("b"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b"]),a.call("c"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(3),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["c"])})});_chunkP7RCAO7Pcjs.a.call(void 0, "utility functions",()=>{_chunkP7RCAO7Pcjs.a.call(void 0, "flush",()=>{_chunkP7RCAO7Pcjs.b.call(void 0, "flush triggers an immediate invocation",async()=>{let e=_chunkP7RCAO7Pcjs.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(),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a","b","c"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1)}),_chunkP7RCAO7Pcjs.b.call(void 0, "flush during active burst",async()=>{let e=_chunkP7RCAO7Pcjs.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(),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a","b","c"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 2*l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1)})}),_chunkP7RCAO7Pcjs.a.call(void 0, "cancel",()=>{_chunkP7RCAO7Pcjs.b.call(void 0, "cancel prevents invocation",async()=>{let e=_chunkP7RCAO7Pcjs.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),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(0)}),_chunkP7RCAO7Pcjs.b.call(void 0, "cancel during delay period",async()=>{let e=_chunkP7RCAO7Pcjs.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),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1)})}),_chunkP7RCAO7Pcjs.a.call(void 0, "isIdle",()=>{_chunkP7RCAO7Pcjs.b.call(void 0, "isIdle reflects the funnel's state",()=>{let e=_chunkP7RCAO7Pcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"end",minQuietPeriodMs:l});_chunkP7RCAO7Pcjs.c.call(void 0, a.isIdle).toBe(!0),a.call("a"),_chunkP7RCAO7Pcjs.c.call(void 0, a.isIdle).toBe(!1),a.cancel(),_chunkP7RCAO7Pcjs.c.call(void 0, a.isIdle).toBe(!0)}),_chunkP7RCAO7Pcjs.b.call(void 0, "isIdle works when burst duration is 0",async()=>{let e=_chunkP7RCAO7Pcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"end",minQuietPeriodMs:0});_chunkP7RCAO7Pcjs.c.call(void 0, a.isIdle).toBe(!0),a.call("a"),a.call("b"),a.call("c"),_chunkP7RCAO7Pcjs.c.call(void 0, a.isIdle).toBe(!1),await _chunkHC3HZK4Qcjs.a.call(void 0, 0),_chunkP7RCAO7Pcjs.c.call(void 0, a.isIdle).toBe(!0)})})});_chunkP7RCAO7Pcjs.a.call(void 0, "edge-cases",()=>{_chunkP7RCAO7Pcjs.b.call(void 0, "bursts that start late don't prevent delayed invocations",async()=>{let e=_chunkP7RCAO7Pcjs.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"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 1.5*l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),a.call("d"),a.call("e"),a.call("f"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, .5*l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["b","c","d","e","f"])}),_chunkP7RCAO7Pcjs.b.call(void 0, "delay timeouts don't cause an invocation in the middle of bursts",async()=>{let e=_chunkP7RCAO7Pcjs.d.fn(),a=_chunkRMOD5JNBcjs.a.call(void 0, e,{reducer:c,triggerAt:"both",minQuietPeriodMs:2*l,minGapMs:l});a.call("a"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenLastCalledWith(["a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, l),a.call("b"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, l),a.call("c"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, l),a.call("d"),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, l),_chunkP7RCAO7Pcjs.c.call(void 0, e).toHaveBeenCalledTimes(2)})});
|
|
1
|
+
const e=require(`./dist-gvJoKj_M.cjs`),t=require(`./constant-BuIJ9GIn.cjs`),n=require(`./do-nothing-Cc1faYu6.cjs`),r=require(`./funnel-CL-QFpGk.cjs`),i=require(`./sleep-1rGV3wAg.cjs`),a=16;function o(e,t){return e===void 0?[t]:[...e,t]}e.describe(`reducer behavior`,()=>{e.it(`passes the reduced arg to the executor`,()=>{let n=e.vi.fn();r.funnel(n,{reducer:t.constant(`hello world`),triggerAt:`start`,minQuietPeriodMs:16}).call(),e.globalExpect(n).toHaveBeenCalledTimes(1),e.globalExpect(n).toHaveBeenLastCalledWith(`hello world`)}),e.it(`reduces call args`,async()=>{let t=e.vi.fn(e=>{}),n=r.funnel(t,{reducer:(e,t)=>(e??0)+t,minQuietPeriodMs:32,triggerAt:`end`});n.call(1),n.call(2),n.call(3),await i.sleep(16),n.call(4),n.call(5),n.call(6),await i.sleep(32),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith(21)}),e.it(`does not invoke if reduceArgs returns undefined`,async()=>{let n=e.vi.fn();r.funnel(n,{reducer:t.constant(void 0),triggerAt:`end`,minQuietPeriodMs:16}).call(),await i.sleep(32),e.globalExpect(n).toHaveBeenCalledTimes(0)}),e.it(`supports multiple arguments`,()=>{let t=e.vi.fn();r.funnel(t,{reducer:(e,t,n,r)=>[e,t,n,r],triggerAt:`start`,minQuietPeriodMs:16}).call(1,`a`,!0),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([void 0,1,`a`,!0])}),e.it(`reducer isn't called again when 'invokedAt: start'`,async()=>{let t=e.vi.fn(o),a=r.funnel(n.doNothing(),{reducer:t,triggerAt:`start`,minQuietPeriodMs:16});a.call(`a`),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith(void 0,`a`),a.call(`b`),a.call(`c`),e.globalExpect(t).toHaveBeenCalledTimes(1),await i.sleep(32),e.globalExpect(t).toHaveBeenCalledTimes(1)})}),e.describe(`non-trivial (>0ms) timer duration`,()=>{e.describe(`delay timer`,()=>{e.it(`invokedAt: start`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,triggerAt:`start`,minGapMs:16});n.call(`a`),n.call(`b`),n.call(`c`),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`]),await i.sleep(16),e.globalExpect(t).toHaveBeenCalledTimes(1),n.call(`d`),e.globalExpect(t).toHaveBeenCalledTimes(2),e.globalExpect(t).toHaveBeenLastCalledWith([`d`])}),e.it(`invokedAt: both`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,triggerAt:`both`,minGapMs:16});n.call(`a`),n.call(`b`),n.call(`c`),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`]),await i.sleep(16),e.globalExpect(t).toHaveBeenCalledTimes(2),e.globalExpect(t).toHaveBeenLastCalledWith([`b`,`c`]),n.call(`d`),n.call(`e`),n.call(`f`),e.globalExpect(t).toHaveBeenCalledTimes(2),await i.sleep(16),e.globalExpect(t).toHaveBeenCalledTimes(3),e.globalExpect(t).toHaveBeenLastCalledWith([`d`,`e`,`f`])}),e.it(`invocations in the middle of a window`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,triggerAt:`both`,minGapMs:16});n.call(`a`),n.call(`b`),n.call(`c`),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`]),await i.sleep(.75*16),n.call(`d`),n.call(`e`),n.call(`f`),e.globalExpect(t).toHaveBeenCalledTimes(1),await i.sleep(.75*16),e.globalExpect(t).toHaveBeenCalledTimes(2),e.globalExpect(t).toHaveBeenLastCalledWith([`b`,`c`,`d`,`e`,`f`])})}),e.describe(`burst timer`,()=>{e.it(`invokedAt: start`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,triggerAt:`start`,minQuietPeriodMs:16});n.call(`a`),n.call(`b`),n.call(`c`),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`]),await i.sleep(16),e.globalExpect(t).toHaveBeenCalledTimes(1),n.call(`d`),e.globalExpect(t).toHaveBeenCalledTimes(2),e.globalExpect(t).toHaveBeenLastCalledWith([`d`])}),e.it(`invokedAt: both`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,triggerAt:`both`,minQuietPeriodMs:16});n.call(`a`),n.call(`b`),n.call(`c`),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`]),await i.sleep(16),e.globalExpect(t).toHaveBeenCalledTimes(2),e.globalExpect(t).toHaveBeenLastCalledWith([`b`,`c`]),n.call(`d`),n.call(`e`),n.call(`f`),e.globalExpect(t).toHaveBeenCalledTimes(3),e.globalExpect(t).toHaveBeenLastCalledWith([`d`]),await i.sleep(16),e.globalExpect(t).toHaveBeenCalledTimes(4),e.globalExpect(t).toHaveBeenLastCalledWith([`e`,`f`])}),e.it(`invokedAt: end`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,triggerAt:`end`,minQuietPeriodMs:16});n.call(`a`),n.call(`b`),n.call(`c`),e.globalExpect(t).toHaveBeenCalledTimes(0),await i.sleep(16),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`,`b`,`c`]),n.call(`e`),n.call(`f`),n.call(`g`),e.globalExpect(t).toHaveBeenCalledTimes(1),await i.sleep(16),e.globalExpect(t).toHaveBeenCalledTimes(2),e.globalExpect(t).toHaveBeenLastCalledWith([`e`,`f`,`g`])}),e.it(`invocations in the middle of a window`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,triggerAt:`end`,minQuietPeriodMs:16});n.call(`a`),n.call(`b`),n.call(`c`),e.globalExpect(t).toHaveBeenCalledTimes(0),await i.sleep(.9*16),n.call(`d`),n.call(`e`),n.call(`f`),e.globalExpect(t).toHaveBeenCalledTimes(0),await i.sleep(.1*16),e.globalExpect(t).toHaveBeenCalledTimes(0),await i.sleep(16),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`,`b`,`c`,`d`,`e`,`f`])}),e.it(`maxBurstDurationMs limits the burst duration`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,minQuietPeriodMs:16,maxBurstDurationMs:32,triggerAt:`end`});n.call(`a`),await i.sleep(.75*16),n.call(`b`),await i.sleep(.75*16),n.call(`c`),e.globalExpect(t).toHaveBeenCalledTimes(0),await i.sleep(.75*16),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`,`b`,`c`])})}),e.describe(`both timers`,()=>{e.it(`delay is longer than burst`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,minGapMs:32,minQuietPeriodMs:16,triggerAt:`both`});n.call(`a`),n.call(`b`),n.call(`c`),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`]),await i.sleep(16),n.call(`d`),n.call(`e`),n.call(`f`),e.globalExpect(t).toHaveBeenCalledTimes(1),await i.sleep(16),e.globalExpect(t).toHaveBeenCalledTimes(2),e.globalExpect(t).toHaveBeenLastCalledWith([`b`,`c`,`d`,`e`,`f`])}),e.it(`burst is longer than delay`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,minGapMs:16,minQuietPeriodMs:32,triggerAt:`both`});n.call(`a`),n.call(`b`),n.call(`c`),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`]),await i.sleep(16),n.call(`d`),n.call(`e`),n.call(`f`),e.globalExpect(t).toHaveBeenCalledTimes(1),await i.sleep(16),e.globalExpect(t).toHaveBeenCalledTimes(1),await i.sleep(16),e.globalExpect(t).toHaveBeenCalledTimes(2),e.globalExpect(t).toHaveBeenLastCalledWith([`b`,`c`,`d`,`e`,`f`])}),e.it(`burst and delay are equal`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,minGapMs:16,minQuietPeriodMs:16,triggerAt:`both`});n.call(`a`),n.call(`b`),n.call(`c`),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`]),await i.sleep(16),n.call(`d`),n.call(`e`),n.call(`f`),e.globalExpect(t).toHaveBeenCalledTimes(2),e.globalExpect(t).toHaveBeenLastCalledWith([`b`,`c`]),await i.sleep(16),e.globalExpect(t).toHaveBeenCalledTimes(3),e.globalExpect(t).toHaveBeenLastCalledWith([`d`,`e`,`f`])}),e.it(`delay and maxBurstDurationMs are equal`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,minGapMs:16,minQuietPeriodMs:32,maxBurstDurationMs:16,triggerAt:`both`});n.call(`a`),n.call(`b`),n.call(`c`),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`]),await i.sleep(16),n.call(`d`),n.call(`e`),n.call(`f`),e.globalExpect(t).toHaveBeenCalledTimes(2),e.globalExpect(t).toHaveBeenLastCalledWith([`b`,`c`]),await i.sleep(16),e.globalExpect(t).toHaveBeenCalledTimes(3),e.globalExpect(t).toHaveBeenLastCalledWith([`d`,`e`,`f`])})})}),e.describe(`immediate (===0) timer durations`,()=>{e.describe(`delay timer`,()=>{e.it(`invokedAt: start`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,triggerAt:`start`,minGapMs:0});n.call(`a`),n.call(`b`),n.call(`c`),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`]),await i.sleep(0),n.call(`d`),n.call(`e`),n.call(`f`),e.globalExpect(t).toHaveBeenCalledTimes(2),e.globalExpect(t).toHaveBeenLastCalledWith([`d`]),await i.sleep(0),e.globalExpect(t).toHaveBeenCalledTimes(2)}),e.it(`invokedAt: both`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,triggerAt:`both`,minGapMs:0});n.call(`a`),n.call(`b`),n.call(`c`),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`]),await i.sleep(0),n.call(`d`),n.call(`e`),n.call(`f`),e.globalExpect(t).toHaveBeenCalledTimes(2),e.globalExpect(t).toHaveBeenLastCalledWith([`b`,`c`]),await i.sleep(0),e.globalExpect(t).toHaveBeenCalledTimes(3),e.globalExpect(t).toHaveBeenLastCalledWith([`d`,`e`,`f`])}),e.it(`with a non-trivial burst timer`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,triggerAt:`both`,minGapMs:0,minQuietPeriodMs:16});n.call(`a`),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`]),n.call(`b`),e.globalExpect(t).toHaveBeenCalledTimes(1),await i.sleep(16),e.globalExpect(t).toHaveBeenCalledTimes(2),e.globalExpect(t).toHaveBeenLastCalledWith([`b`])})}),e.describe(`burst timer`,()=>{e.it(`invokedAt: start`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,triggerAt:`start`,minQuietPeriodMs:0});n.call(`a`),n.call(`b`),n.call(`c`),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`]),await i.sleep(0),n.call(`d`),n.call(`e`),n.call(`f`),e.globalExpect(t).toHaveBeenCalledTimes(2),e.globalExpect(t).toHaveBeenLastCalledWith([`d`]),await i.sleep(0),e.globalExpect(t).toHaveBeenCalledTimes(2)}),e.it(`invokedAt: both`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,triggerAt:`both`,minQuietPeriodMs:0});n.call(`a`),n.call(`b`),n.call(`c`),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`]),await i.sleep(0),e.globalExpect(t).toHaveBeenCalledTimes(2),e.globalExpect(t).toHaveBeenLastCalledWith([`b`,`c`]),n.call(`d`),n.call(`e`),n.call(`f`),e.globalExpect(t).toHaveBeenCalledTimes(3),e.globalExpect(t).toHaveBeenLastCalledWith([`d`]),await i.sleep(0),e.globalExpect(t).toHaveBeenCalledTimes(4),e.globalExpect(t).toHaveBeenLastCalledWith([`e`,`f`])}),e.it(`invokedAt: end`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,triggerAt:`end`,minQuietPeriodMs:0});n.call(`a`),n.call(`b`),n.call(`c`),e.globalExpect(t).toHaveBeenCalledTimes(0),await i.sleep(0),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`,`b`,`c`]),n.call(`d`),n.call(`e`),n.call(`f`),e.globalExpect(t).toHaveBeenCalledTimes(1),await i.sleep(0),e.globalExpect(t).toHaveBeenCalledTimes(2),e.globalExpect(t).toHaveBeenLastCalledWith([`d`,`e`,`f`])}),e.it(`with a non-trivial delay timer`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,triggerAt:`both`,minGapMs:16,minQuietPeriodMs:0});n.call(`a`),n.call(`b`),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`]),await i.sleep(0),e.globalExpect(t).toHaveBeenCalledTimes(1),await i.sleep(16),e.globalExpect(t).toHaveBeenCalledTimes(2),e.globalExpect(t).toHaveBeenLastCalledWith([`b`])}),e.it(`burst timer with non-trivial maxBurstDuration`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,minQuietPeriodMs:0,maxBurstDurationMs:16,triggerAt:`end`});n.call(`a`),n.call(`b`),n.call(`c`),e.globalExpect(t).toHaveBeenCalledTimes(0),await i.sleep(0),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`,`b`,`c`])})}),e.it(`both timers`,async()=>{let t=e.vi.fn();r.funnel(t,{reducer:o,triggerAt:`both`,minGapMs:0,minQuietPeriodMs:0}).call(`a`),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`]),await i.sleep(0),e.globalExpect(t).toHaveBeenCalledTimes(1)}),e.it(`maxBurstDurationMs = 0 limits the burst immediately`,async()=>{let t=e.vi.fn();r.funnel(t,{reducer:o,triggerAt:`end`,minQuietPeriodMs:16,maxBurstDurationMs:0}).call(`a`),await i.sleep(0),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`])}),e.it(`all timeouts zero`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,triggerAt:`both`,minGapMs:0,minQuietPeriodMs:0,maxBurstDurationMs:0});n.call(`a`),n.call(`b`),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`]),await i.sleep(0),e.globalExpect(t).toHaveBeenCalledTimes(2),e.globalExpect(t).toHaveBeenLastCalledWith([`b`])})}),e.describe(`default minQuietPeriodMs === 0 when minGapMs is not defined`,()=>{e.it(`invokedAt: start`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,triggerAt:`start`});n.call(`a`),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`]),n.call(`b`),e.globalExpect(t).toHaveBeenCalledTimes(1),await i.sleep(0),e.globalExpect(t).toHaveBeenCalledTimes(1),n.call(`c`),e.globalExpect(t).toHaveBeenCalledTimes(2),e.globalExpect(t).toHaveBeenLastCalledWith([`c`])}),e.it(`invokedAt: both`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,triggerAt:`both`});n.call(`a`),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`]),n.call(`b`),e.globalExpect(t).toHaveBeenCalledTimes(1),await i.sleep(0),e.globalExpect(t).toHaveBeenCalledTimes(2),e.globalExpect(t).toHaveBeenLastCalledWith([`b`]),n.call(`c`),e.globalExpect(t).toHaveBeenCalledTimes(3),e.globalExpect(t).toHaveBeenLastCalledWith([`c`])})}),e.describe(`utility functions`,()=>{e.describe(`flush`,()=>{e.it(`flush triggers an immediate invocation`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,triggerAt:`end`,minQuietPeriodMs:16});n.call(`a`),n.call(`b`),n.call(`c`),n.flush(),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`,`b`,`c`]),await i.sleep(16),e.globalExpect(t).toHaveBeenCalledTimes(1)}),e.it(`flush during active burst`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,triggerAt:`end`,minQuietPeriodMs:32});n.call(`a`),n.call(`b`),n.call(`c`),await i.sleep(16),n.flush(),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`,`b`,`c`]),await i.sleep(32),e.globalExpect(t).toHaveBeenCalledTimes(1)})}),e.describe(`cancel`,()=>{e.it(`cancel prevents invocation`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,triggerAt:`end`,minQuietPeriodMs:16});n.call(`a`),n.call(`b`),n.call(`c`),n.cancel(),await i.sleep(16),e.globalExpect(t).toHaveBeenCalledTimes(0)}),e.it(`cancel during delay period`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,triggerAt:`start`,minGapMs:32});n.call(`a`),n.call(`b`),await i.sleep(16),n.cancel(),await i.sleep(16),e.globalExpect(t).toHaveBeenCalledTimes(1)})}),e.describe(`isIdle`,()=>{e.it(`isIdle reflects the funnel's state`,()=>{let t=r.funnel(e.vi.fn(),{reducer:o,triggerAt:`end`,minQuietPeriodMs:16});e.globalExpect(t.isIdle).toBe(!0),t.call(`a`),e.globalExpect(t.isIdle).toBe(!1),t.cancel(),e.globalExpect(t.isIdle).toBe(!0)}),e.it(`isIdle works when burst duration is 0`,async()=>{let t=r.funnel(e.vi.fn(),{reducer:o,triggerAt:`end`,minQuietPeriodMs:0});e.globalExpect(t.isIdle).toBe(!0),t.call(`a`),t.call(`b`),t.call(`c`),e.globalExpect(t.isIdle).toBe(!1),await i.sleep(0),e.globalExpect(t.isIdle).toBe(!0)})})}),e.describe(`edge-cases`,()=>{e.it(`bursts that start late don't prevent delayed invocations`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,triggerAt:`both`,minQuietPeriodMs:16,minGapMs:32});n.call(`a`),n.call(`b`),n.call(`c`),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`]),await i.sleep(1.5*16),e.globalExpect(t).toHaveBeenCalledTimes(1),n.call(`d`),n.call(`e`),n.call(`f`),e.globalExpect(t).toHaveBeenCalledTimes(1),await i.sleep(.5*16),e.globalExpect(t).toHaveBeenCalledTimes(2),e.globalExpect(t).toHaveBeenLastCalledWith([`b`,`c`,`d`,`e`,`f`])}),e.it(`delay timeouts don't cause an invocation in the middle of bursts`,async()=>{let t=e.vi.fn(),n=r.funnel(t,{reducer:o,triggerAt:`both`,minQuietPeriodMs:32,minGapMs:16});n.call(`a`),e.globalExpect(t).toHaveBeenCalledTimes(1),e.globalExpect(t).toHaveBeenLastCalledWith([`a`]),await i.sleep(16),n.call(`b`),e.globalExpect(t).toHaveBeenCalledTimes(1),await i.sleep(16),n.call(`c`),e.globalExpect(t).toHaveBeenCalledTimes(1),await i.sleep(16),n.call(`d`),e.globalExpect(t).toHaveBeenCalledTimes(1),await i.sleep(16),e.globalExpect(t).toHaveBeenCalledTimes(1),await i.sleep(16),e.globalExpect(t).toHaveBeenCalledTimes(2)})});
|
package/dist/funnel.test.d.cts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { }
|
|
1
|
+
export { };
|
package/dist/funnel.test.d.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { }
|
|
1
|
+
export { };
|
package/dist/funnel.test.js
CHANGED
|
@@ -1 +1,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-Z23BZCCD.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
|
+
import{describe as e,globalExpect as t,it as n,vi as r}from"./dist-BQGZfjDS.js";import{constant as i}from"./constant-DrpDXHc7.js";import{doNothing as a}from"./do-nothing-Be29JGDG.js";import{funnel as o}from"./funnel-CEbURcmp.js";import{sleep as s}from"./sleep-DvzRMgY-.js";function c(e,t){return e===void 0?[t]:[...e,t]}e(`reducer behavior`,()=>{n(`passes the reduced arg to the executor`,()=>{let e=r.fn();o(e,{reducer:i(`hello world`),triggerAt:`start`,minQuietPeriodMs:16}).call(),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(`hello world`)}),n(`reduces call args`,async()=>{let e=r.fn(e=>{}),n=o(e,{reducer:(e,t)=>(e??0)+t,minQuietPeriodMs:32,triggerAt:`end`});n.call(1),n.call(2),n.call(3),await s(16),n.call(4),n.call(5),n.call(6),await s(32),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(21)}),n(`does not invoke if reduceArgs returns undefined`,async()=>{let e=r.fn();o(e,{reducer:i(void 0),triggerAt:`end`,minQuietPeriodMs:16}).call(),await s(32),t(e).toHaveBeenCalledTimes(0)}),n(`supports multiple arguments`,()=>{let e=r.fn();o(e,{reducer:(e,t,n,r)=>[e,t,n,r],triggerAt:`start`,minQuietPeriodMs:16}).call(1,`a`,!0),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([void 0,1,`a`,!0])}),n(`reducer isn't called again when 'invokedAt: start'`,async()=>{let e=r.fn(c),n=o(a(),{reducer:e,triggerAt:`start`,minQuietPeriodMs:16});n.call(`a`),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith(void 0,`a`),n.call(`b`),n.call(`c`),t(e).toHaveBeenCalledTimes(1),await s(32),t(e).toHaveBeenCalledTimes(1)})}),e(`non-trivial (>0ms) timer duration`,()=>{e(`delay timer`,()=>{n(`invokedAt: start`,async()=>{let e=r.fn(),n=o(e,{reducer:c,triggerAt:`start`,minGapMs:16});n.call(`a`),n.call(`b`),n.call(`c`),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`]),await s(16),t(e).toHaveBeenCalledTimes(1),n.call(`d`),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith([`d`])}),n(`invokedAt: both`,async()=>{let e=r.fn(),n=o(e,{reducer:c,triggerAt:`both`,minGapMs:16});n.call(`a`),n.call(`b`),n.call(`c`),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`]),await s(16),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith([`b`,`c`]),n.call(`d`),n.call(`e`),n.call(`f`),t(e).toHaveBeenCalledTimes(2),await s(16),t(e).toHaveBeenCalledTimes(3),t(e).toHaveBeenLastCalledWith([`d`,`e`,`f`])}),n(`invocations in the middle of a window`,async()=>{let e=r.fn(),n=o(e,{reducer:c,triggerAt:`both`,minGapMs:16});n.call(`a`),n.call(`b`),n.call(`c`),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`]),await s(.75*16),n.call(`d`),n.call(`e`),n.call(`f`),t(e).toHaveBeenCalledTimes(1),await s(.75*16),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith([`b`,`c`,`d`,`e`,`f`])})}),e(`burst timer`,()=>{n(`invokedAt: start`,async()=>{let e=r.fn(),n=o(e,{reducer:c,triggerAt:`start`,minQuietPeriodMs:16});n.call(`a`),n.call(`b`),n.call(`c`),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`]),await s(16),t(e).toHaveBeenCalledTimes(1),n.call(`d`),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith([`d`])}),n(`invokedAt: both`,async()=>{let e=r.fn(),n=o(e,{reducer:c,triggerAt:`both`,minQuietPeriodMs:16});n.call(`a`),n.call(`b`),n.call(`c`),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`]),await s(16),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith([`b`,`c`]),n.call(`d`),n.call(`e`),n.call(`f`),t(e).toHaveBeenCalledTimes(3),t(e).toHaveBeenLastCalledWith([`d`]),await s(16),t(e).toHaveBeenCalledTimes(4),t(e).toHaveBeenLastCalledWith([`e`,`f`])}),n(`invokedAt: end`,async()=>{let e=r.fn(),n=o(e,{reducer:c,triggerAt:`end`,minQuietPeriodMs:16});n.call(`a`),n.call(`b`),n.call(`c`),t(e).toHaveBeenCalledTimes(0),await s(16),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`,`b`,`c`]),n.call(`e`),n.call(`f`),n.call(`g`),t(e).toHaveBeenCalledTimes(1),await s(16),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith([`e`,`f`,`g`])}),n(`invocations in the middle of a window`,async()=>{let e=r.fn(),n=o(e,{reducer:c,triggerAt:`end`,minQuietPeriodMs:16});n.call(`a`),n.call(`b`),n.call(`c`),t(e).toHaveBeenCalledTimes(0),await s(.9*16),n.call(`d`),n.call(`e`),n.call(`f`),t(e).toHaveBeenCalledTimes(0),await s(.1*16),t(e).toHaveBeenCalledTimes(0),await s(16),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`,`b`,`c`,`d`,`e`,`f`])}),n(`maxBurstDurationMs limits the burst duration`,async()=>{let e=r.fn(),n=o(e,{reducer:c,minQuietPeriodMs:16,maxBurstDurationMs:32,triggerAt:`end`});n.call(`a`),await s(.75*16),n.call(`b`),await s(.75*16),n.call(`c`),t(e).toHaveBeenCalledTimes(0),await s(.75*16),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`,`b`,`c`])})}),e(`both timers`,()=>{n(`delay is longer than burst`,async()=>{let e=r.fn(),n=o(e,{reducer:c,minGapMs:32,minQuietPeriodMs:16,triggerAt:`both`});n.call(`a`),n.call(`b`),n.call(`c`),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`]),await s(16),n.call(`d`),n.call(`e`),n.call(`f`),t(e).toHaveBeenCalledTimes(1),await s(16),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith([`b`,`c`,`d`,`e`,`f`])}),n(`burst is longer than delay`,async()=>{let e=r.fn(),n=o(e,{reducer:c,minGapMs:16,minQuietPeriodMs:32,triggerAt:`both`});n.call(`a`),n.call(`b`),n.call(`c`),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`]),await s(16),n.call(`d`),n.call(`e`),n.call(`f`),t(e).toHaveBeenCalledTimes(1),await s(16),t(e).toHaveBeenCalledTimes(1),await s(16),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith([`b`,`c`,`d`,`e`,`f`])}),n(`burst and delay are equal`,async()=>{let e=r.fn(),n=o(e,{reducer:c,minGapMs:16,minQuietPeriodMs:16,triggerAt:`both`});n.call(`a`),n.call(`b`),n.call(`c`),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`]),await s(16),n.call(`d`),n.call(`e`),n.call(`f`),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith([`b`,`c`]),await s(16),t(e).toHaveBeenCalledTimes(3),t(e).toHaveBeenLastCalledWith([`d`,`e`,`f`])}),n(`delay and maxBurstDurationMs are equal`,async()=>{let e=r.fn(),n=o(e,{reducer:c,minGapMs:16,minQuietPeriodMs:32,maxBurstDurationMs:16,triggerAt:`both`});n.call(`a`),n.call(`b`),n.call(`c`),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`]),await s(16),n.call(`d`),n.call(`e`),n.call(`f`),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith([`b`,`c`]),await s(16),t(e).toHaveBeenCalledTimes(3),t(e).toHaveBeenLastCalledWith([`d`,`e`,`f`])})})}),e(`immediate (===0) timer durations`,()=>{e(`delay timer`,()=>{n(`invokedAt: start`,async()=>{let e=r.fn(),n=o(e,{reducer:c,triggerAt:`start`,minGapMs:0});n.call(`a`),n.call(`b`),n.call(`c`),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`]),await s(0),n.call(`d`),n.call(`e`),n.call(`f`),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith([`d`]),await s(0),t(e).toHaveBeenCalledTimes(2)}),n(`invokedAt: both`,async()=>{let e=r.fn(),n=o(e,{reducer:c,triggerAt:`both`,minGapMs:0});n.call(`a`),n.call(`b`),n.call(`c`),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`]),await s(0),n.call(`d`),n.call(`e`),n.call(`f`),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith([`b`,`c`]),await s(0),t(e).toHaveBeenCalledTimes(3),t(e).toHaveBeenLastCalledWith([`d`,`e`,`f`])}),n(`with a non-trivial burst timer`,async()=>{let e=r.fn(),n=o(e,{reducer:c,triggerAt:`both`,minGapMs:0,minQuietPeriodMs:16});n.call(`a`),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`]),n.call(`b`),t(e).toHaveBeenCalledTimes(1),await s(16),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith([`b`])})}),e(`burst timer`,()=>{n(`invokedAt: start`,async()=>{let e=r.fn(),n=o(e,{reducer:c,triggerAt:`start`,minQuietPeriodMs:0});n.call(`a`),n.call(`b`),n.call(`c`),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`]),await s(0),n.call(`d`),n.call(`e`),n.call(`f`),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith([`d`]),await s(0),t(e).toHaveBeenCalledTimes(2)}),n(`invokedAt: both`,async()=>{let e=r.fn(),n=o(e,{reducer:c,triggerAt:`both`,minQuietPeriodMs:0});n.call(`a`),n.call(`b`),n.call(`c`),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`]),await s(0),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith([`b`,`c`]),n.call(`d`),n.call(`e`),n.call(`f`),t(e).toHaveBeenCalledTimes(3),t(e).toHaveBeenLastCalledWith([`d`]),await s(0),t(e).toHaveBeenCalledTimes(4),t(e).toHaveBeenLastCalledWith([`e`,`f`])}),n(`invokedAt: end`,async()=>{let e=r.fn(),n=o(e,{reducer:c,triggerAt:`end`,minQuietPeriodMs:0});n.call(`a`),n.call(`b`),n.call(`c`),t(e).toHaveBeenCalledTimes(0),await s(0),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`,`b`,`c`]),n.call(`d`),n.call(`e`),n.call(`f`),t(e).toHaveBeenCalledTimes(1),await s(0),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith([`d`,`e`,`f`])}),n(`with a non-trivial delay timer`,async()=>{let e=r.fn(),n=o(e,{reducer:c,triggerAt:`both`,minGapMs:16,minQuietPeriodMs:0});n.call(`a`),n.call(`b`),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`]),await s(0),t(e).toHaveBeenCalledTimes(1),await s(16),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith([`b`])}),n(`burst timer with non-trivial maxBurstDuration`,async()=>{let e=r.fn(),n=o(e,{reducer:c,minQuietPeriodMs:0,maxBurstDurationMs:16,triggerAt:`end`});n.call(`a`),n.call(`b`),n.call(`c`),t(e).toHaveBeenCalledTimes(0),await s(0),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`,`b`,`c`])})}),n(`both timers`,async()=>{let e=r.fn();o(e,{reducer:c,triggerAt:`both`,minGapMs:0,minQuietPeriodMs:0}).call(`a`),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`]),await s(0),t(e).toHaveBeenCalledTimes(1)}),n(`maxBurstDurationMs = 0 limits the burst immediately`,async()=>{let e=r.fn();o(e,{reducer:c,triggerAt:`end`,minQuietPeriodMs:16,maxBurstDurationMs:0}).call(`a`),await s(0),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`])}),n(`all timeouts zero`,async()=>{let e=r.fn(),n=o(e,{reducer:c,triggerAt:`both`,minGapMs:0,minQuietPeriodMs:0,maxBurstDurationMs:0});n.call(`a`),n.call(`b`),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`]),await s(0),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith([`b`])})}),e(`default minQuietPeriodMs === 0 when minGapMs is not defined`,()=>{n(`invokedAt: start`,async()=>{let e=r.fn(),n=o(e,{reducer:c,triggerAt:`start`});n.call(`a`),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`]),n.call(`b`),t(e).toHaveBeenCalledTimes(1),await s(0),t(e).toHaveBeenCalledTimes(1),n.call(`c`),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith([`c`])}),n(`invokedAt: both`,async()=>{let e=r.fn(),n=o(e,{reducer:c,triggerAt:`both`});n.call(`a`),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`]),n.call(`b`),t(e).toHaveBeenCalledTimes(1),await s(0),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith([`b`]),n.call(`c`),t(e).toHaveBeenCalledTimes(3),t(e).toHaveBeenLastCalledWith([`c`])})}),e(`utility functions`,()=>{e(`flush`,()=>{n(`flush triggers an immediate invocation`,async()=>{let e=r.fn(),n=o(e,{reducer:c,triggerAt:`end`,minQuietPeriodMs:16});n.call(`a`),n.call(`b`),n.call(`c`),n.flush(),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`,`b`,`c`]),await s(16),t(e).toHaveBeenCalledTimes(1)}),n(`flush during active burst`,async()=>{let e=r.fn(),n=o(e,{reducer:c,triggerAt:`end`,minQuietPeriodMs:32});n.call(`a`),n.call(`b`),n.call(`c`),await s(16),n.flush(),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`,`b`,`c`]),await s(32),t(e).toHaveBeenCalledTimes(1)})}),e(`cancel`,()=>{n(`cancel prevents invocation`,async()=>{let e=r.fn(),n=o(e,{reducer:c,triggerAt:`end`,minQuietPeriodMs:16});n.call(`a`),n.call(`b`),n.call(`c`),n.cancel(),await s(16),t(e).toHaveBeenCalledTimes(0)}),n(`cancel during delay period`,async()=>{let e=r.fn(),n=o(e,{reducer:c,triggerAt:`start`,minGapMs:32});n.call(`a`),n.call(`b`),await s(16),n.cancel(),await s(16),t(e).toHaveBeenCalledTimes(1)})}),e(`isIdle`,()=>{n(`isIdle reflects the funnel's state`,()=>{let e=o(r.fn(),{reducer:c,triggerAt:`end`,minQuietPeriodMs:16});t(e.isIdle).toBe(!0),e.call(`a`),t(e.isIdle).toBe(!1),e.cancel(),t(e.isIdle).toBe(!0)}),n(`isIdle works when burst duration is 0`,async()=>{let e=o(r.fn(),{reducer:c,triggerAt:`end`,minQuietPeriodMs:0});t(e.isIdle).toBe(!0),e.call(`a`),e.call(`b`),e.call(`c`),t(e.isIdle).toBe(!1),await s(0),t(e.isIdle).toBe(!0)})})}),e(`edge-cases`,()=>{n(`bursts that start late don't prevent delayed invocations`,async()=>{let e=r.fn(),n=o(e,{reducer:c,triggerAt:`both`,minQuietPeriodMs:16,minGapMs:32});n.call(`a`),n.call(`b`),n.call(`c`),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`]),await s(1.5*16),t(e).toHaveBeenCalledTimes(1),n.call(`d`),n.call(`e`),n.call(`f`),t(e).toHaveBeenCalledTimes(1),await s(.5*16),t(e).toHaveBeenCalledTimes(2),t(e).toHaveBeenLastCalledWith([`b`,`c`,`d`,`e`,`f`])}),n(`delay timeouts don't cause an invocation in the middle of bursts`,async()=>{let e=r.fn(),n=o(e,{reducer:c,triggerAt:`both`,minQuietPeriodMs:32,minGapMs:16});n.call(`a`),t(e).toHaveBeenCalledTimes(1),t(e).toHaveBeenLastCalledWith([`a`]),await s(16),n.call(`b`),t(e).toHaveBeenCalledTimes(1),await s(16),n.call(`c`),t(e).toHaveBeenCalledTimes(1),await s(16),n.call(`d`),t(e).toHaveBeenCalledTimes(1),await s(16),t(e).toHaveBeenCalledTimes(1),await s(16),t(e).toHaveBeenCalledTimes(2)})});
|
|
2
|
+
//# sourceMappingURL=funnel.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"funnel.test.js","names":[],"sources":["../src/funnel.test.ts"],"sourcesContent":["import { describe, expect, it, vi } from 'vitest';\nimport { constant } from './constant';\nimport { doNothing } from './do-nothing';\nimport { funnel } from './funnel';\nimport { sleep } from './sleep';\n\n/**\n * We need some non-trivial duration to use in all our tests, to abstract the\n * actual chosen value we use this UnitOfTime (UT) constant. As long as it is a\n * positive integer, the actual value doesn't matter (but the larger it is,\n * the longer the tests would take to run). The number is in milliseconds.\n */\nconst UT = 16;\n\n// We use this reducer to collect arguments from each invocation so we can test what the function was invoked with.\nfunction ARGS_COLLECTOR(accumulator: ReadonlyArray<string> | undefined, item: string): ReadonlyArray<string> {\n return accumulator === undefined ? [item] : [...accumulator, item];\n}\n\ndescribe('reducer behavior', () => {\n it('passes the reduced arg to the executor', () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: constant('hello world'),\n triggerAt: 'start',\n minQuietPeriodMs: UT,\n });\n foo.call();\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith('hello world');\n });\n\n it('reduces call args', async () => {\n const mockFn = vi.fn((_total: number): void => {\n /* do nothing */\n });\n\n const foo = funnel(mockFn, {\n reducer: (total, item: number) => (total ?? 0) + item,\n minQuietPeriodMs: 2 * UT,\n triggerAt: 'end',\n });\n foo.call(1);\n foo.call(2);\n foo.call(3);\n await sleep(UT);\n foo.call(4);\n foo.call(5);\n foo.call(6);\n await sleep(2 * UT);\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(21 /* 1 + 2 + ... + 6 */);\n });\n\n it('does not invoke if reduceArgs returns undefined', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: constant(undefined),\n triggerAt: 'end',\n minQuietPeriodMs: UT,\n });\n foo.call();\n await sleep(2 * UT);\n\n expect(mockFn).toHaveBeenCalledTimes(0);\n });\n\n it('supports multiple arguments', () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: (ret: unknown, a: number, b: string, c: boolean) => [\n ret,\n a,\n b,\n c,\n ],\n triggerAt: 'start',\n minQuietPeriodMs: UT,\n });\n foo.call(1, 'a', true);\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith([undefined, 1, 'a', true]);\n });\n\n it('reducer isn\\'t called again when \\'invokedAt: start\\'', async () => {\n const mockFn = vi.fn(ARGS_COLLECTOR);\n const foo = funnel(doNothing(), {\n reducer: mockFn,\n triggerAt: 'start',\n minQuietPeriodMs: UT,\n });\n foo.call('a');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(undefined, 'a');\n\n foo.call('b');\n foo.call('c');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n\n await sleep(2 * UT);\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n });\n});\n\ndescribe('non-trivial (>0ms) timer duration', () => {\n describe('delay timer', () => {\n it('invokedAt: start', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'start',\n minGapMs: UT,\n });\n foo.call('a');\n foo.call('b');\n foo.call('c');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a']);\n\n await sleep(UT);\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n\n foo.call('d');\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n // \"b\" and \"c\" have been ignored because the funnel is only configured to\n // run the function at the start of the delay window, meaning anything\n // after that is simply dropped.\n expect(mockFn).toHaveBeenLastCalledWith(['d']);\n });\n\n it('invokedAt: both', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'both',\n minGapMs: UT,\n });\n foo.call('a');\n foo.call('b');\n foo.call('c');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a']);\n\n await sleep(UT);\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n expect(mockFn).toHaveBeenLastCalledWith(['b', 'c']);\n\n foo.call('d');\n foo.call('e');\n foo.call('f');\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n\n await sleep(UT);\n\n expect(mockFn).toHaveBeenCalledTimes(3);\n expect(mockFn).toHaveBeenLastCalledWith(['d', 'e', 'f']);\n });\n\n it('invocations in the middle of a window', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'both',\n minGapMs: UT,\n });\n foo.call('a');\n foo.call('b');\n foo.call('c');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a']);\n\n await sleep(0.75 * UT);\n foo.call('d');\n foo.call('e');\n foo.call('f');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n\n await sleep(0.75 * UT);\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n expect(mockFn).toHaveBeenLastCalledWith(['b', 'c', 'd', 'e', 'f']);\n });\n });\n\n describe('burst timer', () => {\n it('invokedAt: start', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'start',\n minQuietPeriodMs: UT,\n });\n foo.call('a');\n foo.call('b');\n foo.call('c');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a']);\n\n await sleep(UT);\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n\n foo.call('d');\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n // \"b\" and \"c\" have been ignored because the funnel is only configured to\n // run the function at the start of the delay window, meaning anything\n // after that is simply dropped.\n expect(mockFn).toHaveBeenLastCalledWith(['d']);\n });\n\n it('invokedAt: both', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'both',\n minQuietPeriodMs: UT,\n });\n foo.call('a');\n foo.call('b');\n foo.call('c');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a']);\n\n await sleep(UT);\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n expect(mockFn).toHaveBeenLastCalledWith(['b', 'c']);\n\n foo.call('d');\n foo.call('e');\n foo.call('f');\n\n expect(mockFn).toHaveBeenCalledTimes(3);\n expect(mockFn).toHaveBeenLastCalledWith(['d']);\n\n await sleep(UT);\n\n expect(mockFn).toHaveBeenCalledTimes(4);\n expect(mockFn).toHaveBeenLastCalledWith(['e', 'f']);\n });\n\n it('invokedAt: end', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'end',\n minQuietPeriodMs: UT,\n });\n foo.call('a');\n foo.call('b');\n foo.call('c');\n\n expect(mockFn).toHaveBeenCalledTimes(0);\n\n await sleep(UT);\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a', 'b', 'c']);\n\n foo.call('e');\n foo.call('f');\n foo.call('g');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n\n await sleep(UT);\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n expect(mockFn).toHaveBeenLastCalledWith(['e', 'f', 'g']);\n });\n\n it('invocations in the middle of a window', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'end',\n minQuietPeriodMs: UT,\n });\n foo.call('a');\n foo.call('b');\n foo.call('c');\n\n expect(mockFn).toHaveBeenCalledTimes(0);\n\n await sleep(0.9 * UT);\n foo.call('d');\n foo.call('e');\n foo.call('f');\n\n expect(mockFn).toHaveBeenCalledTimes(0);\n\n await sleep(0.1 * UT);\n\n expect(mockFn).toHaveBeenCalledTimes(0);\n\n await sleep(UT);\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a', 'b', 'c', 'd', 'e', 'f']);\n });\n\n it('maxBurstDurationMs limits the burst duration', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n minQuietPeriodMs: UT,\n maxBurstDurationMs: 2 * UT,\n triggerAt: 'end',\n });\n foo.call('a');\n await sleep(0.75 * UT);\n foo.call('b');\n await sleep(0.75 * UT);\n foo.call('c');\n\n // Total time is approximately 1.5*UT, less than 2UT which is\n // maxBurstDurationMs\n expect(mockFn).toHaveBeenCalledTimes(0);\n\n // We sleep less than minQuietPeriodMs but more than our\n // maxBurstDurationMs so that we validate that the burst is being ended\n // prematurely.\n await sleep(0.75 * UT);\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a', 'b', 'c']);\n });\n });\n\n describe('both timers', () => {\n it('delay is longer than burst', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n minGapMs: 2 * UT,\n minQuietPeriodMs: UT,\n triggerAt: 'both',\n });\n foo.call('a');\n foo.call('b');\n foo.call('c');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a']);\n\n await sleep(UT);\n foo.call('d');\n foo.call('e');\n foo.call('f');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n\n await sleep(UT);\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n expect(mockFn).toHaveBeenLastCalledWith(['b', 'c', 'd', 'e', 'f']);\n });\n\n it('burst is longer than delay', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n minGapMs: UT,\n minQuietPeriodMs: 2 * UT,\n triggerAt: 'both',\n });\n foo.call('a');\n foo.call('b');\n foo.call('c');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a']);\n\n await sleep(UT);\n foo.call('d');\n foo.call('e');\n foo.call('f');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n\n await sleep(UT);\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n\n await sleep(UT);\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n expect(mockFn).toHaveBeenLastCalledWith(['b', 'c', 'd', 'e', 'f']);\n });\n\n it('burst and delay are equal', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n minGapMs: UT,\n minQuietPeriodMs: UT,\n triggerAt: 'both',\n });\n foo.call('a');\n foo.call('b');\n foo.call('c');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a']);\n\n await sleep(UT);\n foo.call('d');\n foo.call('e');\n foo.call('f');\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n expect(mockFn).toHaveBeenLastCalledWith(['b', 'c']);\n\n await sleep(UT);\n\n expect(mockFn).toHaveBeenCalledTimes(3);\n expect(mockFn).toHaveBeenLastCalledWith(['d', 'e', 'f']);\n });\n\n it('delay and maxBurstDurationMs are equal', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n minGapMs: UT,\n minQuietPeriodMs: 2 * UT,\n maxBurstDurationMs: UT,\n triggerAt: 'both',\n });\n foo.call('a');\n foo.call('b');\n foo.call('c');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a']);\n\n await sleep(UT);\n foo.call('d');\n foo.call('e');\n foo.call('f');\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n expect(mockFn).toHaveBeenLastCalledWith(['b', 'c']);\n\n await sleep(UT);\n\n expect(mockFn).toHaveBeenCalledTimes(3);\n expect(mockFn).toHaveBeenLastCalledWith(['d', 'e', 'f']);\n });\n });\n});\n\ndescribe('immediate (===0) timer durations', () => {\n describe('delay timer', () => {\n it('invokedAt: start', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'start',\n minGapMs: 0,\n });\n foo.call('a');\n foo.call('b');\n foo.call('c');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a']);\n\n await sleep(0);\n foo.call('d');\n foo.call('e');\n foo.call('f');\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n // \"b\" and \"c\" have been ignored because the funnel is only configured to\n // run the function at the start of the delay window, meaning anything\n // after that is simply dropped.\n expect(mockFn).toHaveBeenLastCalledWith(['d']);\n\n await sleep(0);\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n });\n\n it('invokedAt: both', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'both',\n minGapMs: 0,\n });\n foo.call('a');\n foo.call('b');\n foo.call('c');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a']);\n\n await sleep(0);\n foo.call('d');\n foo.call('e');\n foo.call('f');\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n expect(mockFn).toHaveBeenLastCalledWith(['b', 'c']);\n\n await sleep(0);\n\n expect(mockFn).toHaveBeenCalledTimes(3);\n expect(mockFn).toHaveBeenLastCalledWith(['d', 'e', 'f']);\n });\n\n it('with a non-trivial burst timer', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'both',\n minGapMs: 0,\n minQuietPeriodMs: UT,\n });\n foo.call('a');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a']);\n\n foo.call('b');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n\n await sleep(UT);\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n expect(mockFn).toHaveBeenLastCalledWith(['b']);\n });\n });\n\n describe('burst timer', () => {\n it('invokedAt: start', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'start',\n minQuietPeriodMs: 0,\n });\n foo.call('a');\n foo.call('b');\n foo.call('c');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a']);\n\n await sleep(0);\n foo.call('d');\n foo.call('e');\n foo.call('f');\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n // \"b\" and \"c\" have been ignored because the funnel is only configured to\n // run the function at the start of the delay window, meaning anything\n // after that is simply dropped.\n expect(mockFn).toHaveBeenLastCalledWith(['d']);\n\n await sleep(0);\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n });\n\n it('invokedAt: both', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'both',\n minQuietPeriodMs: 0,\n });\n foo.call('a');\n foo.call('b');\n foo.call('c');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a']);\n\n await sleep(0);\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n expect(mockFn).toHaveBeenLastCalledWith(['b', 'c']);\n\n foo.call('d');\n foo.call('e');\n foo.call('f');\n\n expect(mockFn).toHaveBeenCalledTimes(3);\n expect(mockFn).toHaveBeenLastCalledWith(['d']);\n\n await sleep(0);\n\n expect(mockFn).toHaveBeenCalledTimes(4);\n expect(mockFn).toHaveBeenLastCalledWith(['e', 'f']);\n });\n\n it('invokedAt: end', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'end',\n minQuietPeriodMs: 0,\n });\n foo.call('a');\n foo.call('b');\n foo.call('c');\n\n expect(mockFn).toHaveBeenCalledTimes(0);\n\n await sleep(0);\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a', 'b', 'c']);\n\n foo.call('d');\n foo.call('e');\n foo.call('f');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n\n await sleep(0);\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n expect(mockFn).toHaveBeenLastCalledWith(['d', 'e', 'f']);\n });\n\n it('with a non-trivial delay timer', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'both',\n minGapMs: UT,\n minQuietPeriodMs: 0,\n });\n foo.call('a');\n foo.call('b');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a']);\n\n await sleep(0);\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n\n await sleep(UT);\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n expect(mockFn).toHaveBeenLastCalledWith(['b']);\n });\n\n it('burst timer with non-trivial maxBurstDuration', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n minQuietPeriodMs: 0,\n maxBurstDurationMs: UT,\n triggerAt: 'end',\n });\n foo.call('a');\n foo.call('b');\n foo.call('c');\n\n expect(mockFn).toHaveBeenCalledTimes(0);\n\n await sleep(0);\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a', 'b', 'c']);\n });\n });\n\n it('both timers', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'both',\n minGapMs: 0,\n minQuietPeriodMs: 0,\n });\n foo.call('a');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a']);\n\n await sleep(0);\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n });\n\n it('maxBurstDurationMs = 0 limits the burst immediately', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'end',\n minQuietPeriodMs: UT,\n maxBurstDurationMs: 0,\n });\n foo.call('a');\n await sleep(0);\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a']);\n });\n\n it('all timeouts zero', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'both',\n minGapMs: 0,\n minQuietPeriodMs: 0,\n maxBurstDurationMs: 0,\n });\n foo.call('a');\n foo.call('b');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a']);\n\n await sleep(0);\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n expect(mockFn).toHaveBeenLastCalledWith(['b']);\n });\n});\n\ndescribe('default minQuietPeriodMs === 0 when minGapMs is not defined', () => {\n it('invokedAt: start', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'start',\n });\n foo.call('a');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a']);\n\n foo.call('b');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n\n await sleep(0);\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n\n foo.call('c');\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n expect(mockFn).toHaveBeenLastCalledWith(['c']);\n });\n\n it('invokedAt: both', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'both',\n });\n foo.call('a');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a']);\n\n foo.call('b');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n\n await sleep(0);\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n expect(mockFn).toHaveBeenLastCalledWith(['b']);\n\n foo.call('c');\n\n expect(mockFn).toHaveBeenCalledTimes(3);\n expect(mockFn).toHaveBeenLastCalledWith(['c']);\n });\n});\n\ndescribe('utility functions', () => {\n describe('flush', () => {\n it('flush triggers an immediate invocation', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'end',\n minQuietPeriodMs: UT,\n });\n foo.call('a');\n foo.call('b');\n foo.call('c');\n foo.flush();\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a', 'b', 'c']);\n\n await sleep(UT);\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n });\n\n it('flush during active burst', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'end',\n minQuietPeriodMs: 2 * UT,\n });\n foo.call('a');\n foo.call('b');\n foo.call('c');\n\n await sleep(UT);\n\n foo.flush();\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a', 'b', 'c']);\n\n await sleep(2 * UT);\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n });\n });\n\n describe('cancel', () => {\n it('cancel prevents invocation', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'end',\n minQuietPeriodMs: UT,\n });\n foo.call('a');\n foo.call('b');\n foo.call('c');\n foo.cancel();\n await sleep(UT);\n\n expect(mockFn).toHaveBeenCalledTimes(0);\n });\n\n it('cancel during delay period', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'start',\n minGapMs: 2 * UT,\n });\n foo.call('a');\n foo.call('b');\n\n await sleep(UT);\n foo.cancel();\n\n await sleep(UT);\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n });\n });\n\n describe('isIdle', () => {\n it('isIdle reflects the funnel\\'s state', () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'end',\n minQuietPeriodMs: UT,\n });\n\n expect(foo.isIdle).toBe(true);\n\n foo.call('a');\n\n expect(foo.isIdle).toBe(false);\n\n foo.cancel();\n\n expect(foo.isIdle).toBe(true);\n });\n\n it('isIdle works when burst duration is 0', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'end',\n minQuietPeriodMs: 0,\n });\n\n expect(foo.isIdle).toBe(true);\n\n foo.call('a');\n foo.call('b');\n foo.call('c');\n\n expect(foo.isIdle).toBe(false);\n\n await sleep(0);\n\n expect(foo.isIdle).toBe(true);\n });\n });\n});\n\ndescribe('edge-cases', () => {\n it('bursts that start late don\\'t prevent delayed invocations', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'both',\n minQuietPeriodMs: UT,\n minGapMs: 2 * UT,\n });\n foo.call('a');\n foo.call('b');\n foo.call('c');\n\n // We expect the function to be called once because we invoke it both at\n // the start and end of the blackout periods.\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a']);\n\n await sleep(1.5 * UT);\n\n // But because our delay time is still longer, we still expect that the\n // function hasn't been called yet again for the end of the blackout period.\n expect(mockFn).toHaveBeenCalledTimes(1);\n\n foo.call('d');\n foo.call('e');\n foo.call('f');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n\n await sleep(0.5 * UT);\n\n // After the delay is over we expect the function to be invoked again for\n // the end of the blackout period.\n expect(mockFn).toHaveBeenCalledTimes(2);\n expect(mockFn).toHaveBeenLastCalledWith(['b', 'c', 'd', 'e', 'f']);\n });\n\n it('delay timeouts don\\'t cause an invocation in the middle of bursts', async () => {\n const mockFn = vi.fn();\n const foo = funnel(mockFn, {\n reducer: ARGS_COLLECTOR,\n triggerAt: 'both',\n minQuietPeriodMs: 2 * UT,\n minGapMs: UT,\n });\n foo.call('a');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n expect(mockFn).toHaveBeenLastCalledWith(['a']);\n\n await sleep(UT);\n foo.call('b');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n\n await sleep(UT);\n foo.call('c');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n\n await sleep(UT);\n foo.call('d');\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n\n await sleep(UT);\n\n expect(mockFn).toHaveBeenCalledTimes(1);\n\n await sleep(UT);\n\n expect(mockFn).toHaveBeenCalledTimes(2);\n });\n});\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./curry-BPVIsvo3.cjs`);function t(...t){return e.curry(n,t)}function n(e,t){let n=Object.create(null);for(let r=0;r<e.length;r++){let i=e[r],a=t(i,r,e);if(a!==void 0){let e=n[a];e===void 0?n[a]=[i]:e.push(i)}}return Object.setPrototypeOf(n,Object.prototype),n}Object.defineProperty(exports,`groupBy`,{enumerable:!0,get:function(){return t}});
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{curry as e}from"./curry-CzZjDrpv.js";function t(...t){return e(n,t)}function n(e,t){let n=Object.create(null);for(let r=0;r<e.length;r++){let i=e[r],a=t(i,r,e);if(a!==void 0){let e=n[a];e===void 0?n[a]=[i]:e.push(i)}}return Object.setPrototypeOf(n,Object.prototype),n}export{t as groupBy};
|
|
2
|
+
//# sourceMappingURL=group-by-8exEDbij.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-by-8exEDbij.js","names":["output: BoundedPartial<Record<Key, NonEmptyArray<T>>>"],"sources":["../src/group-by.ts"],"sourcesContent":["import type { BoundedPartial } from './internal/types/bounded-partial';\n\nimport type { NonEmptyArray } from './internal/types/non-empty-array';\nimport { curry } from './curry';\n\n/**\n * Groups the elements of a given iterable according to the string values\n * returned by a provided callback function. The returned object has separate\n * properties for each group, containing arrays with the elements in the group.\n * Unlike the built in `Object.groupBy` this function also allows the callback to\n * return `undefined` in order to exclude the item from being added to any\n * group.\n *\n * If you are grouping objects by a property of theirs (e.g.\n * `groupBy(data, ({ myProp }) => myProp)` or `groupBy(data, prop('myProp'))`)\n * consider using `groupByProp` (e.g. `groupByProp(data, 'myProp')`) instead,\n * as it would provide better typing.\n *\n * @param data - The items to group.\n * @param callbackfn - A function to execute for each element in the iterable.\n * It should return a value indicating the group of the current element, or\n * `undefined` when the item should be excluded from any group.\n * @returns An object with properties for all groups, each assigned to an array\n * containing the elements of the associated group.\n * @signature\n * P.groupBy(data, callbackfn)\n * @example\n * P.groupBy([{a: 'cat'}, {a: 'dog'}] as const, P.prop('a')) // => {cat: [{a: 'cat'}], dog: [{a: 'dog'}]}\n * P.groupBy([0, 1], x => x % 2 === 0 ? 'even' : undefined) // => {even: [0]}\n * @dataFirst\n * @category Array\n */\nexport function groupBy<T, Key extends PropertyKey = PropertyKey>(\n data: ReadonlyArray<T>,\n callbackfn: (\n value: T,\n index: number,\n data: ReadonlyArray<T>,\n ) => Key | undefined,\n): BoundedPartial<Record<Key, NonEmptyArray<T>>>;\n\n/**\n * Groups the elements of a given iterable according to the string values\n * returned by a provided callback function. The returned object has separate\n * properties for each group, containing arrays with the elements in the group.\n * Unlike the built in `Object.groupBy` this function also allows the callback to\n * return `undefined` in order to exclude the item from being added to any\n * group.\n *\n * If you are grouping objects by a property of theirs (e.g.\n * `groupBy(data, ({ myProp }) => myProp)` or `groupBy(data, prop('myProp'))`)\n * consider using `groupByProp` (e.g. `groupByProp(data, 'myProp')`) instead,\n * as it would provide better typing.\n *\n * @param callbackfn - A function to execute for each element in the iterable.\n * It should return a value indicating the group of the current element, or\n * `undefined` when the item should be excluded from any group.\n * @returns An object with properties for all groups, each assigned to an array\n * containing the elements of the associated group.\n * @signature\n * P.groupBy(callbackfn)(data);\n * @example\n * P.pipe(\n * [{a: 'cat'}, {a: 'dog'}] as const,\n * P.groupBy(P.prop('a')),\n * ); // => {cat: [{a: 'cat'}], dog: [{a: 'dog'}]}\n * P.pipe(\n * [0, 1],\n * P.groupBy(x => x % 2 === 0 ? 'even' : undefined),\n * ); // => {even: [0]}\n * @dataLast\n * @category Array\n */\nexport function groupBy<T, Key extends PropertyKey = PropertyKey>(\n callbackfn: (\n value: T,\n index: number,\n data: ReadonlyArray<T>,\n ) => Key | undefined,\n): (items: ReadonlyArray<T>) => BoundedPartial<Record<Key, NonEmptyArray<T>>>;\n\nexport function groupBy(...args: ReadonlyArray<unknown>): unknown {\n return curry(groupByImplementation, args);\n}\n\nfunction groupByImplementation<T, Key extends PropertyKey = PropertyKey>(\n data: ReadonlyArray<T>,\n callbackfn: (\n value: T,\n index: number,\n data: ReadonlyArray<T>,\n ) => Key | undefined,\n): BoundedPartial<Record<Key, NonEmptyArray<T>>> {\n const output: BoundedPartial<Record<Key, NonEmptyArray<T>>> = Object.create(null);\n\n for (let index = 0; index < data.length; index++) {\n // Accessing the object directly instead of via an iterator on the `entries` showed significant performance benefits while benchmarking.\n const item = data[index];\n\n // @ts-expect-error [ts2345] -- TypeScript is not able to infer that the index wouldn't overflow the array and that it shouldn't add `undefined` to the type. We don't want to use the `!` operator here because it's semantics are different because it changes the type of `item` to `NonNullable<T>` which is inaccurate because T itself could have `undefined` as a valid value.\n const key = callbackfn(item, index, data);\n if (key !== undefined) {\n // Once the prototype chain is fixed, it is safe to access the prop directly without needing to check existence or types.\n const items = output[key];\n\n if (items === undefined) {\n // It is more performant to create a 1-element array over creating an empty array and falling through to a unified the push. It is also more performant to mutate the existing object over using spread to continually create new objects on every unique key.\n // @ts-expect-error [ts2322] -- In addition to the typing issue we have for `item`, this line also creates a typing issue for the whole object, as TypeScript is having a hard time inferring what values could be adding to the object.\n output[key] = [item];\n } else {\n // It is more performant to add the items to an existing array over continually creating a new array every time we add an item to it.\n // @ts-expect-error [ts2345] -- See comment above about the effective typing for `item` here.\n items.push(item);\n }\n }\n }\n\n // Set the prototype as if we initialized our object as a normal object (e.g. `{}`). Without this none of the built-in object methods like `toString` would work on this object and it would act differently than expected.\n Object.setPrototypeOf(output, Object.prototype);\n\n return output;\n};\n"],"mappings":"4CAiFA,SAAgB,EAAQ,GAAG,EAAuC,CAChE,OAAO,EAAM,EAAuB,EAAK,CAG3C,SAAS,EACP,EACA,EAK+C,CAC/C,IAAMA,EAAwD,OAAO,OAAO,KAAK,CAEjF,IAAK,IAAI,EAAQ,EAAG,EAAQ,EAAK,OAAQ,IAAS,CAEhD,IAAM,EAAO,EAAK,GAGZ,EAAM,EAAW,EAAM,EAAO,EAAK,CACzC,GAAI,IAAQ,IAAA,GAAW,CAErB,IAAM,EAAQ,EAAO,GAEjB,IAAU,IAAA,GAGZ,EAAO,GAAO,CAAC,EAAK,CAIpB,EAAM,KAAK,EAAK,EAQtB,OAFA,OAAO,eAAe,EAAQ,OAAO,UAAU,CAExC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { NonEmptyArray } from "./non-empty-array-D3ZRHApS.cjs";
|
|
2
|
+
import { BoundedPartial } from "./bounded-partial-A89bt7Kj.cjs";
|
|
3
|
+
|
|
4
|
+
//#region src/group-by.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Groups the elements of a given iterable according to the string values
|
|
8
|
+
* returned by a provided callback function. The returned object has separate
|
|
9
|
+
* properties for each group, containing arrays with the elements in the group.
|
|
10
|
+
* Unlike the built in `Object.groupBy` this function also allows the callback to
|
|
11
|
+
* return `undefined` in order to exclude the item from being added to any
|
|
12
|
+
* group.
|
|
13
|
+
*
|
|
14
|
+
* If you are grouping objects by a property of theirs (e.g.
|
|
15
|
+
* `groupBy(data, ({ myProp }) => myProp)` or `groupBy(data, prop('myProp'))`)
|
|
16
|
+
* consider using `groupByProp` (e.g. `groupByProp(data, 'myProp')`) instead,
|
|
17
|
+
* as it would provide better typing.
|
|
18
|
+
*
|
|
19
|
+
* @param data - The items to group.
|
|
20
|
+
* @param callbackfn - A function to execute for each element in the iterable.
|
|
21
|
+
* It should return a value indicating the group of the current element, or
|
|
22
|
+
* `undefined` when the item should be excluded from any group.
|
|
23
|
+
* @returns An object with properties for all groups, each assigned to an array
|
|
24
|
+
* containing the elements of the associated group.
|
|
25
|
+
* @signature
|
|
26
|
+
* P.groupBy(data, callbackfn)
|
|
27
|
+
* @example
|
|
28
|
+
* P.groupBy([{a: 'cat'}, {a: 'dog'}] as const, P.prop('a')) // => {cat: [{a: 'cat'}], dog: [{a: 'dog'}]}
|
|
29
|
+
* P.groupBy([0, 1], x => x % 2 === 0 ? 'even' : undefined) // => {even: [0]}
|
|
30
|
+
* @dataFirst
|
|
31
|
+
* @category Array
|
|
32
|
+
*/
|
|
33
|
+
declare function groupBy<T, Key extends PropertyKey = PropertyKey>(data: ReadonlyArray<T>, callbackfn: (value: T, index: number, data: ReadonlyArray<T>) => Key | undefined): BoundedPartial<Record<Key, NonEmptyArray<T>>>;
|
|
34
|
+
/**
|
|
35
|
+
* Groups the elements of a given iterable according to the string values
|
|
36
|
+
* returned by a provided callback function. The returned object has separate
|
|
37
|
+
* properties for each group, containing arrays with the elements in the group.
|
|
38
|
+
* Unlike the built in `Object.groupBy` this function also allows the callback to
|
|
39
|
+
* return `undefined` in order to exclude the item from being added to any
|
|
40
|
+
* group.
|
|
41
|
+
*
|
|
42
|
+
* If you are grouping objects by a property of theirs (e.g.
|
|
43
|
+
* `groupBy(data, ({ myProp }) => myProp)` or `groupBy(data, prop('myProp'))`)
|
|
44
|
+
* consider using `groupByProp` (e.g. `groupByProp(data, 'myProp')`) instead,
|
|
45
|
+
* as it would provide better typing.
|
|
46
|
+
*
|
|
47
|
+
* @param callbackfn - A function to execute for each element in the iterable.
|
|
48
|
+
* It should return a value indicating the group of the current element, or
|
|
49
|
+
* `undefined` when the item should be excluded from any group.
|
|
50
|
+
* @returns An object with properties for all groups, each assigned to an array
|
|
51
|
+
* containing the elements of the associated group.
|
|
52
|
+
* @signature
|
|
53
|
+
* P.groupBy(callbackfn)(data);
|
|
54
|
+
* @example
|
|
55
|
+
* P.pipe(
|
|
56
|
+
* [{a: 'cat'}, {a: 'dog'}] as const,
|
|
57
|
+
* P.groupBy(P.prop('a')),
|
|
58
|
+
* ); // => {cat: [{a: 'cat'}], dog: [{a: 'dog'}]}
|
|
59
|
+
* P.pipe(
|
|
60
|
+
* [0, 1],
|
|
61
|
+
* P.groupBy(x => x % 2 === 0 ? 'even' : undefined),
|
|
62
|
+
* ); // => {even: [0]}
|
|
63
|
+
* @dataLast
|
|
64
|
+
* @category Array
|
|
65
|
+
*/
|
|
66
|
+
declare function groupBy<T, Key extends PropertyKey = PropertyKey>(callbackfn: (value: T, index: number, data: ReadonlyArray<T>) => Key | undefined): (items: ReadonlyArray<T>) => BoundedPartial<Record<Key, NonEmptyArray<T>>>;
|
|
67
|
+
//#endregion
|
|
68
|
+
export { groupBy };
|
|
69
|
+
//# sourceMappingURL=group-by-DDS1NPHf.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-by-DDS1NPHf.d.cts","names":[],"sources":["../src/group-by.ts"],"sourcesContent":[],"mappings":";;;;;;;AAgCA;;;;;;;;;;;;;;;;AAyCA;;;;;;;;;AAMW,iBA/CK,OA+CL,CAAA,CAAA,EAAA,YA/C4B,WA+C5B,GA/C0C,WA+C1C,CAAA,CAAA,IAAA,EA9CH,aA8CG,CA9CW,CA8CX,CAAA,EAAA,UAAA,EAAA,CAAA,KAAA,EA5CA,CA4CA,EAAA,KAAA,EAAA,MAAA,EAAA,IAAA,EA1CD,aA0CC,CA1Ca,CA0Cb,CAAA,EAAA,GAzCJ,GAyCI,GAAA,SAAA,CAAA,EAxCR,cAwCQ,CAxCO,MAwCP,CAxCc,GAwCd,EAxCmB,aAwCnB,CAxCiC,CAwCjC,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBANK,uBAAuB,cAAc,iCAE1C,wBAED,cAAc,OACjB,0BACI,cAAc,OAAO,eAAe,OAAO,KAAK,cAAc"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { IterableContainer } from "./iterable-container-wtkYslN_.js";
|
|
2
|
+
import { TupleParts } from "./tuple-parts-BxpZLJ7r.js";
|
|
3
|
+
import { BoundedPartial } from "./bounded-partial-TshEjJC1.js";
|
|
4
|
+
import { FilteredArray } from "./filtered-array-BGEkFwrv.js";
|
|
5
|
+
import { ArrayRequiredPrefix } from "./array-required-prefix-BeSNHH4G.js";
|
|
6
|
+
import { AllUnionFields, ConditionalKeys, EmptyObject, IsNever, Or, Simplify } from "type-fest";
|
|
7
|
+
|
|
8
|
+
//#region src/group-by-prop.d.ts
|
|
9
|
+
type GroupByProp<T extends IterableContainer, Prop extends GroupableProps<T>> = T extends unknown ? FixEmptyObject<EnsureValuesAreNonEmpty<GroupByPropRaw<T, Prop>>> : never;
|
|
10
|
+
type GroupByPropRaw<T extends IterableContainer, Prop extends GroupableProps<T>> = { [Value in AllPropValues<T, Prop>]: FilteredArray<T, Record<Prop, Value>> };
|
|
11
|
+
type GroupableProps<T extends IterableContainer> = ConditionalKeys<ItemsSuperObject<T>, PropertyKey | undefined>;
|
|
12
|
+
type AllPropValues<T extends IterableContainer, Prop extends GroupableProps<T>> = Extract<ItemsSuperObject<T>[Prop], PropertyKey>;
|
|
13
|
+
type ItemsSuperObject<T extends IterableContainer> = AllUnionFields<Exclude<T[number], undefined>>;
|
|
14
|
+
type FixEmptyObject<T> = IsNever<keyof T> extends true ? EmptyObject : T;
|
|
15
|
+
type EnsureValuesAreNonEmpty<T extends Record<PropertyKey, IterableContainer>> = Simplify<Omit<T, PossiblyEmptyArrayKeys<T>> & BoundedPartial<CoercedNonEmptyValues<Pick<T, PossiblyEmptyArrayKeys<T>>>>>;
|
|
16
|
+
type PossiblyEmptyArrayKeys<T extends Record<PropertyKey, IterableContainer>> = keyof T extends infer Key extends unknown ? Key extends keyof T ? IsNonEmptyArray<T[Key]> extends true ? never : Key : never : never;
|
|
17
|
+
type IsNonEmptyArray<T extends IterableContainer> = Or<IsNonEmptyFixedTuple<TupleParts<T>['required']>, IsNonEmptyFixedTuple<TupleParts<T>['suffix']>>;
|
|
18
|
+
type IsNonEmptyFixedTuple<T> = IsNever<Extract<T, readonly []>>;
|
|
19
|
+
type CoercedNonEmptyValues<T extends Record<PropertyKey, IterableContainer>> = { [P in keyof T]: ArrayRequiredPrefix<T[P], 1> };
|
|
20
|
+
/**
|
|
21
|
+
* Groups the elements of an array of objects based on the values of a
|
|
22
|
+
* specified property of those objects. The result would contain a property for
|
|
23
|
+
* each unique value of the specific property, with it's value being the input
|
|
24
|
+
* array filtered to only items that have that property set to that value.
|
|
25
|
+
* For any object where the property is missing, or if it's value is
|
|
26
|
+
* `undefined` the item would be filtered out.
|
|
27
|
+
*
|
|
28
|
+
* The grouping property is enforced at the type level to exist in at least one
|
|
29
|
+
* item and to never have a value that cannot be used as an object key (e.g. it
|
|
30
|
+
* must be `PropertyKey | undefined`).
|
|
31
|
+
*
|
|
32
|
+
* The resulting arrays are filtered with the prop and it's value as a
|
|
33
|
+
* type-guard, effectively narrowing the items in each output arrays. This
|
|
34
|
+
* means that when the grouping property is the discriminator of a
|
|
35
|
+
* discriminated union type each output array would contain just the subtype for
|
|
36
|
+
* that value.
|
|
37
|
+
*
|
|
38
|
+
* If you need more control over the grouping you should use `groupBy` instead.
|
|
39
|
+
*
|
|
40
|
+
* @param data - The items to group.
|
|
41
|
+
* @param prop - The property name to group by.
|
|
42
|
+
* @signature
|
|
43
|
+
* P.groupByProp(data, prop)
|
|
44
|
+
* @example
|
|
45
|
+
* const result = P.groupByProp(
|
|
46
|
+
* // ^? { cat: [{ a: 'cat' }], dog: [{ a: 'dog' }] }
|
|
47
|
+
* [{ a: 'cat' }, { a: 'dog' }] as const,
|
|
48
|
+
* 'a',
|
|
49
|
+
* );
|
|
50
|
+
* @dataFirst
|
|
51
|
+
* @category Array
|
|
52
|
+
*/
|
|
53
|
+
declare function groupByProp<T extends IterableContainer, const Prop extends GroupableProps<T>>(data: T, prop: Prop): GroupByProp<T, Prop>;
|
|
54
|
+
/**
|
|
55
|
+
* Groups the elements of an array of objects based on the values of a
|
|
56
|
+
* specified property of those objects. The result would contain a property for
|
|
57
|
+
* each unique value of the specific property, with it's value being the input
|
|
58
|
+
* array filtered to only items that have that property set to that value.
|
|
59
|
+
* For any object where the property is missing, or if it's value is
|
|
60
|
+
* `undefined` the item would be filtered out.
|
|
61
|
+
*
|
|
62
|
+
* The grouping property is enforced at the type level to exist in at least one
|
|
63
|
+
* item and to never have a value that cannot be used as an object key (e.g. it
|
|
64
|
+
* must be `PropertyKey | undefined`).
|
|
65
|
+
*
|
|
66
|
+
* The resulting arrays are filtered with the prop and it's value as a
|
|
67
|
+
* type-guard, effectively narrowing the items in each output arrays. This
|
|
68
|
+
* means that when the grouping property is the discriminator of a
|
|
69
|
+
* discriminated union type each output array would contain just the subtype for
|
|
70
|
+
* that value.
|
|
71
|
+
*
|
|
72
|
+
* If you need more control over the grouping you should use `groupBy` instead.
|
|
73
|
+
*
|
|
74
|
+
* @param prop - The property name to group by.
|
|
75
|
+
* @signature
|
|
76
|
+
* P.groupByProp(prop)(data);
|
|
77
|
+
* @example
|
|
78
|
+
* const result = P.pipe(
|
|
79
|
+
* // ^? { cat: [{ a: 'cat' }], dog: [{ a: 'dog' }] }
|
|
80
|
+
* [{ a: 'cat' }, { a: 'dog' }] as const,
|
|
81
|
+
* P.groupByProp('a'),
|
|
82
|
+
* );
|
|
83
|
+
* @dataLast
|
|
84
|
+
* @category Array
|
|
85
|
+
*/
|
|
86
|
+
declare function groupByProp<T extends IterableContainer, const Prop extends GroupableProps<T>>(prop: Prop): (data: T) => GroupByProp<T, Prop>;
|
|
87
|
+
//#endregion
|
|
88
|
+
export { groupByProp };
|
|
89
|
+
//# sourceMappingURL=group-by-prop--MehVKql.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-by-prop--MehVKql.d.ts","names":[],"sources":["../src/group-by-prop.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./curry-BPVIsvo3.cjs`);function t(...t){return e.curry(n,t)}function n(e,t){let n=Object.create(null);for(let r of e){let e=r?.[t];if(e!==void 0){let t=n[e];t===void 0?n[e]=[r]:t.push(r)}}return Object.setPrototypeOf(n,Object.prototype),n}Object.defineProperty(exports,`groupByProp`,{enumerable:!0,get:function(){return t}});
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { IterableContainer } from "./iterable-container-V5sa0V_H.cjs";
|
|
2
|
+
import { TupleParts } from "./tuple-parts-BIyABPYv.cjs";
|
|
3
|
+
import { BoundedPartial } from "./bounded-partial-A89bt7Kj.cjs";
|
|
4
|
+
import { FilteredArray } from "./filtered-array-DQcAXQDD.cjs";
|
|
5
|
+
import { ArrayRequiredPrefix } from "./array-required-prefix-FSH3Acx8.cjs";
|
|
6
|
+
import { AllUnionFields, ConditionalKeys, EmptyObject, IsNever, Or, Simplify } from "type-fest";
|
|
7
|
+
|
|
8
|
+
//#region src/group-by-prop.d.ts
|
|
9
|
+
type GroupByProp<T extends IterableContainer, Prop extends GroupableProps<T>> = T extends unknown ? FixEmptyObject<EnsureValuesAreNonEmpty<GroupByPropRaw<T, Prop>>> : never;
|
|
10
|
+
type GroupByPropRaw<T extends IterableContainer, Prop extends GroupableProps<T>> = { [Value in AllPropValues<T, Prop>]: FilteredArray<T, Record<Prop, Value>> };
|
|
11
|
+
type GroupableProps<T extends IterableContainer> = ConditionalKeys<ItemsSuperObject<T>, PropertyKey | undefined>;
|
|
12
|
+
type AllPropValues<T extends IterableContainer, Prop extends GroupableProps<T>> = Extract<ItemsSuperObject<T>[Prop], PropertyKey>;
|
|
13
|
+
type ItemsSuperObject<T extends IterableContainer> = AllUnionFields<Exclude<T[number], undefined>>;
|
|
14
|
+
type FixEmptyObject<T> = IsNever<keyof T> extends true ? EmptyObject : T;
|
|
15
|
+
type EnsureValuesAreNonEmpty<T extends Record<PropertyKey, IterableContainer>> = Simplify<Omit<T, PossiblyEmptyArrayKeys<T>> & BoundedPartial<CoercedNonEmptyValues<Pick<T, PossiblyEmptyArrayKeys<T>>>>>;
|
|
16
|
+
type PossiblyEmptyArrayKeys<T extends Record<PropertyKey, IterableContainer>> = keyof T extends infer Key extends unknown ? Key extends keyof T ? IsNonEmptyArray<T[Key]> extends true ? never : Key : never : never;
|
|
17
|
+
type IsNonEmptyArray<T extends IterableContainer> = Or<IsNonEmptyFixedTuple<TupleParts<T>['required']>, IsNonEmptyFixedTuple<TupleParts<T>['suffix']>>;
|
|
18
|
+
type IsNonEmptyFixedTuple<T> = IsNever<Extract<T, readonly []>>;
|
|
19
|
+
type CoercedNonEmptyValues<T extends Record<PropertyKey, IterableContainer>> = { [P in keyof T]: ArrayRequiredPrefix<T[P], 1> };
|
|
20
|
+
/**
|
|
21
|
+
* Groups the elements of an array of objects based on the values of a
|
|
22
|
+
* specified property of those objects. The result would contain a property for
|
|
23
|
+
* each unique value of the specific property, with it's value being the input
|
|
24
|
+
* array filtered to only items that have that property set to that value.
|
|
25
|
+
* For any object where the property is missing, or if it's value is
|
|
26
|
+
* `undefined` the item would be filtered out.
|
|
27
|
+
*
|
|
28
|
+
* The grouping property is enforced at the type level to exist in at least one
|
|
29
|
+
* item and to never have a value that cannot be used as an object key (e.g. it
|
|
30
|
+
* must be `PropertyKey | undefined`).
|
|
31
|
+
*
|
|
32
|
+
* The resulting arrays are filtered with the prop and it's value as a
|
|
33
|
+
* type-guard, effectively narrowing the items in each output arrays. This
|
|
34
|
+
* means that when the grouping property is the discriminator of a
|
|
35
|
+
* discriminated union type each output array would contain just the subtype for
|
|
36
|
+
* that value.
|
|
37
|
+
*
|
|
38
|
+
* If you need more control over the grouping you should use `groupBy` instead.
|
|
39
|
+
*
|
|
40
|
+
* @param data - The items to group.
|
|
41
|
+
* @param prop - The property name to group by.
|
|
42
|
+
* @signature
|
|
43
|
+
* P.groupByProp(data, prop)
|
|
44
|
+
* @example
|
|
45
|
+
* const result = P.groupByProp(
|
|
46
|
+
* // ^? { cat: [{ a: 'cat' }], dog: [{ a: 'dog' }] }
|
|
47
|
+
* [{ a: 'cat' }, { a: 'dog' }] as const,
|
|
48
|
+
* 'a',
|
|
49
|
+
* );
|
|
50
|
+
* @dataFirst
|
|
51
|
+
* @category Array
|
|
52
|
+
*/
|
|
53
|
+
declare function groupByProp<T extends IterableContainer, const Prop extends GroupableProps<T>>(data: T, prop: Prop): GroupByProp<T, Prop>;
|
|
54
|
+
/**
|
|
55
|
+
* Groups the elements of an array of objects based on the values of a
|
|
56
|
+
* specified property of those objects. The result would contain a property for
|
|
57
|
+
* each unique value of the specific property, with it's value being the input
|
|
58
|
+
* array filtered to only items that have that property set to that value.
|
|
59
|
+
* For any object where the property is missing, or if it's value is
|
|
60
|
+
* `undefined` the item would be filtered out.
|
|
61
|
+
*
|
|
62
|
+
* The grouping property is enforced at the type level to exist in at least one
|
|
63
|
+
* item and to never have a value that cannot be used as an object key (e.g. it
|
|
64
|
+
* must be `PropertyKey | undefined`).
|
|
65
|
+
*
|
|
66
|
+
* The resulting arrays are filtered with the prop and it's value as a
|
|
67
|
+
* type-guard, effectively narrowing the items in each output arrays. This
|
|
68
|
+
* means that when the grouping property is the discriminator of a
|
|
69
|
+
* discriminated union type each output array would contain just the subtype for
|
|
70
|
+
* that value.
|
|
71
|
+
*
|
|
72
|
+
* If you need more control over the grouping you should use `groupBy` instead.
|
|
73
|
+
*
|
|
74
|
+
* @param prop - The property name to group by.
|
|
75
|
+
* @signature
|
|
76
|
+
* P.groupByProp(prop)(data);
|
|
77
|
+
* @example
|
|
78
|
+
* const result = P.pipe(
|
|
79
|
+
* // ^? { cat: [{ a: 'cat' }], dog: [{ a: 'dog' }] }
|
|
80
|
+
* [{ a: 'cat' }, { a: 'dog' }] as const,
|
|
81
|
+
* P.groupByProp('a'),
|
|
82
|
+
* );
|
|
83
|
+
* @dataLast
|
|
84
|
+
* @category Array
|
|
85
|
+
*/
|
|
86
|
+
declare function groupByProp<T extends IterableContainer, const Prop extends GroupableProps<T>>(prop: Prop): (data: T) => GroupByProp<T, Prop>;
|
|
87
|
+
//#endregion
|
|
88
|
+
export { groupByProp };
|
|
89
|
+
//# sourceMappingURL=group-by-prop-CcSzCSuu.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-by-prop-CcSzCSuu.d.cts","names":[],"sources":["../src/group-by-prop.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{curry as e}from"./curry-CzZjDrpv.js";function t(...t){return e(n,t)}function n(e,t){let n=Object.create(null);for(let r of e){let e=r?.[t];if(e!==void 0){let t=n[e];t===void 0?n[e]=[r]:t.push(r)}}return Object.setPrototypeOf(n,Object.prototype),n}export{t as groupByProp};
|
|
2
|
+
//# sourceMappingURL=group-by-prop-Gi66eXCp.js.map
|