common-fp 0.1.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.cjs +13 -0
- package/dist/add.d.cts +2 -0
- package/dist/add.d.ts +1 -0
- package/dist/add.mjs +13 -0
- package/dist/all.cjs +23 -0
- package/dist/all.d.cts +2 -0
- package/dist/all.d.ts +1 -0
- package/dist/all.mjs +23 -0
- package/dist/alter.cjs +24 -0
- package/dist/alter.d.cts +2 -0
- package/dist/alter.d.ts +1 -0
- package/dist/alter.mjs +24 -0
- package/dist/any.cjs +22 -0
- package/dist/any.d.cts +2 -0
- package/dist/any.d.ts +1 -0
- package/dist/any.mjs +22 -0
- package/dist/append-all.cjs +13 -0
- package/dist/append-all.d.cts +2 -0
- package/dist/append-all.d.ts +1 -0
- package/dist/append-all.mjs +13 -0
- package/dist/append-one.cjs +9 -0
- package/dist/append-one.d.cts +2 -0
- package/dist/append-one.d.ts +1 -0
- package/dist/append-one.mjs +9 -0
- package/dist/append.cjs +13 -0
- package/dist/append.d.cts +2 -0
- package/dist/append.d.ts +1 -0
- package/dist/append.mjs +13 -0
- package/dist/assign-defaults.cjs +43 -0
- package/dist/assign-defaults.d.cts +2 -0
- package/dist/assign-defaults.d.ts +1 -0
- package/dist/assign-defaults.mjs +43 -0
- package/dist/assign-overrides.cjs +43 -0
- package/dist/assign-overrides.d.cts +2 -0
- package/dist/assign-overrides.d.ts +1 -0
- package/dist/assign-overrides.mjs +43 -0
- package/dist/compare-by-path.cjs +24 -0
- package/dist/compare-by-path.d.cts +2 -0
- package/dist/compare-by-path.d.ts +1 -0
- package/dist/compare-by-path.mjs +24 -0
- package/dist/compare-by-prop.cjs +23 -0
- package/dist/compare-by-prop.d.cts +2 -0
- package/dist/compare-by-prop.d.ts +1 -0
- package/dist/compare-by-prop.mjs +23 -0
- package/dist/compose.cjs +15 -0
- package/dist/compose.d.cts +2 -0
- package/dist/compose.d.ts +1 -0
- package/dist/compose.mjs +15 -0
- package/dist/contained-in.cjs +26 -0
- package/dist/contained-in.d.cts +2 -0
- package/dist/contained-in.d.ts +1 -0
- package/dist/contained-in.mjs +26 -0
- package/dist/contains.cjs +28 -0
- package/dist/contains.d.cts +2 -0
- package/dist/contains.d.ts +1 -0
- package/dist/contains.mjs +28 -0
- package/dist/date-is-between.cjs +31 -0
- package/dist/date-is-between.d.cts +2 -0
- package/dist/date-is-between.d.ts +1 -0
- package/dist/date-is-between.mjs +31 -0
- package/dist/default-falsey-val-to.cjs +3 -0
- package/dist/default-falsey-val-to.d.cts +2 -0
- package/dist/default-falsey-val-to.d.ts +1 -0
- package/dist/default-falsey-val-to.mjs +3 -0
- package/dist/default-nullish-val-to.cjs +3 -0
- package/dist/default-nullish-val-to.d.cts +2 -0
- package/dist/default-nullish-val-to.d.ts +1 -0
- package/dist/default-nullish-val-to.mjs +3 -0
- package/dist/discard-first-while.cjs +18 -0
- package/dist/discard-first-while.d.cts +2 -0
- package/dist/discard-first-while.d.ts +1 -0
- package/dist/discard-first-while.mjs +18 -0
- package/dist/discard-first.cjs +16 -0
- package/dist/discard-first.d.cts +2 -0
- package/dist/discard-first.d.ts +1 -0
- package/dist/discard-first.mjs +16 -0
- package/dist/discard-last-while.cjs +17 -0
- package/dist/discard-last-while.d.cts +2 -0
- package/dist/discard-last-while.d.ts +1 -0
- package/dist/discard-last-while.mjs +17 -0
- package/dist/discard-last.cjs +16 -0
- package/dist/discard-last.d.cts +2 -0
- package/dist/discard-last.d.ts +1 -0
- package/dist/discard-last.mjs +16 -0
- package/dist/discard-range.cjs +31 -0
- package/dist/discard-range.d.cts +2 -0
- package/dist/discard-range.d.ts +1 -0
- package/dist/discard-range.mjs +31 -0
- package/dist/discard-when.cjs +55 -0
- package/dist/discard-when.d.cts +2 -0
- package/dist/discard-when.d.ts +1 -0
- package/dist/discard-when.mjs +55 -0
- package/dist/discard.cjs +57 -0
- package/dist/discard.d.cts +2 -0
- package/dist/discard.d.ts +1 -0
- package/dist/discard.mjs +57 -0
- package/dist/divide-by.cjs +13 -0
- package/dist/divide-by.d.cts +2 -0
- package/dist/divide-by.d.ts +1 -0
- package/dist/divide-by.mjs +13 -0
- package/dist/ends-with.cjs +13 -0
- package/dist/ends-with.d.cts +2 -0
- package/dist/ends-with.d.ts +1 -0
- package/dist/ends-with.mjs +13 -0
- package/dist/expand-end.cjs +16 -0
- package/dist/expand-end.d.cts +2 -0
- package/dist/expand-end.d.ts +1 -0
- package/dist/expand-end.mjs +16 -0
- package/dist/expand-start.cjs +16 -0
- package/dist/expand-start.d.cts +2 -0
- package/dist/expand-start.d.ts +1 -0
- package/dist/expand-start.mjs +16 -0
- package/dist/expand.cjs +22 -0
- package/dist/expand.d.cts +2 -0
- package/dist/expand.d.ts +1 -0
- package/dist/expand.mjs +22 -0
- package/dist/fill-range-with.cjs +18 -0
- package/dist/fill-range-with.d.cts +2 -0
- package/dist/fill-range-with.d.ts +1 -0
- package/dist/fill-range-with.mjs +18 -0
- package/dist/fill-with.cjs +34 -0
- package/dist/fill-with.d.cts +2 -0
- package/dist/fill-with.d.ts +1 -0
- package/dist/fill-with.mjs +34 -0
- package/dist/find-key-with-val.cjs +46 -0
- package/dist/find-key-with-val.d.cts +2 -0
- package/dist/find-key-with-val.d.ts +1 -0
- package/dist/find-key-with-val.mjs +46 -0
- package/dist/find-key.cjs +21 -0
- package/dist/find-key.d.cts +2 -0
- package/dist/find-key.d.ts +1 -0
- package/dist/find-key.mjs +21 -0
- package/dist/find-last-key-with-val.cjs +23 -0
- package/dist/find-last-key-with-val.d.cts +2 -0
- package/dist/find-last-key-with-val.d.ts +1 -0
- package/dist/find-last-key-with-val.mjs +23 -0
- package/dist/find-last-key.cjs +16 -0
- package/dist/find-last-key.d.cts +2 -0
- package/dist/find-last-key.d.ts +1 -0
- package/dist/find-last-key.mjs +16 -0
- package/dist/find-last.cjs +16 -0
- package/dist/find-last.d.cts +2 -0
- package/dist/find-last.d.ts +1 -0
- package/dist/find-last.mjs +16 -0
- package/dist/find.cjs +21 -0
- package/dist/find.d.cts +2 -0
- package/dist/find.d.ts +1 -0
- package/dist/find.mjs +21 -0
- package/dist/first.cjs +10 -0
- package/dist/first.d.cts +2 -0
- package/dist/first.d.ts +1 -0
- package/dist/first.mjs +10 -0
- package/dist/flatten-fully.cjs +9 -0
- package/dist/flatten-fully.d.cts +2 -0
- package/dist/flatten-fully.d.ts +1 -0
- package/dist/flatten-fully.mjs +9 -0
- package/dist/flatten-once.cjs +9 -0
- package/dist/flatten-once.d.cts +2 -0
- package/dist/flatten-once.d.ts +1 -0
- package/dist/flatten-once.mjs +9 -0
- package/dist/flatten-to-depth.cjs +15 -0
- package/dist/flatten-to-depth.d.cts +2 -0
- package/dist/flatten-to-depth.d.ts +1 -0
- package/dist/flatten-to-depth.mjs +15 -0
- package/dist/for-each.cjs +22 -0
- package/dist/for-each.d.cts +2 -0
- package/dist/for-each.d.ts +1 -0
- package/dist/for-each.mjs +22 -0
- package/dist/get-at-path.cjs +11 -0
- package/dist/get-at-path.d.cts +2 -0
- package/dist/get-at-path.d.ts +1 -0
- package/dist/get-at-path.mjs +11 -0
- package/dist/get-average-value.cjs +19 -0
- package/dist/get-average-value.d.cts +2 -0
- package/dist/get-average-value.d.ts +1 -0
- package/dist/get-average-value.mjs +19 -0
- package/dist/get-common-values.cjs +31 -0
- package/dist/get-common-values.d.cts +2 -0
- package/dist/get-common-values.d.ts +1 -0
- package/dist/get-common-values.mjs +31 -0
- package/dist/get-exclusive-values.cjs +41 -0
- package/dist/get-exclusive-values.d.cts +2 -0
- package/dist/get-exclusive-values.d.ts +1 -0
- package/dist/get-exclusive-values.mjs +41 -0
- package/dist/get-keys.cjs +23 -0
- package/dist/get-keys.d.cts +2 -0
- package/dist/get-keys.d.ts +1 -0
- package/dist/get-keys.mjs +23 -0
- package/dist/get-max-value.cjs +16 -0
- package/dist/get-max-value.d.cts +2 -0
- package/dist/get-max-value.d.ts +1 -0
- package/dist/get-max-value.mjs +16 -0
- package/dist/get-min-value.cjs +16 -0
- package/dist/get-min-value.d.cts +2 -0
- package/dist/get-min-value.d.ts +1 -0
- package/dist/get-min-value.mjs +16 -0
- package/dist/get-random-value.cjs +18 -0
- package/dist/get-random-value.d.cts +2 -0
- package/dist/get-random-value.d.ts +1 -0
- package/dist/get-random-value.mjs +18 -0
- package/dist/get-size.cjs +28 -0
- package/dist/get-size.d.cts +2 -0
- package/dist/get-size.d.ts +1 -0
- package/dist/get-size.mjs +28 -0
- package/dist/get-value-at-map-key.cjs +8 -0
- package/dist/get-value-at-map-key.d.cts +2 -0
- package/dist/get-value-at-map-key.d.ts +1 -0
- package/dist/get-value-at-map-key.mjs +8 -0
- package/dist/get-values.cjs +22 -0
- package/dist/get-values.d.cts +2 -0
- package/dist/get-values.d.ts +1 -0
- package/dist/get-values.mjs +22 -0
- package/dist/get.cjs +10 -0
- package/dist/get.d.cts +2 -0
- package/dist/get.d.ts +1 -0
- package/dist/get.mjs +10 -0
- package/dist/greater-than-or-equal-to.cjs +13 -0
- package/dist/greater-than-or-equal-to.d.cts +2 -0
- package/dist/greater-than-or-equal-to.d.ts +1 -0
- package/dist/greater-than-or-equal-to.mjs +13 -0
- package/dist/greater-than.cjs +13 -0
- package/dist/greater-than.d.cts +2 -0
- package/dist/greater-than.d.ts +1 -0
- package/dist/greater-than.mjs +13 -0
- package/dist/group-by.cjs +28 -0
- package/dist/group-by.d.cts +2 -0
- package/dist/group-by.d.ts +1 -0
- package/dist/group-by.mjs +28 -0
- package/dist/index.cjs +160 -0
- package/dist/index.d.cts +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.mjs +158 -0
- package/dist/internal/contains-type-to-fn.cjs +33 -0
- package/dist/internal/contains-type-to-fn.mjs +33 -0
- package/dist/internal/get-at-path.cjs +12 -0
- package/dist/internal/get-at-path.mjs +12 -0
- package/dist/internal/validate-prune-arg.cjs +43 -0
- package/dist/internal/validate-prune-arg.mjs +43 -0
- package/dist/invert.cjs +29 -0
- package/dist/invert.d.cts +2 -0
- package/dist/invert.d.ts +1 -0
- package/dist/invert.mjs +29 -0
- package/dist/invoke-with.cjs +11 -0
- package/dist/invoke-with.d.cts +2 -0
- package/dist/invoke-with.d.ts +1 -0
- package/dist/invoke-with.mjs +11 -0
- package/dist/is-after.cjs +13 -0
- package/dist/is-after.d.cts +2 -0
- package/dist/is-after.d.ts +1 -0
- package/dist/is-after.mjs +13 -0
- package/dist/is-at-or-after.cjs +13 -0
- package/dist/is-at-or-after.d.cts +2 -0
- package/dist/is-at-or-after.d.ts +1 -0
- package/dist/is-at-or-after.mjs +13 -0
- package/dist/is-at-or-before.cjs +13 -0
- package/dist/is-at-or-before.d.cts +2 -0
- package/dist/is-at-or-before.d.ts +1 -0
- package/dist/is-at-or-before.mjs +13 -0
- package/dist/is-before.cjs +13 -0
- package/dist/is-before.d.cts +2 -0
- package/dist/is-before.d.ts +1 -0
- package/dist/is-before.mjs +13 -0
- package/dist/is-empty.cjs +28 -0
- package/dist/is-empty.d.cts +2 -0
- package/dist/is-empty.d.ts +1 -0
- package/dist/is-empty.mjs +28 -0
- package/dist/is-falsey.cjs +3 -0
- package/dist/is-falsey.d.cts +2 -0
- package/dist/is-falsey.d.ts +1 -0
- package/dist/is-falsey.mjs +3 -0
- package/dist/is-laden.cjs +28 -0
- package/dist/is-laden.d.cts +2 -0
- package/dist/is-laden.d.ts +1 -0
- package/dist/is-laden.mjs +28 -0
- package/dist/is-truthy.cjs +3 -0
- package/dist/is-truthy.d.cts +2 -0
- package/dist/is-truthy.d.ts +1 -0
- package/dist/is-truthy.mjs +3 -0
- package/dist/join-values.cjs +18 -0
- package/dist/join-values.d.cts +2 -0
- package/dist/join-values.d.ts +1 -0
- package/dist/join-values.mjs +18 -0
- package/dist/keep-first-while.cjs +18 -0
- package/dist/keep-first-while.d.cts +2 -0
- package/dist/keep-first-while.d.ts +1 -0
- package/dist/keep-first-while.mjs +18 -0
- package/dist/keep-first.cjs +14 -0
- package/dist/keep-first.d.cts +2 -0
- package/dist/keep-first.d.ts +1 -0
- package/dist/keep-first.mjs +14 -0
- package/dist/keep-last-while.cjs +18 -0
- package/dist/keep-last-while.d.cts +2 -0
- package/dist/keep-last-while.d.ts +1 -0
- package/dist/keep-last-while.mjs +18 -0
- package/dist/keep-last.cjs +14 -0
- package/dist/keep-last.d.cts +2 -0
- package/dist/keep-last.d.ts +1 -0
- package/dist/keep-last.mjs +14 -0
- package/dist/keep-range.cjs +14 -0
- package/dist/keep-range.d.cts +2 -0
- package/dist/keep-range.d.ts +1 -0
- package/dist/keep-range.mjs +14 -0
- package/dist/keep-when.cjs +54 -0
- package/dist/keep-when.d.cts +2 -0
- package/dist/keep-when.d.ts +1 -0
- package/dist/keep-when.mjs +54 -0
- package/dist/keep.cjs +63 -0
- package/dist/keep.d.cts +2 -0
- package/dist/keep.d.ts +1 -0
- package/dist/keep.mjs +63 -0
- package/dist/last.cjs +10 -0
- package/dist/last.d.cts +2 -0
- package/dist/last.d.ts +1 -0
- package/dist/last.mjs +10 -0
- package/dist/less-than-or-equal-to.cjs +13 -0
- package/dist/less-than-or-equal-to.d.cts +2 -0
- package/dist/less-than-or-equal-to.d.ts +1 -0
- package/dist/less-than-or-equal-to.mjs +13 -0
- package/dist/less-than.cjs +13 -0
- package/dist/less-than.d.cts +2 -0
- package/dist/less-than.d.ts +1 -0
- package/dist/less-than.mjs +13 -0
- package/dist/m-append-all.cjs +14 -0
- package/dist/m-append-all.d.cts +2 -0
- package/dist/m-append-all.d.ts +1 -0
- package/dist/m-append-all.mjs +14 -0
- package/dist/m-append-one.cjs +10 -0
- package/dist/m-append-one.d.cts +2 -0
- package/dist/m-append-one.d.ts +1 -0
- package/dist/m-append-one.mjs +10 -0
- package/dist/m-assign-defaults.cjs +51 -0
- package/dist/m-assign-defaults.d.cts +2 -0
- package/dist/m-assign-defaults.d.ts +1 -0
- package/dist/m-assign-defaults.mjs +51 -0
- package/dist/m-assign-overrides.cjs +47 -0
- package/dist/m-assign-overrides.d.cts +2 -0
- package/dist/m-assign-overrides.d.ts +1 -0
- package/dist/m-assign-overrides.mjs +47 -0
- package/dist/m-discard-first-while.cjs +19 -0
- package/dist/m-discard-first-while.d.cts +2 -0
- package/dist/m-discard-first-while.d.ts +1 -0
- package/dist/m-discard-first-while.mjs +19 -0
- package/dist/m-discard-first.cjs +16 -0
- package/dist/m-discard-first.d.cts +2 -0
- package/dist/m-discard-first.d.ts +1 -0
- package/dist/m-discard-first.mjs +16 -0
- package/dist/m-discard-last-while.cjs +20 -0
- package/dist/m-discard-last-while.d.cts +2 -0
- package/dist/m-discard-last-while.d.ts +1 -0
- package/dist/m-discard-last-while.mjs +20 -0
- package/dist/m-discard-last.cjs +16 -0
- package/dist/m-discard-last.d.cts +2 -0
- package/dist/m-discard-last.d.ts +1 -0
- package/dist/m-discard-last.mjs +16 -0
- package/dist/m-discard-range.cjs +17 -0
- package/dist/m-discard-range.d.cts +2 -0
- package/dist/m-discard-range.d.ts +1 -0
- package/dist/m-discard-range.mjs +17 -0
- package/dist/m-fill-range-with.cjs +17 -0
- package/dist/m-fill-range-with.d.cts +2 -0
- package/dist/m-fill-range-with.d.ts +1 -0
- package/dist/m-fill-range-with.mjs +17 -0
- package/dist/m-fill-with.cjs +32 -0
- package/dist/m-fill-with.d.cts +2 -0
- package/dist/m-fill-with.d.ts +1 -0
- package/dist/m-fill-with.mjs +32 -0
- package/dist/m-keep-first-while.cjs +19 -0
- package/dist/m-keep-first-while.d.cts +2 -0
- package/dist/m-keep-first-while.d.ts +1 -0
- package/dist/m-keep-first-while.mjs +19 -0
- package/dist/m-keep-first.cjs +14 -0
- package/dist/m-keep-first.d.cts +2 -0
- package/dist/m-keep-first.d.ts +1 -0
- package/dist/m-keep-first.mjs +14 -0
- package/dist/m-keep-last-while.cjs +19 -0
- package/dist/m-keep-last-while.d.cts +2 -0
- package/dist/m-keep-last-while.d.ts +1 -0
- package/dist/m-keep-last-while.mjs +19 -0
- package/dist/m-keep-last.cjs +14 -0
- package/dist/m-keep-last.d.cts +2 -0
- package/dist/m-keep-last.d.ts +1 -0
- package/dist/m-keep-last.mjs +14 -0
- package/dist/m-keep-range.cjs +18 -0
- package/dist/m-keep-range.d.cts +2 -0
- package/dist/m-keep-range.d.ts +1 -0
- package/dist/m-keep-range.mjs +18 -0
- package/dist/m-map-values.cjs +47 -0
- package/dist/m-map-values.d.cts +2 -0
- package/dist/m-map-values.d.ts +1 -0
- package/dist/m-map-values.mjs +47 -0
- package/dist/m-omit.cjs +62 -0
- package/dist/m-omit.d.cts +2 -0
- package/dist/m-omit.d.ts +1 -0
- package/dist/m-omit.mjs +62 -0
- package/dist/m-order.cjs +13 -0
- package/dist/m-order.d.cts +2 -0
- package/dist/m-order.d.ts +1 -0
- package/dist/m-order.mjs +13 -0
- package/dist/m-pick.cjs +67 -0
- package/dist/m-pick.d.cts +2 -0
- package/dist/m-pick.d.ts +1 -0
- package/dist/m-pick.mjs +67 -0
- package/dist/m-prepend-all.cjs +14 -0
- package/dist/m-prepend-all.d.cts +2 -0
- package/dist/m-prepend-all.d.ts +1 -0
- package/dist/m-prepend-all.mjs +14 -0
- package/dist/m-prepend-one.cjs +10 -0
- package/dist/m-prepend-one.d.cts +2 -0
- package/dist/m-prepend-one.d.ts +1 -0
- package/dist/m-prepend-one.mjs +10 -0
- package/dist/m-reverse.cjs +8 -0
- package/dist/m-reverse.d.cts +2 -0
- package/dist/m-reverse.d.ts +1 -0
- package/dist/m-reverse.mjs +8 -0
- package/dist/m-set-at-path.cjs +40 -0
- package/dist/m-set-at-path.d.cts +2 -0
- package/dist/m-set-at-path.d.ts +1 -0
- package/dist/m-set-at-path.mjs +40 -0
- package/dist/m-set.cjs +21 -0
- package/dist/m-set.d.cts +2 -0
- package/dist/m-set.d.ts +1 -0
- package/dist/m-set.mjs +21 -0
- package/dist/m-shuffle.cjs +20 -0
- package/dist/m-shuffle.d.cts +2 -0
- package/dist/m-shuffle.d.ts +1 -0
- package/dist/m-shuffle.mjs +20 -0
- package/dist/m-update.cjs +68 -0
- package/dist/m-update.d.cts +2 -0
- package/dist/m-update.d.ts +1 -0
- package/dist/m-update.mjs +68 -0
- package/dist/map-keys.cjs +36 -0
- package/dist/map-keys.d.cts +2 -0
- package/dist/map-keys.d.ts +1 -0
- package/dist/map-keys.mjs +36 -0
- package/dist/map-values.cjs +50 -0
- package/dist/map-values.d.cts +2 -0
- package/dist/map-values.d.ts +1 -0
- package/dist/map-values.mjs +50 -0
- package/dist/multiply-by.cjs +13 -0
- package/dist/multiply-by.d.cts +2 -0
- package/dist/multiply-by.d.ts +1 -0
- package/dist/multiply-by.mjs +13 -0
- package/dist/negate.cjs +9 -0
- package/dist/negate.d.cts +2 -0
- package/dist/negate.d.ts +1 -0
- package/dist/negate.mjs +9 -0
- package/dist/number-is-between.cjs +33 -0
- package/dist/number-is-between.d.cts +2 -0
- package/dist/number-is-between.d.ts +1 -0
- package/dist/number-is-between.mjs +33 -0
- package/dist/omit.cjs +52 -0
- package/dist/omit.d.cts +2 -0
- package/dist/omit.d.ts +1 -0
- package/dist/omit.mjs +52 -0
- package/dist/order.cjs +13 -0
- package/dist/order.d.cts +2 -0
- package/dist/order.d.ts +1 -0
- package/dist/order.mjs +13 -0
- package/dist/p-all.cjs +23 -0
- package/dist/p-all.d.cts +2 -0
- package/dist/p-all.d.ts +1 -0
- package/dist/p-all.mjs +23 -0
- package/dist/p-any.cjs +23 -0
- package/dist/p-any.d.cts +2 -0
- package/dist/p-any.d.ts +1 -0
- package/dist/p-any.mjs +23 -0
- package/dist/p-compose.cjs +18 -0
- package/dist/p-compose.d.cts +2 -0
- package/dist/p-compose.d.ts +1 -0
- package/dist/p-compose.mjs +18 -0
- package/dist/p-discard-when.cjs +64 -0
- package/dist/p-discard-when.d.cts +2 -0
- package/dist/p-discard-when.d.ts +1 -0
- package/dist/p-discard-when.mjs +64 -0
- package/dist/p-find.cjs +21 -0
- package/dist/p-find.d.cts +2 -0
- package/dist/p-find.d.ts +1 -0
- package/dist/p-find.mjs +21 -0
- package/dist/p-for-each.cjs +21 -0
- package/dist/p-for-each.d.cts +2 -0
- package/dist/p-for-each.d.ts +1 -0
- package/dist/p-for-each.mjs +21 -0
- package/dist/p-keep-when.cjs +64 -0
- package/dist/p-keep-when.d.cts +2 -0
- package/dist/p-keep-when.d.ts +1 -0
- package/dist/p-keep-when.mjs +64 -0
- package/dist/p-map-values.cjs +57 -0
- package/dist/p-map-values.d.cts +2 -0
- package/dist/p-map-values.d.ts +1 -0
- package/dist/p-map-values.mjs +57 -0
- package/dist/p-pass-through.cjs +12 -0
- package/dist/p-pass-through.d.cts +2 -0
- package/dist/p-pass-through.d.ts +1 -0
- package/dist/p-pass-through.mjs +12 -0
- package/dist/p-resolve-values.cjs +43 -0
- package/dist/p-resolve-values.d.cts +2 -0
- package/dist/p-resolve-values.d.ts +1 -0
- package/dist/p-resolve-values.mjs +43 -0
- package/dist/p-wait-ms.cjs +8 -0
- package/dist/p-wait-ms.d.cts +2 -0
- package/dist/p-wait-ms.d.ts +1 -0
- package/dist/p-wait-ms.mjs +8 -0
- package/dist/pass-through.cjs +9 -0
- package/dist/pass-through.d.cts +2 -0
- package/dist/pass-through.d.ts +1 -0
- package/dist/pass-through.mjs +9 -0
- package/dist/peek.cjs +13 -0
- package/dist/peek.d.cts +2 -0
- package/dist/peek.d.ts +1 -0
- package/dist/peek.mjs +13 -0
- package/dist/pick.cjs +50 -0
- package/dist/pick.d.cts +2 -0
- package/dist/pick.d.ts +1 -0
- package/dist/pick.mjs +50 -0
- package/dist/prepend-all.cjs +13 -0
- package/dist/prepend-all.d.cts +2 -0
- package/dist/prepend-all.d.ts +1 -0
- package/dist/prepend-all.mjs +13 -0
- package/dist/prepend-one.cjs +9 -0
- package/dist/prepend-one.d.cts +2 -0
- package/dist/prepend-one.d.ts +1 -0
- package/dist/prepend-one.mjs +9 -0
- package/dist/prepend.cjs +13 -0
- package/dist/prepend.d.cts +2 -0
- package/dist/prepend.d.ts +1 -0
- package/dist/prepend.mjs +13 -0
- package/dist/prune-end.cjs +18 -0
- package/dist/prune-end.d.cts +2 -0
- package/dist/prune-end.d.ts +1 -0
- package/dist/prune-end.mjs +18 -0
- package/dist/prune-start.cjs +18 -0
- package/dist/prune-start.d.cts +2 -0
- package/dist/prune-start.d.ts +1 -0
- package/dist/prune-start.mjs +18 -0
- package/dist/prune.cjs +21 -0
- package/dist/prune.d.cts +2 -0
- package/dist/prune.d.ts +1 -0
- package/dist/prune.mjs +21 -0
- package/dist/randomly-keep.cjs +83 -0
- package/dist/randomly-keep.d.cts +2 -0
- package/dist/randomly-keep.d.ts +1 -0
- package/dist/randomly-keep.mjs +83 -0
- package/dist/replace-all-matches.cjs +33 -0
- package/dist/replace-all-matches.d.cts +2 -0
- package/dist/replace-all-matches.d.ts +1 -0
- package/dist/replace-all-matches.mjs +33 -0
- package/dist/replace-first-match.cjs +38 -0
- package/dist/replace-first-match.d.cts +2 -0
- package/dist/replace-first-match.d.ts +1 -0
- package/dist/replace-first-match.mjs +38 -0
- package/dist/return-first-arg.cjs +4 -0
- package/dist/return-first-arg.d.cts +2 -0
- package/dist/return-first-arg.d.ts +1 -0
- package/dist/return-first-arg.mjs +4 -0
- package/dist/return-undefined.cjs +4 -0
- package/dist/return-undefined.d.cts +2 -0
- package/dist/return-undefined.d.ts +1 -0
- package/dist/return-undefined.mjs +4 -0
- package/dist/reverse.cjs +8 -0
- package/dist/reverse.d.cts +2 -0
- package/dist/reverse.d.ts +1 -0
- package/dist/reverse.mjs +8 -0
- package/dist/round-to-nearest.cjs +51 -0
- package/dist/round-to-nearest.d.cts +2 -0
- package/dist/round-to-nearest.d.ts +1 -0
- package/dist/round-to-nearest.mjs +51 -0
- package/dist/set.cjs +51 -0
- package/dist/set.d.cts +2 -0
- package/dist/set.d.ts +1 -0
- package/dist/set.mjs +51 -0
- package/dist/shuffle.cjs +21 -0
- package/dist/shuffle.d.cts +2 -0
- package/dist/shuffle.d.ts +1 -0
- package/dist/shuffle.mjs +21 -0
- package/dist/split-every.cjs +31 -0
- package/dist/split-every.d.cts +2 -0
- package/dist/split-every.d.ts +1 -0
- package/dist/split-every.mjs +31 -0
- package/dist/split.cjs +14 -0
- package/dist/split.d.cts +2 -0
- package/dist/split.d.ts +1 -0
- package/dist/split.mjs +14 -0
- package/dist/starts-with.cjs +13 -0
- package/dist/starts-with.d.cts +2 -0
- package/dist/starts-with.d.ts +1 -0
- package/dist/starts-with.mjs +13 -0
- package/dist/strict-equals.cjs +3 -0
- package/dist/strict-equals.d.cts +2 -0
- package/dist/strict-equals.d.ts +1 -0
- package/dist/strict-equals.mjs +3 -0
- package/dist/subtract.cjs +13 -0
- package/dist/subtract.d.cts +2 -0
- package/dist/subtract.d.ts +1 -0
- package/dist/subtract.mjs +13 -0
- package/dist/sum-values.cjs +20 -0
- package/dist/sum-values.d.cts +2 -0
- package/dist/sum-values.d.ts +1 -0
- package/dist/sum-values.mjs +20 -0
- package/dist/swap-first-two-args.cjs +15 -0
- package/dist/swap-first-two-args.d.cts +2 -0
- package/dist/swap-first-two-args.d.ts +1 -0
- package/dist/swap-first-two-args.mjs +15 -0
- package/dist/transpose.cjs +46 -0
- package/dist/transpose.d.cts +2 -0
- package/dist/transpose.d.ts +1 -0
- package/dist/transpose.mjs +46 -0
- package/dist/truncate-to-n-chars.cjs +17 -0
- package/dist/truncate-to-n-chars.d.cts +2 -0
- package/dist/truncate-to-n-chars.d.ts +1 -0
- package/dist/truncate-to-n-chars.mjs +17 -0
- package/dist/truncate-to-n-lines.cjs +58 -0
- package/dist/truncate-to-n-lines.d.cts +2 -0
- package/dist/truncate-to-n-lines.d.ts +1 -0
- package/dist/truncate-to-n-lines.mjs +58 -0
- package/dist/update.cjs +74 -0
- package/dist/update.d.cts +2 -0
- package/dist/update.d.ts +1 -0
- package/dist/update.mjs +74 -0
- package/dist/with-dates-ascending.cjs +3 -0
- package/dist/with-dates-ascending.d.cts +2 -0
- package/dist/with-dates-ascending.d.ts +1 -0
- package/dist/with-dates-ascending.mjs +3 -0
- package/dist/with-dates-descending.cjs +3 -0
- package/dist/with-dates-descending.d.cts +2 -0
- package/dist/with-dates-descending.d.ts +1 -0
- package/dist/with-dates-descending.mjs +3 -0
- package/dist/with-numbers-ascending.cjs +3 -0
- package/dist/with-numbers-ascending.d.cts +2 -0
- package/dist/with-numbers-ascending.d.ts +1 -0
- package/dist/with-numbers-ascending.mjs +3 -0
- package/dist/with-numbers-descending.cjs +3 -0
- package/dist/with-numbers-descending.d.cts +2 -0
- package/dist/with-numbers-descending.d.ts +1 -0
- package/dist/with-numbers-descending.mjs +3 -0
- package/dist/with-strings-ascending.cjs +4 -0
- package/dist/with-strings-ascending.d.cts +2 -0
- package/dist/with-strings-ascending.d.ts +1 -0
- package/dist/with-strings-ascending.mjs +4 -0
- package/dist/with-strings-descending.cjs +4 -0
- package/dist/with-strings-descending.d.cts +2 -0
- package/dist/with-strings-descending.d.ts +1 -0
- package/dist/with-strings-descending.mjs +4 -0
- package/license.txt +41 -0
- package/package.json +46 -0
- package/readme.md +108 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const assertArgIsType = require('@common-fp/shared-internals/assert-arg-is-type')
|
|
2
|
+
|
|
3
|
+
const findLast = predicate => {
|
|
4
|
+
assertArgIsType(predicate, 'predicate', 'function', 'findLast')
|
|
5
|
+
|
|
6
|
+
return anArray => {
|
|
7
|
+
assertArgIsType(anArray, 'anArray', 'array', 'findLast')
|
|
8
|
+
|
|
9
|
+
const arr = anArray
|
|
10
|
+
for (let i = arr.length - 1; i >= 0; i -= 1) {
|
|
11
|
+
if (predicate(arr[i], i, arr)) return arr[i]
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
module.exports = findLast
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@common-fp/common-fp-types/find-last'
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import assertArgIsType from '@common-fp/shared-internals/assert-arg-is-type'
|
|
2
|
+
|
|
3
|
+
const findLast = predicate => {
|
|
4
|
+
assertArgIsType(predicate, 'predicate', 'function', 'findLast')
|
|
5
|
+
|
|
6
|
+
return anArray => {
|
|
7
|
+
assertArgIsType(anArray, 'anArray', 'array', 'findLast')
|
|
8
|
+
|
|
9
|
+
const arr = anArray
|
|
10
|
+
for (let i = arr.length - 1; i >= 0; i -= 1) {
|
|
11
|
+
if (predicate(arr[i], i, arr)) return arr[i]
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export default findLast
|
package/dist/find.cjs
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const assertArgTypeIsOneOf = require('@common-fp/shared-internals/assert-arg-type-is-one-of')
|
|
2
|
+
const assertArgIsType = require('@common-fp/shared-internals/assert-arg-is-type')
|
|
3
|
+
const ct = require('@common-fp/shared-internals/common-types')
|
|
4
|
+
const getIterator = require('@common-fp/shared-internals/get-iterator')
|
|
5
|
+
const getType = require('@common-fp/shared-internals/get-type')
|
|
6
|
+
|
|
7
|
+
const find = predicate => {
|
|
8
|
+
assertArgIsType(predicate, 'predicate', 'function', 'find')
|
|
9
|
+
|
|
10
|
+
return collection => {
|
|
11
|
+
const collType = getType(collection)
|
|
12
|
+
assertArgTypeIsOneOf(collType, 'collection', ct.collection, 'find')
|
|
13
|
+
const entries = getIterator('entries', collection, collType)
|
|
14
|
+
|
|
15
|
+
for (const [key, val] of entries) {
|
|
16
|
+
if (predicate(val, key, collection)) return val
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
module.exports = find
|
package/dist/find.d.cts
ADDED
package/dist/find.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@common-fp/common-fp-types/find'
|
package/dist/find.mjs
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import assertArgTypeIsOneOf from '@common-fp/shared-internals/assert-arg-type-is-one-of'
|
|
2
|
+
import assertArgIsType from '@common-fp/shared-internals/assert-arg-is-type'
|
|
3
|
+
import * as ct from '@common-fp/shared-internals/common-types'
|
|
4
|
+
import getIterator from '@common-fp/shared-internals/get-iterator'
|
|
5
|
+
import getType from '@common-fp/shared-internals/get-type'
|
|
6
|
+
|
|
7
|
+
const find = predicate => {
|
|
8
|
+
assertArgIsType(predicate, 'predicate', 'function', 'find')
|
|
9
|
+
|
|
10
|
+
return collection => {
|
|
11
|
+
const collType = getType(collection)
|
|
12
|
+
assertArgTypeIsOneOf(collType, 'collection', ct.collection, 'find')
|
|
13
|
+
const entries = getIterator('entries', collection, collType)
|
|
14
|
+
|
|
15
|
+
for (const [key, val] of entries) {
|
|
16
|
+
if (predicate(val, key, collection)) return val
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export default find
|
package/dist/first.cjs
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const assertArgIsOneOfType = require('@common-fp/shared-internals/assert-arg-is-one-of-type')
|
|
2
|
+
const ct = require('@common-fp/shared-internals/common-types')
|
|
3
|
+
|
|
4
|
+
// also known as 'head'
|
|
5
|
+
const first = sequence => {
|
|
6
|
+
assertArgIsOneOfType(sequence, 'sequence', ct.sequence, 'first')
|
|
7
|
+
return sequence[0]
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
module.exports = first
|
package/dist/first.d.cts
ADDED
package/dist/first.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@common-fp/common-fp-types/first'
|
package/dist/first.mjs
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import assertArgIsOneOfType from '@common-fp/shared-internals/assert-arg-is-one-of-type'
|
|
2
|
+
import * as ct from '@common-fp/shared-internals/common-types'
|
|
3
|
+
|
|
4
|
+
// also known as 'head'
|
|
5
|
+
const first = sequence => {
|
|
6
|
+
assertArgIsOneOfType(sequence, 'sequence', ct.sequence, 'first')
|
|
7
|
+
return sequence[0]
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export default first
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@common-fp/common-fp-types/flatten-fully'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@common-fp/common-fp-types/flatten-once'
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const assertArgIsInt = require('@common-fp/shared-internals/assert-arg-is-int')
|
|
2
|
+
const assertArgIsType = require('@common-fp/shared-internals/assert-arg-is-type')
|
|
3
|
+
|
|
4
|
+
const flattenToDepth = depth => {
|
|
5
|
+
if (depth !== Infinity)
|
|
6
|
+
assertArgIsInt(depth, 'depth', 'flattenToDepth', { nonNegative: true })
|
|
7
|
+
|
|
8
|
+
return anArray => {
|
|
9
|
+
assertArgIsType(anArray, 'anArray', 'array', 'flattenToDepth')
|
|
10
|
+
|
|
11
|
+
return anArray.flat(depth)
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
module.exports = flattenToDepth
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@common-fp/common-fp-types/flatten-to-depth'
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import assertArgIsInt from '@common-fp/shared-internals/assert-arg-is-int'
|
|
2
|
+
import assertArgIsType from '@common-fp/shared-internals/assert-arg-is-type'
|
|
3
|
+
|
|
4
|
+
const flattenToDepth = depth => {
|
|
5
|
+
if (depth !== Infinity)
|
|
6
|
+
assertArgIsInt(depth, 'depth', 'flattenToDepth', { nonNegative: true })
|
|
7
|
+
|
|
8
|
+
return anArray => {
|
|
9
|
+
assertArgIsType(anArray, 'anArray', 'array', 'flattenToDepth')
|
|
10
|
+
|
|
11
|
+
return anArray.flat(depth)
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default flattenToDepth
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const assertArgTypeIsOneOf = require('@common-fp/shared-internals/assert-arg-type-is-one-of')
|
|
2
|
+
const assertArgIsType = require('@common-fp/shared-internals/assert-arg-is-type')
|
|
3
|
+
const ct = require('@common-fp/shared-internals/common-types')
|
|
4
|
+
const getIterator = require('@common-fp/shared-internals/get-iterator')
|
|
5
|
+
const getType = require('@common-fp/shared-internals/get-type')
|
|
6
|
+
|
|
7
|
+
const forEach = fn => {
|
|
8
|
+
assertArgIsType(fn, 'fn', 'function', 'forEach')
|
|
9
|
+
|
|
10
|
+
return collection => {
|
|
11
|
+
const collType = getType(collection)
|
|
12
|
+
assertArgTypeIsOneOf(collType, 'collection', ct.collection, 'forEach')
|
|
13
|
+
const entries = getIterator('entries', collection, collType)
|
|
14
|
+
for (const [key, val] of entries) {
|
|
15
|
+
fn(val, key, collection)
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return collection
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
module.exports = forEach
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@common-fp/common-fp-types/for-each'
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import assertArgTypeIsOneOf from '@common-fp/shared-internals/assert-arg-type-is-one-of'
|
|
2
|
+
import assertArgIsType from '@common-fp/shared-internals/assert-arg-is-type'
|
|
3
|
+
import * as ct from '@common-fp/shared-internals/common-types'
|
|
4
|
+
import getIterator from '@common-fp/shared-internals/get-iterator'
|
|
5
|
+
import getType from '@common-fp/shared-internals/get-type'
|
|
6
|
+
|
|
7
|
+
const forEach = fn => {
|
|
8
|
+
assertArgIsType(fn, 'fn', 'function', 'forEach')
|
|
9
|
+
|
|
10
|
+
return collection => {
|
|
11
|
+
const collType = getType(collection)
|
|
12
|
+
assertArgTypeIsOneOf(collType, 'collection', ct.collection, 'forEach')
|
|
13
|
+
const entries = getIterator('entries', collection, collType)
|
|
14
|
+
for (const [key, val] of entries) {
|
|
15
|
+
fn(val, key, collection)
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return collection
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export default forEach
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const assertArgIsArrayOfAcceptedTypes = require('@common-fp/shared-internals/assert-arg-is-array-of-accepted-types')
|
|
2
|
+
const ct = require('@common-fp/shared-internals/common-types')
|
|
3
|
+
const getAtPathInternal = require('./internal/get-at-path.cjs')
|
|
4
|
+
|
|
5
|
+
const getAtPath = path => {
|
|
6
|
+
assertArgIsArrayOfAcceptedTypes(path, 'path', ct.propertyKey, 'getAtPath')
|
|
7
|
+
|
|
8
|
+
return anObject => getAtPathInternal(path, anObject)
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
module.exports = getAtPath
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@common-fp/common-fp-types/get-at-path'
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import assertArgIsArrayOfAcceptedTypes from '@common-fp/shared-internals/assert-arg-is-array-of-accepted-types'
|
|
2
|
+
import * as ct from '@common-fp/shared-internals/common-types'
|
|
3
|
+
import getAtPathInternal from './internal/get-at-path.mjs'
|
|
4
|
+
|
|
5
|
+
const getAtPath = path => {
|
|
6
|
+
assertArgIsArrayOfAcceptedTypes(path, 'path', ct.propertyKey, 'getAtPath')
|
|
7
|
+
|
|
8
|
+
return anObject => getAtPathInternal(path, anObject)
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default getAtPath
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const assertArgHasValuesOfType = require('@common-fp/shared-internals/assert-arg-has-values-of-type')
|
|
2
|
+
const assertArgTypeIsOneOf = require('@common-fp/shared-internals/assert-arg-type-is-one-of')
|
|
3
|
+
const ct = require('@common-fp/shared-internals/common-types')
|
|
4
|
+
const getIterator = require('@common-fp/shared-internals/get-iterator')
|
|
5
|
+
const getType = require('@common-fp/shared-internals/get-type')
|
|
6
|
+
|
|
7
|
+
const getAverage = nums => {
|
|
8
|
+
const numsType = getType(nums)
|
|
9
|
+
assertArgTypeIsOneOf(numsType, 'nums', ct.collection, 'getAverageValue')
|
|
10
|
+
assertArgHasValuesOfType(nums, 'nums', 'number', 'getAverageValue')
|
|
11
|
+
|
|
12
|
+
const numArr = [...getIterator('values', nums, numsType)]
|
|
13
|
+
if (!numArr.length) return undefined
|
|
14
|
+
|
|
15
|
+
const total = numArr.reduce((runningTotal, num) => runningTotal + num, 0)
|
|
16
|
+
return total / numArr.length
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
module.exports = getAverage
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@common-fp/common-fp-types/get-average-value'
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import assertArgHasValuesOfType from '@common-fp/shared-internals/assert-arg-has-values-of-type'
|
|
2
|
+
import assertArgTypeIsOneOf from '@common-fp/shared-internals/assert-arg-type-is-one-of'
|
|
3
|
+
import * as ct from '@common-fp/shared-internals/common-types'
|
|
4
|
+
import getIterator from '@common-fp/shared-internals/get-iterator'
|
|
5
|
+
import getType from '@common-fp/shared-internals/get-type'
|
|
6
|
+
|
|
7
|
+
const getAverage = nums => {
|
|
8
|
+
const numsType = getType(nums)
|
|
9
|
+
assertArgTypeIsOneOf(numsType, 'nums', ct.collection, 'getAverageValue')
|
|
10
|
+
assertArgHasValuesOfType(nums, 'nums', 'number', 'getAverageValue')
|
|
11
|
+
|
|
12
|
+
const numArr = [...getIterator('values', nums, numsType)]
|
|
13
|
+
if (!numArr.length) return undefined
|
|
14
|
+
|
|
15
|
+
const total = numArr.reduce((runningTotal, num) => runningTotal + num, 0)
|
|
16
|
+
return total / numArr.length
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export default getAverage
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* returns values which appear in all sets
|
|
3
|
+
* e.g. getCommonValues([[1, 2, 3], [2, 3, 4]]) returns [2, 3]
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
const assertArgIsArrayOfAcceptedTypes = require('@common-fp/shared-internals/assert-arg-is-array-of-accepted-types')
|
|
7
|
+
const ct = require('@common-fp/shared-internals/common-types')
|
|
8
|
+
const ensureSet = require('@common-fp/shared-internals/ensure-set')
|
|
9
|
+
|
|
10
|
+
const getCommonValues = anArray => {
|
|
11
|
+
assertArgIsArrayOfAcceptedTypes(
|
|
12
|
+
anArray,
|
|
13
|
+
'anArray',
|
|
14
|
+
ct.valueCollection,
|
|
15
|
+
'getCommonValues'
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
const arrOfSets = anArray.map(ensureSet)
|
|
19
|
+
const result = new Set(arrOfSets.shift())
|
|
20
|
+
let nextSet = arrOfSets.shift()
|
|
21
|
+
while (nextSet && result.size) {
|
|
22
|
+
for (const el of result) {
|
|
23
|
+
if (!nextSet.has(el)) result.delete(el)
|
|
24
|
+
}
|
|
25
|
+
nextSet = arrOfSets.shift()
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return [...result]
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
module.exports = getCommonValues
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@common-fp/common-fp-types/get-common-values'
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* returns values which appear in all sets
|
|
3
|
+
* e.g. getCommonValues([[1, 2, 3], [2, 3, 4]]) returns [2, 3]
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import assertArgIsArrayOfAcceptedTypes from '@common-fp/shared-internals/assert-arg-is-array-of-accepted-types'
|
|
7
|
+
import * as ct from '@common-fp/shared-internals/common-types'
|
|
8
|
+
import ensureSet from '@common-fp/shared-internals/ensure-set'
|
|
9
|
+
|
|
10
|
+
const getCommonValues = anArray => {
|
|
11
|
+
assertArgIsArrayOfAcceptedTypes(
|
|
12
|
+
anArray,
|
|
13
|
+
'anArray',
|
|
14
|
+
ct.valueCollection,
|
|
15
|
+
'getCommonValues'
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
const arrOfSets = anArray.map(ensureSet)
|
|
19
|
+
const result = new Set(arrOfSets.shift())
|
|
20
|
+
let nextSet = arrOfSets.shift()
|
|
21
|
+
while (nextSet && result.size) {
|
|
22
|
+
for (const el of result) {
|
|
23
|
+
if (!nextSet.has(el)) result.delete(el)
|
|
24
|
+
}
|
|
25
|
+
nextSet = arrOfSets.shift()
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return [...result]
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export default getCommonValues
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* returns values which appear exclusively in one set
|
|
3
|
+
* e.g. getExclusiveValues([[1, 2], [2, 3], [3, 4]]) returns [1, 4]
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
const assertArgIsArrayOfAcceptedTypes = require('@common-fp/shared-internals/assert-arg-is-array-of-accepted-types')
|
|
7
|
+
const ct = require('@common-fp/shared-internals/common-types')
|
|
8
|
+
const ensureSet = require('@common-fp/shared-internals/ensure-set')
|
|
9
|
+
|
|
10
|
+
const getExclusiveValues = anArray => {
|
|
11
|
+
assertArgIsArrayOfAcceptedTypes(
|
|
12
|
+
anArray,
|
|
13
|
+
'anArray',
|
|
14
|
+
ct.valueCollection,
|
|
15
|
+
'getExclusiveValues'
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
if (!anArray.length) return []
|
|
19
|
+
|
|
20
|
+
const result = new Set()
|
|
21
|
+
const arrOfSets = anArray.map(ensureSet)
|
|
22
|
+
for (const set1 of arrOfSets) {
|
|
23
|
+
for (const el of set1) {
|
|
24
|
+
let elIsDifferent = true
|
|
25
|
+
|
|
26
|
+
for (const set2 of arrOfSets) {
|
|
27
|
+
if (set1 === set2) continue
|
|
28
|
+
if (set2.has(el)) {
|
|
29
|
+
elIsDifferent = false
|
|
30
|
+
break
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if (elIsDifferent) result.add(el)
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return [...result]
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
module.exports = getExclusiveValues
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@common-fp/common-fp-types/get-exclusive-values'
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* returns values which appear exclusively in one set
|
|
3
|
+
* e.g. getExclusiveValues([[1, 2], [2, 3], [3, 4]]) returns [1, 4]
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import assertArgIsArrayOfAcceptedTypes from '@common-fp/shared-internals/assert-arg-is-array-of-accepted-types'
|
|
7
|
+
import * as ct from '@common-fp/shared-internals/common-types'
|
|
8
|
+
import ensureSet from '@common-fp/shared-internals/ensure-set'
|
|
9
|
+
|
|
10
|
+
const getExclusiveValues = anArray => {
|
|
11
|
+
assertArgIsArrayOfAcceptedTypes(
|
|
12
|
+
anArray,
|
|
13
|
+
'anArray',
|
|
14
|
+
ct.valueCollection,
|
|
15
|
+
'getExclusiveValues'
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
if (!anArray.length) return []
|
|
19
|
+
|
|
20
|
+
const result = new Set()
|
|
21
|
+
const arrOfSets = anArray.map(ensureSet)
|
|
22
|
+
for (const set1 of arrOfSets) {
|
|
23
|
+
for (const el of set1) {
|
|
24
|
+
let elIsDifferent = true
|
|
25
|
+
|
|
26
|
+
for (const set2 of arrOfSets) {
|
|
27
|
+
if (set1 === set2) continue
|
|
28
|
+
if (set2.has(el)) {
|
|
29
|
+
elIsDifferent = false
|
|
30
|
+
break
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if (elIsDifferent) result.add(el)
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return [...result]
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export default getExclusiveValues
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const getFn = require('@common-fp/shared-internals/get-fn')
|
|
2
|
+
|
|
3
|
+
const getKeys = collection => {
|
|
4
|
+
const fn = getFn(typeToFn, collection, 'collection', 'getKeys')
|
|
5
|
+
|
|
6
|
+
return fn(collection)
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const typeToFn = {
|
|
10
|
+
array: getKeys_iterator,
|
|
11
|
+
map: getKeys_iterator,
|
|
12
|
+
object: getKeys_object,
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function getKeys_iterator(coll) {
|
|
16
|
+
return Array.from(coll.keys())
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function getKeys_object(obj) {
|
|
20
|
+
return Object.keys(obj)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
module.exports = getKeys
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@common-fp/common-fp-types/get-keys'
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import getFn from '@common-fp/shared-internals/get-fn'
|
|
2
|
+
|
|
3
|
+
const getKeys = collection => {
|
|
4
|
+
const fn = getFn(typeToFn, collection, 'collection', 'getKeys')
|
|
5
|
+
|
|
6
|
+
return fn(collection)
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const typeToFn = {
|
|
10
|
+
array: getKeys_iterator,
|
|
11
|
+
map: getKeys_iterator,
|
|
12
|
+
object: getKeys_object,
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function getKeys_iterator(coll) {
|
|
16
|
+
return Array.from(coll.keys())
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function getKeys_object(obj) {
|
|
20
|
+
return Object.keys(obj)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export default getKeys
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const assertArgHasValuesOfType = require('@common-fp/shared-internals/assert-arg-has-values-of-type')
|
|
2
|
+
const assertArgTypeIsOneOf = require('@common-fp/shared-internals/assert-arg-type-is-one-of')
|
|
3
|
+
const ct = require('@common-fp/shared-internals/common-types')
|
|
4
|
+
const getIterator = require('@common-fp/shared-internals/get-iterator')
|
|
5
|
+
const getType = require('@common-fp/shared-internals/get-type')
|
|
6
|
+
|
|
7
|
+
const getMaxValue = collection => {
|
|
8
|
+
const collType = getType(collection)
|
|
9
|
+
assertArgTypeIsOneOf(collType, 'collection', ct.collection, 'getMaxValue')
|
|
10
|
+
assertArgHasValuesOfType(collection, 'collection', 'number', 'getMaxValue')
|
|
11
|
+
|
|
12
|
+
const values = Array.from(getIterator('values', collection, collType))
|
|
13
|
+
return values.length ? Math.max(...values) : undefined
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
module.exports = getMaxValue
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@common-fp/common-fp-types/get-max-value'
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import assertArgHasValuesOfType from '@common-fp/shared-internals/assert-arg-has-values-of-type'
|
|
2
|
+
import assertArgTypeIsOneOf from '@common-fp/shared-internals/assert-arg-type-is-one-of'
|
|
3
|
+
import * as ct from '@common-fp/shared-internals/common-types'
|
|
4
|
+
import getIterator from '@common-fp/shared-internals/get-iterator'
|
|
5
|
+
import getType from '@common-fp/shared-internals/get-type'
|
|
6
|
+
|
|
7
|
+
const getMaxValue = collection => {
|
|
8
|
+
const collType = getType(collection)
|
|
9
|
+
assertArgTypeIsOneOf(collType, 'collection', ct.collection, 'getMaxValue')
|
|
10
|
+
assertArgHasValuesOfType(collection, 'collection', 'number', 'getMaxValue')
|
|
11
|
+
|
|
12
|
+
const values = Array.from(getIterator('values', collection, collType))
|
|
13
|
+
return values.length ? Math.max(...values) : undefined
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export default getMaxValue
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const assertArgHasValuesOfType = require('@common-fp/shared-internals/assert-arg-has-values-of-type')
|
|
2
|
+
const assertArgTypeIsOneOf = require('@common-fp/shared-internals/assert-arg-type-is-one-of')
|
|
3
|
+
const ct = require('@common-fp/shared-internals/common-types')
|
|
4
|
+
const getIterator = require('@common-fp/shared-internals/get-iterator')
|
|
5
|
+
const getType = require('@common-fp/shared-internals/get-type')
|
|
6
|
+
|
|
7
|
+
const getMinValue = collection => {
|
|
8
|
+
const collType = getType(collection)
|
|
9
|
+
assertArgTypeIsOneOf(collType, 'collection', ct.collection, 'getMinValue')
|
|
10
|
+
assertArgHasValuesOfType(collection, 'collection', 'number', 'getMinValue')
|
|
11
|
+
|
|
12
|
+
const values = Array.from(getIterator('values', collection, collType))
|
|
13
|
+
return values.length ? Math.min(...values) : undefined
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
module.exports = getMinValue
|