@vinicunca/perkakas 1.8.0 → 1.12.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-prop.cjs +1 -1
- package/dist/add-prop.d.cts +46 -4
- package/dist/add-prop.d.cts.map +1 -0
- package/dist/add-prop.d.ts +46 -4
- package/dist/add-prop.d.ts.map +1 -0
- package/dist/add-prop.js +2 -1
- package/dist/add-prop.js.map +1 -0
- package/dist/add.cjs +1 -1
- package/dist/add.d.cts +34 -2
- package/dist/add.d.cts.map +1 -0
- package/dist/add.d.ts +34 -2
- package/dist/add.d.ts.map +1 -0
- package/dist/add.js +2 -1
- package/dist/add.js.map +1 -0
- package/dist/all-pass.cjs +1 -1
- package/dist/all-pass.d.cts +37 -2
- package/dist/all-pass.d.cts.map +1 -0
- package/dist/all-pass.d.ts +37 -2
- package/dist/all-pass.d.ts.map +1 -0
- package/dist/all-pass.js +2 -1
- package/dist/all-pass.js.map +1 -0
- package/dist/any-pass.cjs +1 -1
- package/dist/any-pass.d.cts +37 -2
- package/dist/any-pass.d.cts.map +1 -0
- package/dist/any-pass.d.ts +37 -2
- package/dist/any-pass.d.ts.map +1 -0
- package/dist/any-pass.js +2 -1
- package/dist/any-pass.js.map +1 -0
- package/dist/array-required-prefix-CefHtaKs.d.ts +26 -0
- package/dist/array-required-prefix-CefHtaKs.d.ts.map +1 -0
- package/dist/array-required-prefix-DxzEAAwi.d.cts +26 -0
- package/dist/array-required-prefix-DxzEAAwi.d.cts.map +1 -0
- package/dist/binary-search-cutoff-index-ClkmTCR5.cjs +1 -0
- package/dist/binary-search-cutoff-index-yQ2qcJHb.js +2 -0
- package/dist/binary-search-cutoff-index-yQ2qcJHb.js.map +1 -0
- package/dist/bounded-partial-D6ouPlXl.d.cts +17 -0
- package/dist/bounded-partial-D6ouPlXl.d.cts.map +1 -0
- package/dist/bounded-partial-DBIIClPU.d.ts +17 -0
- package/dist/bounded-partial-DBIIClPU.d.ts.map +1 -0
- package/dist/case.transform-CCMWrBmz.js +2 -0
- package/dist/case.transform-CCMWrBmz.js.map +1 -0
- package/dist/case.transform-FNx2XsC3.cjs +1 -0
- package/dist/case.types-BxuWJgN1.d.cts +19 -0
- package/dist/case.types-BxuWJgN1.d.cts.map +1 -0
- package/dist/case.types-CVfGg990.d.ts +19 -0
- package/dist/case.types-CVfGg990.d.ts.map +1 -0
- package/dist/ceil.cjs +1 -1
- package/dist/ceil.d.cts +39 -2
- package/dist/ceil.d.cts.map +1 -0
- package/dist/ceil.d.ts +39 -2
- package/dist/ceil.d.ts.map +1 -0
- package/dist/ceil.js +2 -1
- package/dist/ceil.js.map +1 -0
- package/dist/chunk.cjs +1 -1
- package/dist/chunk.d.cts +76 -9
- package/dist/chunk.d.cts.map +1 -0
- package/dist/chunk.d.ts +76 -9
- package/dist/chunk.d.ts.map +1 -0
- package/dist/chunk.js +2 -1
- package/dist/chunk.js.map +1 -0
- package/dist/clamp.cjs +1 -1
- package/dist/clamp.d.cts +37 -2
- package/dist/clamp.d.cts.map +1 -0
- package/dist/clamp.d.ts +37 -2
- package/dist/clamp.d.ts.map +1 -0
- package/dist/clamp.js +2 -1
- package/dist/clamp.js.map +1 -0
- package/dist/clamped-integer-subtract-oLs8msYu.d.cts +11 -0
- package/dist/clamped-integer-subtract-oLs8msYu.d.cts.map +1 -0
- package/dist/clamped-integer-subtract-sK2BlhSm.d.ts +11 -0
- package/dist/clamped-integer-subtract-sK2BlhSm.d.ts.map +1 -0
- package/dist/clone.cjs +1 -1
- package/dist/clone.d.cts +35 -2
- package/dist/clone.d.cts.map +1 -0
- package/dist/clone.d.ts +35 -2
- package/dist/clone.d.ts.map +1 -0
- package/dist/clone.js +2 -1
- package/dist/clone.js.map +1 -0
- package/dist/coerced-array-1Xs4p4iF.d.ts +17 -0
- package/dist/coerced-array-1Xs4p4iF.d.ts.map +1 -0
- package/dist/coerced-array-DS7cKtbA.d.cts +17 -0
- package/dist/coerced-array-DS7cKtbA.d.cts.map +1 -0
- package/dist/concat.cjs +1 -1
- package/dist/concat.d.cts +41 -3
- package/dist/concat.d.cts.map +1 -0
- package/dist/concat.d.ts +41 -3
- package/dist/concat.d.ts.map +1 -0
- package/dist/concat.js +2 -1
- package/dist/concat.js.map +1 -0
- package/dist/conditional-6ff4g8Sy.cjs +1 -0
- package/dist/conditional-F_nq8vtA.d.ts +221 -0
- package/dist/conditional-F_nq8vtA.d.ts.map +1 -0
- package/dist/conditional-lp8ZHACd.js +2 -0
- package/dist/conditional-lp8ZHACd.js.map +1 -0
- package/dist/conditional-tssGt6Vy.d.cts +221 -0
- package/dist/conditional-tssGt6Vy.d.cts.map +1 -0
- package/dist/conditional.cjs +1 -1
- package/dist/conditional.d.cts +1 -1
- package/dist/conditional.d.ts +1 -1
- package/dist/conditional.js +1 -1
- package/dist/constant.cjs +1 -1
- package/dist/constant.d.cts +32 -2
- package/dist/constant.d.cts.map +1 -0
- package/dist/constant.d.ts +32 -2
- package/dist/constant.d.ts.map +1 -0
- package/dist/constant.js +2 -1
- package/dist/constant.js.map +1 -0
- package/dist/count-by.cjs +1 -1
- package/dist/count-by.d.cts +42 -4
- package/dist/count-by.d.cts.map +1 -0
- package/dist/count-by.d.ts +42 -4
- package/dist/count-by.d.ts.map +1 -0
- package/dist/count-by.js +2 -1
- package/dist/count-by.js.map +1 -0
- package/dist/curry-B20xQM_9.d.cts +68 -0
- package/dist/curry-B20xQM_9.d.cts.map +1 -0
- package/dist/curry-BcQ8Up1_.js +2 -0
- package/dist/curry-BcQ8Up1_.js.map +1 -0
- package/dist/curry-BsY0Z8jH.cjs +1 -0
- package/dist/curry-d8_p_Jzt.d.ts +68 -0
- package/dist/curry-d8_p_Jzt.d.ts.map +1 -0
- package/dist/curry-from-lazy-BCGvmhyS.cjs +1 -0
- package/dist/curry-from-lazy-CYtJvyas.js +2 -0
- package/dist/curry-from-lazy-CYtJvyas.js.map +1 -0
- package/dist/curry-order-rules-BCcwbNxd.d.ts +48 -0
- package/dist/curry-order-rules-BCcwbNxd.d.ts.map +1 -0
- package/dist/curry-order-rules-C6bwcUwC.js +2 -0
- package/dist/curry-order-rules-C6bwcUwC.js.map +1 -0
- package/dist/curry-order-rules-ClqHrs8_.cjs +1 -0
- package/dist/curry-order-rules-cezUWcSx.d.cts +48 -0
- package/dist/curry-order-rules-cezUWcSx.d.cts.map +1 -0
- package/dist/curry.cjs +1 -1
- package/dist/curry.d.cts +1 -1
- package/dist/curry.d.ts +1 -1
- package/dist/curry.js +1 -1
- package/dist/debounce.cjs +1 -1
- package/dist/debounce.d.cts +96 -2
- package/dist/debounce.d.cts.map +1 -0
- package/dist/debounce.d.ts +96 -2
- package/dist/debounce.d.ts.map +1 -0
- package/dist/debounce.js +2 -1
- package/dist/debounce.js.map +1 -0
- package/dist/deduped-CL5-bmYU.d.ts +23 -0
- package/dist/deduped-CL5-bmYU.d.ts.map +1 -0
- package/dist/deduped-CXeQa-0F.d.cts +23 -0
- package/dist/deduped-CXeQa-0F.d.cts.map +1 -0
- package/dist/difference-with.cjs +1 -1
- package/dist/difference-with.d.cts +48 -2
- package/dist/difference-with.d.cts.map +1 -0
- package/dist/difference-with.d.ts +48 -2
- package/dist/difference-with.d.ts.map +1 -0
- package/dist/difference-with.js +2 -1
- package/dist/difference-with.js.map +1 -0
- package/dist/difference.cjs +1 -1
- package/dist/difference.d.cts +37 -2
- package/dist/difference.d.cts.map +1 -0
- package/dist/difference.d.ts +37 -2
- package/dist/difference.d.ts.map +1 -0
- package/dist/difference.js +2 -1
- package/dist/difference.js.map +1 -0
- package/dist/dist-CUT1dnRU.js +343 -0
- package/dist/dist-CUT1dnRU.js.map +1 -0
- package/dist/dist-CiyBKPT6.cjs +343 -0
- package/dist/divide.cjs +1 -1
- package/dist/divide.d.cts +33 -2
- package/dist/divide.d.cts.map +1 -0
- package/dist/divide.d.ts +33 -2
- package/dist/divide.d.ts.map +1 -0
- package/dist/divide.js +2 -1
- package/dist/divide.js.map +1 -0
- package/dist/do-nothing.cjs +1 -1
- package/dist/do-nothing.d.cts +28 -2
- package/dist/do-nothing.d.cts.map +1 -0
- package/dist/do-nothing.d.ts +28 -2
- package/dist/do-nothing.d.ts.map +1 -0
- package/dist/do-nothing.js +2 -1
- package/dist/do-nothing.js.map +1 -0
- package/dist/drop-first-by.cjs +1 -1
- package/dist/drop-first-by.d.cts +41 -4
- package/dist/drop-first-by.d.cts.map +1 -0
- package/dist/drop-first-by.d.ts +41 -4
- package/dist/drop-first-by.d.ts.map +1 -0
- package/dist/drop-first-by.js +2 -1
- package/dist/drop-first-by.js.map +1 -0
- package/dist/drop-last-while.cjs +1 -1
- package/dist/drop-last-while.d.cts +36 -3
- package/dist/drop-last-while.d.cts.map +1 -0
- package/dist/drop-last-while.d.ts +36 -3
- package/dist/drop-last-while.d.ts.map +1 -0
- package/dist/drop-last-while.js +2 -1
- package/dist/drop-last-while.js.map +1 -0
- package/dist/drop-last.cjs +1 -1
- package/dist/drop-last.d.cts +32 -3
- package/dist/drop-last.d.cts.map +1 -0
- package/dist/drop-last.d.ts +32 -3
- package/dist/drop-last.d.ts.map +1 -0
- package/dist/drop-last.js +2 -1
- package/dist/drop-last.js.map +1 -0
- package/dist/drop-while.cjs +1 -1
- package/dist/drop-while.d.cts +36 -3
- package/dist/drop-while.d.cts.map +1 -0
- package/dist/drop-while.d.ts +36 -3
- package/dist/drop-while.d.ts.map +1 -0
- package/dist/drop-while.js +2 -1
- package/dist/drop-while.js.map +1 -0
- package/dist/drop.cjs +1 -1
- package/dist/drop.d.cts +40 -8
- package/dist/drop.d.cts.map +1 -0
- package/dist/drop.d.ts +40 -8
- package/dist/drop.d.ts.map +1 -0
- package/dist/drop.js +2 -1
- package/dist/drop.js.map +1 -0
- package/dist/entries.cjs +1 -1
- package/dist/entries.d.cts +31 -3
- package/dist/entries.d.cts.map +1 -0
- package/dist/entries.d.ts +31 -3
- package/dist/entries.d.ts.map +1 -0
- package/dist/entries.js +2 -1
- package/dist/entries.js.map +1 -0
- package/dist/enumerable-string-key-of-DMAkBhMk.d.ts +17 -0
- package/dist/enumerable-string-key-of-DMAkBhMk.d.ts.map +1 -0
- package/dist/enumerable-string-key-of-FUg082M_.d.cts +17 -0
- package/dist/enumerable-string-key-of-FUg082M_.d.cts.map +1 -0
- package/dist/enumerable-string-keyed-value-of-B2F2aTB7.d.ts +12 -0
- package/dist/enumerable-string-keyed-value-of-B2F2aTB7.d.ts.map +1 -0
- package/dist/enumerable-string-keyed-value-of-CEclDoqe.d.cts +12 -0
- package/dist/enumerable-string-keyed-value-of-CEclDoqe.d.cts.map +1 -0
- package/dist/evolve.cjs +1 -1
- package/dist/evolve.d.cts +101 -3
- package/dist/evolve.d.cts.map +1 -0
- package/dist/evolve.d.ts +101 -3
- package/dist/evolve.d.ts.map +1 -0
- package/dist/evolve.js +2 -1
- package/dist/evolve.js.map +1 -0
- package/dist/filter.cjs +1 -1
- package/dist/filter.d.cts +50 -7
- package/dist/filter.d.cts.map +1 -0
- package/dist/filter.d.ts +50 -7
- package/dist/filter.d.ts.map +1 -0
- package/dist/filter.js +2 -1
- package/dist/filter.js.map +1 -0
- package/dist/filtered-array-D_RqQ8tX.d.cts +13 -0
- package/dist/filtered-array-D_RqQ8tX.d.cts.map +1 -0
- package/dist/filtered-array-Yij-X3T4.d.ts +13 -0
- package/dist/filtered-array-Yij-X3T4.d.ts.map +1 -0
- package/dist/find-index.cjs +1 -1
- package/dist/find-index.d.cts +50 -2
- package/dist/find-index.d.cts.map +1 -0
- package/dist/find-index.d.ts +50 -2
- package/dist/find-index.d.ts.map +1 -0
- package/dist/find-index.js +2 -1
- package/dist/find-index.js.map +1 -0
- package/dist/find-last-index.cjs +1 -1
- package/dist/find-last-index.d.cts +50 -2
- package/dist/find-last-index.d.cts.map +1 -0
- package/dist/find-last-index.d.ts +50 -2
- package/dist/find-last-index.d.ts.map +1 -0
- package/dist/find-last-index.js +2 -1
- package/dist/find-last-index.js.map +1 -0
- package/dist/find-last.cjs +1 -1
- package/dist/find-last.d.cts +62 -2
- package/dist/find-last.d.cts.map +1 -0
- package/dist/find-last.d.ts +62 -2
- package/dist/find-last.d.ts.map +1 -0
- package/dist/find-last.js +2 -1
- package/dist/find-last.js.map +1 -0
- package/dist/find.cjs +1 -1
- package/dist/find.d.cts +64 -2
- package/dist/find.d.cts.map +1 -0
- package/dist/find.d.ts +64 -2
- package/dist/find.d.ts.map +1 -0
- package/dist/find.js +2 -1
- package/dist/find.js.map +1 -0
- package/dist/first-by.cjs +1 -1
- package/dist/first-by.d.cts +60 -5
- package/dist/first-by.d.cts.map +1 -0
- package/dist/first-by.d.ts +60 -5
- package/dist/first-by.d.ts.map +1 -0
- package/dist/first-by.js +2 -1
- package/dist/first-by.js.map +1 -0
- package/dist/first.cjs +1 -1
- package/dist/first.d.cts +40 -3
- package/dist/first.d.cts.map +1 -0
- package/dist/first.d.ts +40 -3
- package/dist/first.d.ts.map +1 -0
- package/dist/first.js +2 -1
- package/dist/first.js.map +1 -0
- package/dist/flat-map.cjs +1 -1
- package/dist/flat-map.d.cts +47 -2
- package/dist/flat-map.d.cts.map +1 -0
- package/dist/flat-map.d.ts +47 -2
- package/dist/flat-map.d.ts.map +1 -0
- package/dist/flat-map.js +2 -1
- package/dist/flat-map.js.map +1 -0
- package/dist/flat.cjs +1 -1
- package/dist/flat.d.cts +53 -3
- package/dist/flat.d.cts.map +1 -0
- package/dist/flat.d.ts +53 -3
- package/dist/flat.d.ts.map +1 -0
- package/dist/flat.js +2 -1
- package/dist/flat.js.map +1 -0
- package/dist/floor.cjs +1 -1
- package/dist/floor.d.cts +39 -2
- package/dist/floor.d.cts.map +1 -0
- package/dist/floor.d.ts +39 -2
- package/dist/floor.d.ts.map +1 -0
- package/dist/floor.js +2 -1
- package/dist/floor.js.map +1 -0
- package/dist/for-each-obj.cjs +1 -1
- package/dist/for-each-obj.d.cts +47 -5
- package/dist/for-each-obj.d.cts.map +1 -0
- package/dist/for-each-obj.d.ts +47 -5
- package/dist/for-each-obj.d.ts.map +1 -0
- package/dist/for-each-obj.js +2 -1
- package/dist/for-each-obj.js.map +1 -0
- package/dist/for-each.cjs +1 -1
- package/dist/for-each.d.cts +54 -3
- package/dist/for-each.d.cts.map +1 -0
- package/dist/for-each.d.ts +54 -3
- package/dist/for-each.d.ts.map +1 -0
- package/dist/for-each.js +2 -1
- package/dist/for-each.js.map +1 -0
- package/dist/from-entries.cjs +1 -1
- package/dist/from-entries.d.cts +68 -4
- package/dist/from-entries.d.cts.map +1 -0
- package/dist/from-entries.d.ts +68 -4
- package/dist/from-entries.d.ts.map +1 -0
- package/dist/from-entries.js +2 -1
- package/dist/from-entries.js.map +1 -0
- package/dist/from-keys.cjs +1 -1
- package/dist/from-keys.d.cts +60 -5
- package/dist/from-keys.d.cts.map +1 -0
- package/dist/from-keys.d.ts +60 -5
- package/dist/from-keys.d.ts.map +1 -0
- package/dist/from-keys.js +2 -1
- package/dist/from-keys.js.map +1 -0
- package/dist/funnel.cjs +1 -1
- package/dist/funnel.d.cts +155 -2
- package/dist/funnel.d.cts.map +1 -0
- package/dist/funnel.d.ts +155 -2
- package/dist/funnel.d.ts.map +1 -0
- package/dist/funnel.js +2 -1
- package/dist/funnel.js.map +1 -0
- package/dist/funnel.lodash-debounce-with-cached-value.test.cjs +1 -1
- package/dist/funnel.lodash-debounce-with-cached-value.test.js +1 -1
- package/dist/funnel.lodash-debounce-with-cached-value.test.js.map +1 -1
- package/dist/funnel.lodash-debounce.test.cjs +1 -1
- package/dist/funnel.lodash-debounce.test.js +1 -1
- package/dist/funnel.lodash-debounce.test.js.map +1 -1
- package/dist/funnel.lodash-throttle-with-cached-value.test.cjs +1 -1
- package/dist/funnel.lodash-throttle-with-cached-value.test.js +1 -1
- package/dist/funnel.lodash-throttle-with-cached-value.test.js.map +1 -1
- package/dist/funnel.lodash-throttle.test.cjs +1 -1
- package/dist/funnel.lodash-throttle.test.js +1 -1
- package/dist/funnel.lodash-throttle.test.js.map +1 -1
- package/dist/funnel.perkakas-debounce.test.cjs +1 -1
- package/dist/funnel.perkakas-debounce.test.js +1 -1
- package/dist/funnel.perkakas-debounce.test.js.map +1 -1
- package/dist/funnel.reference-batch.test.cjs +1 -1
- package/dist/funnel.reference-batch.test.js +1 -1
- package/dist/funnel.reference-batch.test.js.map +1 -1
- package/dist/funnel.test-d.cjs +1 -1
- package/dist/funnel.test-d.js +1 -1
- package/dist/funnel.test-d.js.map +1 -1
- package/dist/funnel.test.cjs +1 -1
- package/dist/funnel.test.js +1 -1
- package/dist/funnel.test.js.map +1 -1
- package/dist/group-by-prop.cjs +1 -1
- package/dist/group-by-prop.d.cts +89 -11
- package/dist/group-by-prop.d.cts.map +1 -0
- package/dist/group-by-prop.d.ts +89 -11
- package/dist/group-by-prop.d.ts.map +1 -0
- package/dist/group-by-prop.js +2 -1
- package/dist/group-by-prop.js.map +1 -0
- package/dist/group-by.cjs +1 -1
- package/dist/group-by.d.cts +69 -5
- package/dist/group-by.d.cts.map +1 -0
- package/dist/group-by.d.ts +69 -5
- package/dist/group-by.d.ts.map +1 -0
- package/dist/group-by.js +2 -1
- package/dist/group-by.js.map +1 -0
- package/dist/has-at-least-BXwOPLQK.cjs +1 -0
- package/dist/has-at-least-DyIhWZJH.js +2 -0
- package/dist/has-at-least-DyIhWZJH.js.map +1 -0
- package/dist/has-at-least.cjs +1 -1
- package/dist/has-at-least.d.cts +59 -8
- package/dist/has-at-least.d.cts.map +1 -0
- package/dist/has-at-least.d.ts +59 -8
- package/dist/has-at-least.d.ts.map +1 -0
- package/dist/has-at-least.js +1 -1
- package/dist/has-sub-object.cjs +1 -1
- package/dist/has-sub-object.d.cts +44 -2
- package/dist/has-sub-object.d.cts.map +1 -0
- package/dist/has-sub-object.d.ts +44 -2
- package/dist/has-sub-object.d.ts.map +1 -0
- package/dist/has-sub-object.js +2 -1
- package/dist/has-sub-object.js.map +1 -0
- package/dist/heap-DWDhbxfx.cjs +1 -0
- package/dist/heap-bARaRULU.js +2 -0
- package/dist/heap-bARaRULU.js.map +1 -0
- package/dist/human-readable-file-size.cjs +1 -1
- package/dist/human-readable-file-size.d.cts +17 -2
- package/dist/human-readable-file-size.d.cts.map +1 -0
- package/dist/human-readable-file-size.d.ts +17 -2
- package/dist/human-readable-file-size.d.ts.map +1 -0
- package/dist/human-readable-file-size.js +2 -1
- package/dist/human-readable-file-size.js.map +1 -0
- package/dist/identity.cjs +1 -1
- package/dist/identity.d.cts +22 -2
- package/dist/identity.d.cts.map +1 -0
- package/dist/identity.d.ts +22 -2
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +2 -1
- package/dist/identity.js.map +1 -0
- package/dist/index-by.cjs +1 -1
- package/dist/index-by.d.cts +53 -4
- package/dist/index-by.d.cts.map +1 -0
- package/dist/index-by.d.ts +53 -4
- package/dist/index-by.d.ts.map +1 -0
- package/dist/index-by.js +2 -1
- package/dist/index-by.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +160 -183
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +160 -183
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/int-range-inclusive-ClGdUant.d.ts +15 -0
- package/dist/int-range-inclusive-ClGdUant.d.ts.map +1 -0
- package/dist/int-range-inclusive-q-Jb7w6P.d.cts +15 -0
- package/dist/int-range-inclusive-q-Jb7w6P.d.cts.map +1 -0
- package/dist/intersection-with.cjs +1 -1
- package/dist/intersection-with.d.cts +54 -2
- package/dist/intersection-with.d.cts.map +1 -0
- package/dist/intersection-with.d.ts +54 -2
- package/dist/intersection-with.d.ts.map +1 -0
- package/dist/intersection-with.js +2 -1
- package/dist/intersection-with.js.map +1 -0
- package/dist/intersection.cjs +1 -1
- package/dist/intersection.d.cts +37 -2
- package/dist/intersection.d.cts.map +1 -0
- package/dist/intersection.d.ts +37 -2
- package/dist/intersection.d.ts.map +1 -0
- package/dist/intersection.js +2 -1
- package/dist/intersection.js.map +1 -0
- package/dist/invert.cjs +1 -1
- package/dist/invert.d.cts +33 -3
- package/dist/invert.d.cts.map +1 -0
- package/dist/invert.d.ts +33 -3
- package/dist/invert.d.ts.map +1 -0
- package/dist/invert.js +2 -1
- package/dist/invert.js.map +1 -0
- package/dist/is-array.cjs +1 -1
- package/dist/is-array.d.cts +21 -3
- package/dist/is-array.d.cts.map +1 -0
- package/dist/is-array.d.ts +21 -3
- package/dist/is-array.d.ts.map +1 -0
- package/dist/is-array.js +2 -1
- package/dist/is-array.js.map +1 -0
- package/dist/is-big-int.cjs +1 -1
- package/dist/is-big-int.d.cts +22 -3
- package/dist/is-big-int.d.cts.map +1 -0
- package/dist/is-big-int.d.ts +22 -3
- package/dist/is-big-int.d.ts.map +1 -0
- package/dist/is-big-int.js +2 -1
- package/dist/is-big-int.js.map +1 -0
- package/dist/is-boolean.cjs +1 -1
- package/dist/is-boolean.d.cts +21 -3
- package/dist/is-boolean.d.cts.map +1 -0
- package/dist/is-boolean.d.ts +21 -3
- package/dist/is-boolean.d.ts.map +1 -0
- package/dist/is-boolean.js +2 -1
- package/dist/is-boolean.js.map +1 -0
- package/dist/is-bounded-record-BGclJjRX.d.ts +34 -0
- package/dist/is-bounded-record-BGclJjRX.d.ts.map +1 -0
- package/dist/is-bounded-record-D9YK_OC8.d.cts +34 -0
- package/dist/is-bounded-record-D9YK_OC8.d.cts.map +1 -0
- package/dist/is-date.cjs +1 -1
- package/dist/is-date.d.cts +17 -2
- package/dist/is-date.d.cts.map +1 -0
- package/dist/is-date.d.ts +17 -2
- package/dist/is-date.d.ts.map +1 -0
- package/dist/is-date.js +2 -1
- package/dist/is-date.js.map +1 -0
- package/dist/is-deep-equal.cjs +1 -1
- package/dist/is-deep-equal.d.cts +71 -2
- package/dist/is-deep-equal.d.cts.map +1 -0
- package/dist/is-deep-equal.d.ts +71 -2
- package/dist/is-deep-equal.d.ts.map +1 -0
- package/dist/is-deep-equal.js +2 -1
- package/dist/is-deep-equal.js.map +1 -0
- package/dist/is-defined.cjs +1 -1
- package/dist/is-defined.d.cts +19 -2
- package/dist/is-defined.d.cts.map +1 -0
- package/dist/is-defined.d.ts +19 -2
- package/dist/is-defined.d.ts.map +1 -0
- package/dist/is-defined.js +2 -1
- package/dist/is-defined.js.map +1 -0
- package/dist/is-empty.cjs +1 -1
- package/dist/is-empty.d.cts +35 -3
- package/dist/is-empty.d.cts.map +1 -0
- package/dist/is-empty.d.ts +35 -3
- package/dist/is-empty.d.ts.map +1 -0
- package/dist/is-empty.js +2 -1
- package/dist/is-empty.js.map +1 -0
- package/dist/is-emptyish-CIxZzxxz.d.ts +74 -0
- package/dist/is-emptyish-CIxZzxxz.d.ts.map +1 -0
- package/dist/is-emptyish-oX5mpcfW.d.cts +74 -0
- package/dist/is-emptyish-oX5mpcfW.d.cts.map +1 -0
- package/dist/is-emptyish.cjs +1 -0
- package/dist/is-emptyish.d.cts +2 -0
- package/dist/is-emptyish.d.ts +2 -0
- package/dist/is-emptyish.js +2 -0
- package/dist/is-emptyish.js.map +1 -0
- package/dist/is-emptyish.test-d.cjs +1 -0
- package/dist/is-emptyish.test-d.d.cts +8 -0
- package/dist/is-emptyish.test-d.d.cts.map +1 -0
- package/dist/is-emptyish.test-d.d.ts +8 -0
- package/dist/is-emptyish.test-d.d.ts.map +1 -0
- package/dist/is-emptyish.test-d.js +2 -0
- package/dist/is-emptyish.test-d.js.map +1 -0
- package/dist/is-emptyish.test.cjs +1 -0
- package/dist/is-emptyish.test.d.cts +1 -0
- package/dist/is-emptyish.test.d.ts +1 -0
- package/dist/is-emptyish.test.js +2 -0
- package/dist/is-emptyish.test.js.map +1 -0
- package/dist/is-error.cjs +1 -1
- package/dist/is-error.d.cts +18 -2
- package/dist/is-error.d.cts.map +1 -0
- package/dist/is-error.d.ts +18 -2
- package/dist/is-error.d.ts.map +1 -0
- package/dist/is-error.js +2 -1
- package/dist/is-error.js.map +1 -0
- package/dist/is-function.cjs +1 -1
- package/dist/is-function.d.cts +18 -2
- package/dist/is-function.d.cts.map +1 -0
- package/dist/is-function.d.ts +18 -2
- package/dist/is-function.d.ts.map +1 -0
- package/dist/is-function.js +2 -1
- package/dist/is-function.js.map +1 -0
- package/dist/is-included-in.cjs +1 -1
- package/dist/is-included-in.d.cts +110 -4
- package/dist/is-included-in.d.cts.map +1 -0
- package/dist/is-included-in.d.ts +110 -4
- package/dist/is-included-in.d.ts.map +1 -0
- package/dist/is-included-in.js +2 -1
- package/dist/is-included-in.js.map +1 -0
- package/dist/is-non-null.cjs +1 -1
- package/dist/is-non-null.d.cts +19 -2
- package/dist/is-non-null.d.cts.map +1 -0
- package/dist/is-non-null.d.ts +19 -2
- package/dist/is-non-null.d.ts.map +1 -0
- package/dist/is-non-null.js +2 -1
- package/dist/is-non-null.js.map +1 -0
- package/dist/is-non-nullish.cjs +1 -1
- package/dist/is-non-nullish.d.cts +20 -2
- package/dist/is-non-nullish.d.cts.map +1 -0
- package/dist/is-non-nullish.d.ts +20 -2
- package/dist/is-non-nullish.d.ts.map +1 -0
- package/dist/is-non-nullish.js +2 -1
- package/dist/is-non-nullish.js.map +1 -0
- package/dist/is-not.cjs +1 -1
- package/dist/is-not.d.cts +19 -2
- package/dist/is-not.d.cts.map +1 -0
- package/dist/is-not.d.ts +19 -2
- package/dist/is-not.d.ts.map +1 -0
- package/dist/is-not.js +2 -1
- package/dist/is-not.js.map +1 -0
- package/dist/is-nullish.cjs +1 -1
- package/dist/is-nullish.d.cts +23 -3
- package/dist/is-nullish.d.cts.map +1 -0
- package/dist/is-nullish.d.ts +23 -3
- package/dist/is-nullish.d.ts.map +1 -0
- package/dist/is-nullish.js +2 -1
- package/dist/is-nullish.js.map +1 -0
- package/dist/is-number.cjs +1 -1
- package/dist/is-number.d.cts +22 -3
- package/dist/is-number.d.cts.map +1 -0
- package/dist/is-number.d.ts +22 -3
- package/dist/is-number.d.ts.map +1 -0
- package/dist/is-number.js +2 -1
- package/dist/is-number.js.map +1 -0
- package/dist/is-object-type.cjs +1 -1
- package/dist/is-object-type.d.cts +35 -3
- package/dist/is-object-type.d.cts.map +1 -0
- package/dist/is-object-type.d.ts +35 -3
- package/dist/is-object-type.d.ts.map +1 -0
- package/dist/is-object-type.js +2 -1
- package/dist/is-object-type.js.map +1 -0
- package/dist/is-plain-object.cjs +1 -1
- package/dist/is-plain-object.d.cts +33 -3
- package/dist/is-plain-object.d.cts.map +1 -0
- package/dist/is-plain-object.d.ts +33 -3
- package/dist/is-plain-object.d.ts.map +1 -0
- package/dist/is-plain-object.js +2 -1
- package/dist/is-plain-object.js.map +1 -0
- package/dist/is-promise.cjs +1 -1
- package/dist/is-promise.d.cts +18 -2
- package/dist/is-promise.d.cts.map +1 -0
- package/dist/is-promise.d.ts +18 -2
- package/dist/is-promise.d.ts.map +1 -0
- package/dist/is-promise.js +2 -1
- package/dist/is-promise.js.map +1 -0
- package/dist/is-shallow-equal.cjs +1 -1
- package/dist/is-shallow-equal.d.cts +71 -2
- package/dist/is-shallow-equal.d.cts.map +1 -0
- package/dist/is-shallow-equal.d.ts +71 -2
- package/dist/is-shallow-equal.d.ts.map +1 -0
- package/dist/is-shallow-equal.js +2 -1
- package/dist/is-shallow-equal.js.map +1 -0
- package/dist/is-strict-equal.cjs +1 -1
- package/dist/is-strict-equal.d.cts +67 -2
- package/dist/is-strict-equal.d.cts.map +1 -0
- package/dist/is-strict-equal.d.ts +67 -2
- package/dist/is-strict-equal.d.ts.map +1 -0
- package/dist/is-strict-equal.js +2 -1
- package/dist/is-strict-equal.js.map +1 -0
- package/dist/is-string.cjs +1 -1
- package/dist/is-string.d.cts +20 -3
- package/dist/is-string.d.cts.map +1 -0
- package/dist/is-string.d.ts +20 -3
- package/dist/is-string.d.ts.map +1 -0
- package/dist/is-string.js +2 -1
- package/dist/is-string.js.map +1 -0
- package/dist/is-symbol.cjs +1 -1
- package/dist/is-symbol.d.cts +20 -3
- package/dist/is-symbol.d.cts.map +1 -0
- package/dist/is-symbol.d.ts +20 -3
- package/dist/is-symbol.d.ts.map +1 -0
- package/dist/is-symbol.js +2 -1
- package/dist/is-symbol.js.map +1 -0
- package/dist/is-truthy.cjs +1 -1
- package/dist/is-truthy.d.cts +21 -2
- package/dist/is-truthy.d.cts.map +1 -0
- package/dist/is-truthy.d.ts +21 -2
- package/dist/is-truthy.d.ts.map +1 -0
- package/dist/is-truthy.js +2 -1
- package/dist/is-truthy.js.map +1 -0
- package/dist/is-union-Bu19sEkP.d.ts +8 -0
- package/dist/is-union-Bu19sEkP.d.ts.map +1 -0
- package/dist/is-union-Dp9mCo1b.d.cts +8 -0
- package/dist/is-union-Dp9mCo1b.d.cts.map +1 -0
- package/dist/iterable-container-BdjPuIjL.d.ts +17 -0
- package/dist/iterable-container-BdjPuIjL.d.ts.map +1 -0
- package/dist/iterable-container-OFsaw8WL.d.cts +17 -0
- package/dist/iterable-container-OFsaw8WL.d.cts.map +1 -0
- package/dist/join.cjs +1 -1
- package/dist/join.d.cts +46 -2
- package/dist/join.d.cts.map +1 -0
- package/dist/join.d.ts +46 -2
- package/dist/join.d.ts.map +1 -0
- package/dist/join.js +2 -1
- package/dist/join.js.map +1 -0
- package/dist/key-codes.cjs +1 -1
- package/dist/key-codes.d.cts +29 -2
- package/dist/key-codes.d.cts.map +1 -0
- package/dist/key-codes.d.ts +29 -2
- package/dist/key-codes.d.ts.map +1 -0
- package/dist/key-codes.js +2 -1
- package/dist/key-codes.js.map +1 -0
- package/dist/keys.cjs +1 -1
- package/dist/keys.d.cts +38 -5
- package/dist/keys.d.cts.map +1 -0
- package/dist/keys.d.ts +38 -5
- package/dist/keys.d.ts.map +1 -0
- package/dist/keys.js +2 -1
- package/dist/keys.js.map +1 -0
- package/dist/last.cjs +1 -1
- package/dist/last.d.cts +37 -3
- package/dist/last.d.cts.map +1 -0
- package/dist/last.d.ts +37 -3
- package/dist/last.d.ts.map +1 -0
- package/dist/last.js +2 -1
- package/dist/last.js.map +1 -0
- package/dist/lazy-data-last-impl-D4kLybyP.cjs +1 -0
- package/dist/lazy-data-last-impl-DW5TXWv8.js +2 -0
- package/dist/lazy-data-last-impl-DW5TXWv8.js.map +1 -0
- package/dist/length.cjs +1 -1
- package/dist/length.d.cts +28 -2
- package/dist/length.d.cts.map +1 -0
- package/dist/length.d.ts +28 -2
- package/dist/length.d.ts.map +1 -0
- package/dist/length.js +2 -1
- package/dist/length.js.map +1 -0
- package/dist/magic-string.es-BY9a6RR2.js +15 -0
- package/dist/magic-string.es-BY9a6RR2.js.map +1 -0
- package/dist/magic-string.es-CGYIWauW.cjs +15 -0
- package/dist/map-keys.cjs +1 -1
- package/dist/map-keys.d.cts +34 -7
- package/dist/map-keys.d.cts.map +1 -0
- package/dist/map-keys.d.ts +34 -7
- package/dist/map-keys.d.ts.map +1 -0
- package/dist/map-keys.js +2 -1
- package/dist/map-keys.js.map +1 -0
- package/dist/map-to-obj.cjs +1 -1
- package/dist/map-to-obj.d.cts +68 -2
- package/dist/map-to-obj.d.cts.map +1 -0
- package/dist/map-to-obj.d.ts +68 -2
- package/dist/map-to-obj.d.ts.map +1 -0
- package/dist/map-to-obj.js +2 -1
- package/dist/map-to-obj.js.map +1 -0
- package/dist/map-values.cjs +1 -1
- package/dist/map-values.d.cts +42 -5
- package/dist/map-values.d.cts.map +1 -0
- package/dist/map-values.d.ts +42 -5
- package/dist/map-values.d.ts.map +1 -0
- package/dist/map-values.js +2 -1
- package/dist/map-values.js.map +1 -0
- package/dist/map-with-feedback.cjs +1 -1
- package/dist/map-with-feedback.d.cts +54 -4
- package/dist/map-with-feedback.d.cts.map +1 -0
- package/dist/map-with-feedback.d.ts +54 -4
- package/dist/map-with-feedback.d.ts.map +1 -0
- package/dist/map-with-feedback.js +2 -1
- package/dist/map-with-feedback.js.map +1 -0
- package/dist/map.cjs +1 -1
- package/dist/map.d.cts +47 -4
- package/dist/map.d.cts.map +1 -0
- package/dist/map.d.ts +47 -4
- package/dist/map.d.ts.map +1 -0
- package/dist/map.js +2 -1
- package/dist/map.js.map +1 -0
- package/dist/mapped-LCblUtt3.d.ts +7 -0
- package/dist/mapped-LCblUtt3.d.ts.map +1 -0
- package/dist/mapped-m3FRlUOA.d.cts +7 -0
- package/dist/mapped-m3FRlUOA.d.cts.map +1 -0
- package/dist/mean-by.cjs +1 -1
- package/dist/mean-by.d.cts +35 -2
- package/dist/mean-by.d.cts.map +1 -0
- package/dist/mean-by.d.ts +35 -2
- package/dist/mean-by.d.ts.map +1 -0
- package/dist/mean-by.js +2 -1
- package/dist/mean-by.js.map +1 -0
- package/dist/merge-all-B9JBhVzy.d.ts +42 -0
- package/dist/merge-all-B9JBhVzy.d.ts.map +1 -0
- package/dist/merge-all-CW8DGAy8.d.cts +42 -0
- package/dist/merge-all-CW8DGAy8.d.cts.map +1 -0
- package/dist/merge-all.cjs +1 -1
- package/dist/merge-all.d.cts +1 -5
- package/dist/merge-all.d.ts +1 -5
- package/dist/merge-all.js +2 -1
- package/dist/merge-all.js.map +1 -0
- package/dist/merge-deep.cjs +1 -1
- package/dist/merge-deep.d.cts +37 -2
- package/dist/merge-deep.d.cts.map +1 -0
- package/dist/merge-deep.d.ts +37 -2
- package/dist/merge-deep.d.ts.map +1 -0
- package/dist/merge-deep.js +2 -1
- package/dist/merge-deep.js.map +1 -0
- package/dist/merge.cjs +1 -1
- package/dist/merge.d.cts +57 -2
- package/dist/merge.d.cts.map +1 -0
- package/dist/merge.d.ts +57 -2
- package/dist/merge.d.ts.map +1 -0
- package/dist/merge.js +2 -1
- package/dist/merge.js.map +1 -0
- package/dist/multiply.cjs +1 -1
- package/dist/multiply.d.cts +33 -2
- package/dist/multiply.d.cts.map +1 -0
- package/dist/multiply.d.ts +33 -2
- package/dist/multiply.d.ts.map +1 -0
- package/dist/multiply.js +2 -1
- package/dist/multiply.js.map +1 -0
- package/dist/n-tuple-Bu1e7UH_.d.cts +12 -0
- package/dist/n-tuple-Bu1e7UH_.d.cts.map +1 -0
- package/dist/n-tuple-DoE0z7Kl.d.ts +12 -0
- package/dist/n-tuple-DoE0z7Kl.d.ts.map +1 -0
- package/dist/narrowed-to-Yf5qTOcD.d.cts +15 -0
- package/dist/narrowed-to-Yf5qTOcD.d.cts.map +1 -0
- package/dist/narrowed-to-j75i8Rl2.d.ts +15 -0
- package/dist/narrowed-to-j75i8Rl2.d.ts.map +1 -0
- package/dist/no-infer-BIHbaQcD.d.ts +5 -0
- package/dist/no-infer-BIHbaQcD.d.ts.map +1 -0
- package/dist/no-infer-BVbyldno.d.cts +5 -0
- package/dist/no-infer-BVbyldno.d.cts.map +1 -0
- package/dist/non-empty-array-CFG7wGD-.d.cts +5 -0
- package/dist/non-empty-array-CFG7wGD-.d.cts.map +1 -0
- package/dist/non-empty-array-DXkY7ynY.d.ts +5 -0
- package/dist/non-empty-array-DXkY7ynY.d.ts.map +1 -0
- package/dist/nth-by-Bby4vIbZ.cjs +1 -0
- package/dist/nth-by-Bs6FNGL-.js +2 -0
- package/dist/nth-by-Bs6FNGL-.js.map +1 -0
- package/dist/nth-by.cjs +1 -1
- package/dist/nth-by.d.cts +42 -5
- package/dist/nth-by.d.cts.map +1 -0
- package/dist/nth-by.d.ts +42 -5
- package/dist/nth-by.d.ts.map +1 -0
- package/dist/nth-by.js +1 -1
- package/dist/obj-of.cjs +1 -1
- package/dist/obj-of.d.cts +27 -2
- package/dist/obj-of.d.cts.map +1 -0
- package/dist/obj-of.d.ts +27 -2
- package/dist/obj-of.d.ts.map +1 -0
- package/dist/obj-of.js +2 -1
- package/dist/obj-of.js.map +1 -0
- package/dist/omit-by.cjs +1 -1
- package/dist/omit-by.d.cts +52 -6
- package/dist/omit-by.d.cts.map +1 -0
- package/dist/omit-by.d.ts +52 -6
- package/dist/omit-by.d.ts.map +1 -0
- package/dist/omit-by.js +2 -1
- package/dist/omit-by.js.map +1 -0
- package/dist/omit.cjs +1 -1
- package/dist/omit.d.cts +29 -2
- package/dist/omit.d.cts.map +1 -0
- package/dist/omit.d.ts +29 -2
- package/dist/omit.d.ts.map +1 -0
- package/dist/omit.js +2 -1
- package/dist/omit.js.map +1 -0
- package/dist/once.cjs +1 -1
- package/dist/once.d.cts +17 -2
- package/dist/once.d.cts.map +1 -0
- package/dist/once.d.ts +17 -2
- package/dist/once.d.ts.map +1 -0
- package/dist/once.js +2 -1
- package/dist/once.js.map +1 -0
- package/dist/only.cjs +1 -1
- package/dist/only.d.cts +34 -3
- package/dist/only.d.cts.map +1 -0
- package/dist/only.d.ts +34 -3
- package/dist/only.d.ts.map +1 -0
- package/dist/only.js +2 -1
- package/dist/only.js.map +1 -0
- package/dist/partial-array-CeoXpbZU.d.ts +12 -0
- package/dist/partial-array-CeoXpbZU.d.ts.map +1 -0
- package/dist/partial-array-CoV_xxyQ.d.cts +12 -0
- package/dist/partial-array-CoV_xxyQ.d.cts.map +1 -0
- package/dist/partition.cjs +1 -1
- package/dist/partition.d.cts +51 -2
- package/dist/partition.d.cts.map +1 -0
- package/dist/partition.d.ts +51 -2
- package/dist/partition.d.ts.map +1 -0
- package/dist/partition.js +2 -1
- package/dist/partition.js.map +1 -0
- package/dist/path-or.cjs +1 -1
- package/dist/path-or.d.cts +87 -2
- package/dist/path-or.d.cts.map +1 -0
- package/dist/path-or.d.ts +87 -2
- package/dist/path-or.d.ts.map +1 -0
- package/dist/path-or.js +2 -1
- package/dist/path-or.js.map +1 -0
- package/dist/perkakas-type-error-BERl_sWR.d.cts +19 -0
- package/dist/perkakas-type-error-BERl_sWR.d.cts.map +1 -0
- package/dist/perkakas-type-error-DmmsEmEF.d.ts +19 -0
- package/dist/perkakas-type-error-DmmsEmEF.d.ts.map +1 -0
- package/dist/pick-by.cjs +1 -1
- package/dist/pick-by.d.cts +68 -6
- package/dist/pick-by.d.cts.map +1 -0
- package/dist/pick-by.d.ts +68 -6
- package/dist/pick-by.d.ts.map +1 -0
- package/dist/pick-by.js +2 -1
- package/dist/pick-by.js.map +1 -0
- package/dist/pick.cjs +1 -1
- package/dist/pick.d.cts +66 -7
- package/dist/pick.d.cts.map +1 -0
- package/dist/pick.d.ts +66 -7
- package/dist/pick.d.ts.map +1 -0
- package/dist/pick.js +2 -1
- package/dist/pick.js.map +1 -0
- package/dist/pipe-BGazHnZ_.js +2 -0
- package/dist/pipe-BGazHnZ_.js.map +1 -0
- package/dist/pipe-CB7Lufqv.cjs +1 -0
- package/dist/pipe.cjs +1 -1
- package/dist/pipe.d.cts +34 -2
- package/dist/pipe.d.cts.map +1 -0
- package/dist/pipe.d.ts +34 -2
- package/dist/pipe.d.ts.map +1 -0
- package/dist/pipe.js +1 -1
- package/dist/piped.cjs +1 -1
- package/dist/piped.d.cts +31 -2
- package/dist/piped.d.cts.map +1 -0
- package/dist/piped.d.ts +31 -2
- package/dist/piped.d.ts.map +1 -0
- package/dist/piped.js +2 -1
- package/dist/piped.js.map +1 -0
- package/dist/product.cjs +1 -1
- package/dist/product.d.cts +52 -3
- package/dist/product.d.cts.map +1 -0
- package/dist/product.d.ts +52 -3
- package/dist/product.d.ts.map +1 -0
- package/dist/product.js +2 -1
- package/dist/product.js.map +1 -0
- package/dist/prop-C3rYih5m.d.cts +86 -0
- package/dist/prop-C3rYih5m.d.cts.map +1 -0
- package/dist/prop-DulcbWGG.d.ts +86 -0
- package/dist/prop-DulcbWGG.d.ts.map +1 -0
- package/dist/prop.cjs +1 -1
- package/dist/prop.d.cts +1 -6
- package/dist/prop.d.ts +1 -6
- package/dist/prop.js +2 -1
- package/dist/prop.js.map +1 -0
- package/dist/pull-object.cjs +1 -1
- package/dist/pull-object.d.cts +70 -5
- package/dist/pull-object.d.cts.map +1 -0
- package/dist/pull-object.d.ts +70 -5
- package/dist/pull-object.d.ts.map +1 -0
- package/dist/pull-object.js +2 -1
- package/dist/pull-object.js.map +1 -0
- package/dist/random-integer.cjs +1 -1
- package/dist/random-integer.d.cts +23 -3
- package/dist/random-integer.d.cts.map +1 -0
- package/dist/random-integer.d.ts +23 -3
- package/dist/random-integer.d.ts.map +1 -0
- package/dist/random-integer.js +2 -1
- package/dist/random-integer.js.map +1 -0
- package/dist/random-string.cjs +1 -1
- package/dist/random-string.d.cts +29 -2
- package/dist/random-string.d.cts.map +1 -0
- package/dist/random-string.d.ts +29 -2
- package/dist/random-string.d.ts.map +1 -0
- package/dist/random-string.js +2 -1
- package/dist/random-string.js.map +1 -0
- package/dist/range.cjs +1 -1
- package/dist/range.d.cts +27 -2
- package/dist/range.d.cts.map +1 -0
- package/dist/range.d.ts +27 -2
- package/dist/range.d.ts.map +1 -0
- package/dist/range.js +2 -1
- package/dist/range.js.map +1 -0
- package/dist/rank-by.cjs +1 -1
- package/dist/rank-by.d.cts +45 -4
- package/dist/rank-by.d.cts.map +1 -0
- package/dist/rank-by.d.ts +45 -4
- package/dist/rank-by.d.ts.map +1 -0
- package/dist/rank-by.js +2 -1
- package/dist/rank-by.js.map +1 -0
- package/dist/reduce.cjs +1 -1
- package/dist/reduce.d.cts +53 -2
- package/dist/reduce.d.cts.map +1 -0
- package/dist/reduce.d.ts +53 -2
- package/dist/reduce.d.ts.map +1 -0
- package/dist/reduce.js +2 -1
- package/dist/reduce.js.map +1 -0
- package/dist/reordered-array-B2klHneX.d.ts +7 -0
- package/dist/reordered-array-B2klHneX.d.ts.map +1 -0
- package/dist/reordered-array-BsUBOnYh.d.cts +7 -0
- package/dist/reordered-array-BsUBOnYh.d.cts.map +1 -0
- package/dist/reverse.cjs +1 -1
- package/dist/reverse.d.cts +29 -2
- package/dist/reverse.d.cts.map +1 -0
- package/dist/reverse.d.ts +29 -2
- package/dist/reverse.d.ts.map +1 -0
- package/dist/reverse.js +2 -1
- package/dist/reverse.js.map +1 -0
- package/dist/round.cjs +1 -1
- package/dist/round.d.cts +39 -2
- package/dist/round.d.cts.map +1 -0
- package/dist/round.d.ts +39 -2
- package/dist/round.d.ts.map +1 -0
- package/dist/round.js +2 -1
- package/dist/round.js.map +1 -0
- package/dist/sample.cjs +1 -1
- package/dist/sample.d.cts +69 -8
- package/dist/sample.d.cts.map +1 -0
- package/dist/sample.d.ts +69 -8
- package/dist/sample.d.ts.map +1 -0
- package/dist/sample.js +2 -1
- package/dist/sample.js.map +1 -0
- package/dist/set-path.cjs +1 -1
- package/dist/set-path.d.cts +47 -3
- package/dist/set-path.d.cts.map +1 -0
- package/dist/set-path.d.ts +47 -3
- package/dist/set-path.d.ts.map +1 -0
- package/dist/set-path.js +2 -1
- package/dist/set-path.js.map +1 -0
- package/dist/set.cjs +1 -1
- package/dist/set.d.cts +40 -4
- package/dist/set.d.cts.map +1 -0
- package/dist/set.d.ts +40 -4
- package/dist/set.d.ts.map +1 -0
- package/dist/set.js +2 -1
- package/dist/set.js.map +1 -0
- package/dist/shuffle.cjs +1 -1
- package/dist/shuffle.d.cts +31 -4
- package/dist/shuffle.d.cts.map +1 -0
- package/dist/shuffle.d.ts +31 -4
- package/dist/shuffle.d.ts.map +1 -0
- package/dist/shuffle.js +2 -1
- package/dist/shuffle.js.map +1 -0
- package/dist/sleep.cjs +1 -1
- package/dist/sleep.d.cts +16 -2
- package/dist/sleep.d.cts.map +1 -0
- package/dist/sleep.d.ts +16 -2
- package/dist/sleep.d.ts.map +1 -0
- package/dist/sleep.js +2 -1
- package/dist/sleep.js.map +1 -0
- package/dist/slice-string.cjs +1 -1
- package/dist/slice-string.d.cts +41 -2
- package/dist/slice-string.d.cts.map +1 -0
- package/dist/slice-string.d.ts +41 -2
- package/dist/slice-string.d.ts.map +1 -0
- package/dist/slice-string.js +2 -1
- package/dist/slice-string.js.map +1 -0
- package/dist/slugify.cjs +1 -1
- package/dist/slugify.d.cts +15 -2
- package/dist/slugify.d.cts.map +1 -0
- package/dist/slugify.d.ts +15 -2
- package/dist/slugify.d.ts.map +1 -0
- package/dist/slugify.js +2 -1
- package/dist/slugify.js.map +1 -0
- package/dist/sort-by.cjs +1 -1
- package/dist/sort-by.d.cts +88 -6
- package/dist/sort-by.d.cts.map +1 -0
- package/dist/sort-by.d.ts +88 -6
- package/dist/sort-by.d.ts.map +1 -0
- package/dist/sort-by.js +2 -1
- package/dist/sort-by.js.map +1 -0
- package/dist/sort.cjs +1 -1
- package/dist/sort.d.cts +39 -4
- package/dist/sort.d.cts.map +1 -0
- package/dist/sort.d.ts +39 -4
- package/dist/sort.d.ts.map +1 -0
- package/dist/sort.js +2 -1
- package/dist/sort.js.map +1 -0
- package/dist/sorted-index-by.cjs +1 -1
- package/dist/sorted-index-by.d.cts +70 -2
- package/dist/sorted-index-by.d.cts.map +1 -0
- package/dist/sorted-index-by.d.ts +70 -2
- package/dist/sorted-index-by.d.ts.map +1 -0
- package/dist/sorted-index-by.js +2 -1
- package/dist/sorted-index-by.js.map +1 -0
- package/dist/sorted-index-with.cjs +1 -1
- package/dist/sorted-index-with.d.cts +72 -2
- package/dist/sorted-index-with.d.cts.map +1 -0
- package/dist/sorted-index-with.d.ts +72 -2
- package/dist/sorted-index-with.d.ts.map +1 -0
- package/dist/sorted-index-with.js +2 -1
- package/dist/sorted-index-with.js.map +1 -0
- package/dist/sorted-index.cjs +1 -1
- package/dist/sorted-index.d.cts +45 -2
- package/dist/sorted-index.d.cts.map +1 -0
- package/dist/sorted-index.d.ts +45 -2
- package/dist/sorted-index.d.ts.map +1 -0
- package/dist/sorted-index.js +2 -1
- package/dist/sorted-index.js.map +1 -0
- package/dist/sorted-last-index-by.cjs +1 -1
- package/dist/sorted-last-index-by.d.cts +72 -2
- package/dist/sorted-last-index-by.d.cts.map +1 -0
- package/dist/sorted-last-index-by.d.ts +72 -2
- package/dist/sorted-last-index-by.d.ts.map +1 -0
- package/dist/sorted-last-index-by.js +2 -1
- package/dist/sorted-last-index-by.js.map +1 -0
- package/dist/sorted-last-index.cjs +1 -1
- package/dist/sorted-last-index.d.cts +45 -2
- package/dist/sorted-last-index.d.cts.map +1 -0
- package/dist/sorted-last-index.d.ts +45 -2
- package/dist/sorted-last-index.d.ts.map +1 -0
- package/dist/sorted-last-index.js +2 -1
- package/dist/sorted-last-index.js.map +1 -0
- package/dist/splice.cjs +1 -1
- package/dist/splice.d.cts +35 -2
- package/dist/splice.d.cts.map +1 -0
- package/dist/splice.d.ts +35 -2
- package/dist/splice.d.ts.map +1 -0
- package/dist/splice.js +2 -1
- package/dist/splice.js.map +1 -0
- package/dist/split-at.cjs +1 -1
- package/dist/split-at.d.cts +31 -2
- package/dist/split-at.d.cts.map +1 -0
- package/dist/split-at.d.ts +31 -2
- package/dist/split-at.d.ts.map +1 -0
- package/dist/split-at.js +2 -1
- package/dist/split-at.js.map +1 -0
- package/dist/split-when.cjs +1 -1
- package/dist/split-when.d.cts +29 -2
- package/dist/split-when.d.cts.map +1 -0
- package/dist/split-when.d.ts +29 -2
- package/dist/split-when.d.ts.map +1 -0
- package/dist/split-when.js +2 -1
- package/dist/split-when.js.map +1 -0
- package/dist/split.cjs +1 -1
- package/dist/split.d.cts +62 -2
- package/dist/split.d.cts.map +1 -0
- package/dist/split.d.ts +62 -2
- package/dist/split.d.ts.map +1 -0
- package/dist/split.js +2 -1
- package/dist/split.js.map +1 -0
- package/dist/string-to-path.cjs +1 -1
- package/dist/string-to-path.d.cts +39 -2
- package/dist/string-to-path.d.cts.map +1 -0
- package/dist/string-to-path.d.ts +39 -2
- package/dist/string-to-path.d.ts.map +1 -0
- package/dist/string-to-path.js +2 -1
- package/dist/string-to-path.js.map +1 -0
- package/dist/subtract.cjs +1 -1
- package/dist/subtract.d.cts +35 -2
- package/dist/subtract.d.cts.map +1 -0
- package/dist/subtract.d.ts +35 -2
- package/dist/subtract.d.ts.map +1 -0
- package/dist/subtract.js +2 -1
- package/dist/subtract.js.map +1 -0
- package/dist/sum-by.cjs +1 -1
- package/dist/sum-by.d.cts +57 -3
- package/dist/sum-by.d.cts.map +1 -0
- package/dist/sum-by.d.ts +57 -3
- package/dist/sum-by.d.ts.map +1 -0
- package/dist/sum-by.js +2 -1
- package/dist/sum-by.js.map +1 -0
- package/dist/sum.cjs +1 -1
- package/dist/sum.d.cts +50 -3
- package/dist/sum.d.cts.map +1 -0
- package/dist/sum.d.ts +50 -3
- package/dist/sum.d.ts.map +1 -0
- package/dist/sum.js +2 -1
- package/dist/sum.js.map +1 -0
- package/dist/swap-in-place-BHkB_mvV.cjs +1 -0
- package/dist/swap-in-place-COm7qHj4.js +2 -0
- package/dist/swap-in-place-COm7qHj4.js.map +1 -0
- package/dist/swap-indices.cjs +1 -1
- package/dist/swap-indices.d.cts +61 -3
- package/dist/swap-indices.d.cts.map +1 -0
- package/dist/swap-indices.d.ts +61 -3
- package/dist/swap-indices.d.ts.map +1 -0
- package/dist/swap-indices.js +2 -1
- package/dist/swap-indices.js.map +1 -0
- package/dist/swap-props.cjs +1 -1
- package/dist/swap-props.d.cts +34 -2
- package/dist/swap-props.d.cts.map +1 -0
- package/dist/swap-props.d.ts +34 -2
- package/dist/swap-props.d.ts.map +1 -0
- package/dist/swap-props.js +2 -1
- package/dist/swap-props.js.map +1 -0
- package/dist/take-first-by.cjs +1 -1
- package/dist/take-first-by.d.cts +41 -4
- package/dist/take-first-by.d.cts.map +1 -0
- package/dist/take-first-by.d.ts +41 -4
- package/dist/take-first-by.d.ts.map +1 -0
- package/dist/take-first-by.js +2 -1
- package/dist/take-first-by.js.map +1 -0
- package/dist/take-last-while.cjs +1 -1
- package/dist/take-last-while.d.cts +36 -3
- package/dist/take-last-while.d.cts.map +1 -0
- package/dist/take-last-while.d.ts +36 -3
- package/dist/take-last-while.d.ts.map +1 -0
- package/dist/take-last-while.js +2 -1
- package/dist/take-last-while.js.map +1 -0
- package/dist/take-last.cjs +1 -1
- package/dist/take-last.d.cts +32 -3
- package/dist/take-last.d.cts.map +1 -0
- package/dist/take-last.d.ts +32 -3
- package/dist/take-last.d.ts.map +1 -0
- package/dist/take-last.js +2 -1
- package/dist/take-last.js.map +1 -0
- package/dist/take-while.cjs +1 -1
- package/dist/take-while.d.cts +34 -3
- package/dist/take-while.d.cts.map +1 -0
- package/dist/take-while.d.ts +34 -3
- package/dist/take-while.d.ts.map +1 -0
- package/dist/take-while.js +2 -1
- package/dist/take-while.js.map +1 -0
- package/dist/take.cjs +1 -1
- package/dist/take.d.cts +34 -3
- package/dist/take.d.cts.map +1 -0
- package/dist/take.d.ts +34 -3
- package/dist/take.d.ts.map +1 -0
- package/dist/take.js +2 -1
- package/dist/take.js.map +1 -0
- package/dist/tap.cjs +1 -1
- package/dist/tap.d.cts +42 -2
- package/dist/tap.d.cts.map +1 -0
- package/dist/tap.d.ts +42 -2
- package/dist/tap.d.ts.map +1 -0
- package/dist/tap.js +2 -1
- package/dist/tap.js.map +1 -0
- package/dist/times.cjs +1 -1
- package/dist/times.d.cts +48 -2
- package/dist/times.d.cts.map +1 -0
- package/dist/times.d.ts +48 -2
- package/dist/times.d.ts.map +1 -0
- package/dist/times.js +2 -1
- package/dist/times.js.map +1 -0
- package/dist/to-camel-case.cjs +1 -1
- package/dist/to-camel-case.d.cts +32 -3
- package/dist/to-camel-case.d.cts.map +1 -0
- package/dist/to-camel-case.d.ts +32 -3
- package/dist/to-camel-case.d.ts.map +1 -0
- package/dist/to-camel-case.js +2 -1
- package/dist/to-camel-case.js.map +1 -0
- package/dist/to-capital-case.cjs +1 -1
- package/dist/to-capital-case.d.cts +31 -3
- package/dist/to-capital-case.d.cts.map +1 -0
- package/dist/to-capital-case.d.ts +31 -3
- package/dist/to-capital-case.d.ts.map +1 -0
- package/dist/to-capital-case.js +2 -1
- package/dist/to-capital-case.js.map +1 -0
- package/dist/to-constant-case.cjs +1 -1
- package/dist/to-constant-case.d.cts +31 -3
- package/dist/to-constant-case.d.cts.map +1 -0
- package/dist/to-constant-case.d.ts +31 -3
- package/dist/to-constant-case.d.ts.map +1 -0
- package/dist/to-constant-case.js +2 -1
- package/dist/to-constant-case.js.map +1 -0
- package/dist/to-kebab-case.cjs +1 -1
- package/dist/to-kebab-case.d.cts +31 -3
- package/dist/to-kebab-case.d.cts.map +1 -0
- package/dist/to-kebab-case.d.ts +31 -3
- package/dist/to-kebab-case.d.ts.map +1 -0
- package/dist/to-kebab-case.js +2 -1
- package/dist/to-kebab-case.js.map +1 -0
- package/dist/to-no-case.cjs +1 -1
- package/dist/to-no-case.d.cts +31 -3
- package/dist/to-no-case.d.cts.map +1 -0
- package/dist/to-no-case.d.ts +31 -3
- package/dist/to-no-case.d.ts.map +1 -0
- package/dist/to-no-case.js +2 -1
- package/dist/to-no-case.js.map +1 -0
- package/dist/to-pascal-case.cjs +1 -1
- package/dist/to-pascal-case.d.cts +32 -3
- package/dist/to-pascal-case.d.cts.map +1 -0
- package/dist/to-pascal-case.d.ts +32 -3
- package/dist/to-pascal-case.d.ts.map +1 -0
- package/dist/to-pascal-case.js +2 -1
- package/dist/to-pascal-case.js.map +1 -0
- package/dist/to-pascal-snake-case.cjs +1 -1
- package/dist/to-pascal-snake-case.d.cts +31 -3
- package/dist/to-pascal-snake-case.d.cts.map +1 -0
- package/dist/to-pascal-snake-case.d.ts +31 -3
- package/dist/to-pascal-snake-case.d.ts.map +1 -0
- package/dist/to-pascal-snake-case.js +2 -1
- package/dist/to-pascal-snake-case.js.map +1 -0
- package/dist/to-sentence-case.cjs +1 -1
- package/dist/to-sentence-case.d.cts +31 -3
- package/dist/to-sentence-case.d.cts.map +1 -0
- package/dist/to-sentence-case.d.ts +31 -3
- package/dist/to-sentence-case.d.ts.map +1 -0
- package/dist/to-sentence-case.js +2 -1
- package/dist/to-sentence-case.js.map +1 -0
- package/dist/to-single-Chq_hKEk.cjs +1 -0
- package/dist/to-single-vYpRavjM.js +2 -0
- package/dist/to-single-vYpRavjM.js.map +1 -0
- package/dist/to-snake-case.cjs +1 -1
- package/dist/to-snake-case.d.cts +31 -3
- package/dist/to-snake-case.d.cts.map +1 -0
- package/dist/to-snake-case.d.ts +31 -3
- package/dist/to-snake-case.d.ts.map +1 -0
- package/dist/to-snake-case.js +2 -1
- package/dist/to-snake-case.js.map +1 -0
- package/dist/to-string-C6_OnZ6e.d.ts +13 -0
- package/dist/to-string-C6_OnZ6e.d.ts.map +1 -0
- package/dist/to-string-Se4KcQka.d.cts +13 -0
- package/dist/to-string-Se4KcQka.d.cts.map +1 -0
- package/dist/to-train-case.cjs +1 -1
- package/dist/to-train-case.d.cts +31 -3
- package/dist/to-train-case.d.cts.map +1 -0
- package/dist/to-train-case.d.ts +31 -3
- package/dist/to-train-case.d.ts.map +1 -0
- package/dist/to-train-case.js +2 -1
- package/dist/to-train-case.js.map +1 -0
- package/dist/tuple-parts-BJQEORxn.d.cts +89 -0
- package/dist/tuple-parts-BJQEORxn.d.cts.map +1 -0
- package/dist/tuple-parts-Bhbm4jiu.d.ts +89 -0
- package/dist/tuple-parts-Bhbm4jiu.d.ts.map +1 -0
- package/dist/type.helpers.cjs +0 -1
- package/dist/type.helpers.d.cts +5 -2
- package/dist/type.helpers.d.cts.map +1 -0
- package/dist/type.helpers.d.ts +5 -2
- package/dist/type.helpers.d.ts.map +1 -0
- package/dist/type.helpers.js +0 -1
- package/dist/unique-by.cjs +1 -1
- package/dist/unique-by.d.cts +44 -5
- package/dist/unique-by.d.cts.map +1 -0
- package/dist/unique-by.d.ts +44 -5
- package/dist/unique-by.d.ts.map +1 -0
- package/dist/unique-by.js +2 -1
- package/dist/unique-by.js.map +1 -0
- package/dist/unique-with.cjs +1 -1
- package/dist/unique-with.d.cts +46 -5
- package/dist/unique-with.d.cts.map +1 -0
- package/dist/unique-with.d.ts +46 -5
- package/dist/unique-with.d.ts.map +1 -0
- package/dist/unique-with.js +2 -1
- package/dist/unique-with.js.map +1 -0
- package/dist/unique.cjs +1 -1
- package/dist/unique.d.cts +39 -5
- package/dist/unique.d.cts.map +1 -0
- package/dist/unique.d.ts +39 -5
- package/dist/unique.d.ts.map +1 -0
- package/dist/unique.js +2 -1
- package/dist/unique.js.map +1 -0
- package/dist/upsert-prop-P-aJDDII.d.cts +9 -0
- package/dist/upsert-prop-P-aJDDII.d.cts.map +1 -0
- package/dist/upsert-prop-__xTQQ07.d.ts +9 -0
- package/dist/upsert-prop-__xTQQ07.d.ts.map +1 -0
- package/dist/utility-evaluators-BwYLtB8b.js +2 -0
- package/dist/utility-evaluators-BwYLtB8b.js.map +1 -0
- package/dist/utility-evaluators-CAbODbuk.cjs +1 -0
- package/dist/values.cjs +1 -1
- package/dist/values.d.cts +38 -4
- package/dist/values.d.cts.map +1 -0
- package/dist/values.d.ts +38 -4
- package/dist/values.d.ts.map +1 -0
- package/dist/values.js +2 -1
- package/dist/values.js.map +1 -0
- package/dist/with-precision-CWWiMmxZ.js +2 -0
- package/dist/with-precision-CWWiMmxZ.js.map +1 -0
- package/dist/with-precision-dQAYLrgr.cjs +1 -0
- package/dist/zip-with.cjs +1 -1
- package/dist/zip-with.d.cts +50 -3
- package/dist/zip-with.d.cts.map +1 -0
- package/dist/zip-with.d.ts +50 -3
- package/dist/zip-with.d.ts.map +1 -0
- package/dist/zip-with.js +2 -1
- package/dist/zip-with.js.map +1 -0
- package/dist/zip.cjs +1 -1
- package/dist/zip.d.cts +38 -3
- package/dist/zip.d.cts.map +1 -0
- package/dist/zip.d.ts +38 -3
- package/dist/zip.d.ts.map +1 -0
- package/dist/zip.js +2 -1
- package/dist/zip.js.map +1 -0
- package/package.json +7 -9
- package/dist/add-CbtGbPU8.cjs +0 -1
- package/dist/add-D2WnMolJ.d.cts +0 -34
- package/dist/add-D2WnMolJ.d.cts.map +0 -1
- package/dist/add-XyDHfOBw.js +0 -2
- package/dist/add-XyDHfOBw.js.map +0 -1
- package/dist/add-im980AO9.d.ts +0 -34
- package/dist/add-im980AO9.d.ts.map +0 -1
- package/dist/add-prop-BxqZdgPd.cjs +0 -1
- package/dist/add-prop-CMZauInB.d.ts +0 -46
- package/dist/add-prop-CMZauInB.d.ts.map +0 -1
- package/dist/add-prop-CX56m6sR.js +0 -2
- package/dist/add-prop-CX56m6sR.js.map +0 -1
- package/dist/add-prop-tIjpXGRH.d.cts +0 -46
- package/dist/add-prop-tIjpXGRH.d.cts.map +0 -1
- package/dist/all-pass-BCivJ27h.d.cts +0 -37
- package/dist/all-pass-BCivJ27h.d.cts.map +0 -1
- package/dist/all-pass-DXpE2AMI.d.ts +0 -37
- package/dist/all-pass-DXpE2AMI.d.ts.map +0 -1
- package/dist/all-pass-Dm8Dnhq7.cjs +0 -1
- package/dist/all-pass-TOwgGHEo.js +0 -2
- package/dist/all-pass-TOwgGHEo.js.map +0 -1
- package/dist/any-pass-B1tqZ-S8.js +0 -2
- package/dist/any-pass-B1tqZ-S8.js.map +0 -1
- package/dist/any-pass-BUlFAsyd.d.cts +0 -37
- package/dist/any-pass-BUlFAsyd.d.cts.map +0 -1
- package/dist/any-pass-DODvFXfM.d.ts +0 -37
- package/dist/any-pass-DODvFXfM.d.ts.map +0 -1
- package/dist/any-pass-UiZWZkzr.cjs +0 -1
- package/dist/array-required-prefix-BeSNHH4G.d.ts +0 -26
- package/dist/array-required-prefix-BeSNHH4G.d.ts.map +0 -1
- package/dist/array-required-prefix-FSH3Acx8.d.cts +0 -26
- package/dist/array-required-prefix-FSH3Acx8.d.cts.map +0 -1
- package/dist/binary-search-cutoff-index-B3xuP0oe.cjs +0 -1
- package/dist/binary-search-cutoff-index-QhLfC_4-.js +0 -2
- package/dist/binary-search-cutoff-index-QhLfC_4-.js.map +0 -1
- package/dist/bounded-partial-A89bt7Kj.d.cts +0 -17
- package/dist/bounded-partial-A89bt7Kj.d.cts.map +0 -1
- package/dist/bounded-partial-TshEjJC1.d.ts +0 -17
- package/dist/bounded-partial-TshEjJC1.d.ts.map +0 -1
- package/dist/case.transform-0QyAGkjI.js +0 -2
- package/dist/case.transform-0QyAGkjI.js.map +0 -1
- package/dist/case.transform-UvmY1E5L.cjs +0 -1
- package/dist/case.types-C4kGtbSS.d.cts +0 -19
- package/dist/case.types-C4kGtbSS.d.cts.map +0 -1
- package/dist/case.types-DegX_-fY.d.ts +0 -19
- package/dist/case.types-DegX_-fY.d.ts.map +0 -1
- package/dist/ceil--cMT2iUp.js +0 -2
- package/dist/ceil--cMT2iUp.js.map +0 -1
- package/dist/ceil-3wC2QOvT.d.ts +0 -39
- package/dist/ceil-3wC2QOvT.d.ts.map +0 -1
- package/dist/ceil-BfPd1zim.d.cts +0 -39
- package/dist/ceil-BfPd1zim.d.cts.map +0 -1
- package/dist/ceil-CgjlA1iG.cjs +0 -1
- package/dist/chunk-21HuGLAn.d.ts +0 -76
- package/dist/chunk-21HuGLAn.d.ts.map +0 -1
- package/dist/chunk-C__yw06N.d.cts +0 -76
- package/dist/chunk-C__yw06N.d.cts.map +0 -1
- package/dist/chunk-_kldYmb1.cjs +0 -1
- package/dist/chunk-dIPp871Q.js +0 -2
- package/dist/chunk-dIPp871Q.js.map +0 -1
- package/dist/clamp-Cnh0Qg03.cjs +0 -1
- package/dist/clamp-DMX7Ua7I.d.cts +0 -37
- package/dist/clamp-DMX7Ua7I.d.cts.map +0 -1
- package/dist/clamp-V39NgixZ.d.ts +0 -37
- package/dist/clamp-V39NgixZ.d.ts.map +0 -1
- package/dist/clamp-zR5XX002.js +0 -2
- package/dist/clamp-zR5XX002.js.map +0 -1
- package/dist/clamped-integer-subtract-CQL8aT__.d.ts +0 -11
- package/dist/clamped-integer-subtract-CQL8aT__.d.ts.map +0 -1
- package/dist/clamped-integer-subtract-DId0tRjp.d.cts +0 -11
- package/dist/clamped-integer-subtract-DId0tRjp.d.cts.map +0 -1
- package/dist/clone-1QjPrzdD.d.cts +0 -35
- package/dist/clone-1QjPrzdD.d.cts.map +0 -1
- package/dist/clone-BcAGB1C1.js +0 -2
- package/dist/clone-BcAGB1C1.js.map +0 -1
- package/dist/clone-DyRAAJkh.cjs +0 -1
- package/dist/clone-UasIry83.d.ts +0 -35
- package/dist/clone-UasIry83.d.ts.map +0 -1
- package/dist/coerced-array-DyA0Yc12.d.ts +0 -17
- package/dist/coerced-array-DyA0Yc12.d.ts.map +0 -1
- package/dist/coerced-array-kVJtBrMl.d.cts +0 -17
- package/dist/coerced-array-kVJtBrMl.d.cts.map +0 -1
- package/dist/concat-BdgaaV6q.d.cts +0 -41
- package/dist/concat-BdgaaV6q.d.cts.map +0 -1
- package/dist/concat-CVEXmYnw.js +0 -2
- package/dist/concat-CVEXmYnw.js.map +0 -1
- package/dist/concat-Cg3I4d7x.cjs +0 -1
- package/dist/concat-DeyDusex.d.ts +0 -41
- package/dist/concat-DeyDusex.d.ts.map +0 -1
- package/dist/conditional-81kit9Lg.cjs +0 -1
- package/dist/conditional-BivA0O7M.d.cts +0 -221
- package/dist/conditional-BivA0O7M.d.cts.map +0 -1
- package/dist/conditional-ClGfJoeu.js +0 -2
- package/dist/conditional-ClGfJoeu.js.map +0 -1
- package/dist/conditional-DeaF48-8.d.ts +0 -221
- package/dist/conditional-DeaF48-8.d.ts.map +0 -1
- package/dist/constant-BuIJ9GIn.cjs +0 -1
- package/dist/constant-DD3Fj3xH.d.cts +0 -32
- package/dist/constant-DD3Fj3xH.d.cts.map +0 -1
- package/dist/constant-DrpDXHc7.js +0 -2
- package/dist/constant-DrpDXHc7.js.map +0 -1
- package/dist/constant-XCH8hVM0.d.ts +0 -32
- package/dist/constant-XCH8hVM0.d.ts.map +0 -1
- package/dist/count-by-CYv2OHvx.d.cts +0 -42
- package/dist/count-by-CYv2OHvx.d.cts.map +0 -1
- package/dist/count-by-DUtzS9CI.cjs +0 -1
- package/dist/count-by-DZwTr8U_.js +0 -2
- package/dist/count-by-DZwTr8U_.js.map +0 -1
- package/dist/count-by-oQGTg_br.d.ts +0 -42
- package/dist/count-by-oQGTg_br.d.ts.map +0 -1
- package/dist/curry-B-8l-0vq.d.ts +0 -68
- package/dist/curry-B-8l-0vq.d.ts.map +0 -1
- package/dist/curry-BPVIsvo3.cjs +0 -1
- package/dist/curry-CzZjDrpv.js +0 -2
- package/dist/curry-CzZjDrpv.js.map +0 -1
- package/dist/curry-from-lazy-BDH06qZ-.cjs +0 -1
- package/dist/curry-from-lazy-BR-hoRDR.js +0 -2
- package/dist/curry-from-lazy-BR-hoRDR.js.map +0 -1
- package/dist/curry-gLBYaLmk.d.cts +0 -68
- package/dist/curry-gLBYaLmk.d.cts.map +0 -1
- package/dist/curry-order-rules-1zjlAgqa.d.cts +0 -48
- package/dist/curry-order-rules-1zjlAgqa.d.cts.map +0 -1
- package/dist/curry-order-rules-BuA7D1F4.js +0 -2
- package/dist/curry-order-rules-BuA7D1F4.js.map +0 -1
- package/dist/curry-order-rules-Cthu8rj4.d.ts +0 -48
- package/dist/curry-order-rules-Cthu8rj4.d.ts.map +0 -1
- package/dist/curry-order-rules-UcuuWkKd.cjs +0 -1
- package/dist/debounce-6x-eQzOn.cjs +0 -1
- package/dist/debounce-BNkJBFrQ.d.cts +0 -96
- package/dist/debounce-BNkJBFrQ.d.cts.map +0 -1
- package/dist/debounce-BtqBDYXu.d.ts +0 -96
- package/dist/debounce-BtqBDYXu.d.ts.map +0 -1
- package/dist/debounce-C9xIAomT.js +0 -2
- package/dist/debounce-C9xIAomT.js.map +0 -1
- package/dist/deduped-BpPNbB_u.d.cts +0 -23
- package/dist/deduped-BpPNbB_u.d.cts.map +0 -1
- package/dist/deduped-C1IQABjb.d.ts +0 -23
- package/dist/deduped-C1IQABjb.d.ts.map +0 -1
- package/dist/difference-B5WQzd-Z.cjs +0 -1
- package/dist/difference-C1tclXTn.d.cts +0 -37
- package/dist/difference-C1tclXTn.d.cts.map +0 -1
- package/dist/difference-DM8qEnVj.d.ts +0 -37
- package/dist/difference-DM8qEnVj.d.ts.map +0 -1
- package/dist/difference-Dgeqsjn_.js +0 -2
- package/dist/difference-Dgeqsjn_.js.map +0 -1
- package/dist/difference-with-BqLSomQj.d.ts +0 -48
- package/dist/difference-with-BqLSomQj.d.ts.map +0 -1
- package/dist/difference-with-CNN8MVj2.cjs +0 -1
- package/dist/difference-with-CTy1JWpg.d.cts +0 -48
- package/dist/difference-with-CTy1JWpg.d.cts.map +0 -1
- package/dist/difference-with-CiySHDr9.js +0 -2
- package/dist/difference-with-CiySHDr9.js.map +0 -1
- package/dist/dist-BQGZfjDS.js +0 -291
- package/dist/dist-BQGZfjDS.js.map +0 -1
- package/dist/dist-gvJoKj_M.cjs +0 -343
- package/dist/divide-BI9ShWGE.js +0 -2
- package/dist/divide-BI9ShWGE.js.map +0 -1
- package/dist/divide-Bsz0OPIK.d.ts +0 -33
- package/dist/divide-Bsz0OPIK.d.ts.map +0 -1
- package/dist/divide-C8COFm-b.d.cts +0 -33
- package/dist/divide-C8COFm-b.d.cts.map +0 -1
- package/dist/divide-ZFT5ZqJ0.cjs +0 -1
- package/dist/do-nothing-Be29JGDG.js +0 -2
- package/dist/do-nothing-Be29JGDG.js.map +0 -1
- package/dist/do-nothing-BvLrwjB7.d.ts +0 -28
- package/dist/do-nothing-BvLrwjB7.d.ts.map +0 -1
- package/dist/do-nothing-Cc1faYu6.cjs +0 -1
- package/dist/do-nothing-xUCzRm4m.d.cts +0 -28
- package/dist/do-nothing-xUCzRm4m.d.cts.map +0 -1
- package/dist/drop-Bmm5QDJI.d.cts +0 -40
- package/dist/drop-Bmm5QDJI.d.cts.map +0 -1
- package/dist/drop-BvsV-rBc.js +0 -2
- package/dist/drop-BvsV-rBc.js.map +0 -1
- package/dist/drop-C-tVyU4K.cjs +0 -1
- package/dist/drop-DTeHYc-D.d.ts +0 -40
- package/dist/drop-DTeHYc-D.d.ts.map +0 -1
- package/dist/drop-first-by-CSqeAzwS.d.cts +0 -41
- package/dist/drop-first-by-CSqeAzwS.d.cts.map +0 -1
- package/dist/drop-first-by-Cclqg5G_.js +0 -2
- package/dist/drop-first-by-Cclqg5G_.js.map +0 -1
- package/dist/drop-first-by-DJOgP-yE.cjs +0 -1
- package/dist/drop-first-by-dH-OI2It.d.ts +0 -41
- package/dist/drop-first-by-dH-OI2It.d.ts.map +0 -1
- package/dist/drop-last-CX8JXA1b.cjs +0 -1
- package/dist/drop-last-CuCKuM4n.js +0 -2
- package/dist/drop-last-CuCKuM4n.js.map +0 -1
- package/dist/drop-last-oiDr5Owj.d.cts +0 -32
- package/dist/drop-last-oiDr5Owj.d.cts.map +0 -1
- package/dist/drop-last-vbp5oZaK.d.ts +0 -32
- package/dist/drop-last-vbp5oZaK.d.ts.map +0 -1
- package/dist/drop-last-while-BbasDoJh.d.ts +0 -36
- package/dist/drop-last-while-BbasDoJh.d.ts.map +0 -1
- package/dist/drop-last-while-C_hHfAhU.d.cts +0 -36
- package/dist/drop-last-while-C_hHfAhU.d.cts.map +0 -1
- package/dist/drop-last-while-DMzZWC3Y.cjs +0 -1
- package/dist/drop-last-while-StSGe_bf.js +0 -2
- package/dist/drop-last-while-StSGe_bf.js.map +0 -1
- package/dist/drop-while-BCln-hAn.js +0 -2
- package/dist/drop-while-BCln-hAn.js.map +0 -1
- package/dist/drop-while-BGbJsU8z.cjs +0 -1
- package/dist/drop-while-CzvSV4z7.d.ts +0 -36
- package/dist/drop-while-CzvSV4z7.d.ts.map +0 -1
- package/dist/drop-while-T3z_MbtJ.d.cts +0 -36
- package/dist/drop-while-T3z_MbtJ.d.cts.map +0 -1
- package/dist/entries--JP88NsB.d.cts +0 -31
- package/dist/entries--JP88NsB.d.cts.map +0 -1
- package/dist/entries-B1cH8giK.cjs +0 -1
- package/dist/entries-Bsl_GQTu.js +0 -2
- package/dist/entries-Bsl_GQTu.js.map +0 -1
- package/dist/entries-YDG-Mx3J.d.ts +0 -31
- package/dist/entries-YDG-Mx3J.d.ts.map +0 -1
- package/dist/enumerable-string-key-of-D2OpyD6n.d.cts +0 -17
- package/dist/enumerable-string-key-of-D2OpyD6n.d.cts.map +0 -1
- package/dist/enumerable-string-key-of-DKzYIarp.d.ts +0 -17
- package/dist/enumerable-string-key-of-DKzYIarp.d.ts.map +0 -1
- package/dist/enumerable-string-keyed-value-of-Bf_owt8O.d.ts +0 -12
- package/dist/enumerable-string-keyed-value-of-Bf_owt8O.d.ts.map +0 -1
- package/dist/enumerable-string-keyed-value-of-aov5dXss.d.cts +0 -12
- package/dist/enumerable-string-keyed-value-of-aov5dXss.d.cts.map +0 -1
- package/dist/evolve-BReerpSa.js +0 -2
- package/dist/evolve-BReerpSa.js.map +0 -1
- package/dist/evolve-CVvPsVxM.d.ts +0 -101
- package/dist/evolve-CVvPsVxM.d.ts.map +0 -1
- package/dist/evolve-DOxUNkYX.d.cts +0 -101
- package/dist/evolve-DOxUNkYX.d.cts.map +0 -1
- package/dist/evolve-DtSJxJiM.cjs +0 -1
- package/dist/filter-CH_YQe9A.js +0 -2
- package/dist/filter-CH_YQe9A.js.map +0 -1
- package/dist/filter-CkFzFT5Q.d.cts +0 -50
- package/dist/filter-CkFzFT5Q.d.cts.map +0 -1
- package/dist/filter-Dlsk63lj.d.ts +0 -50
- package/dist/filter-Dlsk63lj.d.ts.map +0 -1
- package/dist/filter-DsjklegV.cjs +0 -1
- package/dist/filtered-array-BGEkFwrv.d.ts +0 -13
- package/dist/filtered-array-BGEkFwrv.d.ts.map +0 -1
- package/dist/filtered-array-DQcAXQDD.d.cts +0 -13
- package/dist/filtered-array-DQcAXQDD.d.cts.map +0 -1
- package/dist/find-7ahTlXcE.d.ts +0 -64
- package/dist/find-7ahTlXcE.d.ts.map +0 -1
- package/dist/find-Bc-wGZYR.d.cts +0 -64
- package/dist/find-Bc-wGZYR.d.cts.map +0 -1
- package/dist/find-BuO4hH8Z.cjs +0 -1
- package/dist/find-DR6lM3gh.js +0 -2
- package/dist/find-DR6lM3gh.js.map +0 -1
- package/dist/find-index-BO_tEYVo.d.ts +0 -50
- package/dist/find-index-BO_tEYVo.d.ts.map +0 -1
- package/dist/find-index-CojMwOU1.cjs +0 -1
- package/dist/find-index-CzHRd1Ey.js +0 -2
- package/dist/find-index-CzHRd1Ey.js.map +0 -1
- package/dist/find-index-mVR2WVAJ.d.cts +0 -50
- package/dist/find-index-mVR2WVAJ.d.cts.map +0 -1
- package/dist/find-last-CekkNCww.d.ts +0 -62
- package/dist/find-last-CekkNCww.d.ts.map +0 -1
- package/dist/find-last-DqGxSxQ-.d.cts +0 -62
- package/dist/find-last-DqGxSxQ-.d.cts.map +0 -1
- package/dist/find-last-gCcPzwJP.js +0 -2
- package/dist/find-last-gCcPzwJP.js.map +0 -1
- package/dist/find-last-index-C-wdKiKp.cjs +0 -1
- package/dist/find-last-index-C4il48Y6.d.cts +0 -50
- package/dist/find-last-index-C4il48Y6.d.cts.map +0 -1
- package/dist/find-last-index-DuYnKTXJ.js +0 -2
- package/dist/find-last-index-DuYnKTXJ.js.map +0 -1
- package/dist/find-last-index-XB_3-4xj.d.ts +0 -50
- package/dist/find-last-index-XB_3-4xj.d.ts.map +0 -1
- package/dist/find-last-yrb1RLMJ.cjs +0 -1
- package/dist/first-1NtfTucX.d.ts +0 -40
- package/dist/first-1NtfTucX.d.ts.map +0 -1
- package/dist/first-C3rp67g0.d.cts +0 -40
- package/dist/first-C3rp67g0.d.cts.map +0 -1
- package/dist/first-DDQc8owl.js +0 -2
- package/dist/first-DDQc8owl.js.map +0 -1
- package/dist/first-Dbxt3OEg.cjs +0 -1
- package/dist/first-by-B5IsCexF.js +0 -2
- package/dist/first-by-B5IsCexF.js.map +0 -1
- package/dist/first-by-BzxRBZ5J.cjs +0 -1
- package/dist/first-by-C0qf5rwh.d.ts +0 -60
- package/dist/first-by-C0qf5rwh.d.ts.map +0 -1
- package/dist/first-by-Dm9iyhMz.d.cts +0 -60
- package/dist/first-by-Dm9iyhMz.d.cts.map +0 -1
- package/dist/flat-BayJJsR-.cjs +0 -1
- package/dist/flat-BbBf5kJs.d.ts +0 -53
- package/dist/flat-BbBf5kJs.d.ts.map +0 -1
- package/dist/flat-CJrZ3ALE.d.cts +0 -53
- package/dist/flat-CJrZ3ALE.d.cts.map +0 -1
- package/dist/flat-Cd7pIXar.js +0 -2
- package/dist/flat-Cd7pIXar.js.map +0 -1
- package/dist/flat-map-1WAgW39N.js +0 -2
- package/dist/flat-map-1WAgW39N.js.map +0 -1
- package/dist/flat-map-BI-sJd2B.cjs +0 -1
- package/dist/flat-map-Do5YLueq.d.cts +0 -47
- package/dist/flat-map-Do5YLueq.d.cts.map +0 -1
- package/dist/flat-map-Ok5sZOb2.d.ts +0 -47
- package/dist/flat-map-Ok5sZOb2.d.ts.map +0 -1
- package/dist/floor-Bj0O0YjY.cjs +0 -1
- package/dist/floor-C9us6h14.d.ts +0 -39
- package/dist/floor-C9us6h14.d.ts.map +0 -1
- package/dist/floor-C_xareFD.js +0 -2
- package/dist/floor-C_xareFD.js.map +0 -1
- package/dist/floor-bA1oX38x.d.cts +0 -39
- package/dist/floor-bA1oX38x.d.cts.map +0 -1
- package/dist/for-each-BtbPzNDc.cjs +0 -1
- package/dist/for-each-CYTR5H9O.d.cts +0 -54
- package/dist/for-each-CYTR5H9O.d.cts.map +0 -1
- package/dist/for-each-ClKbAv3A.js +0 -2
- package/dist/for-each-ClKbAv3A.js.map +0 -1
- package/dist/for-each-DIxtfnNY.d.ts +0 -54
- package/dist/for-each-DIxtfnNY.d.ts.map +0 -1
- package/dist/for-each-obj-B6BJwtgs.cjs +0 -1
- package/dist/for-each-obj-CJFU3pj_.js +0 -2
- package/dist/for-each-obj-CJFU3pj_.js.map +0 -1
- package/dist/for-each-obj-DRgFFti8.d.ts +0 -47
- package/dist/for-each-obj-DRgFFti8.d.ts.map +0 -1
- package/dist/for-each-obj-yV90UbvE.d.cts +0 -47
- package/dist/for-each-obj-yV90UbvE.d.cts.map +0 -1
- package/dist/from-entries-BqW53CyR.d.ts +0 -68
- package/dist/from-entries-BqW53CyR.d.ts.map +0 -1
- package/dist/from-entries-CToFI5yO.d.cts +0 -68
- package/dist/from-entries-CToFI5yO.d.cts.map +0 -1
- package/dist/from-entries-D6f6Bd0l.js +0 -2
- package/dist/from-entries-D6f6Bd0l.js.map +0 -1
- package/dist/from-entries-DDkKcu-p.cjs +0 -1
- package/dist/from-keys-BYHfvCLR.d.ts +0 -60
- package/dist/from-keys-BYHfvCLR.d.ts.map +0 -1
- package/dist/from-keys-CI2PJlIM.cjs +0 -1
- package/dist/from-keys-DJe8xU7b.js +0 -2
- package/dist/from-keys-DJe8xU7b.js.map +0 -1
- package/dist/from-keys-Ds1mndVk.d.cts +0 -60
- package/dist/from-keys-Ds1mndVk.d.cts.map +0 -1
- package/dist/funnel-1FhwR-u9.d.ts +0 -155
- package/dist/funnel-1FhwR-u9.d.ts.map +0 -1
- package/dist/funnel-CEbURcmp.js +0 -2
- package/dist/funnel-CEbURcmp.js.map +0 -1
- package/dist/funnel-CL-QFpGk.cjs +0 -1
- package/dist/funnel-DRrT4WPx.d.cts +0 -155
- package/dist/funnel-DRrT4WPx.d.cts.map +0 -1
- package/dist/group-by-057Glgkg.cjs +0 -1
- package/dist/group-by-8exEDbij.js +0 -2
- package/dist/group-by-8exEDbij.js.map +0 -1
- package/dist/group-by-DDS1NPHf.d.cts +0 -69
- package/dist/group-by-DDS1NPHf.d.cts.map +0 -1
- package/dist/group-by-prop--MehVKql.d.ts +0 -89
- package/dist/group-by-prop--MehVKql.d.ts.map +0 -1
- package/dist/group-by-prop-ByeUoeXV.cjs +0 -1
- package/dist/group-by-prop-CcSzCSuu.d.cts +0 -89
- package/dist/group-by-prop-CcSzCSuu.d.cts.map +0 -1
- package/dist/group-by-prop-Gi66eXCp.js +0 -2
- package/dist/group-by-prop-Gi66eXCp.js.map +0 -1
- package/dist/group-by-schxH1QR.d.ts +0 -69
- package/dist/group-by-schxH1QR.d.ts.map +0 -1
- package/dist/has-at-least-6iRvhsST.js +0 -2
- package/dist/has-at-least-6iRvhsST.js.map +0 -1
- package/dist/has-at-least-BbYfXc8L.d.cts +0 -59
- package/dist/has-at-least-BbYfXc8L.d.cts.map +0 -1
- package/dist/has-at-least-D-ahiJB6.cjs +0 -1
- package/dist/has-at-least-D1A8i5J3.d.ts +0 -59
- package/dist/has-at-least-D1A8i5J3.d.ts.map +0 -1
- package/dist/has-sub-object-C7LwzJ88.js +0 -2
- package/dist/has-sub-object-C7LwzJ88.js.map +0 -1
- package/dist/has-sub-object-DPcKaDk7.d.ts +0 -44
- package/dist/has-sub-object-DPcKaDk7.d.ts.map +0 -1
- package/dist/has-sub-object-DjlCWSUi.cjs +0 -1
- package/dist/has-sub-object-oUnH6b7a.d.cts +0 -44
- package/dist/has-sub-object-oUnH6b7a.d.cts.map +0 -1
- package/dist/heap-BrQEhV5W.js +0 -2
- package/dist/heap-BrQEhV5W.js.map +0 -1
- package/dist/heap-CpdbyWAN.cjs +0 -1
- package/dist/human-readable-file-size-BtprvwQj.cjs +0 -1
- package/dist/human-readable-file-size-C2gHuBVX.d.ts +0 -17
- package/dist/human-readable-file-size-C2gHuBVX.d.ts.map +0 -1
- package/dist/human-readable-file-size-CPeHO1Te.js +0 -2
- package/dist/human-readable-file-size-CPeHO1Te.js.map +0 -1
- package/dist/human-readable-file-size-DtwHNZes.d.cts +0 -17
- package/dist/human-readable-file-size-DtwHNZes.d.cts.map +0 -1
- package/dist/identity-BAryUWbs.cjs +0 -1
- package/dist/identity-BwbmOFJX.d.ts +0 -22
- package/dist/identity-BwbmOFJX.d.ts.map +0 -1
- package/dist/identity-CPDLj9Cq.d.cts +0 -22
- package/dist/identity-CPDLj9Cq.d.cts.map +0 -1
- package/dist/identity-D7NWGnLw.js +0 -2
- package/dist/identity-D7NWGnLw.js.map +0 -1
- package/dist/index-by-BJH9P6kU.cjs +0 -1
- package/dist/index-by-CJj3L6wv.d.ts +0 -53
- package/dist/index-by-CJj3L6wv.d.ts.map +0 -1
- package/dist/index-by-CNa3p-Is.d.cts +0 -53
- package/dist/index-by-CNa3p-Is.d.cts.map +0 -1
- package/dist/index-by-adSf-XkW.js +0 -2
- package/dist/index-by-adSf-XkW.js.map +0 -1
- package/dist/int-range-inclusive-BSXuRjMO.d.ts +0 -15
- package/dist/int-range-inclusive-BSXuRjMO.d.ts.map +0 -1
- package/dist/int-range-inclusive-DZG3R2Xl.d.cts +0 -15
- package/dist/int-range-inclusive-DZG3R2Xl.d.cts.map +0 -1
- package/dist/intersection-CaBWENw7.d.cts +0 -37
- package/dist/intersection-CaBWENw7.d.cts.map +0 -1
- package/dist/intersection-Crt0YdjH.js +0 -2
- package/dist/intersection-Crt0YdjH.js.map +0 -1
- package/dist/intersection-DJQJxp9k.d.ts +0 -37
- package/dist/intersection-DJQJxp9k.d.ts.map +0 -1
- package/dist/intersection-pxjmHAj1.cjs +0 -1
- package/dist/intersection-with-COmRebRq.d.ts +0 -54
- package/dist/intersection-with-COmRebRq.d.ts.map +0 -1
- package/dist/intersection-with-DlHJvAUn.js +0 -2
- package/dist/intersection-with-DlHJvAUn.js.map +0 -1
- package/dist/intersection-with-Dre9A1oC.d.cts +0 -54
- package/dist/intersection-with-Dre9A1oC.d.cts.map +0 -1
- package/dist/intersection-with-X3fvRkLr.cjs +0 -1
- package/dist/invert-DMSQXxyb.d.ts +0 -33
- package/dist/invert-DMSQXxyb.d.ts.map +0 -1
- package/dist/invert-DhET3F4O.cjs +0 -1
- package/dist/invert-DsEwwjea.js +0 -2
- package/dist/invert-DsEwwjea.js.map +0 -1
- package/dist/invert-W6EUYMws.d.cts +0 -33
- package/dist/invert-W6EUYMws.d.cts.map +0 -1
- package/dist/is-array-DAz7gkMm.d.cts +0 -21
- package/dist/is-array-DAz7gkMm.d.cts.map +0 -1
- package/dist/is-array-DWFX2okh.js +0 -2
- package/dist/is-array-DWFX2okh.js.map +0 -1
- package/dist/is-array-KzYs6pgh.cjs +0 -1
- package/dist/is-array-prXR4sUC.d.ts +0 -21
- package/dist/is-array-prXR4sUC.d.ts.map +0 -1
- package/dist/is-big-int-Cgisg7DN.cjs +0 -1
- package/dist/is-big-int-CnWK6SmP.js +0 -2
- package/dist/is-big-int-CnWK6SmP.js.map +0 -1
- package/dist/is-big-int-Dow1Lswh.d.cts +0 -22
- package/dist/is-big-int-Dow1Lswh.d.cts.map +0 -1
- package/dist/is-big-int-e123CwI2.d.ts +0 -22
- package/dist/is-big-int-e123CwI2.d.ts.map +0 -1
- package/dist/is-boolean-CZKz4ij3.js +0 -2
- package/dist/is-boolean-CZKz4ij3.js.map +0 -1
- package/dist/is-boolean-DADmOIbu.cjs +0 -1
- package/dist/is-boolean-DWuHhrIe.d.ts +0 -21
- package/dist/is-boolean-DWuHhrIe.d.ts.map +0 -1
- package/dist/is-boolean-NhoGl1jZ.d.cts +0 -21
- package/dist/is-boolean-NhoGl1jZ.d.cts.map +0 -1
- package/dist/is-bounded-record-DCEYRY41.d.ts +0 -34
- package/dist/is-bounded-record-DCEYRY41.d.ts.map +0 -1
- package/dist/is-bounded-record-kpsb1wQA.d.cts +0 -34
- package/dist/is-bounded-record-kpsb1wQA.d.cts.map +0 -1
- package/dist/is-date--gIC--NA.d.cts +0 -17
- package/dist/is-date--gIC--NA.d.cts.map +0 -1
- package/dist/is-date-BgcZ3-ed.d.ts +0 -17
- package/dist/is-date-BgcZ3-ed.d.ts.map +0 -1
- package/dist/is-date-CNebQb0Y.cjs +0 -1
- package/dist/is-date-DKKVtHVY.js +0 -2
- package/dist/is-date-DKKVtHVY.js.map +0 -1
- package/dist/is-deep-equal-B_XN4vCU.d.ts +0 -71
- package/dist/is-deep-equal-B_XN4vCU.d.ts.map +0 -1
- package/dist/is-deep-equal-CtBdM4eT.d.cts +0 -71
- package/dist/is-deep-equal-CtBdM4eT.d.cts.map +0 -1
- package/dist/is-deep-equal-D7dqs3e2.js +0 -2
- package/dist/is-deep-equal-D7dqs3e2.js.map +0 -1
- package/dist/is-deep-equal-DR9xJg8D.cjs +0 -1
- package/dist/is-defined-3Qp6lmQw.d.cts +0 -19
- package/dist/is-defined-3Qp6lmQw.d.cts.map +0 -1
- package/dist/is-defined-BnbPFPUx.cjs +0 -1
- package/dist/is-defined-DESIOXqX.d.ts +0 -19
- package/dist/is-defined-DESIOXqX.d.ts.map +0 -1
- package/dist/is-defined-bdl8LRyD.js +0 -2
- package/dist/is-defined-bdl8LRyD.js.map +0 -1
- package/dist/is-empty-BSkgk0sE.js +0 -2
- package/dist/is-empty-BSkgk0sE.js.map +0 -1
- package/dist/is-empty-CFT22qg4.d.cts +0 -35
- package/dist/is-empty-CFT22qg4.d.cts.map +0 -1
- package/dist/is-empty-qOplNC63.d.ts +0 -35
- package/dist/is-empty-qOplNC63.d.ts.map +0 -1
- package/dist/is-empty-s3B43K38.cjs +0 -1
- package/dist/is-error-7hLjNT9B.d.cts +0 -18
- package/dist/is-error-7hLjNT9B.d.cts.map +0 -1
- package/dist/is-error-C0Qr0E3U.js +0 -2
- package/dist/is-error-C0Qr0E3U.js.map +0 -1
- package/dist/is-error-CjiajQ5C.d.ts +0 -18
- package/dist/is-error-CjiajQ5C.d.ts.map +0 -1
- package/dist/is-error-bQ2IwWHj.cjs +0 -1
- package/dist/is-function-DaoOpTFE.cjs +0 -1
- package/dist/is-function-DpNu_iYN.d.ts +0 -18
- package/dist/is-function-DpNu_iYN.d.ts.map +0 -1
- package/dist/is-function-o1ixw9eS.d.cts +0 -18
- package/dist/is-function-o1ixw9eS.d.cts.map +0 -1
- package/dist/is-function-r9PVEQ1p.js +0 -2
- package/dist/is-function-r9PVEQ1p.js.map +0 -1
- package/dist/is-included-in-B1CoqHXo.cjs +0 -1
- package/dist/is-included-in-BeJz7gyj.js +0 -2
- package/dist/is-included-in-BeJz7gyj.js.map +0 -1
- package/dist/is-included-in-CPnrdiNI.d.ts +0 -110
- package/dist/is-included-in-CPnrdiNI.d.ts.map +0 -1
- package/dist/is-included-in-ciZ0ThQh.d.cts +0 -110
- package/dist/is-included-in-ciZ0ThQh.d.cts.map +0 -1
- package/dist/is-non-null-BaxoBfPo.js +0 -2
- package/dist/is-non-null-BaxoBfPo.js.map +0 -1
- package/dist/is-non-null-DnDE6zDD.cjs +0 -1
- package/dist/is-non-null-DtN0OIEX.d.cts +0 -19
- package/dist/is-non-null-DtN0OIEX.d.cts.map +0 -1
- package/dist/is-non-null-Y3FhczVS.d.ts +0 -19
- package/dist/is-non-null-Y3FhczVS.d.ts.map +0 -1
- package/dist/is-non-nullish-BW-uIWkn.d.cts +0 -20
- package/dist/is-non-nullish-BW-uIWkn.d.cts.map +0 -1
- package/dist/is-non-nullish-C7zZvb8c.d.ts +0 -20
- package/dist/is-non-nullish-C7zZvb8c.d.ts.map +0 -1
- package/dist/is-non-nullish-CgmLeA39.cjs +0 -1
- package/dist/is-non-nullish-CsmQhBq1.js +0 -2
- package/dist/is-non-nullish-CsmQhBq1.js.map +0 -1
- package/dist/is-not-C2o5RmWD.cjs +0 -1
- package/dist/is-not-CBCnEdKF.js +0 -2
- package/dist/is-not-CBCnEdKF.js.map +0 -1
- package/dist/is-not-DYVAMLBs.d.cts +0 -19
- package/dist/is-not-DYVAMLBs.d.cts.map +0 -1
- package/dist/is-not-VNjzMFnp.d.ts +0 -19
- package/dist/is-not-VNjzMFnp.d.ts.map +0 -1
- package/dist/is-nullish-CEDQo8Hn.d.ts +0 -23
- package/dist/is-nullish-CEDQo8Hn.d.ts.map +0 -1
- package/dist/is-nullish-DSaUMZZs.js +0 -2
- package/dist/is-nullish-DSaUMZZs.js.map +0 -1
- package/dist/is-nullish-Dd6vFJuS.cjs +0 -1
- package/dist/is-nullish-Djw8KpQn.d.cts +0 -23
- package/dist/is-nullish-Djw8KpQn.d.cts.map +0 -1
- package/dist/is-number-CTdFYf2z.d.cts +0 -22
- package/dist/is-number-CTdFYf2z.d.cts.map +0 -1
- package/dist/is-number-CZ5Eb2Cm.d.ts +0 -22
- package/dist/is-number-CZ5Eb2Cm.d.ts.map +0 -1
- package/dist/is-number-DRJ5I-tT.js +0 -2
- package/dist/is-number-DRJ5I-tT.js.map +0 -1
- package/dist/is-number-Dh9GBANx.cjs +0 -1
- package/dist/is-object-type-4fvedNiu.d.ts +0 -35
- package/dist/is-object-type-4fvedNiu.d.ts.map +0 -1
- package/dist/is-object-type-8OtwCXgl.cjs +0 -1
- package/dist/is-object-type-BWyBChB5.js +0 -2
- package/dist/is-object-type-BWyBChB5.js.map +0 -1
- package/dist/is-object-type-D5u6pYGC.d.cts +0 -35
- package/dist/is-object-type-D5u6pYGC.d.cts.map +0 -1
- package/dist/is-plain-object-BlyD-E-m.d.ts +0 -33
- package/dist/is-plain-object-BlyD-E-m.d.ts.map +0 -1
- package/dist/is-plain-object-BvL_W8IP.d.cts +0 -33
- package/dist/is-plain-object-BvL_W8IP.d.cts.map +0 -1
- package/dist/is-plain-object-Cnx_x0Ei.js +0 -2
- package/dist/is-plain-object-Cnx_x0Ei.js.map +0 -1
- package/dist/is-plain-object-ufeXFQks.cjs +0 -1
- package/dist/is-promise-BVzvJRjb.cjs +0 -1
- package/dist/is-promise-CcLSSGQE.d.ts +0 -18
- package/dist/is-promise-CcLSSGQE.d.ts.map +0 -1
- package/dist/is-promise-DbVIpcYL.js +0 -2
- package/dist/is-promise-DbVIpcYL.js.map +0 -1
- package/dist/is-promise-VSzOkl6R.d.cts +0 -18
- package/dist/is-promise-VSzOkl6R.d.cts.map +0 -1
- package/dist/is-shallow-equal-BygWppM-.js +0 -2
- package/dist/is-shallow-equal-BygWppM-.js.map +0 -1
- package/dist/is-shallow-equal-CSDwHXxr.cjs +0 -1
- package/dist/is-shallow-equal-DQCnwLNk.d.ts +0 -71
- package/dist/is-shallow-equal-DQCnwLNk.d.ts.map +0 -1
- package/dist/is-shallow-equal-DuVbTG3f.d.cts +0 -71
- package/dist/is-shallow-equal-DuVbTG3f.d.cts.map +0 -1
- package/dist/is-strict-equal-2zT4bfOn.js +0 -2
- package/dist/is-strict-equal-2zT4bfOn.js.map +0 -1
- package/dist/is-strict-equal-5yvkDn8Q.d.ts +0 -67
- package/dist/is-strict-equal-5yvkDn8Q.d.ts.map +0 -1
- package/dist/is-strict-equal-Ct5kAZ5_.d.cts +0 -67
- package/dist/is-strict-equal-Ct5kAZ5_.d.cts.map +0 -1
- package/dist/is-strict-equal-sxCmPWrn.cjs +0 -1
- package/dist/is-string-A-koYYS3.js +0 -2
- package/dist/is-string-A-koYYS3.js.map +0 -1
- package/dist/is-string-DAe_2BJR.d.ts +0 -20
- package/dist/is-string-DAe_2BJR.d.ts.map +0 -1
- package/dist/is-string-DiT0W6sZ.cjs +0 -1
- package/dist/is-string-wfqO0Lag.d.cts +0 -20
- package/dist/is-string-wfqO0Lag.d.cts.map +0 -1
- package/dist/is-symbol-CIR-W22K.d.cts +0 -20
- package/dist/is-symbol-CIR-W22K.d.cts.map +0 -1
- package/dist/is-symbol-CVwn3meF.d.ts +0 -20
- package/dist/is-symbol-CVwn3meF.d.ts.map +0 -1
- package/dist/is-symbol-DFWPkgNV.cjs +0 -1
- package/dist/is-symbol-Vzo5mVUM.js +0 -2
- package/dist/is-symbol-Vzo5mVUM.js.map +0 -1
- package/dist/is-truthy-CJgAM1AZ.cjs +0 -1
- package/dist/is-truthy-CoTXzAuK.d.cts +0 -21
- package/dist/is-truthy-CoTXzAuK.d.cts.map +0 -1
- package/dist/is-truthy-Ctdf-v7U.d.ts +0 -21
- package/dist/is-truthy-Ctdf-v7U.d.ts.map +0 -1
- package/dist/is-truthy-ZWo_GERD.js +0 -2
- package/dist/is-truthy-ZWo_GERD.js.map +0 -1
- package/dist/is-union-BEGCMhOi.d.cts +0 -8
- package/dist/is-union-BEGCMhOi.d.cts.map +0 -1
- package/dist/is-union-CBVcM_uW.d.ts +0 -8
- package/dist/is-union-CBVcM_uW.d.ts.map +0 -1
- package/dist/iterable-container-V5sa0V_H.d.cts +0 -17
- package/dist/iterable-container-V5sa0V_H.d.cts.map +0 -1
- package/dist/iterable-container-wtkYslN_.d.ts +0 -17
- package/dist/iterable-container-wtkYslN_.d.ts.map +0 -1
- package/dist/join-BXqvyin6.cjs +0 -1
- package/dist/join-D0iujfDN.d.cts +0 -46
- package/dist/join-D0iujfDN.d.cts.map +0 -1
- package/dist/join-E8OrzoQ8.d.ts +0 -46
- package/dist/join-E8OrzoQ8.d.ts.map +0 -1
- package/dist/join-nCY8bATt.js +0 -2
- package/dist/join-nCY8bATt.js.map +0 -1
- package/dist/key-codes-3lqUuEMs.d.cts +0 -29
- package/dist/key-codes-3lqUuEMs.d.cts.map +0 -1
- package/dist/key-codes-ChQrhdSG.js +0 -2
- package/dist/key-codes-ChQrhdSG.js.map +0 -1
- package/dist/key-codes-Do_lEvpi.d.ts +0 -29
- package/dist/key-codes-Do_lEvpi.d.ts.map +0 -1
- package/dist/key-codes-DofSlv3v.cjs +0 -1
- package/dist/keys-BOIca6L1.d.cts +0 -38
- package/dist/keys-BOIca6L1.d.cts.map +0 -1
- package/dist/keys-CeZxsvdJ.js +0 -2
- package/dist/keys-CeZxsvdJ.js.map +0 -1
- package/dist/keys-DQwPfo__.cjs +0 -1
- package/dist/keys-fX8vI-uH.d.ts +0 -38
- package/dist/keys-fX8vI-uH.d.ts.map +0 -1
- package/dist/last-BoVh9Bgz.d.ts +0 -37
- package/dist/last-BoVh9Bgz.d.ts.map +0 -1
- package/dist/last-BsvhqAkE.js +0 -2
- package/dist/last-BsvhqAkE.js.map +0 -1
- package/dist/last-Cy_0pMbz.d.cts +0 -37
- package/dist/last-Cy_0pMbz.d.cts.map +0 -1
- package/dist/last-DCnS88X2.cjs +0 -1
- package/dist/lazy-data-last-impl-3PAFkslW.cjs +0 -1
- package/dist/lazy-data-last-impl-7QfM1xXg.js +0 -2
- package/dist/lazy-data-last-impl-7QfM1xXg.js.map +0 -1
- package/dist/length-BKo5HUVo.d.ts +0 -28
- package/dist/length-BKo5HUVo.d.ts.map +0 -1
- package/dist/length-BtKC_n_k.js +0 -2
- package/dist/length-BtKC_n_k.js.map +0 -1
- package/dist/length-Cch-gs0T.cjs +0 -1
- package/dist/length-DQCuaUy9.d.cts +0 -28
- package/dist/length-DQCuaUy9.d.cts.map +0 -1
- package/dist/magic-string.es-Dlejmjth.cjs +0 -15
- package/dist/magic-string.es-bOkeFdlI.js +0 -15
- package/dist/magic-string.es-bOkeFdlI.js.map +0 -1
- package/dist/map-2CmGA3HQ.cjs +0 -1
- package/dist/map-D2kXyrhE.d.ts +0 -47
- package/dist/map-D2kXyrhE.d.ts.map +0 -1
- package/dist/map-hbl-e0fs.d.cts +0 -47
- package/dist/map-hbl-e0fs.d.cts.map +0 -1
- package/dist/map-keys-5JqEYSRn.js +0 -2
- package/dist/map-keys-5JqEYSRn.js.map +0 -1
- package/dist/map-keys-B636MLly.cjs +0 -1
- package/dist/map-keys-BMF5TTCT.d.cts +0 -34
- package/dist/map-keys-BMF5TTCT.d.cts.map +0 -1
- package/dist/map-keys-DTuz2AU9.d.ts +0 -34
- package/dist/map-keys-DTuz2AU9.d.ts.map +0 -1
- package/dist/map-t5kkqRLl.js +0 -2
- package/dist/map-t5kkqRLl.js.map +0 -1
- package/dist/map-to-obj-C3TvW3Zq.d.ts +0 -68
- package/dist/map-to-obj-C3TvW3Zq.d.ts.map +0 -1
- package/dist/map-to-obj-D5MFa8lB.d.cts +0 -68
- package/dist/map-to-obj-D5MFa8lB.d.cts.map +0 -1
- package/dist/map-to-obj-D8GiFVoH.cjs +0 -1
- package/dist/map-to-obj-DSoMzAgs.js +0 -2
- package/dist/map-to-obj-DSoMzAgs.js.map +0 -1
- package/dist/map-values-Bj4nhj3r.js +0 -2
- package/dist/map-values-Bj4nhj3r.js.map +0 -1
- package/dist/map-values-CXFe39-O.d.ts +0 -42
- package/dist/map-values-CXFe39-O.d.ts.map +0 -1
- package/dist/map-values-CbOf72JF.cjs +0 -1
- package/dist/map-values-DgFd9qsH.d.cts +0 -42
- package/dist/map-values-DgFd9qsH.d.cts.map +0 -1
- package/dist/map-with-feedback-Bjyq9-ss.d.cts +0 -54
- package/dist/map-with-feedback-Bjyq9-ss.d.cts.map +0 -1
- package/dist/map-with-feedback-BwvFVDYW.cjs +0 -1
- package/dist/map-with-feedback-DV8xKpjj.d.ts +0 -54
- package/dist/map-with-feedback-DV8xKpjj.d.ts.map +0 -1
- package/dist/map-with-feedback-l2Hn2I08.js +0 -2
- package/dist/map-with-feedback-l2Hn2I08.js.map +0 -1
- package/dist/mapped-CywWFD6s.d.ts +0 -7
- package/dist/mapped-CywWFD6s.d.ts.map +0 -1
- package/dist/mapped-DdfSDQ5D.d.cts +0 -7
- package/dist/mapped-DdfSDQ5D.d.cts.map +0 -1
- package/dist/mean-by-CSUU6ZRi.d.cts +0 -35
- package/dist/mean-by-CSUU6ZRi.d.cts.map +0 -1
- package/dist/mean-by-D6OE3lEe.cjs +0 -1
- package/dist/mean-by-D6OGvOgW.js +0 -2
- package/dist/mean-by-D6OGvOgW.js.map +0 -1
- package/dist/mean-by-DiH-QI0U.d.ts +0 -35
- package/dist/mean-by-DiH-QI0U.d.ts.map +0 -1
- package/dist/merge-BKrUYniy.cjs +0 -1
- package/dist/merge-CXnHl0ti.d.cts +0 -57
- package/dist/merge-CXnHl0ti.d.cts.map +0 -1
- package/dist/merge-DM3LuCr8.js +0 -2
- package/dist/merge-DM3LuCr8.js.map +0 -1
- package/dist/merge-EO0Q1QPA.d.ts +0 -57
- package/dist/merge-EO0Q1QPA.d.ts.map +0 -1
- package/dist/merge-all-BbdTIlUo.js +0 -2
- package/dist/merge-all-BbdTIlUo.js.map +0 -1
- package/dist/merge-all-DA-xZzpl.d.ts +0 -42
- package/dist/merge-all-DA-xZzpl.d.ts.map +0 -1
- package/dist/merge-all-DkmSC0ri.d.cts +0 -42
- package/dist/merge-all-DkmSC0ri.d.cts.map +0 -1
- package/dist/merge-all-MOlMBgeb.cjs +0 -1
- package/dist/merge-deep-A4Cgd47e.d.ts +0 -37
- package/dist/merge-deep-A4Cgd47e.d.ts.map +0 -1
- package/dist/merge-deep-BcekJf0s.cjs +0 -1
- package/dist/merge-deep-DAfbgx82.d.cts +0 -37
- package/dist/merge-deep-DAfbgx82.d.cts.map +0 -1
- package/dist/merge-deep-Dn1sRc5z.js +0 -2
- package/dist/merge-deep-Dn1sRc5z.js.map +0 -1
- package/dist/multiply-BI2VvlFd.js +0 -2
- package/dist/multiply-BI2VvlFd.js.map +0 -1
- package/dist/multiply-CTfXAoM_.cjs +0 -1
- package/dist/multiply-UBFQYNUD.d.ts +0 -33
- package/dist/multiply-UBFQYNUD.d.ts.map +0 -1
- package/dist/multiply-gDDdmofq.d.cts +0 -33
- package/dist/multiply-gDDdmofq.d.cts.map +0 -1
- package/dist/n-tuple-BELi5yRe.d.ts +0 -12
- package/dist/n-tuple-BELi5yRe.d.ts.map +0 -1
- package/dist/n-tuple-Co_jgwEn.d.cts +0 -12
- package/dist/n-tuple-Co_jgwEn.d.cts.map +0 -1
- package/dist/narrowed-to-BTrqm7Xt.d.cts +0 -15
- package/dist/narrowed-to-BTrqm7Xt.d.cts.map +0 -1
- package/dist/narrowed-to-C6wP224-.d.ts +0 -15
- package/dist/narrowed-to-C6wP224-.d.ts.map +0 -1
- package/dist/non-empty-array-D3HWDPMt.d.ts +0 -5
- package/dist/non-empty-array-D3HWDPMt.d.ts.map +0 -1
- package/dist/non-empty-array-D3ZRHApS.d.cts +0 -5
- package/dist/non-empty-array-D3ZRHApS.d.cts.map +0 -1
- package/dist/nth-by-BLlYxw3C.cjs +0 -1
- package/dist/nth-by-BR1fcwCZ.js +0 -2
- package/dist/nth-by-BR1fcwCZ.js.map +0 -1
- package/dist/nth-by-CKFOiBHp.d.cts +0 -42
- package/dist/nth-by-CKFOiBHp.d.cts.map +0 -1
- package/dist/nth-by-DX2PBdEe.d.ts +0 -42
- package/dist/nth-by-DX2PBdEe.d.ts.map +0 -1
- package/dist/obj-of-B7t_1Jdi.d.ts +0 -27
- package/dist/obj-of-B7t_1Jdi.d.ts.map +0 -1
- package/dist/obj-of-CXD9MOPS.js +0 -2
- package/dist/obj-of-CXD9MOPS.js.map +0 -1
- package/dist/obj-of-DE7eb-D1.cjs +0 -1
- package/dist/obj-of-OgSK6d9I.d.cts +0 -27
- package/dist/obj-of-OgSK6d9I.d.cts.map +0 -1
- package/dist/omit-Bpyv8_An.d.ts +0 -29
- package/dist/omit-Bpyv8_An.d.ts.map +0 -1
- package/dist/omit-DB0YVkss.d.cts +0 -29
- package/dist/omit-DB0YVkss.d.cts.map +0 -1
- package/dist/omit-DDC-zMp9.cjs +0 -1
- package/dist/omit-Dgi9IFmV.js +0 -2
- package/dist/omit-Dgi9IFmV.js.map +0 -1
- package/dist/omit-by-6UKJmELm.d.cts +0 -52
- package/dist/omit-by-6UKJmELm.d.cts.map +0 -1
- package/dist/omit-by-BUnyJURX.js +0 -2
- package/dist/omit-by-BUnyJURX.js.map +0 -1
- package/dist/omit-by-BwOILpho.d.ts +0 -52
- package/dist/omit-by-BwOILpho.d.ts.map +0 -1
- package/dist/omit-by-DODiMBly.cjs +0 -1
- package/dist/once-CDA15oHo.js +0 -2
- package/dist/once-CDA15oHo.js.map +0 -1
- package/dist/once-CKjmehD8.d.cts +0 -17
- package/dist/once-CKjmehD8.d.cts.map +0 -1
- package/dist/once-DBa0D-t8.d.ts +0 -17
- package/dist/once-DBa0D-t8.d.ts.map +0 -1
- package/dist/once-ndNMC6PL.cjs +0 -1
- package/dist/only-DRLNxyIr.d.cts +0 -34
- package/dist/only-DRLNxyIr.d.cts.map +0 -1
- package/dist/only-IIcEVYAb.cjs +0 -1
- package/dist/only-Kwk1k50y.js +0 -2
- package/dist/only-Kwk1k50y.js.map +0 -1
- package/dist/only-iY0lPSED.d.ts +0 -34
- package/dist/only-iY0lPSED.d.ts.map +0 -1
- package/dist/partial-array-CzOnr197.d.cts +0 -12
- package/dist/partial-array-CzOnr197.d.cts.map +0 -1
- package/dist/partial-array-IoGI5gCo.d.ts +0 -12
- package/dist/partial-array-IoGI5gCo.d.ts.map +0 -1
- package/dist/partition-BAwbSsom.cjs +0 -1
- package/dist/partition-BRCPpbRh.d.cts +0 -51
- package/dist/partition-BRCPpbRh.d.cts.map +0 -1
- package/dist/partition-BmC5u4fI.js +0 -2
- package/dist/partition-BmC5u4fI.js.map +0 -1
- package/dist/partition-TVQP5mCe.d.ts +0 -51
- package/dist/partition-TVQP5mCe.d.ts.map +0 -1
- package/dist/path-or-BY4Gf2OC.js +0 -2
- package/dist/path-or-BY4Gf2OC.js.map +0 -1
- package/dist/path-or-CVvftsB5.cjs +0 -1
- package/dist/path-or-Cly_jEXS.d.ts +0 -87
- package/dist/path-or-Cly_jEXS.d.ts.map +0 -1
- package/dist/path-or-mXO0iY19.d.cts +0 -87
- package/dist/path-or-mXO0iY19.d.cts.map +0 -1
- package/dist/perkakas-type-error-0tHtaPbi.d.cts +0 -19
- package/dist/perkakas-type-error-0tHtaPbi.d.cts.map +0 -1
- package/dist/perkakas-type-error-Da3ni385.d.ts +0 -19
- package/dist/perkakas-type-error-Da3ni385.d.ts.map +0 -1
- package/dist/pick--K1QxTFe.cjs +0 -1
- package/dist/pick-BeGmtZCr.d.ts +0 -66
- package/dist/pick-BeGmtZCr.d.ts.map +0 -1
- package/dist/pick-BuIVJICv.js +0 -2
- package/dist/pick-BuIVJICv.js.map +0 -1
- package/dist/pick-CsXZS_Xe.d.cts +0 -66
- package/dist/pick-CsXZS_Xe.d.cts.map +0 -1
- package/dist/pick-by-CVILzj6i.cjs +0 -1
- package/dist/pick-by-CmgAp9Gv.d.ts +0 -68
- package/dist/pick-by-CmgAp9Gv.d.ts.map +0 -1
- package/dist/pick-by-D6ACT8QA.js +0 -2
- package/dist/pick-by-D6ACT8QA.js.map +0 -1
- package/dist/pick-by-DVekF8fN.d.cts +0 -68
- package/dist/pick-by-DVekF8fN.d.cts.map +0 -1
- package/dist/pipe-CjmXKJLt.d.ts +0 -34
- package/dist/pipe-CjmXKJLt.d.ts.map +0 -1
- package/dist/pipe-CtsfTnqv.js +0 -2
- package/dist/pipe-CtsfTnqv.js.map +0 -1
- package/dist/pipe-DGVP9PCt.d.cts +0 -34
- package/dist/pipe-DGVP9PCt.d.cts.map +0 -1
- package/dist/pipe-DlFjc4Wf.cjs +0 -1
- package/dist/piped-7IMVVz1U.d.ts +0 -31
- package/dist/piped-7IMVVz1U.d.ts.map +0 -1
- package/dist/piped-Bj0X7cQT.js +0 -2
- package/dist/piped-Bj0X7cQT.js.map +0 -1
- package/dist/piped-Brc8b_TJ.d.cts +0 -31
- package/dist/piped-Brc8b_TJ.d.cts.map +0 -1
- package/dist/piped-Dk4o0Pdm.cjs +0 -1
- package/dist/product-BHRT4Aan.cjs +0 -1
- package/dist/product-D3OVy5Sj.js +0 -2
- package/dist/product-D3OVy5Sj.js.map +0 -1
- package/dist/product-DKaFnVZj.d.cts +0 -52
- package/dist/product-DKaFnVZj.d.cts.map +0 -1
- package/dist/product-DSfUTpxQ.d.ts +0 -52
- package/dist/product-DSfUTpxQ.d.ts.map +0 -1
- package/dist/prop-1ZO514Bp.d.cts +0 -88
- package/dist/prop-1ZO514Bp.d.cts.map +0 -1
- package/dist/prop-BAo3Mk2v.js +0 -2
- package/dist/prop-BAo3Mk2v.js.map +0 -1
- package/dist/prop-BMBSfMKq.d.ts +0 -88
- package/dist/prop-BMBSfMKq.d.ts.map +0 -1
- package/dist/prop-BRP9y5gY.cjs +0 -1
- package/dist/pull-object-CmpUbuXg.d.ts +0 -70
- package/dist/pull-object-CmpUbuXg.d.ts.map +0 -1
- package/dist/pull-object-s5cSNZGP.js +0 -2
- package/dist/pull-object-s5cSNZGP.js.map +0 -1
- package/dist/pull-object-svkB0qoh.d.cts +0 -70
- package/dist/pull-object-svkB0qoh.d.cts.map +0 -1
- package/dist/pull-object-xYSFzkv6.cjs +0 -1
- package/dist/random-integer-6M2bFpGx.d.cts +0 -23
- package/dist/random-integer-6M2bFpGx.d.cts.map +0 -1
- package/dist/random-integer-6gYh92ze.cjs +0 -1
- package/dist/random-integer-BschXumd.d.ts +0 -23
- package/dist/random-integer-BschXumd.d.ts.map +0 -1
- package/dist/random-integer-D27vFslT.js +0 -2
- package/dist/random-integer-D27vFslT.js.map +0 -1
- package/dist/random-string-B49LA01O.js +0 -2
- package/dist/random-string-B49LA01O.js.map +0 -1
- package/dist/random-string-DBUea-au.d.ts +0 -29
- package/dist/random-string-DBUea-au.d.ts.map +0 -1
- package/dist/random-string-DlACN4ZV.d.cts +0 -29
- package/dist/random-string-DlACN4ZV.d.cts.map +0 -1
- package/dist/random-string-LG5QFZXR.cjs +0 -1
- package/dist/range-BNpqskPd.d.ts +0 -27
- package/dist/range-BNpqskPd.d.ts.map +0 -1
- package/dist/range-BYm8b8OO.cjs +0 -1
- package/dist/range-BtCOvN_L.js +0 -2
- package/dist/range-BtCOvN_L.js.map +0 -1
- package/dist/range-EauFMBl4.d.cts +0 -27
- package/dist/range-EauFMBl4.d.cts.map +0 -1
- package/dist/rank-by-B5nxlwg6.d.cts +0 -45
- package/dist/rank-by-B5nxlwg6.d.cts.map +0 -1
- package/dist/rank-by-B778jLnu.cjs +0 -1
- package/dist/rank-by-D3jUXMA3.js +0 -2
- package/dist/rank-by-D3jUXMA3.js.map +0 -1
- package/dist/rank-by-urjGYBfY.d.ts +0 -45
- package/dist/rank-by-urjGYBfY.d.ts.map +0 -1
- package/dist/reduce-BXmHWGo2.cjs +0 -1
- package/dist/reduce-DYv-piI7.d.cts +0 -53
- package/dist/reduce-DYv-piI7.d.cts.map +0 -1
- package/dist/reduce-RFXB_tDG.d.ts +0 -53
- package/dist/reduce-RFXB_tDG.d.ts.map +0 -1
- package/dist/reduce-RxP5hmH5.js +0 -2
- package/dist/reduce-RxP5hmH5.js.map +0 -1
- package/dist/reordered-array-BJtughHE.d.ts +0 -7
- package/dist/reordered-array-BJtughHE.d.ts.map +0 -1
- package/dist/reordered-array-CNK-grX0.d.cts +0 -7
- package/dist/reordered-array-CNK-grX0.d.cts.map +0 -1
- package/dist/reverse-Bu350kg_.d.cts +0 -29
- package/dist/reverse-Bu350kg_.d.cts.map +0 -1
- package/dist/reverse-DZc8DCPA.js +0 -2
- package/dist/reverse-DZc8DCPA.js.map +0 -1
- package/dist/reverse-l_bD9Y9C.cjs +0 -1
- package/dist/reverse-w5Ru5uLJ.d.ts +0 -29
- package/dist/reverse-w5Ru5uLJ.d.ts.map +0 -1
- package/dist/round-BDhuebcp.d.ts +0 -39
- package/dist/round-BDhuebcp.d.ts.map +0 -1
- package/dist/round-CBhbfa_y.cjs +0 -1
- package/dist/round-DhclizH1.js +0 -2
- package/dist/round-DhclizH1.js.map +0 -1
- package/dist/round-rQiLyN4w.d.cts +0 -39
- package/dist/round-rQiLyN4w.d.cts.map +0 -1
- package/dist/sample-9vI5EmCM.d.cts +0 -69
- package/dist/sample-9vI5EmCM.d.cts.map +0 -1
- package/dist/sample-BHIZQL57.d.ts +0 -69
- package/dist/sample-BHIZQL57.d.ts.map +0 -1
- package/dist/sample-DEt8y7NC.js +0 -2
- package/dist/sample-DEt8y7NC.js.map +0 -1
- package/dist/sample-arGcBCIK.cjs +0 -1
- package/dist/set-B-FVFS41.cjs +0 -1
- package/dist/set-C3uDSGtA.d.cts +0 -40
- package/dist/set-C3uDSGtA.d.cts.map +0 -1
- package/dist/set-DXK1kRjm.js +0 -2
- package/dist/set-DXK1kRjm.js.map +0 -1
- package/dist/set-Dg5x0drC.d.ts +0 -40
- package/dist/set-Dg5x0drC.d.ts.map +0 -1
- package/dist/set-path-B7WmM4pj.cjs +0 -1
- package/dist/set-path-BBiEMMBi.d.cts +0 -47
- package/dist/set-path-BBiEMMBi.d.cts.map +0 -1
- package/dist/set-path-BIWA01lW.d.ts +0 -47
- package/dist/set-path-BIWA01lW.d.ts.map +0 -1
- package/dist/set-path-DpNQC1fV.js +0 -2
- package/dist/set-path-DpNQC1fV.js.map +0 -1
- package/dist/shuffle-0bfhzGGR.cjs +0 -1
- package/dist/shuffle-BLhbIQQt.js +0 -2
- package/dist/shuffle-BLhbIQQt.js.map +0 -1
- package/dist/shuffle-BzeqMrKZ.d.ts +0 -31
- package/dist/shuffle-BzeqMrKZ.d.ts.map +0 -1
- package/dist/shuffle-CaSQtM8e.d.cts +0 -31
- package/dist/shuffle-CaSQtM8e.d.cts.map +0 -1
- package/dist/sleep-1rGV3wAg.cjs +0 -1
- package/dist/sleep-BCki6kgY.d.cts +0 -16
- package/dist/sleep-BCki6kgY.d.cts.map +0 -1
- package/dist/sleep-BtY6g8Yq.d.ts +0 -16
- package/dist/sleep-BtY6g8Yq.d.ts.map +0 -1
- package/dist/sleep-DvzRMgY-.js +0 -2
- package/dist/sleep-DvzRMgY-.js.map +0 -1
- package/dist/slice-string-BwFQg4Yf.d.ts +0 -41
- package/dist/slice-string-BwFQg4Yf.d.ts.map +0 -1
- package/dist/slice-string-DejPzRCB.js +0 -2
- package/dist/slice-string-DejPzRCB.js.map +0 -1
- package/dist/slice-string-LJL__fcW.d.cts +0 -41
- package/dist/slice-string-LJL__fcW.d.cts.map +0 -1
- package/dist/slice-string-q-zH_WUu.cjs +0 -1
- package/dist/slugify-5J_YiC6S.js +0 -2
- package/dist/slugify-5J_YiC6S.js.map +0 -1
- package/dist/slugify-CAFKQvdB.cjs +0 -1
- package/dist/slugify-D7YgZAoM.d.cts +0 -15
- package/dist/slugify-D7YgZAoM.d.cts.map +0 -1
- package/dist/slugify-DXOLjypc.d.ts +0 -15
- package/dist/slugify-DXOLjypc.d.ts.map +0 -1
- package/dist/sort-CTZy6xBq.d.cts +0 -39
- package/dist/sort-CTZy6xBq.d.cts.map +0 -1
- package/dist/sort-CVjvrZjo.d.ts +0 -39
- package/dist/sort-CVjvrZjo.d.ts.map +0 -1
- package/dist/sort-CaAnTT3F.cjs +0 -1
- package/dist/sort-D8s8kRLr.js +0 -2
- package/dist/sort-D8s8kRLr.js.map +0 -1
- package/dist/sort-by-CrMqBzvd.d.cts +0 -88
- package/dist/sort-by-CrMqBzvd.d.cts.map +0 -1
- package/dist/sort-by-DBCZSbb4.cjs +0 -1
- package/dist/sort-by-DPlbBz7L.js +0 -2
- package/dist/sort-by-DPlbBz7L.js.map +0 -1
- package/dist/sort-by-ovbQMg9U.d.ts +0 -88
- package/dist/sort-by-ovbQMg9U.d.ts.map +0 -1
- package/dist/sorted-index-BFrWiZn3.cjs +0 -1
- package/dist/sorted-index-Bmn5VLYJ.d.ts +0 -45
- package/dist/sorted-index-Bmn5VLYJ.d.ts.map +0 -1
- package/dist/sorted-index-CTM_l6te.d.cts +0 -45
- package/dist/sorted-index-CTM_l6te.d.cts.map +0 -1
- package/dist/sorted-index-DMcONUoc.js +0 -2
- package/dist/sorted-index-DMcONUoc.js.map +0 -1
- package/dist/sorted-index-by-CEUsUJdi.d.cts +0 -70
- package/dist/sorted-index-by-CEUsUJdi.d.cts.map +0 -1
- package/dist/sorted-index-by-CLUr58al.js +0 -2
- package/dist/sorted-index-by-CLUr58al.js.map +0 -1
- package/dist/sorted-index-by-CyQx_bQb.d.ts +0 -70
- package/dist/sorted-index-by-CyQx_bQb.d.ts.map +0 -1
- package/dist/sorted-index-by-ywbBQhCr.cjs +0 -1
- package/dist/sorted-index-with-CGyMmjPN.d.ts +0 -72
- package/dist/sorted-index-with-CGyMmjPN.d.ts.map +0 -1
- package/dist/sorted-index-with-Cy9W9sdh.d.cts +0 -72
- package/dist/sorted-index-with-Cy9W9sdh.d.cts.map +0 -1
- package/dist/sorted-index-with-D5BcwSL_.cjs +0 -1
- package/dist/sorted-index-with-kTK8prmw.js +0 -2
- package/dist/sorted-index-with-kTK8prmw.js.map +0 -1
- package/dist/sorted-last-index-B4zg__sQ.js +0 -2
- package/dist/sorted-last-index-B4zg__sQ.js.map +0 -1
- package/dist/sorted-last-index-CHvbfpBS.d.cts +0 -45
- package/dist/sorted-last-index-CHvbfpBS.d.cts.map +0 -1
- package/dist/sorted-last-index-CdPROn6x.cjs +0 -1
- package/dist/sorted-last-index-DnqTn-Ev.d.ts +0 -45
- package/dist/sorted-last-index-DnqTn-Ev.d.ts.map +0 -1
- package/dist/sorted-last-index-by-B-IP-O5g.cjs +0 -1
- package/dist/sorted-last-index-by-BGr5WioW.js +0 -2
- package/dist/sorted-last-index-by-BGr5WioW.js.map +0 -1
- package/dist/sorted-last-index-by-BipSOnBS.d.ts +0 -72
- package/dist/sorted-last-index-by-BipSOnBS.d.ts.map +0 -1
- package/dist/sorted-last-index-by-u7mPctkh.d.cts +0 -72
- package/dist/sorted-last-index-by-u7mPctkh.d.cts.map +0 -1
- package/dist/splice-BwsAFdV8.cjs +0 -1
- package/dist/splice-CR6DLiFm.d.cts +0 -35
- package/dist/splice-CR6DLiFm.d.cts.map +0 -1
- package/dist/splice-CRabhu-x.d.ts +0 -35
- package/dist/splice-CRabhu-x.d.ts.map +0 -1
- package/dist/splice-DCOBlrIJ.js +0 -2
- package/dist/splice-DCOBlrIJ.js.map +0 -1
- package/dist/split-BMnz50TJ.d.ts +0 -62
- package/dist/split-BMnz50TJ.d.ts.map +0 -1
- package/dist/split-BSiis5Fh.d.cts +0 -62
- package/dist/split-BSiis5Fh.d.cts.map +0 -1
- package/dist/split-Bs-frJ_a.cjs +0 -1
- package/dist/split-D1qUxipp.js +0 -2
- package/dist/split-D1qUxipp.js.map +0 -1
- package/dist/split-at-B3v6wCCc.d.ts +0 -31
- package/dist/split-at-B3v6wCCc.d.ts.map +0 -1
- package/dist/split-at-CU-3otme.d.cts +0 -31
- package/dist/split-at-CU-3otme.d.cts.map +0 -1
- package/dist/split-at-DUSqIHw-.cjs +0 -1
- package/dist/split-at-vzCujYHL.js +0 -2
- package/dist/split-at-vzCujYHL.js.map +0 -1
- package/dist/split-when-BTekNxF-.d.ts +0 -29
- package/dist/split-when-BTekNxF-.d.ts.map +0 -1
- package/dist/split-when-C7OSEoW3.js +0 -2
- package/dist/split-when-C7OSEoW3.js.map +0 -1
- package/dist/split-when-CCi2Wq1B.cjs +0 -1
- package/dist/split-when-DaTD5jVa.d.cts +0 -29
- package/dist/split-when-DaTD5jVa.d.cts.map +0 -1
- package/dist/string-to-path-C7H_9SeW.d.cts +0 -39
- package/dist/string-to-path-C7H_9SeW.d.cts.map +0 -1
- package/dist/string-to-path-CS10CXKM.d.ts +0 -39
- package/dist/string-to-path-CS10CXKM.d.ts.map +0 -1
- package/dist/string-to-path-D4HSg6rf.js +0 -2
- package/dist/string-to-path-D4HSg6rf.js.map +0 -1
- package/dist/string-to-path-Q_OMxElX.cjs +0 -1
- package/dist/subtract-CktIeIei.js +0 -2
- package/dist/subtract-CktIeIei.js.map +0 -1
- package/dist/subtract-Crhaj882.cjs +0 -1
- package/dist/subtract-DxrBj9Ir.d.ts +0 -35
- package/dist/subtract-DxrBj9Ir.d.ts.map +0 -1
- package/dist/subtract-WxyebhP-.d.cts +0 -35
- package/dist/subtract-WxyebhP-.d.cts.map +0 -1
- package/dist/sum-BL8tGYgI.cjs +0 -1
- package/dist/sum-CcpwR68x.d.cts +0 -50
- package/dist/sum-CcpwR68x.d.cts.map +0 -1
- package/dist/sum-bjQo9S5Q.d.ts +0 -50
- package/dist/sum-bjQo9S5Q.d.ts.map +0 -1
- package/dist/sum-by-BLqXTrME.d.ts +0 -57
- package/dist/sum-by-BLqXTrME.d.ts.map +0 -1
- package/dist/sum-by-CIOYhCgY.cjs +0 -1
- package/dist/sum-by-CqGEkkyR.d.cts +0 -57
- package/dist/sum-by-CqGEkkyR.d.cts.map +0 -1
- package/dist/sum-by-eeHiHAej.js +0 -2
- package/dist/sum-by-eeHiHAej.js.map +0 -1
- package/dist/sum-lEJNA4zT.js +0 -2
- package/dist/sum-lEJNA4zT.js.map +0 -1
- package/dist/swap-in-place-BBqaxzzG.js +0 -2
- package/dist/swap-in-place-BBqaxzzG.js.map +0 -1
- package/dist/swap-in-place-CJrU2n1_.cjs +0 -1
- package/dist/swap-indices-CMgMD_dW.js +0 -2
- package/dist/swap-indices-CMgMD_dW.js.map +0 -1
- package/dist/swap-indices-CRAsQaXi.cjs +0 -1
- package/dist/swap-indices-CdclLgV-.d.ts +0 -61
- package/dist/swap-indices-CdclLgV-.d.ts.map +0 -1
- package/dist/swap-indices-KQ4fsLkb.d.cts +0 -61
- package/dist/swap-indices-KQ4fsLkb.d.cts.map +0 -1
- package/dist/swap-props-BQ2a9nZO.cjs +0 -1
- package/dist/swap-props-D-buo88H.d.ts +0 -34
- package/dist/swap-props-D-buo88H.d.ts.map +0 -1
- package/dist/swap-props-D7be4C3M.d.cts +0 -34
- package/dist/swap-props-D7be4C3M.d.cts.map +0 -1
- package/dist/swap-props-sxLIvQ4Y.js +0 -2
- package/dist/swap-props-sxLIvQ4Y.js.map +0 -1
- package/dist/take-BV-ctBqK.d.cts +0 -34
- package/dist/take-BV-ctBqK.d.cts.map +0 -1
- package/dist/take-Cn0xLGe4.js +0 -2
- package/dist/take-Cn0xLGe4.js.map +0 -1
- package/dist/take-CnVckkWV.d.ts +0 -34
- package/dist/take-CnVckkWV.d.ts.map +0 -1
- package/dist/take-DwT7ymnA.cjs +0 -1
- package/dist/take-first-by-BGSUzX61.js +0 -2
- package/dist/take-first-by-BGSUzX61.js.map +0 -1
- package/dist/take-first-by-BgONSKvT.d.ts +0 -41
- package/dist/take-first-by-BgONSKvT.d.ts.map +0 -1
- package/dist/take-first-by-Cpgu4Dll.d.cts +0 -41
- package/dist/take-first-by-Cpgu4Dll.d.cts.map +0 -1
- package/dist/take-first-by-CtrznSxG.cjs +0 -1
- package/dist/take-last-8PzLMvw3.js +0 -2
- package/dist/take-last-8PzLMvw3.js.map +0 -1
- package/dist/take-last-BnF7ADxy.d.ts +0 -32
- package/dist/take-last-BnF7ADxy.d.ts.map +0 -1
- package/dist/take-last-BvjeJFre.d.cts +0 -32
- package/dist/take-last-BvjeJFre.d.cts.map +0 -1
- package/dist/take-last-DT3U0fro.cjs +0 -1
- package/dist/take-last-while-7hpO-w-n.cjs +0 -1
- package/dist/take-last-while-CGrVFpA9.d.ts +0 -36
- package/dist/take-last-while-CGrVFpA9.d.ts.map +0 -1
- package/dist/take-last-while-CNlwvmIf.d.cts +0 -36
- package/dist/take-last-while-CNlwvmIf.d.cts.map +0 -1
- package/dist/take-last-while-D4D1elUu.js +0 -2
- package/dist/take-last-while-D4D1elUu.js.map +0 -1
- package/dist/take-while-BoYdbQRK.cjs +0 -1
- package/dist/take-while-CPEBQO5f.d.cts +0 -34
- package/dist/take-while-CPEBQO5f.d.cts.map +0 -1
- package/dist/take-while-D7M5vbwg.js +0 -2
- package/dist/take-while-D7M5vbwg.js.map +0 -1
- package/dist/take-while-e4aa4Rzo.d.ts +0 -34
- package/dist/take-while-e4aa4Rzo.d.ts.map +0 -1
- package/dist/tap-2SHLmCBm.cjs +0 -1
- package/dist/tap-BjWhN6y_.d.ts +0 -42
- package/dist/tap-BjWhN6y_.d.ts.map +0 -1
- package/dist/tap-GLPlAKCD.js +0 -2
- package/dist/tap-GLPlAKCD.js.map +0 -1
- package/dist/tap-gF124Yhn.d.cts +0 -42
- package/dist/tap-gF124Yhn.d.cts.map +0 -1
- package/dist/times-BoE5WrNr.d.cts +0 -48
- package/dist/times-BoE5WrNr.d.cts.map +0 -1
- package/dist/times-C4txaWWG.js +0 -2
- package/dist/times-C4txaWWG.js.map +0 -1
- package/dist/times-ChlK_wAM.cjs +0 -1
- package/dist/times-CzRXDAnV.d.ts +0 -48
- package/dist/times-CzRXDAnV.d.ts.map +0 -1
- package/dist/to-camel-case-5ZN25UuZ.d.cts +0 -32
- package/dist/to-camel-case-5ZN25UuZ.d.cts.map +0 -1
- package/dist/to-camel-case-DJ5dmboH.d.ts +0 -32
- package/dist/to-camel-case-DJ5dmboH.d.ts.map +0 -1
- package/dist/to-camel-case-JdiHeuUd.js +0 -2
- package/dist/to-camel-case-JdiHeuUd.js.map +0 -1
- package/dist/to-camel-case-MCv0xSE_.cjs +0 -1
- package/dist/to-capital-case-BBTx9xpN.d.cts +0 -31
- package/dist/to-capital-case-BBTx9xpN.d.cts.map +0 -1
- package/dist/to-capital-case-BD9MIiKM.cjs +0 -1
- package/dist/to-capital-case-BDs8sikX.d.ts +0 -31
- package/dist/to-capital-case-BDs8sikX.d.ts.map +0 -1
- package/dist/to-capital-case-DFgHWUP7.js +0 -2
- package/dist/to-capital-case-DFgHWUP7.js.map +0 -1
- package/dist/to-constant-case-Bobbz_hT.d.cts +0 -31
- package/dist/to-constant-case-Bobbz_hT.d.cts.map +0 -1
- package/dist/to-constant-case-Bs1J4UNN.js +0 -2
- package/dist/to-constant-case-Bs1J4UNN.js.map +0 -1
- package/dist/to-constant-case-C6XG49MZ.cjs +0 -1
- package/dist/to-constant-case-DlZZVrYx.d.ts +0 -31
- package/dist/to-constant-case-DlZZVrYx.d.ts.map +0 -1
- package/dist/to-kebab-case-BKdi-Rk7.d.ts +0 -31
- package/dist/to-kebab-case-BKdi-Rk7.d.ts.map +0 -1
- package/dist/to-kebab-case-BRVFPXE9.d.cts +0 -31
- package/dist/to-kebab-case-BRVFPXE9.d.cts.map +0 -1
- package/dist/to-kebab-case-Cud7RCjt.cjs +0 -1
- package/dist/to-kebab-case-z5oAWVif.js +0 -2
- package/dist/to-kebab-case-z5oAWVif.js.map +0 -1
- package/dist/to-no-case-BDX0619s.cjs +0 -1
- package/dist/to-no-case-Bt57ASib.js +0 -2
- package/dist/to-no-case-Bt57ASib.js.map +0 -1
- package/dist/to-no-case-D6nPbja8.d.cts +0 -31
- package/dist/to-no-case-D6nPbja8.d.cts.map +0 -1
- package/dist/to-no-case-ctaqyxQN.d.ts +0 -31
- package/dist/to-no-case-ctaqyxQN.d.ts.map +0 -1
- package/dist/to-pascal-case-7nVKvcNg.d.cts +0 -32
- package/dist/to-pascal-case-7nVKvcNg.d.cts.map +0 -1
- package/dist/to-pascal-case-BSZrgkTx.cjs +0 -1
- package/dist/to-pascal-case-COG25kzw.js +0 -2
- package/dist/to-pascal-case-COG25kzw.js.map +0 -1
- package/dist/to-pascal-case-DUupmGjS.d.ts +0 -32
- package/dist/to-pascal-case-DUupmGjS.d.ts.map +0 -1
- package/dist/to-pascal-snake-case-BVvnru7G.d.ts +0 -31
- package/dist/to-pascal-snake-case-BVvnru7G.d.ts.map +0 -1
- package/dist/to-pascal-snake-case-C360MTFV.d.cts +0 -31
- package/dist/to-pascal-snake-case-C360MTFV.d.cts.map +0 -1
- package/dist/to-pascal-snake-case-C38j94Cu.cjs +0 -1
- package/dist/to-pascal-snake-case-C64pBLFr.js +0 -2
- package/dist/to-pascal-snake-case-C64pBLFr.js.map +0 -1
- package/dist/to-sentence-case--9p0YnHo.js +0 -2
- package/dist/to-sentence-case--9p0YnHo.js.map +0 -1
- package/dist/to-sentence-case-7mo0QXqC.d.cts +0 -31
- package/dist/to-sentence-case-7mo0QXqC.d.cts.map +0 -1
- package/dist/to-sentence-case-BTrqI21a.d.ts +0 -31
- package/dist/to-sentence-case-BTrqI21a.d.ts.map +0 -1
- package/dist/to-sentence-case-C2TveqdZ.cjs +0 -1
- package/dist/to-single-Bnq9l8Zp.cjs +0 -1
- package/dist/to-single-bHVECPzX.js +0 -2
- package/dist/to-single-bHVECPzX.js.map +0 -1
- package/dist/to-snake-case-BuWvjluH.cjs +0 -1
- package/dist/to-snake-case-Ddi9YNyo.d.ts +0 -31
- package/dist/to-snake-case-Ddi9YNyo.d.ts.map +0 -1
- package/dist/to-snake-case-IHXwNjtp.js +0 -2
- package/dist/to-snake-case-IHXwNjtp.js.map +0 -1
- package/dist/to-snake-case-e2ooEcFB.d.cts +0 -31
- package/dist/to-snake-case-e2ooEcFB.d.cts.map +0 -1
- package/dist/to-string-RweoJgSy.d.ts +0 -13
- package/dist/to-string-RweoJgSy.d.ts.map +0 -1
- package/dist/to-string-gK5yUyfp.d.cts +0 -13
- package/dist/to-string-gK5yUyfp.d.cts.map +0 -1
- package/dist/to-train-case-B03OndqT.d.cts +0 -31
- package/dist/to-train-case-B03OndqT.d.cts.map +0 -1
- package/dist/to-train-case-B06CqIxe.js +0 -2
- package/dist/to-train-case-B06CqIxe.js.map +0 -1
- package/dist/to-train-case-CLDlt-Y6.d.ts +0 -31
- package/dist/to-train-case-CLDlt-Y6.d.ts.map +0 -1
- package/dist/to-train-case-CsRLhQ9b.cjs +0 -1
- package/dist/tuple-parts-BIyABPYv.d.cts +0 -89
- package/dist/tuple-parts-BIyABPYv.d.cts.map +0 -1
- package/dist/tuple-parts-BxpZLJ7r.d.ts +0 -89
- package/dist/tuple-parts-BxpZLJ7r.d.ts.map +0 -1
- package/dist/type.helpers-C0eszdCH.d.cts +0 -10
- package/dist/type.helpers-C0eszdCH.d.cts.map +0 -1
- package/dist/type.helpers-CNVsSXtV.cjs +0 -0
- package/dist/type.helpers-CRhd_JIH.js +0 -0
- package/dist/type.helpers-CrSxBVxJ.d.ts +0 -10
- package/dist/type.helpers-CrSxBVxJ.d.ts.map +0 -1
- package/dist/unique-4ky12IzI.d.cts +0 -39
- package/dist/unique-4ky12IzI.d.cts.map +0 -1
- package/dist/unique-DMbDhoaS.js +0 -2
- package/dist/unique-DMbDhoaS.js.map +0 -1
- package/dist/unique-Dx_8Tg2u.d.ts +0 -39
- package/dist/unique-Dx_8Tg2u.d.ts.map +0 -1
- package/dist/unique-Na2E_cV5.cjs +0 -1
- package/dist/unique-by-927ymOrT.js +0 -2
- package/dist/unique-by-927ymOrT.js.map +0 -1
- package/dist/unique-by-B1t_QxyV.d.ts +0 -44
- package/dist/unique-by-B1t_QxyV.d.ts.map +0 -1
- package/dist/unique-by-BYeRvKkn.cjs +0 -1
- package/dist/unique-by-D4r9b-C2.d.cts +0 -44
- package/dist/unique-by-D4r9b-C2.d.cts.map +0 -1
- package/dist/unique-with-B0Atc1ch.d.cts +0 -46
- package/dist/unique-with-B0Atc1ch.d.cts.map +0 -1
- package/dist/unique-with-DN7oz8DS.js +0 -2
- package/dist/unique-with-DN7oz8DS.js.map +0 -1
- package/dist/unique-with-DODXeZJO.cjs +0 -1
- package/dist/unique-with-_6gjzVmk.d.ts +0 -46
- package/dist/unique-with-_6gjzVmk.d.ts.map +0 -1
- package/dist/upsert-prop-CE7fi_mP.d.ts +0 -9
- package/dist/upsert-prop-CE7fi_mP.d.ts.map +0 -1
- package/dist/upsert-prop-Dtu5xY0L.d.cts +0 -9
- package/dist/upsert-prop-Dtu5xY0L.d.cts.map +0 -1
- package/dist/utility-evaluators-CnQVdcZv.js +0 -2
- package/dist/utility-evaluators-CnQVdcZv.js.map +0 -1
- package/dist/utility-evaluators-DqJcWENu.cjs +0 -1
- package/dist/values-BXlzhi3A.cjs +0 -1
- package/dist/values-CIS32AYx.d.cts +0 -38
- package/dist/values-CIS32AYx.d.cts.map +0 -1
- package/dist/values-DUzzQ-p6.d.ts +0 -38
- package/dist/values-DUzzQ-p6.d.ts.map +0 -1
- package/dist/values-Dsgo6Wke.js +0 -2
- package/dist/values-Dsgo6Wke.js.map +0 -1
- package/dist/with-precision-BgF-Y_mF.cjs +0 -1
- package/dist/with-precision-BoiuafbM.js +0 -2
- package/dist/with-precision-BoiuafbM.js.map +0 -1
- package/dist/zip-CA2if4ix.cjs +0 -1
- package/dist/zip-CoEM-79C.d.cts +0 -38
- package/dist/zip-CoEM-79C.d.cts.map +0 -1
- package/dist/zip-DhsVpwcO.js +0 -2
- package/dist/zip-DhsVpwcO.js.map +0 -1
- package/dist/zip-with-BRpfRkdc.js +0 -2
- package/dist/zip-with-BRpfRkdc.js.map +0 -1
- package/dist/zip-with-CABk7jf5.d.ts +0 -50
- package/dist/zip-with-CABk7jf5.d.ts.map +0 -1
- package/dist/zip-with-D0Ey6gSU.d.cts +0 -50
- package/dist/zip-with-D0Ey6gSU.d.cts.map +0 -1
- package/dist/zip-with-D7HfIW7V.cjs +0 -1
- package/dist/zip-xjUg1DcS.d.ts +0 -38
- package/dist/zip-xjUg1DcS.d.ts.map +0 -1
package/dist/funnel.test.js.map
CHANGED
|
@@ -1 +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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"}
|
|
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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"}
|
package/dist/group-by-prop.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./
|
|
1
|
+
const e=require(`./curry-BsY0Z8jH.cjs`);function t(...t){return e.t(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}exports.groupByProp=t;
|
package/dist/group-by-prop.d.cts
CHANGED
|
@@ -1,11 +1,89 @@
|
|
|
1
|
-
import "./iterable-container-
|
|
2
|
-
import "./
|
|
3
|
-
import "./
|
|
4
|
-
import "./
|
|
5
|
-
import "./
|
|
6
|
-
import "
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { t as IterableContainer } from "./iterable-container-OFsaw8WL.cjs";
|
|
2
|
+
import { t as TupleParts } from "./tuple-parts-BJQEORxn.cjs";
|
|
3
|
+
import { t as BoundedPartial } from "./bounded-partial-D6ouPlXl.cjs";
|
|
4
|
+
import { t as FilteredArray } from "./filtered-array-D_RqQ8tX.cjs";
|
|
5
|
+
import { t as ArrayRequiredPrefix } from "./array-required-prefix-DxzEAAwi.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.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-by-prop.d.cts","names":[],"sources":["../src/group-by-prop.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/group-by-prop.d.ts
CHANGED
|
@@ -1,11 +1,89 @@
|
|
|
1
|
-
import "./iterable-container-
|
|
2
|
-
import "./
|
|
3
|
-
import "./
|
|
4
|
-
import "./
|
|
5
|
-
import "./
|
|
6
|
-
import "
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { t as IterableContainer } from "./iterable-container-BdjPuIjL.js";
|
|
2
|
+
import { t as TupleParts } from "./tuple-parts-Bhbm4jiu.js";
|
|
3
|
+
import { t as BoundedPartial } from "./bounded-partial-DBIIClPU.js";
|
|
4
|
+
import { t as FilteredArray } from "./filtered-array-Yij-X3T4.js";
|
|
5
|
+
import { t as ArrayRequiredPrefix } from "./array-required-prefix-CefHtaKs.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.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-by-prop.d.ts","names":[],"sources":["../src/group-by-prop.ts"],"sourcesContent":[],"mappings":";;;;;;;;KAeK,sBAAsB,gCAAgC,eAAe,MAEtE,oBACE,eAAe,wBAAwB,eAAe,GAAG;KAK1D,yBACO,gCACG,eAAe,kBAElB,aAZI,CAYU,CAZV,EAYa,IAZb,CAAA,GAYqB,aAZrB,CAYmC,CAZnC,EAYsC,MAZtC,CAY6C,IAZ7C,EAYmD,KAZnD,CAAA,CAAA,EAAW;KAkBtB,cAlBqE,CAAA,UAkB5C,iBAlB4C,CAAA,GAkBvB,eAlBuB,CAmBxE,gBAnBwE,CAmBvD,CAnBuD,CAAA,EAoBxE,WApBwE,GAAA,SAAA,CAAA;KAwBrE,aAxBsD,CAAA,UAyB/C,iBAzB+C,EAAA,aA0B5C,cA1B4C,CA0B7B,CA1B6B,CAAA,CAAA,GA2BvD,OA3BuD,CA2B/C,gBA3B+C,CA2B9B,CA3B8B,CAAA,CA2B3B,IA3B2B,CAAA,EA2BpB,WA3BoB,CAAA;KAqCtD,gBAnCD,CAAA,UAmC4B,iBAnC5B,CAAA,GAmCiD,cAnCjD,CAwCF,OAxCE,CAwCM,CAxCN,CAAA,MAAA,CAAA,EAAA,SAAA,CAAA,CAAA;KAmDC,cAlDuD,CAAA,CAAA,CAAA,GAkDnC,OAlDmC,CAAA,MAkDrB,CAlDqB,CAAA,SAAA,IAAA,GAkDH,WAlDG,GAkDW,CAlDX;KAuDvD,uBAvD0D,CAAA,UAuDxB,MAvDwB,CAuDjB,WAvDiB,EAuDJ,iBAvDI,CAAA,CAAA,GAwD3D,QAxD2D,CAyD3D,IAzD2D,CAyDtD,CAzDsD,EAyDnD,sBAzDmD,CAyD5B,CAzD4B,CAAA,CAAA,GA0DzD,cA1DyD,CA0D1C,qBA1D0C,CA0DpB,IA1DoB,CA0Df,CA1De,EA0DZ,sBA1DY,CA0DW,CA1DX,CAAA,CAAA,CAAA,CAAA,CAAA;KA+D1D,sBA/DwC,CAAA,UA+DP,MA/DO,CA+DA,WA/DA,EA+Da,iBA/Db,CAAA,CAAA,GAAA,MAgEnC,CAhEmC,SAAA,KAAA,aAAA,OAAA,GAAA,GAAA,SAAA,MAiErB,CAjEqB,GAkErC,eAlEqC,CAkErB,CAlEqB,CAkEnB,GAlEmB,CAAA,CAAA,SAAA,IAAA,GAAA,KAAA,GAAA,GAAA,GAAA,KAAA,GAAA,KAAA;KAyExC,eAzEgB,CAAA,UAyEU,iBAzEV,CAAA,GAyE+B,EAzE/B,CA0EnB,oBA1EmB,CA0EE,UA1EF,CA0Ea,CA1Eb,CAAA,CAAA,UAAA,CAAA,CAAA,EA2EnB,oBA3EmB,CA2EE,UA3EF,CA2Ea,CA3Eb,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA;KAgFhB,oBAhFC,CAAA,CAAA,CAAA,GAgFyB,OAhFzB,CAgFiC,OAhFjC,CAgFyC,CAhFzC,EAAA,SAAA,EAAA,CAAA,CAAA;KAmFD,qBAnFe,CAAA,UAmFiB,MAnFjB,CAmFwB,WAnFxB,EAmFqC,iBAnFrC,CAAA,CAAA,GAAA,QAKf,MA+ES,CA/ET,GA+Ea,mBA/EC,CA+EmB,CA/EnB,CA+EqB,CA/ErB,CAAA,EAAA,CAAA,CAAA,EACP;;;;;;;;;;;;AAGsC;;;;;;;AAMgB;;;;;;;;;;AASvD;;;;;AAUwD,iBAsFnD,WAtFmD,CAAA,UAuFvD,iBAvFuD,EAAA,mBAwF9C,cAxF8C,CAwF/B,CAxF+B,CAAA,CAAA,CAAA,IAAA,EAyF3D,CAzF2D,EAAA,IAAA,EAyFlD,IAzFkD,CAAA,EAyF3C,WAzF2C,CAyF/B,CAzF+B,EAyF5B,IAzF4B,CAAA;AAAA;;;;;;AAgBK;;;;;;;;;;;;;;;;AAM5D;;;;;;;;;;AAiBP,iBAoFW,WApFI,CAAA,UAqFR,iBArFQ,EAAA,mBAsFC,cAtFD,CAsFgB,CAtFhB,CAAA,CAAA,CAAA,IAAA,EAuFZ,IAvFY,CAAA,EAAA,CAAA,IAAA,EAuFE,CAvFF,EAAA,GAuFQ,WAvFR,CAuFoB,CAvFpB,EAuFuB,IAvFvB,CAAA"}
|
package/dist/group-by-prop.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import"./
|
|
1
|
+
import{t as e}from"./curry-BcQ8Up1_.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.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-by-prop.js","names":["output: BoundedPartial<\n Record<AllPropValues<T, Prop>, Array<T[number]>>\n >"],"sources":["../src/group-by-prop.ts"],"sourcesContent":["import type {\n AllUnionFields,\n ConditionalKeys,\n EmptyObject,\n IsNever,\n Or,\n Simplify,\n} from 'type-fest';\nimport type { ArrayRequiredPrefix } from './internal/types/array-required-prefix';\nimport type { BoundedPartial } from './internal/types/bounded-partial';\nimport type { FilteredArray } from './internal/types/filtered-array';\nimport type { IterableContainer } from './internal/types/iterable-container';\nimport type { TupleParts } from './internal/types/tuple-parts';\nimport { curry } from './curry';\n\ntype GroupByProp<T extends IterableContainer, Prop extends GroupableProps<T>>\n // Distribute unions.\n = T extends unknown\n ? FixEmptyObject<EnsureValuesAreNonEmpty<GroupByPropRaw<T, Prop>>>\n : never;\n\n// For each possible value of the prop we filter the input tuple with the prop\n// assigned to the value, e.g. `{ type: \"cat\" }`\ntype GroupByPropRaw<\n T extends IterableContainer,\n Prop extends GroupableProps<T>,\n> = {\n [Value in AllPropValues<T, Prop>]: FilteredArray<T, Record<Prop, Value>>;\n};\n\n// We can only group by props that only have values that could be used to key\n// an object (i.e. PropertyKey), or if they are undefined (which would filter\n// them out of the grouping).\ntype GroupableProps<T extends IterableContainer> = ConditionalKeys<\n ItemsSuperObject<T>,\n PropertyKey | undefined\n>;\n\n// The union of all possible values that the prop could have within the tuple.\ntype AllPropValues<\n T extends IterableContainer,\n Prop extends GroupableProps<T>,\n> = Extract<ItemsSuperObject<T>[Prop], PropertyKey>;\n\n// Creates a singular object type that all items in the tuple would extend. This\n// provides us a way to check, for each prop, what are all values it would\n// have within the tuple. We use this to map which props are candidates for\n// grouping, and when a prop is selected, the full list of values that would\n// exist in the output. For example:\n// `{ a: number, b: \"cat\", c: string } | { b: \"dog\", c: Date }` is groupable\n// by 'a' and 'b', but not 'c', and when selecting by 'b', the output would\n// have a prop for \"cat\" and a prop for \"dog\".\ntype ItemsSuperObject<T extends IterableContainer> = AllUnionFields<\n // If the input tuple contains optional elements they would add `undefined` to\n // T[number] (and could technically show up in the array itself). Because\n // undefined breaks AllUnionFields we need to remove it from the union. This\n // is OK because we handle this in the implementation too.\n Exclude<T[number], undefined>\n>;\n\n// When the input array is empty the constructed result type would be `{}`\n// because our mapped type would never run; but this doesn't represent the\n// semantics of the return value for that case, because it effectively means\n// \"any object\" and not \"empty object\". This can happen in 2 situations:\n// A union of tuples where one of the tuples doesn't have any item with the\n// groupable prop, or when the groupable prop has a value of `undefined` for\n// all items. The former is extra problematic because it would add `| {}` to the\n// result type which effectively cancels out all other parts of the union.\ntype FixEmptyObject<T> = IsNever<keyof T> extends true ? EmptyObject : T;\n\n// Group by can never return an empty tuple but our filtered arrays might not\n// represent that. We need to reshape the tuples so that they always have at\n// least one item in them.\ntype EnsureValuesAreNonEmpty<T extends Record<PropertyKey, IterableContainer>>\n = Simplify<\n Omit<T, PossiblyEmptyArrayKeys<T>>\n & BoundedPartial<CoercedNonEmptyValues<Pick<T, PossiblyEmptyArrayKeys<T>>>>\n >;\n\n// Go over the keys the object and return those that their value can accept an\n// empty array.\ntype PossiblyEmptyArrayKeys<T extends Record<PropertyKey, IterableContainer>>\n = keyof T extends infer Key extends unknown\n ? Key extends keyof T\n ? IsNonEmptyArray<T[Key]> extends true\n ? never\n : Key\n : never\n : never;\n\n// An array is non-empty if any of the fixed parts are non-empty.\ntype IsNonEmptyArray<T extends IterableContainer> = Or<\n IsNonEmptyFixedTuple<TupleParts<T>['required']>,\n IsNonEmptyFixedTuple<TupleParts<T>['suffix']>\n>;\n\n// A fixed tuple (one without optional or a rest element in it) is non-empty if\n// we can't extract the empty tuple from it.\ntype IsNonEmptyFixedTuple<T> = IsNever<Extract<T, readonly []>>;\n\n// We coerce the arbitrary array values to have a prefix of at least one item.\ntype CoercedNonEmptyValues<T extends Record<PropertyKey, IterableContainer>> = {\n [P in keyof T]: ArrayRequiredPrefix<T[P], 1>;\n};\n\n/**\n * Groups the elements of an array of objects based on the values of a\n * specified property of those objects. The result would contain a property for\n * each unique value of the specific property, with it's value being the input\n * array filtered to only items that have that property set to that value.\n * For any object where the property is missing, or if it's value is\n * `undefined` the item would be filtered out.\n *\n * The grouping property is enforced at the type level to exist in at least one\n * item and to never have a value that cannot be used as an object key (e.g. it\n * must be `PropertyKey | undefined`).\n *\n * The resulting arrays are filtered with the prop and it's value as a\n * type-guard, effectively narrowing the items in each output arrays. This\n * means that when the grouping property is the discriminator of a\n * discriminated union type each output array would contain just the subtype for\n * that value.\n *\n * If you need more control over the grouping you should use `groupBy` instead.\n *\n * @param data - The items to group.\n * @param prop - The property name to group by.\n * @signature\n * P.groupByProp(data, prop)\n * @example\n * const result = P.groupByProp(\n * // ^? { cat: [{ a: 'cat' }], dog: [{ a: 'dog' }] }\n * [{ a: 'cat' }, { a: 'dog' }] as const,\n * 'a',\n * );\n * @dataFirst\n * @category Array\n */\nexport function groupByProp<\n T extends IterableContainer,\n const Prop extends GroupableProps<T>,\n>(data: T, prop: Prop): GroupByProp<T, Prop>;\n\n/**\n * Groups the elements of an array of objects based on the values of a\n * specified property of those objects. The result would contain a property for\n * each unique value of the specific property, with it's value being the input\n * array filtered to only items that have that property set to that value.\n * For any object where the property is missing, or if it's value is\n * `undefined` the item would be filtered out.\n *\n * The grouping property is enforced at the type level to exist in at least one\n * item and to never have a value that cannot be used as an object key (e.g. it\n * must be `PropertyKey | undefined`).\n *\n * The resulting arrays are filtered with the prop and it's value as a\n * type-guard, effectively narrowing the items in each output arrays. This\n * means that when the grouping property is the discriminator of a\n * discriminated union type each output array would contain just the subtype for\n * that value.\n *\n * If you need more control over the grouping you should use `groupBy` instead.\n *\n * @param prop - The property name to group by.\n * @signature\n * P.groupByProp(prop)(data);\n * @example\n * const result = P.pipe(\n * // ^? { cat: [{ a: 'cat' }], dog: [{ a: 'dog' }] }\n * [{ a: 'cat' }, { a: 'dog' }] as const,\n * P.groupByProp('a'),\n * );\n * @dataLast\n * @category Array\n */\nexport function groupByProp<\n T extends IterableContainer,\n const Prop extends GroupableProps<T>,\n>(prop: Prop): (data: T) => GroupByProp<T, Prop>;\n\nexport function groupByProp(...args: ReadonlyArray<unknown>): unknown {\n return curry(groupByPropImplementation, args);\n}\n\nfunction groupByPropImplementation<\n T extends IterableContainer,\n Prop extends GroupableProps<T>,\n>(data: T, prop: Prop): GroupByProp<T, Prop> {\n const output: BoundedPartial<\n Record<AllPropValues<T, Prop>, Array<T[number]>>\n > = Object.create(null);\n\n for (const item of data) {\n // @ts-expect-error [ts18046] -- `item` should be typed `T[number]` but TypeScript isn't inferring that correctly here, in fact, the item could also be typed as ItemsSuperObject<T> because it extends from it. When item is typed as such this error goes away, maybe in the future TypeScript would be able to infer this by itself.\n\n const key = item?.[prop];\n if (key !== undefined) {\n // Once the prototype chain is fixed, it is safe to access the prop\n // directly without needing to check existence or types.\n // @ts-expect-error [ts7053] -- `key` should be typed `AllPropValues<T, Prop>` but TypeScript isn't inferring that correctly, causing an error when we try to access this prop on the output object.\n const items = output[key];\n\n if (items === undefined) {\n // It is more performant to create a 1-element array over creating an\n // empty array and falling through to a unified the push. It is also\n // more performant to mutate the existing object over using spread to\n // continually create new objects on every unique key.\n // @ts-expect-error [ts7053] -- For the same reasons as mentioned above, TypeScript isn't inferring `key` correctly, and therefore is erroring when trying to access the output object using it.\n output[key] = [item];\n } else {\n // It is more performant to add the items to an existing array instead\n // of creating a new array via spreading every time we add an item to\n // it (e.g., `[...current, item]`).\n items.push(item);\n }\n }\n }\n\n // Set the prototype as if we initialized our object as a normal object (e.g.\n // `{}`). Without this none of the built-in object methods like `toString`\n // would work on this object and it would act differently than expected.\n Object.setPrototypeOf(output, Object.prototype);\n\n // @ts-expect-error [ts2322] -- This is fine! We use a broader type for output while we build it because it more accurately represents the shape of the object *while it is being built*. TypeScript can't tell that we finished building the object so can't ensure that output matches the expected output at this point.\n return output;\n}\n"],"mappings":"wCAoLA,SAAgB,EAAY,GAAG,EAAuC,CACpE,OAAO,EAAM,EAA2B,EAAK,CAG/C,SAAS,EAGP,EAAS,EAAkC,CAC3C,IAAMA,EAEF,OAAO,OAAO,KAAK,CAEvB,IAAK,IAAM,KAAQ,EAAM,CAGvB,IAAM,EAAM,IAAO,GACnB,GAAI,IAAQ,IAAA,GAAW,CAIrB,IAAM,EAAQ,EAAO,GAEjB,IAAU,IAAA,GAMZ,EAAO,GAAO,CAAC,EAAK,CAKpB,EAAM,KAAK,EAAK,EAWtB,OAHA,OAAO,eAAe,EAAQ,OAAO,UAAU,CAGxC"}
|
package/dist/group-by.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./
|
|
1
|
+
const e=require(`./curry-BsY0Z8jH.cjs`);function t(...t){return e.t(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}exports.groupBy=t;
|
package/dist/group-by.d.cts
CHANGED
|
@@ -1,5 +1,69 @@
|
|
|
1
|
-
import "./non-empty-array-
|
|
2
|
-
import "./
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { t as NonEmptyArray } from "./non-empty-array-CFG7wGD-.cjs";
|
|
2
|
+
import { t as BoundedPartial } from "./bounded-partial-D6ouPlXl.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.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-by.d.cts","names":[],"sources":["../src/group-by.ts"],"sourcesContent":[],"mappings":";;;;;;;AAgCA;;;;;;;;;;;;;;;AAyCA;;;;;;;;;;AAMyE,iBA/CzD,OA+CyD,CAAA,CAAA,EAAA,YA/ClC,WA+CkC,GA/CpB,WA+CoB,CAAA,CAAA,IAAA,EA9CjE,aA8CiE,CA9CnD,CA8CmD,CAAA,EAAA,UAAA,EAAA,CAAA,KAAA,EA5C9D,CA4C8D,EAAA,KAAA,EAAA,MAAA,EAAA,IAAA,EA1C/D,aA0C+D,CA1CjD,CA0CiD,CAAA,EAAA,GAzClE,GAyCkE,GAAA,SAAA,CAAA,EAxCtE,cAwCsE,CAxCvD,MAwCuD,CAxChD,GAwCgD,EAxC3C,aAwC2C,CAxC7B,CAwC6B,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBANzD,uBAAuB,cAAc,iCAE1C,wBAED,cAAc,OACjB,0BACI,cAAc,OAAO,eAAe,OAAO,KAAK,cAAc"}
|