@vinicunca/perkakas 1.5.0 → 1.7.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 +1 -1
- package/dist/add-prop.d.ts +1 -1
- package/dist/add-prop.js +1 -1
- package/dist/add.cjs +1 -1
- package/dist/add.js +1 -1
- package/dist/all-pass.cjs +1 -1
- package/dist/all-pass.js +1 -1
- package/dist/any-pass.cjs +1 -1
- package/dist/any-pass.js +1 -1
- package/dist/array-required-prefix-Ck4lHkbA.d.cts +33 -0
- package/dist/array-required-prefix-DXv_WnmG.d.ts +33 -0
- package/dist/bounded-partial-BqwRN49U.d.cts +15 -0
- package/dist/bounded-partial-BzynYDVs.d.ts +15 -0
- package/dist/ceil.cjs +1 -1
- package/dist/ceil.js +1 -1
- package/dist/{chunk-AJQEGHF5.cjs → chunk-22AQJBPW.cjs} +1 -1
- package/dist/chunk-2HQM73IT.cjs +1 -0
- package/dist/chunk-2XGSSTCA.js +1 -0
- package/dist/chunk-3DOG24FJ.cjs +1 -0
- package/dist/{chunk-6ENW2VLC.cjs → chunk-3LC3CLYE.cjs} +1 -1
- package/dist/chunk-44LUF6RO.js +1 -0
- package/dist/chunk-4BTTPOEU.cjs +1 -0
- package/dist/chunk-4Y6KJJOW.js +1 -0
- package/dist/chunk-5PMGMODH.js +1 -0
- package/dist/{chunk-GVYLRJPB.cjs → chunk-66JP4PUG.cjs} +1 -1
- package/dist/chunk-6M4IYQFZ.js +1 -0
- package/dist/chunk-76VE5EC6.cjs +1 -0
- package/dist/{chunk-TNA73S2T.cjs → chunk-7C7R7JNX.cjs} +1 -1
- package/dist/{chunk-WONMP5WS.js → chunk-7V7IBWP5.js} +1 -1
- package/dist/chunk-B6SBIS6W.js +1 -0
- package/dist/chunk-BEMQAYI5.cjs +1 -0
- package/dist/chunk-BKBHW2XJ.js +1 -0
- package/dist/chunk-BSNCALDT.cjs +1 -0
- package/dist/chunk-CTGIT5TY.js +1 -0
- package/dist/{chunk-UGWBDJPI.cjs → chunk-D4TUHKBA.cjs} +1 -1
- package/dist/chunk-EK7ODJWE.js +1 -0
- package/dist/chunk-FGMSPUSF.cjs +1 -0
- package/dist/chunk-FIO5FNV2.js +1 -0
- package/dist/chunk-FOUZI2Q3.cjs +1 -0
- package/dist/chunk-GRKRFDIL.js +1 -0
- package/dist/chunk-GW4KDK3D.cjs +1 -0
- package/dist/chunk-HSNPZS6R.cjs +1 -0
- package/dist/chunk-ITDJLXHO.js +1 -0
- package/dist/{chunk-FLQYTU5W.cjs → chunk-JHFSYEXB.cjs} +1 -1
- package/dist/{chunk-WCPENZWH.js → chunk-JI5FJX2E.js} +1 -1
- package/dist/chunk-JYWIRZ2Z.js +1 -0
- package/dist/chunk-K26HQR4Y.cjs +1 -0
- package/dist/chunk-KYMVIFAW.cjs +1 -0
- package/dist/chunk-MBGSSEZN.cjs +1 -0
- package/dist/{chunk-22IDCBFS.js → chunk-MPWQN3WY.js} +1 -1
- package/dist/chunk-NHTBBY2L.js +1 -0
- package/dist/chunk-NQUTCPKD.js +1 -0
- package/dist/{chunk-ZQXE6PIV.cjs → chunk-NVCXF5UR.cjs} +1 -1
- package/dist/chunk-O74TUGYF.js +1 -0
- package/dist/chunk-OKBFQ7B6.js +1 -0
- package/dist/{chunk-MHEODCN3.cjs → chunk-OMHZCALN.cjs} +1 -1
- package/dist/chunk-P7RCAO7P.cjs +438 -0
- package/dist/chunk-QGF2XNZS.cjs +1 -0
- package/dist/chunk-R4O7XE2F.cjs +1 -0
- package/dist/chunk-RMOD5JNB.cjs +1 -0
- package/dist/chunk-RTFVY5D4.cjs +1 -0
- package/dist/chunk-SG2YWG6U.cjs +1 -0
- package/dist/chunk-SXNRBENP.cjs +1 -0
- package/dist/chunk-TSP3FU72.cjs +1 -0
- package/dist/chunk-TVMG2NYC.js +1 -0
- package/dist/chunk-TWCEO47X.cjs +1 -0
- package/dist/{chunk-L4FN2W5Q.cjs → chunk-TXPRX236.cjs} +1 -1
- package/dist/{chunk-3K7SNX4D.cjs → chunk-UURK6I3D.cjs} +1 -1
- package/dist/chunk-UWMBE6BM.js +1 -0
- package/dist/{chunk-VBH6SKKO.js → chunk-VI2QG3FU.js} +1 -1
- package/dist/chunk-XCG2UC6T.js +1 -0
- package/dist/chunk-YCSQX2SY.js +1 -0
- package/dist/{chunk-6XVLHSPK.js → chunk-YRVN4PYH.js} +1 -1
- package/dist/chunk-YWIXN5BR.js +1 -0
- package/dist/chunk-Z23BZCCD.js +438 -0
- package/dist/{chunk-EDZFEURO.js → chunk-Z5YZYBC2.js} +1 -1
- package/dist/chunk-Z7D7Q6U3.js +1 -0
- package/dist/chunk-ZITGCTSW.js +1 -0
- package/dist/chunk-ZMG3NQDL.js +1 -0
- package/dist/chunk.cjs +1 -1
- package/dist/chunk.d.cts +37 -41
- package/dist/chunk.d.ts +37 -41
- package/dist/chunk.js +1 -1
- package/dist/clamp.cjs +1 -1
- package/dist/clamp.js +1 -1
- package/dist/clamped-integer-subtract-DZ7rsJE4.d.cts +15 -0
- package/dist/clamped-integer-subtract-DZ7rsJE4.d.ts +15 -0
- package/dist/clone.cjs +1 -1
- package/dist/clone.js +1 -1
- package/dist/coerced-array-DRz3tqda.d.cts +14 -0
- package/dist/coerced-array-DRz3tqda.d.ts +14 -0
- package/dist/concat.cjs +1 -1
- package/dist/concat.js +1 -1
- package/dist/conditional.cjs +1 -1
- package/dist/conditional.d.cts +133 -43
- package/dist/conditional.d.ts +133 -43
- package/dist/conditional.js +1 -1
- package/dist/constant.cjs +1 -1
- package/dist/constant.js +1 -1
- package/dist/count-by.cjs +1 -1
- package/dist/count-by.d.cts +5 -4
- package/dist/count-by.d.ts +5 -4
- package/dist/count-by.js +1 -1
- package/dist/curry.cjs +1 -1
- package/dist/curry.js +1 -1
- package/dist/debounce.cjs +1 -1
- package/dist/debounce.js +1 -1
- package/dist/difference-with.cjs +1 -1
- package/dist/difference-with.js +1 -1
- package/dist/difference.cjs +1 -1
- package/dist/difference.js +1 -1
- package/dist/divide.cjs +1 -1
- package/dist/divide.js +1 -1
- package/dist/do-nothing.cjs +1 -1
- package/dist/do-nothing.js +1 -1
- package/dist/drop-first-by.cjs +1 -1
- package/dist/drop-first-by.d.cts +1 -1
- package/dist/drop-first-by.d.ts +1 -1
- package/dist/drop-first-by.js +1 -1
- package/dist/drop-last-while.cjs +1 -1
- package/dist/drop-last-while.js +1 -1
- package/dist/drop-last.cjs +1 -1
- package/dist/drop-last.js +1 -1
- package/dist/drop-while.cjs +1 -1
- package/dist/drop-while.js +1 -1
- package/dist/drop.cjs +1 -1
- package/dist/drop.d.cts +18 -30
- package/dist/drop.d.ts +18 -30
- package/dist/drop.js +1 -1
- package/dist/entries.cjs +1 -1
- package/dist/entries.d.cts +8 -5
- package/dist/entries.d.ts +8 -5
- package/dist/entries.js +1 -1
- package/dist/{enumerable-string-key-of-BQ4aR5ep.d.cts → enumerable-string-key-of-C4gsorXe.d.ts} +3 -1
- package/dist/{enumerable-string-key-of-BQ4aR5ep.d.ts → enumerable-string-key-of-D8w_3Yg8.d.cts} +3 -1
- package/dist/enumerable-string-keyed-value-of-BU9R_cEk.d.cts +9 -0
- package/dist/enumerable-string-keyed-value-of-BU9R_cEk.d.ts +9 -0
- package/dist/evolve.cjs +1 -1
- package/dist/evolve.js +1 -1
- package/dist/filter.cjs +1 -1
- package/dist/filter.d.cts +12 -4
- package/dist/filter.d.ts +12 -4
- package/dist/filter.js +1 -1
- package/dist/filtered-array-BCjySbC6.d.cts +18 -0
- package/dist/filtered-array-JKATL39M.d.ts +18 -0
- package/dist/find-index.cjs +1 -1
- package/dist/find-index.js +1 -1
- package/dist/find-last-index.cjs +1 -1
- package/dist/find-last-index.js +1 -1
- package/dist/find-last.cjs +1 -1
- package/dist/find-last.js +1 -1
- package/dist/find.cjs +1 -1
- package/dist/find.js +1 -1
- package/dist/first-by.cjs +1 -1
- package/dist/first-by.d.cts +1 -1
- package/dist/first-by.d.ts +1 -1
- package/dist/first-by.js +1 -1
- package/dist/first.cjs +1 -1
- package/dist/first.js +1 -1
- package/dist/flat-map.cjs +1 -1
- package/dist/flat-map.js +1 -1
- package/dist/flat.cjs +1 -1
- package/dist/flat.d.cts +2 -5
- package/dist/flat.d.ts +2 -5
- package/dist/flat.js +1 -1
- package/dist/floor.cjs +1 -1
- package/dist/floor.js +1 -1
- package/dist/for-each-obj.cjs +1 -1
- package/dist/for-each-obj.d.cts +3 -2
- package/dist/for-each-obj.d.ts +3 -2
- package/dist/for-each-obj.js +1 -1
- package/dist/for-each.cjs +1 -1
- package/dist/for-each.js +1 -1
- package/dist/from-entries.cjs +1 -1
- package/dist/from-entries.d.cts +4 -2
- package/dist/from-entries.d.ts +4 -2
- package/dist/from-entries.js +1 -1
- package/dist/from-keys.cjs +1 -1
- package/dist/from-keys.d.cts +4 -3
- package/dist/from-keys.d.ts +4 -3
- package/dist/from-keys.js +1 -1
- package/dist/funnel.cjs +1 -1
- package/dist/funnel.d.cts +7 -7
- package/dist/funnel.d.ts +7 -7
- package/dist/funnel.js +1 -1
- package/dist/funnel.lodash-debounce-with-cached-value.test.cjs +1 -1
- package/dist/funnel.lodash-debounce-with-cached-value.test.js +1 -1
- package/dist/funnel.lodash-debounce.test.cjs +1 -1
- package/dist/funnel.lodash-debounce.test.js +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.test.cjs +1 -1
- package/dist/funnel.lodash-throttle.test.js +1 -1
- package/dist/funnel.perkakas-debounce.test.cjs +1 -0
- package/dist/funnel.perkakas-debounce.test.js +1 -0
- package/dist/funnel.reference-batch.test.cjs +1 -1
- package/dist/funnel.reference-batch.test.js +1 -1
- package/dist/funnel.test-d.cjs +1 -1
- package/dist/funnel.test-d.js +1 -1
- package/dist/funnel.test.cjs +1 -1
- package/dist/funnel.test.js +1 -1
- package/dist/group-by-prop.cjs +1 -0
- package/dist/group-by-prop.d.cts +93 -0
- package/dist/group-by-prop.d.ts +93 -0
- package/dist/group-by-prop.js +1 -0
- package/dist/group-by.cjs +1 -1
- package/dist/group-by.d.cts +15 -4
- package/dist/group-by.d.ts +15 -4
- package/dist/group-by.js +1 -1
- package/dist/has-at-least.cjs +1 -1
- package/dist/has-at-least.d.cts +7 -15
- package/dist/has-at-least.d.ts +7 -15
- package/dist/has-at-least.js +1 -1
- package/dist/has-sub-object.cjs +1 -1
- package/dist/has-sub-object.js +1 -1
- package/dist/human-readable-file-size.cjs +1 -1
- package/dist/human-readable-file-size.js +1 -1
- package/dist/identity.cjs +1 -1
- package/dist/identity.js +1 -1
- package/dist/if-D4QIikQ1.d.cts +5 -0
- package/dist/if-D4QIikQ1.d.ts +5 -0
- package/dist/index-by.cjs +1 -1
- package/dist/index-by.d.cts +5 -4
- package/dist/index-by.d.ts +5 -4
- package/dist/index-by.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +15 -8
- package/dist/index.d.ts +15 -8
- package/dist/index.js +1 -1
- package/dist/intersection-with.cjs +1 -1
- package/dist/intersection-with.js +1 -1
- package/dist/intersection.cjs +1 -1
- package/dist/intersection.js +1 -1
- package/dist/invert.cjs +1 -1
- package/dist/invert.d.cts +2 -1
- package/dist/invert.d.ts +2 -1
- package/dist/invert.js +1 -1
- package/dist/is-array.cjs +1 -1
- package/dist/is-array.js +1 -1
- package/dist/is-big-int.cjs +1 -1
- package/dist/is-big-int.js +1 -1
- package/dist/is-boolean.cjs +1 -1
- package/dist/is-boolean.js +1 -1
- package/dist/is-bounded-record-C9WAwfA8.d.cts +30 -0
- package/dist/is-bounded-record-C9WAwfA8.d.ts +30 -0
- package/dist/is-date.cjs +1 -1
- package/dist/is-date.js +1 -1
- package/dist/is-deep-equal.cjs +1 -1
- package/dist/is-deep-equal.js +1 -1
- package/dist/is-defined.cjs +1 -1
- package/dist/is-defined.js +1 -1
- package/dist/is-empty.cjs +1 -1
- package/dist/is-empty.js +1 -1
- package/dist/is-error.cjs +1 -1
- package/dist/is-error.js +1 -1
- package/dist/is-function.cjs +1 -1
- package/dist/is-function.js +1 -1
- package/dist/is-included-in.cjs +1 -1
- package/dist/is-included-in.js +1 -1
- package/dist/is-non-null.cjs +1 -1
- package/dist/is-non-null.js +1 -1
- package/dist/is-non-nullish.cjs +1 -1
- package/dist/is-non-nullish.js +1 -1
- package/dist/is-not.cjs +1 -1
- package/dist/is-not.js +1 -1
- package/dist/is-nullish.cjs +1 -1
- package/dist/is-nullish.js +1 -1
- package/dist/is-number.cjs +1 -1
- package/dist/is-number.js +1 -1
- package/dist/is-object-type.cjs +1 -1
- package/dist/is-object-type.js +1 -1
- package/dist/is-plain-object.cjs +1 -1
- package/dist/is-plain-object.js +1 -1
- package/dist/is-promise.cjs +1 -1
- package/dist/is-promise.js +1 -1
- package/dist/is-shallow-equal.cjs +1 -1
- package/dist/is-shallow-equal.js +1 -1
- package/dist/is-strict-equal.cjs +1 -1
- package/dist/is-strict-equal.js +1 -1
- package/dist/is-string.cjs +1 -1
- package/dist/is-string.js +1 -1
- package/dist/is-symbol.cjs +1 -1
- package/dist/is-symbol.js +1 -1
- package/dist/is-truthy.cjs +1 -1
- package/dist/is-truthy.js +1 -1
- package/dist/join.cjs +1 -1
- package/dist/join.js +1 -1
- package/dist/key-codes.cjs +1 -1
- package/dist/key-codes.js +1 -1
- package/dist/keys.cjs +1 -1
- package/dist/keys.d.cts +4 -3
- package/dist/keys.d.ts +4 -3
- package/dist/keys.js +1 -1
- package/dist/last.cjs +1 -1
- package/dist/last.js +1 -1
- package/dist/length.cjs +1 -1
- package/dist/length.js +1 -1
- package/dist/magic-string.es-2ADFIHOO.cjs +13 -0
- package/dist/magic-string.es-PNCTE22R.js +13 -0
- package/dist/map-keys.cjs +1 -1
- package/dist/map-keys.d.cts +8 -6
- package/dist/map-keys.d.ts +8 -6
- package/dist/map-keys.js +1 -1
- package/dist/map-to-obj.cjs +1 -1
- package/dist/map-to-obj.d.cts +30 -12
- package/dist/map-to-obj.d.ts +30 -12
- package/dist/map-to-obj.js +1 -1
- package/dist/map-values.cjs +1 -1
- package/dist/map-values.d.cts +3 -2
- package/dist/map-values.d.ts +3 -2
- package/dist/map-values.js +1 -1
- package/dist/map-with-feedback.cjs +1 -1
- package/dist/map-with-feedback.js +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/mean-by.cjs +1 -1
- package/dist/mean-by.js +1 -1
- package/dist/merge-all.cjs +1 -1
- package/dist/merge-all.d.cts +2 -1
- package/dist/merge-all.d.ts +2 -1
- package/dist/merge-all.js +1 -1
- package/dist/merge-deep.cjs +1 -1
- package/dist/merge-deep.js +1 -1
- package/dist/merge.cjs +1 -1
- package/dist/merge.js +1 -1
- package/dist/multiply.cjs +1 -1
- package/dist/multiply.js +1 -1
- package/dist/nth-by.cjs +1 -1
- package/dist/nth-by.d.cts +1 -1
- package/dist/nth-by.d.ts +1 -1
- package/dist/nth-by.js +1 -1
- package/dist/obj-of.cjs +1 -1
- package/dist/obj-of.js +1 -1
- package/dist/omit-by.cjs +1 -1
- package/dist/omit-by.d.cts +7 -6
- package/dist/omit-by.d.ts +7 -6
- package/dist/omit-by.js +1 -1
- package/dist/omit.cjs +1 -1
- package/dist/omit.js +1 -1
- package/dist/once.cjs +1 -1
- package/dist/once.js +1 -1
- package/dist/only.cjs +1 -1
- package/dist/only.js +1 -1
- package/dist/partial-array-Vnf1fBtl.d.cts +10 -0
- package/dist/partial-array-Vnf1fBtl.d.ts +10 -0
- package/dist/partition.cjs +1 -1
- package/dist/partition.js +1 -1
- package/dist/path-or.cjs +1 -1
- package/dist/path-or.js +1 -1
- package/dist/perkakas-type-error-8wPb8T2y.d.cts +17 -0
- package/dist/perkakas-type-error-8wPb8T2y.d.ts +17 -0
- package/dist/pick-by.cjs +1 -1
- package/dist/pick-by.d.cts +11 -11
- package/dist/pick-by.d.ts +11 -11
- package/dist/pick-by.js +1 -1
- package/dist/pick.cjs +1 -1
- package/dist/pick.d.cts +52 -7
- package/dist/pick.d.ts +52 -7
- package/dist/pick.js +1 -1
- package/dist/pipe.cjs +1 -1
- package/dist/pipe.js +1 -1
- package/dist/piped.cjs +1 -1
- package/dist/piped.js +1 -1
- package/dist/product.cjs +1 -1
- package/dist/product.js +1 -1
- package/dist/prop.cjs +1 -1
- package/dist/prop.js +1 -1
- package/dist/pull-object.cjs +1 -1
- package/dist/pull-object.d.cts +5 -4
- package/dist/pull-object.d.ts +5 -4
- package/dist/pull-object.js +1 -1
- package/dist/random-integer.cjs +1 -1
- package/dist/random-integer.js +1 -1
- package/dist/random-string.cjs +1 -1
- package/dist/random-string.js +1 -1
- package/dist/range.cjs +1 -1
- package/dist/range.js +1 -1
- package/dist/rank-by.cjs +1 -1
- package/dist/rank-by.d.cts +1 -1
- package/dist/rank-by.d.ts +1 -1
- package/dist/rank-by.js +1 -1
- package/dist/reduce.cjs +1 -1
- package/dist/reduce.js +1 -1
- package/dist/reverse.cjs +1 -1
- package/dist/reverse.js +1 -1
- package/dist/round.cjs +1 -1
- package/dist/round.js +1 -1
- package/dist/sample.cjs +1 -1
- package/dist/sample.js +1 -1
- package/dist/set-path.cjs +1 -1
- package/dist/set-path.d.cts +18 -7
- package/dist/set-path.d.ts +18 -7
- package/dist/set-path.js +1 -1
- package/dist/set.cjs +1 -1
- package/dist/set.d.cts +1 -1
- package/dist/set.d.ts +1 -1
- package/dist/set.js +1 -1
- package/dist/shuffle.cjs +1 -1
- package/dist/shuffle.js +1 -1
- package/dist/sleep.cjs +1 -1
- package/dist/sleep.js +1 -1
- package/dist/slice-string.cjs +1 -1
- package/dist/slice-string.js +1 -1
- package/dist/slugify.cjs +1 -1
- package/dist/slugify.js +1 -1
- package/dist/sort-by.cjs +1 -1
- package/dist/sort-by.d.cts +1 -1
- package/dist/sort-by.d.ts +1 -1
- package/dist/sort-by.js +1 -1
- package/dist/sort.cjs +1 -1
- package/dist/sort.js +1 -1
- package/dist/sorted-index-by.cjs +1 -1
- package/dist/sorted-index-by.js +1 -1
- package/dist/sorted-index-with.cjs +1 -1
- package/dist/sorted-index-with.js +1 -1
- package/dist/sorted-index.cjs +1 -1
- package/dist/sorted-index.js +1 -1
- package/dist/sorted-last-index-by.cjs +1 -1
- package/dist/sorted-last-index-by.js +1 -1
- package/dist/sorted-last-index.cjs +1 -1
- package/dist/sorted-last-index.js +1 -1
- package/dist/splice.cjs +1 -1
- package/dist/splice.js +1 -1
- package/dist/split-at.cjs +1 -1
- package/dist/split-at.js +1 -1
- package/dist/split-when.cjs +1 -1
- package/dist/split-when.js +1 -1
- package/dist/split.cjs +1 -1
- package/dist/split.js +1 -1
- package/dist/string-to-path.cjs +1 -1
- package/dist/string-to-path.d.cts +33 -11
- package/dist/string-to-path.d.ts +33 -11
- package/dist/string-to-path.js +1 -1
- package/dist/subtract.cjs +1 -1
- package/dist/subtract.js +1 -1
- package/dist/sum-by.cjs +1 -1
- package/dist/sum-by.js +1 -1
- package/dist/sum.cjs +1 -1
- package/dist/sum.js +1 -1
- package/dist/swap-indices.cjs +1 -1
- package/dist/swap-indices.js +1 -1
- package/dist/swap-props.cjs +1 -1
- package/dist/swap-props.js +1 -1
- package/dist/take-first-by.cjs +1 -1
- package/dist/take-first-by.d.cts +1 -1
- package/dist/take-first-by.d.ts +1 -1
- package/dist/take-first-by.js +1 -1
- package/dist/take-last-while.cjs +1 -1
- package/dist/take-last-while.d.cts +2 -0
- package/dist/take-last-while.d.ts +2 -0
- package/dist/take-last-while.js +1 -1
- package/dist/take-last.cjs +1 -1
- package/dist/take-last.js +1 -1
- package/dist/take-while.cjs +1 -1
- package/dist/take-while.d.cts +2 -0
- package/dist/take-while.d.ts +2 -0
- package/dist/take-while.js +1 -1
- package/dist/take.cjs +1 -1
- package/dist/take.js +1 -1
- package/dist/tap.cjs +1 -1
- package/dist/tap.js +1 -1
- package/dist/times.cjs +1 -1
- package/dist/times.d.cts +1 -9
- package/dist/times.d.ts +1 -9
- package/dist/times.js +1 -1
- package/dist/to-camel-case.cjs +1 -1
- package/dist/to-camel-case.js +1 -1
- package/dist/to-capital-case.cjs +1 -1
- package/dist/to-capital-case.js +1 -1
- package/dist/to-constant-case.cjs +1 -1
- package/dist/to-constant-case.js +1 -1
- package/dist/to-kebab-case.cjs +1 -1
- package/dist/to-kebab-case.js +1 -1
- package/dist/to-no-case.cjs +1 -1
- package/dist/to-no-case.js +1 -1
- package/dist/to-pascal-case.cjs +1 -1
- package/dist/to-pascal-case.js +1 -1
- package/dist/to-pascal-snake-case.cjs +1 -1
- package/dist/to-pascal-snake-case.js +1 -1
- package/dist/to-sentence-case.cjs +1 -1
- package/dist/to-sentence-case.js +1 -1
- package/dist/to-snake-case.cjs +1 -1
- package/dist/to-snake-case.js +1 -1
- package/dist/to-string-DO8zw6jS.d.cts +11 -0
- package/dist/to-string-DO8zw6jS.d.ts +11 -0
- package/dist/to-train-case.cjs +1 -1
- package/dist/to-train-case.js +1 -1
- package/dist/tuple-parts-BTivqbtT.d.ts +86 -0
- package/dist/tuple-parts-v6av7LMU.d.cts +86 -0
- package/dist/unique-by.cjs +1 -1
- package/dist/unique-by.js +1 -1
- package/dist/unique-with.cjs +1 -1
- package/dist/unique-with.js +1 -1
- package/dist/unique.cjs +1 -1
- package/dist/unique.js +1 -1
- package/dist/{upsert-prop-tIHFi_F_.d.cts → upsert-prop-Cc3jEW9l.d.cts} +1 -2
- package/dist/{upsert-prop-D0N8486l.d.ts → upsert-prop-CdUtD50i.d.ts} +1 -2
- package/dist/values.cjs +1 -1
- package/dist/values.d.cts +1 -1
- package/dist/values.d.ts +1 -1
- package/dist/values.js +1 -1
- package/dist/zip-with.cjs +1 -1
- package/dist/zip-with.js +1 -1
- package/dist/zip.cjs +1 -1
- package/dist/zip.js +1 -1
- package/package.json +12 -12
- package/dist/chunk-2MU3SHCO.js +0 -1
- package/dist/chunk-3CFBQYOQ.js +0 -1
- package/dist/chunk-5SAUYUEK.js +0 -1
- package/dist/chunk-5VXKW6SI.cjs +0 -1
- package/dist/chunk-6HSB3NFW.js +0 -1
- package/dist/chunk-6L5XEBJG.js +0 -1
- package/dist/chunk-A2PAJNYA.js +0 -1
- package/dist/chunk-APUBIDDU.cjs +0 -1
- package/dist/chunk-AWXJSK4F.js +0 -1
- package/dist/chunk-B5QDOWVQ.cjs +0 -1
- package/dist/chunk-B7RHAPUE.js +0 -1
- package/dist/chunk-BOOMUHPG.js +0 -1
- package/dist/chunk-CZLV6ZLZ.js +0 -1
- package/dist/chunk-DLXKXNZT.js +0 -1
- package/dist/chunk-F3JXHUP4.cjs +0 -1
- package/dist/chunk-FMUPPQZE.js +0 -1
- package/dist/chunk-GFQXVPLP.cjs +0 -1
- package/dist/chunk-GOUUMCT7.cjs +0 -1
- package/dist/chunk-HRK4GMT2.cjs +0 -1
- package/dist/chunk-I7K3Z4BT.js +0 -1
- package/dist/chunk-ICYGL2YZ.js +0 -1
- package/dist/chunk-IJ4I5A3K.js +0 -1
- package/dist/chunk-IXGOK22A.cjs +0 -1
- package/dist/chunk-L4ITKDYB.cjs +0 -1
- package/dist/chunk-MBC7VZHY.js +0 -1
- package/dist/chunk-NQGMUM3E.cjs +0 -1
- package/dist/chunk-OBWPUDD3.cjs +0 -1
- package/dist/chunk-OEJ5J23C.js +0 -1
- package/dist/chunk-OL2TQDYM.cjs +0 -1
- package/dist/chunk-PIF5X7RQ.cjs +0 -1
- package/dist/chunk-PWHX2554.js +0 -1
- package/dist/chunk-QQMFHVPX.cjs +0 -1
- package/dist/chunk-SQZULO7V.js +0 -1
- package/dist/chunk-THE6MSJO.cjs +0 -1
- package/dist/chunk-UDSRBKNR.js +0 -1
- package/dist/chunk-UUYCL4G2.js +0 -1
- package/dist/chunk-VRZNQSZN.cjs +0 -1
- package/dist/chunk-WYM2JV5T.cjs +0 -1
- package/dist/chunk-XLGD5ZUY.cjs +0 -1
- package/dist/chunk-XU4TDKMD.cjs +0 -1
- package/dist/chunk-YCM6N46T.js +0 -1
- package/dist/chunk-Z46FX2Y4.js +0 -1
- package/dist/enumerable-string-keyed-value-of-CLzltniW.d.cts +0 -15
- package/dist/enumerable-string-keyed-value-of-CLzltniW.d.ts +0 -15
- package/dist/exact-record-Dhbe_K-E.d.ts +0 -5
- package/dist/exact-record-_isi2JMR.d.cts +0 -5
- package/dist/funnel.remeda-debounce.test.cjs +0 -1
- package/dist/funnel.remeda-debounce.test.js +0 -1
- package/dist/if-bounded-record-Drd4UbBU.d.cts +0 -29
- package/dist/if-bounded-record-Drd4UbBU.d.ts +0 -29
- package/dist/n-tuple-5jljrt4c.d.cts +0 -10
- package/dist/n-tuple-5jljrt4c.d.ts +0 -10
- package/dist/reconstructed-record-DchLaSO8.d.cts +0 -10
- package/dist/reconstructed-record-DuxOLlMs.d.ts +0 -10
- package/dist/take-last-while.spec-d-.cjs +0 -1
- package/dist/take-last-while.spec-d-.d.cts +0 -2
- package/dist/take-last-while.spec-d-.d.ts +0 -2
- package/dist/take-last-while.spec-d-.js +0 -1
- package/dist/tuple-parts-CP0H7BrE.d.cts +0 -37
- package/dist/tuple-parts-CP0H7BrE.d.ts +0 -37
- /package/dist/{funnel.remeda-debounce.test.d.cts → funnel.perkakas-debounce.test.d.cts} +0 -0
- /package/dist/{funnel.remeda-debounce.test.d.ts → funnel.perkakas-debounce.test.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as t}from"./chunk-
|
|
1
|
+
import{a as t}from"./chunk-NHTBBY2L.js";import{a as e}from"./chunk-J6WPJH72.js";function s(...n){return e(r,n,t(a))}function r([n]){return n}function a(){return o}function o(n){return{hasNext:!0,next:n,done:!0}}export{s as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as t}from"./chunk-J6WPJH72.js";function i(...e){return t(s,e)}function s(e,o){let r={};for(let n of o)n in e&&(r[n]=e[n]);return r}export{i as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as r}from"./chunk-EPU4K3DD.js";import{a as t}from"./chunk-J6WPJH72.js";function m(...e){return t(o,e,i)}function o(e,n){return e.filter(n)}function i(e){return(n,a,d)=>e(n,a,d)?{done:!1,hasNext:!0,next:n}:r}export{m as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var d=/^(?:0|[1-9]\d*)$/u;function s(i){let t=[],a=/\.{0,4096}(?<propName>[^.[\]]+)|\['(?<quoted>.{0,4096}?)'\]|\["(?<doubleQuoted>.{0,4096}?)"\]|\[(?<unquoted>.{0,4096}?)\]/uy,n;for(;(n=a.exec(i))!==null;){let{propName:e,quoted:o,doubleQuoted:u,unquoted:r}=n.groups;if(r!==void 0){t.push(...s(r));continue}t.push(e===void 0?o??u:d.test(e)?Number(e):e)}return t}export{s as a};
|
package/dist/chunk.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk2HQM73ITcjs = require('./chunk-2HQM73IT.cjs');require('./chunk-XR72I63W.cjs');require('./chunk-GZJMERDJ.cjs');require('./chunk-MBGSSEZN.cjs');exports.chunk = _chunk2HQM73ITcjs.a;
|
package/dist/chunk.d.cts
CHANGED
|
@@ -1,9 +1,19 @@
|
|
|
1
|
-
import { IsNumericLiteral, LessThan, IfNever,
|
|
1
|
+
import { IsNumericLiteral, LessThan, IfNever, ValueOf, Subtract, IntRange } from 'type-fest';
|
|
2
2
|
import { I as IntRangeInclusive } from './int-range-inclusive-Cn-qsrAN.cjs';
|
|
3
3
|
import { I as IterableContainer } from './iterable-container-BTpDVdNc.cjs';
|
|
4
|
-
import { N as NTuple } from './n-tuple-5jljrt4c.cjs';
|
|
5
4
|
import { N as NonEmptyArray } from './non-empty-array-C9Od1wmF.cjs';
|
|
6
|
-
import {
|
|
5
|
+
import { P as PartialArray } from './partial-array-Vnf1fBtl.cjs';
|
|
6
|
+
import { T as TupleParts } from './tuple-parts-v6av7LMU.cjs';
|
|
7
|
+
import './perkakas-type-error-8wPb8T2y.cjs';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* An array with *exactly* N elements in it.
|
|
11
|
+
*
|
|
12
|
+
* Only literal N values are supported. For very large N the type might result
|
|
13
|
+
* in a recurse depth error. For negative N the type would result in an infinite
|
|
14
|
+
* recursion. None of these have protections because this is an internal type!
|
|
15
|
+
*/
|
|
16
|
+
type NTuple<T, N extends number, Result extends Array<unknown> = []> = Result['length'] extends N ? Result : NTuple<T, N, [...Result, T]>;
|
|
7
17
|
|
|
8
18
|
/**
|
|
9
19
|
* This prevents typescript from failing on complex arrays and large chunks.
|
|
@@ -14,71 +24,53 @@ import { T as TupleParts } from './tuple-parts-CP0H7BrE.cjs';
|
|
|
14
24
|
* See the type tests for an example.
|
|
15
25
|
*/
|
|
16
26
|
type MAX_LITERAL_SIZE = 350;
|
|
17
|
-
type Chunk<T extends IterableContainer, N extends number> = T extends readonly [] ? [] : IsNumericLiteral<N> extends true ? LessThan<N, 1> extends true ? never : LessThan<N, MAX_LITERAL_SIZE> extends true ? [
|
|
18
|
-
|
|
19
|
-
] : GenericChunk<T> : GenericChunk<T>;
|
|
20
|
-
type LiteralChunk<T, N extends number, Parts extends TupleParts<T> = TupleParts<T>> = ([...Parts['prefix'], ...Parts['suffix']]['length'] extends 0 ? [] : never) | ChunkInfinite<ChunkFinite<Parts['prefix'], N>, Parts['item'], Parts['suffix'], N>;
|
|
27
|
+
type Chunk<T extends IterableContainer, N extends number> = T extends readonly [] ? [] : IsNumericLiteral<N> extends true ? LessThan<N, 1> extends true ? never : LessThan<N, MAX_LITERAL_SIZE> extends true ? [...LiteralChunk<T, N>] : GenericChunk<T> : GenericChunk<T>;
|
|
28
|
+
type LiteralChunk<T extends IterableContainer, N extends number> = ChunkRestElement<ChunkFixedTuple<TuplePrefix<T>, N>, TupleParts<T>['item'], TupleParts<T>['suffix'], N> | ([...TuplePrefix<T>, ...TupleParts<T>['suffix']] extends readonly [] ? [] : never);
|
|
21
29
|
/**
|
|
22
|
-
* This type **only** works if the input array `T` is a
|
|
23
|
-
*
|
|
24
|
-
* parameter). For these inputs the chunked output could be computed as literal
|
|
25
|
-
* finite tuples too.
|
|
30
|
+
* This type **only** works if the input array `T` is a fixed tuple. For these
|
|
31
|
+
* inputs the chunked output could be computed as literal finite tuples too.
|
|
26
32
|
*/
|
|
27
|
-
type
|
|
33
|
+
type ChunkFixedTuple<T, N extends number, Result = []> = T extends readonly [infer Head, ...infer Rest] ? ChunkFixedTuple<Rest, N, Result extends [
|
|
28
34
|
...infer Previous extends Array<Array<unknown>>,
|
|
29
35
|
infer Current extends Array<unknown>
|
|
30
|
-
] ? Current['length'] extends N ? [
|
|
31
|
-
...Previous,
|
|
32
|
-
Current,
|
|
33
|
-
[Head]
|
|
34
|
-
] : [
|
|
35
|
-
...Previous,
|
|
36
|
-
[...Current, Head]
|
|
37
|
-
] : [
|
|
38
|
-
[Head]
|
|
39
|
-
]> : Result;
|
|
36
|
+
] ? Current['length'] extends N ? [...Previous, Current, [Head]] : [...Previous, [...Current, Head]] : [[Head]]> : Result;
|
|
40
37
|
/**
|
|
41
38
|
* Here lies the main complexity of building the chunk type. It takes the prefix
|
|
42
39
|
* chunks, the rest param item type, and the suffix (not chunked!) and it
|
|
43
40
|
* creates all possible combinations of adding items to the prefix and suffix
|
|
44
41
|
* for all possible scenarios for how many items the rest param "represents".
|
|
45
42
|
*/
|
|
46
|
-
type
|
|
43
|
+
type ChunkRestElement<PrefixChunks, Item, Suffix extends Array<unknown>, N extends number> = IfNever<Item, PrefixChunks, PrefixChunks extends [
|
|
47
44
|
...infer PrefixFullChunks extends Array<Array<unknown>>,
|
|
48
45
|
infer LastPrefixChunk extends Array<unknown>
|
|
49
|
-
] ?
|
|
50
|
-
...PrefixFullChunks,
|
|
51
|
-
[
|
|
52
|
-
...LastPrefixChunk,
|
|
53
|
-
...NTuple<Item, Subtract<N, LastPrefixChunk['length']>>
|
|
54
|
-
],
|
|
55
|
-
...Array<NTuple<Item, N>>,
|
|
56
|
-
...SuffixChunk<Suffix, Item, N>
|
|
57
|
-
] | ValueOf<{
|
|
46
|
+
] ? ValueOf<{
|
|
58
47
|
[Padding in IntRangeInclusive<0, Subtract<N, LastPrefixChunk['length']>>]: [
|
|
59
48
|
...PrefixFullChunks,
|
|
60
|
-
...
|
|
49
|
+
...ChunkFixedTuple<[
|
|
61
50
|
...LastPrefixChunk,
|
|
62
51
|
...NTuple<Item, Padding>,
|
|
63
52
|
...Suffix
|
|
64
53
|
], N>
|
|
65
54
|
];
|
|
66
|
-
}>
|
|
55
|
+
}> | [
|
|
56
|
+
...PrefixFullChunks,
|
|
57
|
+
[
|
|
58
|
+
...LastPrefixChunk,
|
|
59
|
+
...NTuple<Item, Subtract<N, LastPrefixChunk['length']>>
|
|
60
|
+
],
|
|
67
61
|
...Array<NTuple<Item, N>>,
|
|
68
62
|
...SuffixChunk<Suffix, Item, N>
|
|
69
|
-
]>;
|
|
63
|
+
] : [...Array<NTuple<Item, N>>, ...SuffixChunk<Suffix, Item, N>]>;
|
|
70
64
|
/**
|
|
71
65
|
* This type assumes it takes a finite tuple that represents the suffix of our
|
|
72
66
|
* input array. It builds all possible combinations of adding items to the
|
|
73
67
|
* **head** of the suffix in order to pad the suffix until the last chunk is
|
|
74
68
|
* full.
|
|
75
69
|
*/
|
|
76
|
-
type SuffixChunk<T extends Array<unknown>, Item, N extends number> = T extends readonly [] ? [
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
] : ValueOf<{
|
|
81
|
-
[Padding in IntRange<0, N>]: ChunkFinite<[
|
|
70
|
+
type SuffixChunk<T extends Array<unknown>, Item, N extends number> = T extends readonly [] ? [ValueOf<{
|
|
71
|
+
[K in IntRangeInclusive<1, N>]: NTuple<Item, K>;
|
|
72
|
+
}>] : ValueOf<{
|
|
73
|
+
[Padding in IntRange<0, N>]: ChunkFixedTuple<[
|
|
82
74
|
...NTuple<Item, Padding>,
|
|
83
75
|
...T
|
|
84
76
|
], N>;
|
|
@@ -88,6 +80,10 @@ type SuffixChunk<T extends Array<unknown>, Item, N extends number> = T extends r
|
|
|
88
80
|
* our output based on if we know for sure that the array is empty or not.
|
|
89
81
|
*/
|
|
90
82
|
type GenericChunk<T extends IterableContainer> = T extends readonly [...Array<unknown>, unknown] | readonly [unknown, ...Array<unknown>] ? NonEmptyArray<NonEmptyArray<T[number]>> : Array<NonEmptyArray<T[number]>>;
|
|
83
|
+
type TuplePrefix<T extends IterableContainer> = [
|
|
84
|
+
...TupleParts<T>['required'],
|
|
85
|
+
...PartialArray<TupleParts<T>['optional']>
|
|
86
|
+
];
|
|
91
87
|
/**
|
|
92
88
|
* Split an array into groups the length of `size`. If `array` can't be split evenly, the final chunk will be the remaining elements.
|
|
93
89
|
*
|
package/dist/chunk.d.ts
CHANGED
|
@@ -1,9 +1,19 @@
|
|
|
1
|
-
import { IsNumericLiteral, LessThan, IfNever,
|
|
1
|
+
import { IsNumericLiteral, LessThan, IfNever, ValueOf, Subtract, IntRange } from 'type-fest';
|
|
2
2
|
import { I as IntRangeInclusive } from './int-range-inclusive-Cn-qsrAN.js';
|
|
3
3
|
import { I as IterableContainer } from './iterable-container-BTpDVdNc.js';
|
|
4
|
-
import { N as NTuple } from './n-tuple-5jljrt4c.js';
|
|
5
4
|
import { N as NonEmptyArray } from './non-empty-array-C9Od1wmF.js';
|
|
6
|
-
import {
|
|
5
|
+
import { P as PartialArray } from './partial-array-Vnf1fBtl.js';
|
|
6
|
+
import { T as TupleParts } from './tuple-parts-BTivqbtT.js';
|
|
7
|
+
import './perkakas-type-error-8wPb8T2y.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* An array with *exactly* N elements in it.
|
|
11
|
+
*
|
|
12
|
+
* Only literal N values are supported. For very large N the type might result
|
|
13
|
+
* in a recurse depth error. For negative N the type would result in an infinite
|
|
14
|
+
* recursion. None of these have protections because this is an internal type!
|
|
15
|
+
*/
|
|
16
|
+
type NTuple<T, N extends number, Result extends Array<unknown> = []> = Result['length'] extends N ? Result : NTuple<T, N, [...Result, T]>;
|
|
7
17
|
|
|
8
18
|
/**
|
|
9
19
|
* This prevents typescript from failing on complex arrays and large chunks.
|
|
@@ -14,71 +24,53 @@ import { T as TupleParts } from './tuple-parts-CP0H7BrE.js';
|
|
|
14
24
|
* See the type tests for an example.
|
|
15
25
|
*/
|
|
16
26
|
type MAX_LITERAL_SIZE = 350;
|
|
17
|
-
type Chunk<T extends IterableContainer, N extends number> = T extends readonly [] ? [] : IsNumericLiteral<N> extends true ? LessThan<N, 1> extends true ? never : LessThan<N, MAX_LITERAL_SIZE> extends true ? [
|
|
18
|
-
|
|
19
|
-
] : GenericChunk<T> : GenericChunk<T>;
|
|
20
|
-
type LiteralChunk<T, N extends number, Parts extends TupleParts<T> = TupleParts<T>> = ([...Parts['prefix'], ...Parts['suffix']]['length'] extends 0 ? [] : never) | ChunkInfinite<ChunkFinite<Parts['prefix'], N>, Parts['item'], Parts['suffix'], N>;
|
|
27
|
+
type Chunk<T extends IterableContainer, N extends number> = T extends readonly [] ? [] : IsNumericLiteral<N> extends true ? LessThan<N, 1> extends true ? never : LessThan<N, MAX_LITERAL_SIZE> extends true ? [...LiteralChunk<T, N>] : GenericChunk<T> : GenericChunk<T>;
|
|
28
|
+
type LiteralChunk<T extends IterableContainer, N extends number> = ChunkRestElement<ChunkFixedTuple<TuplePrefix<T>, N>, TupleParts<T>['item'], TupleParts<T>['suffix'], N> | ([...TuplePrefix<T>, ...TupleParts<T>['suffix']] extends readonly [] ? [] : never);
|
|
21
29
|
/**
|
|
22
|
-
* This type **only** works if the input array `T` is a
|
|
23
|
-
*
|
|
24
|
-
* parameter). For these inputs the chunked output could be computed as literal
|
|
25
|
-
* finite tuples too.
|
|
30
|
+
* This type **only** works if the input array `T` is a fixed tuple. For these
|
|
31
|
+
* inputs the chunked output could be computed as literal finite tuples too.
|
|
26
32
|
*/
|
|
27
|
-
type
|
|
33
|
+
type ChunkFixedTuple<T, N extends number, Result = []> = T extends readonly [infer Head, ...infer Rest] ? ChunkFixedTuple<Rest, N, Result extends [
|
|
28
34
|
...infer Previous extends Array<Array<unknown>>,
|
|
29
35
|
infer Current extends Array<unknown>
|
|
30
|
-
] ? Current['length'] extends N ? [
|
|
31
|
-
...Previous,
|
|
32
|
-
Current,
|
|
33
|
-
[Head]
|
|
34
|
-
] : [
|
|
35
|
-
...Previous,
|
|
36
|
-
[...Current, Head]
|
|
37
|
-
] : [
|
|
38
|
-
[Head]
|
|
39
|
-
]> : Result;
|
|
36
|
+
] ? Current['length'] extends N ? [...Previous, Current, [Head]] : [...Previous, [...Current, Head]] : [[Head]]> : Result;
|
|
40
37
|
/**
|
|
41
38
|
* Here lies the main complexity of building the chunk type. It takes the prefix
|
|
42
39
|
* chunks, the rest param item type, and the suffix (not chunked!) and it
|
|
43
40
|
* creates all possible combinations of adding items to the prefix and suffix
|
|
44
41
|
* for all possible scenarios for how many items the rest param "represents".
|
|
45
42
|
*/
|
|
46
|
-
type
|
|
43
|
+
type ChunkRestElement<PrefixChunks, Item, Suffix extends Array<unknown>, N extends number> = IfNever<Item, PrefixChunks, PrefixChunks extends [
|
|
47
44
|
...infer PrefixFullChunks extends Array<Array<unknown>>,
|
|
48
45
|
infer LastPrefixChunk extends Array<unknown>
|
|
49
|
-
] ?
|
|
50
|
-
...PrefixFullChunks,
|
|
51
|
-
[
|
|
52
|
-
...LastPrefixChunk,
|
|
53
|
-
...NTuple<Item, Subtract<N, LastPrefixChunk['length']>>
|
|
54
|
-
],
|
|
55
|
-
...Array<NTuple<Item, N>>,
|
|
56
|
-
...SuffixChunk<Suffix, Item, N>
|
|
57
|
-
] | ValueOf<{
|
|
46
|
+
] ? ValueOf<{
|
|
58
47
|
[Padding in IntRangeInclusive<0, Subtract<N, LastPrefixChunk['length']>>]: [
|
|
59
48
|
...PrefixFullChunks,
|
|
60
|
-
...
|
|
49
|
+
...ChunkFixedTuple<[
|
|
61
50
|
...LastPrefixChunk,
|
|
62
51
|
...NTuple<Item, Padding>,
|
|
63
52
|
...Suffix
|
|
64
53
|
], N>
|
|
65
54
|
];
|
|
66
|
-
}>
|
|
55
|
+
}> | [
|
|
56
|
+
...PrefixFullChunks,
|
|
57
|
+
[
|
|
58
|
+
...LastPrefixChunk,
|
|
59
|
+
...NTuple<Item, Subtract<N, LastPrefixChunk['length']>>
|
|
60
|
+
],
|
|
67
61
|
...Array<NTuple<Item, N>>,
|
|
68
62
|
...SuffixChunk<Suffix, Item, N>
|
|
69
|
-
]>;
|
|
63
|
+
] : [...Array<NTuple<Item, N>>, ...SuffixChunk<Suffix, Item, N>]>;
|
|
70
64
|
/**
|
|
71
65
|
* This type assumes it takes a finite tuple that represents the suffix of our
|
|
72
66
|
* input array. It builds all possible combinations of adding items to the
|
|
73
67
|
* **head** of the suffix in order to pad the suffix until the last chunk is
|
|
74
68
|
* full.
|
|
75
69
|
*/
|
|
76
|
-
type SuffixChunk<T extends Array<unknown>, Item, N extends number> = T extends readonly [] ? [
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
] : ValueOf<{
|
|
81
|
-
[Padding in IntRange<0, N>]: ChunkFinite<[
|
|
70
|
+
type SuffixChunk<T extends Array<unknown>, Item, N extends number> = T extends readonly [] ? [ValueOf<{
|
|
71
|
+
[K in IntRangeInclusive<1, N>]: NTuple<Item, K>;
|
|
72
|
+
}>] : ValueOf<{
|
|
73
|
+
[Padding in IntRange<0, N>]: ChunkFixedTuple<[
|
|
82
74
|
...NTuple<Item, Padding>,
|
|
83
75
|
...T
|
|
84
76
|
], N>;
|
|
@@ -88,6 +80,10 @@ type SuffixChunk<T extends Array<unknown>, Item, N extends number> = T extends r
|
|
|
88
80
|
* our output based on if we know for sure that the array is empty or not.
|
|
89
81
|
*/
|
|
90
82
|
type GenericChunk<T extends IterableContainer> = T extends readonly [...Array<unknown>, unknown] | readonly [unknown, ...Array<unknown>] ? NonEmptyArray<NonEmptyArray<T[number]>> : Array<NonEmptyArray<T[number]>>;
|
|
83
|
+
type TuplePrefix<T extends IterableContainer> = [
|
|
84
|
+
...TupleParts<T>['required'],
|
|
85
|
+
...PartialArray<TupleParts<T>['optional']>
|
|
86
|
+
];
|
|
91
87
|
/**
|
|
92
88
|
* Split an array into groups the length of `size`. If `array` can't be split evenly, the final chunk will be the remaining elements.
|
|
93
89
|
*
|
package/dist/chunk.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"./chunk-
|
|
1
|
+
import{a}from"./chunk-UWMBE6BM.js";import"./chunk-J6WPJH72.js";import"./chunk-KGPDVVVV.js";import"./chunk-EK7ODJWE.js";export{a as chunk};
|
package/dist/clamp.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkRXUYF4A4cjs = require('./chunk-RXUYF4A4.cjs');require('./chunk-XR72I63W.cjs');require('./chunk-GZJMERDJ.cjs');exports.clamp = _chunkRXUYF4A4cjs.a;
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkRXUYF4A4cjs = require('./chunk-RXUYF4A4.cjs');require('./chunk-XR72I63W.cjs');require('./chunk-GZJMERDJ.cjs');require('./chunk-MBGSSEZN.cjs');exports.clamp = _chunkRXUYF4A4cjs.a;
|
package/dist/clamp.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"./chunk-CR5H624Z.js";import"./chunk-J6WPJH72.js";import"./chunk-KGPDVVVV.js";export{a as clamp};
|
|
1
|
+
import{a}from"./chunk-CR5H624Z.js";import"./chunk-J6WPJH72.js";import"./chunk-KGPDVVVV.js";import"./chunk-EK7ODJWE.js";export{a as clamp};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* We built our own version of Subtract instead of using type-fest's one
|
|
3
|
+
* because we needed a simpler implementation that isn't as prone to excessive
|
|
4
|
+
* recursion issues and that is clamped at 0 so that we don't need to handle
|
|
5
|
+
* negative values using even more utilities.
|
|
6
|
+
*/
|
|
7
|
+
type ClampedIntegerSubtract<Minuend, Subtrahend, SubtrahendBag extends Array<unknown> = [], ResultBag extends Array<unknown> = []> = [...SubtrahendBag, ...ResultBag]['length'] extends Minuend ? ResultBag['length'] : SubtrahendBag['length'] extends Subtrahend ? ClampedIntegerSubtract<Minuend, Subtrahend, SubtrahendBag, [
|
|
8
|
+
...ResultBag,
|
|
9
|
+
unknown
|
|
10
|
+
]> : ClampedIntegerSubtract<Minuend, Subtrahend, [
|
|
11
|
+
...SubtrahendBag,
|
|
12
|
+
unknown
|
|
13
|
+
], ResultBag>;
|
|
14
|
+
|
|
15
|
+
export type { ClampedIntegerSubtract as C };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* We built our own version of Subtract instead of using type-fest's one
|
|
3
|
+
* because we needed a simpler implementation that isn't as prone to excessive
|
|
4
|
+
* recursion issues and that is clamped at 0 so that we don't need to handle
|
|
5
|
+
* negative values using even more utilities.
|
|
6
|
+
*/
|
|
7
|
+
type ClampedIntegerSubtract<Minuend, Subtrahend, SubtrahendBag extends Array<unknown> = [], ResultBag extends Array<unknown> = []> = [...SubtrahendBag, ...ResultBag]['length'] extends Minuend ? ResultBag['length'] : SubtrahendBag['length'] extends Subtrahend ? ClampedIntegerSubtract<Minuend, Subtrahend, SubtrahendBag, [
|
|
8
|
+
...ResultBag,
|
|
9
|
+
unknown
|
|
10
|
+
]> : ClampedIntegerSubtract<Minuend, Subtrahend, [
|
|
11
|
+
...SubtrahendBag,
|
|
12
|
+
unknown
|
|
13
|
+
], ResultBag>;
|
|
14
|
+
|
|
15
|
+
export type { ClampedIntegerSubtract as C };
|
package/dist/clone.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkQGF2XNZScjs = require('./chunk-QGF2XNZS.cjs');require('./chunk-XR72I63W.cjs');require('./chunk-GZJMERDJ.cjs');require('./chunk-MBGSSEZN.cjs');exports.clone = _chunkQGF2XNZScjs.a;
|
package/dist/clone.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"./chunk-
|
|
1
|
+
import{a}from"./chunk-JYWIRZ2Z.js";import"./chunk-J6WPJH72.js";import"./chunk-KGPDVVVV.js";import"./chunk-EK7ODJWE.js";export{a as clone};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IfNever } from 'type-fest';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* `never[]` and `[]` are not the same type, and in some cases they aren't
|
|
5
|
+
* interchangeable.
|
|
6
|
+
*
|
|
7
|
+
* This type makes it easier to use the result of TupleParts when the input is a
|
|
8
|
+
* fixed-length tuple but we still want to spread the rest of the array. e.g.
|
|
9
|
+
* `[...CoercedArray<TupleParts<T>["item"]>, ...TupleParts<T>["suffix"]]`.
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
type CoercedArray<T> = IfNever<T, [], Array<T>>;
|
|
13
|
+
|
|
14
|
+
export type { CoercedArray as C };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IfNever } from 'type-fest';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* `never[]` and `[]` are not the same type, and in some cases they aren't
|
|
5
|
+
* interchangeable.
|
|
6
|
+
*
|
|
7
|
+
* This type makes it easier to use the result of TupleParts when the input is a
|
|
8
|
+
* fixed-length tuple but we still want to spread the rest of the array. e.g.
|
|
9
|
+
* `[...CoercedArray<TupleParts<T>["item"]>, ...TupleParts<T>["suffix"]]`.
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
type CoercedArray<T> = IfNever<T, [], Array<T>>;
|
|
13
|
+
|
|
14
|
+
export type { CoercedArray as C };
|
package/dist/concat.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYJDSLML5cjs = require('./chunk-YJDSLML5.cjs');require('./chunk-XR72I63W.cjs');require('./chunk-GZJMERDJ.cjs');exports.concat = _chunkYJDSLML5cjs.a;
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYJDSLML5cjs = require('./chunk-YJDSLML5.cjs');require('./chunk-XR72I63W.cjs');require('./chunk-GZJMERDJ.cjs');require('./chunk-MBGSSEZN.cjs');exports.concat = _chunkYJDSLML5cjs.a;
|
package/dist/concat.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"./chunk-32JKKR4M.js";import"./chunk-J6WPJH72.js";import"./chunk-KGPDVVVV.js";export{a as concat};
|
|
1
|
+
import{a}from"./chunk-32JKKR4M.js";import"./chunk-J6WPJH72.js";import"./chunk-KGPDVVVV.js";import"./chunk-EK7ODJWE.js";export{a as concat};
|
package/dist/conditional.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk4BTTPOEUcjs = require('./chunk-4BTTPOEU.cjs');require('./chunk-MBGSSEZN.cjs');exports.conditional = _chunk4BTTPOEUcjs.a;
|