@fncts/base 0.0.12 → 0.0.15
Sign up to get free protection for your applications and to get access to all the features.
- package/_cjs/collection/Iterable/api/traverseConc.cjs +16 -21
- package/_cjs/collection/Iterable/api/traverseConc.cjs.map +1 -1
- package/_cjs/collection/compat/Array/api.cjs +10 -10
- package/_cjs/collection/compat/Array/derivations.cjs +96 -0
- package/_cjs/collection/compat/Array/derivations.cjs.map +1 -0
- package/_cjs/collection/compat/Array.cjs +13 -0
- package/_cjs/collection/compat/Array.cjs.map +1 -1
- package/_cjs/collection/compat/Record/instances.cjs +67 -16
- package/_cjs/collection/compat/Record/instances.cjs.map +1 -1
- package/_cjs/collection/compat.cjs +6 -0
- package/_cjs/collection/compat.cjs.map +1 -0
- package/_cjs/collection/immutable/Conc/api.cjs +9 -12
- package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/definition.cjs +41 -43
- package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/derivations.cjs +45 -0
- package/_cjs/collection/immutable/Conc/derivations.cjs.map +1 -0
- package/_cjs/collection/immutable/Conc.cjs +13 -0
- package/_cjs/collection/immutable/Conc.cjs.map +1 -1
- package/_cjs/collection/immutable/Dictionary/definition.cjs +2 -4
- package/_cjs/collection/immutable/Dictionary/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/HashMap/api.cjs +26 -29
- package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
- package/_cjs/collection/immutable/HashMap/definition.cjs +15 -17
- package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/api.cjs +142 -159
- package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/constructors.cjs +2 -2
- package/_cjs/collection/immutable/ImmutableArray/definition.cjs +18 -15
- package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/derivations.cjs +41 -0
- package/_cjs/collection/immutable/ImmutableArray/derivations.cjs.map +1 -0
- package/_cjs/collection/immutable/ImmutableArray/instances.cjs +11 -9
- package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray.cjs +13 -0
- package/_cjs/collection/immutable/ImmutableArray.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs +21 -22
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs +2 -2
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs +3 -9
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/derivations.cjs +62 -0
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/derivations.cjs.map +1 -0
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs +8 -2
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray.cjs +13 -0
- package/_cjs/collection/immutable/ImmutableNonEmptyArray.cjs.map +1 -1
- package/_cjs/collection/immutable/List/definition.cjs +2 -2
- package/_cjs/collection/immutable/RoseTree/definition.cjs +13 -15
- package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector/api.cjs +8 -12
- package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector/definition.cjs +11 -13
- package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector/internal.cjs +1 -1
- package/_cjs/collection/immutable.cjs +6 -0
- package/_cjs/collection/immutable.cjs.map +1 -0
- package/_cjs/collection/mutable/HashMap.cjs +4 -0
- package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
- package/_cjs/collection/mutable.cjs +6 -0
- package/_cjs/collection/mutable.cjs.map +1 -0
- package/_cjs/collection/weak/IterableWeakMap.cjs +51 -2
- package/_cjs/collection/weak/IterableWeakMap.cjs.map +1 -1
- package/_cjs/collection/weak/IterableWeakSet.cjs +59 -7
- package/_cjs/collection/weak/IterableWeakSet.cjs.map +1 -1
- package/_cjs/collection/weak.cjs +6 -0
- package/_cjs/collection/weak.cjs.map +1 -0
- package/_cjs/collection.cjs +6 -0
- package/_cjs/collection.cjs.map +1 -0
- package/_cjs/control/Eval/api.cjs +9 -3
- package/_cjs/control/Eval/api.cjs.map +1 -1
- package/_cjs/control/Eval/definition.cjs +1 -8
- package/_cjs/control/Eval/definition.cjs.map +1 -1
- package/_cjs/control/Eval/instance.cjs +6 -0
- package/_cjs/control/Eval/instance.cjs.map +1 -1
- package/_cjs/control/Z/api.cjs +16 -14
- package/_cjs/control/Z/api.cjs.map +1 -1
- package/_cjs/control/Z/definition.cjs +8 -14
- package/_cjs/control/Z/definition.cjs.map +1 -1
- package/_cjs/control/Z/instances.cjs +6 -0
- package/_cjs/control/Z/instances.cjs.map +1 -1
- package/_cjs/control/Z/runtime.cjs +17 -13
- package/_cjs/control/Z/runtime.cjs.map +1 -1
- package/_cjs/control.cjs +6 -0
- package/_cjs/control.cjs.map +1 -0
- package/_cjs/data/Cause/api/isEmpty.cjs +2 -0
- package/_cjs/data/Cause/api/isEmpty.cjs.map +1 -1
- package/_cjs/data/Cause/api/linearize.cjs +2 -0
- package/_cjs/data/Cause/api/linearize.cjs.map +1 -1
- package/_cjs/data/Cause/api.cjs +2 -0
- package/_cjs/data/Cause/api.cjs.map +1 -1
- package/_cjs/data/Const/definition.cjs +0 -7
- package/_cjs/data/Const/definition.cjs.map +1 -1
- package/_cjs/data/Const/instances.cjs +11 -8
- package/_cjs/data/Const/instances.cjs.map +1 -1
- package/_cjs/data/Datum/api.cjs +479 -0
- package/_cjs/data/Datum/api.cjs.map +1 -0
- package/_cjs/data/Datum/definition.cjs +142 -0
- package/_cjs/data/Datum/definition.cjs.map +1 -0
- package/_cjs/data/Datum/instances.cjs +69 -0
- package/_cjs/data/Datum/instances.cjs.map +1 -0
- package/_cjs/data/DatumEither/api.cjs +365 -0
- package/_cjs/data/DatumEither/api.cjs.map +1 -0
- package/_cjs/data/DatumEither/definition.cjs +9 -0
- package/_cjs/data/DatumEither/definition.cjs.map +1 -0
- package/_cjs/data/DecodeError/definition.cjs +16 -4
- package/_cjs/data/DecodeError/definition.cjs.map +1 -1
- package/_cjs/data/DecodeError/instances.cjs +6 -0
- package/_cjs/data/DecodeError/instances.cjs.map +1 -0
- package/_cjs/data/DecodeError.cjs +13 -0
- package/_cjs/data/DecodeError.cjs.map +1 -1
- package/_cjs/data/Decoder/definition.cjs +3 -10
- package/_cjs/data/Decoder/definition.cjs.map +1 -1
- package/_cjs/data/Either/api/alignWith.cjs +2 -0
- package/_cjs/data/Either/api/alignWith.cjs.map +1 -1
- package/_cjs/data/Either/api.cjs +21 -5
- package/_cjs/data/Either/api.cjs.map +1 -1
- package/_cjs/data/Either/definition.cjs +4 -11
- package/_cjs/data/Either/definition.cjs.map +1 -1
- package/_cjs/data/Either/instances.cjs +25 -23
- package/_cjs/data/Either/instances.cjs.map +1 -1
- package/_cjs/data/EitherT/api.cjs +106 -0
- package/_cjs/data/EitherT/api.cjs.map +1 -0
- package/_cjs/data/EitherT/definition.cjs +9 -0
- package/_cjs/data/EitherT/definition.cjs.map +1 -0
- package/_cjs/data/Environment/api.cjs +15 -14
- package/_cjs/data/Environment/api.cjs.map +1 -1
- package/_cjs/data/Environment/definition.cjs.map +1 -1
- package/_cjs/data/Identity/api.cjs +3 -1
- package/_cjs/data/Identity/api.cjs.map +1 -1
- package/_cjs/data/Identity/definition.cjs +2 -4
- package/_cjs/data/Identity/definition.cjs.map +1 -1
- package/_cjs/data/Identity/instances.cjs +6 -0
- package/_cjs/data/Identity/instances.cjs.map +1 -1
- package/_cjs/data/Intervals.cjs +292 -0
- package/_cjs/data/Intervals.cjs.map +1 -0
- package/_cjs/data/Maybe/api.cjs +3 -1
- package/_cjs/data/Maybe/api.cjs.map +1 -1
- package/_cjs/data/Maybe/definition.cjs +11 -13
- package/_cjs/data/Maybe/definition.cjs.map +1 -1
- package/_cjs/data/Maybe/instances.cjs +13 -11
- package/_cjs/data/Maybe/instances.cjs.map +1 -1
- package/_cjs/data/Newtype.cjs +3 -5
- package/_cjs/data/Newtype.cjs.map +1 -1
- package/_cjs/data/Patch/api.cjs +2 -0
- package/_cjs/data/Patch/api.cjs.map +1 -1
- package/_cjs/data/Struct/api.cjs +2 -0
- package/_cjs/data/Struct/api.cjs.map +1 -1
- package/_cjs/data/Struct/definition.cjs +2 -4
- package/_cjs/data/Struct/definition.cjs.map +1 -1
- package/_cjs/data/These/definition.cjs +1 -1
- package/_cjs/data/These/definition.cjs.map +1 -1
- package/_cjs/data/Zipped.cjs +55 -0
- package/_cjs/data/Zipped.cjs.map +1 -0
- package/_cjs/data/function/api.cjs +10 -0
- package/_cjs/data/function/api.cjs.map +1 -1
- package/_cjs/data/object/instances.cjs +9 -1
- package/_cjs/data/object/instances.cjs.map +1 -1
- package/_cjs/data/string/api.cjs +1 -1
- package/_cjs/data.cjs +6 -0
- package/_cjs/data.cjs.map +1 -0
- package/_cjs/global.cjs +6 -0
- package/_cjs/global.cjs.map +1 -0
- package/_cjs/index.cjs +6 -0
- package/_cjs/index.cjs.map +1 -0
- package/_cjs/json.cjs +6 -0
- package/_cjs/json.cjs.map +1 -0
- package/_cjs/optics/At/definition.cjs +2 -0
- package/_cjs/optics/At/definition.cjs.map +1 -1
- package/_cjs/optics/Iso/definition.cjs +4 -0
- package/_cjs/optics/Iso/definition.cjs.map +1 -1
- package/_cjs/optics/Lens/definition.cjs +4 -0
- package/_cjs/optics/Lens/definition.cjs.map +1 -1
- package/_cjs/optics/Optional/definition.cjs +5 -5
- package/_cjs/optics/Optional/definition.cjs.map +1 -1
- package/_cjs/optics/Prism/definition.cjs +2 -0
- package/_cjs/optics/Prism/definition.cjs.map +1 -1
- package/_cjs/optics/Traversal/api/compose.cjs +1 -1
- package/_cjs/optics/Traversal/api/compose.cjs.map +1 -1
- package/_cjs/optics/Traversal/api/fromTraversable.cjs +1 -1
- package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
- package/_cjs/optics/Traversal/definition.cjs +7 -3
- package/_cjs/optics/Traversal/definition.cjs.map +1 -1
- package/_cjs/optics.cjs +6 -0
- package/_cjs/optics.cjs.map +1 -0
- package/_cjs/typeclass/Alt.cjs +0 -7
- package/_cjs/typeclass/Alt.cjs.map +1 -1
- package/_cjs/typeclass/ApplicativeExcept.cjs +9 -35
- package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
- package/_cjs/typeclass/Apply.cjs +39 -66
- package/_cjs/typeclass/Apply.cjs.map +1 -1
- package/_cjs/typeclass/Chain.cjs +6 -28
- package/_cjs/typeclass/Chain.cjs.map +1 -1
- package/_cjs/typeclass/Fail.cjs +0 -10
- package/_cjs/typeclass/Fail.cjs.map +1 -1
- package/_cjs/typeclass/Filterable.cjs +0 -36
- package/_cjs/typeclass/Filterable.cjs.map +1 -1
- package/_cjs/typeclass/Foldable.cjs +4 -34
- package/_cjs/typeclass/Foldable.cjs.map +1 -1
- package/_cjs/typeclass/FoldableWithIndex.cjs +4 -34
- package/_cjs/typeclass/FoldableWithIndex.cjs.map +1 -1
- package/_cjs/typeclass/Functor.cjs +3 -18
- package/_cjs/typeclass/Functor.cjs.map +1 -1
- package/_cjs/typeclass/Guard/definition.cjs +3 -10
- package/_cjs/typeclass/Guard/definition.cjs.map +1 -1
- package/_cjs/typeclass/HashEq.cjs +2 -0
- package/_cjs/typeclass/HashEq.cjs.map +1 -1
- package/_cjs/typeclass/MonadExcept.cjs +2 -10
- package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
- package/_cjs/typeclass/Monoid.cjs +2 -0
- package/_cjs/typeclass/Monoid.cjs.map +1 -1
- package/_cjs/typeclass/Nil.cjs +0 -10
- package/_cjs/typeclass/Nil.cjs.map +1 -1
- package/_cjs/typeclass/Ord/definition.cjs +2 -0
- package/_cjs/typeclass/Ord/definition.cjs.map +1 -1
- package/_cjs/typeclass/Ord/instances.cjs +4 -3
- package/_cjs/typeclass/Ord/instances.cjs.map +1 -1
- package/_cjs/typeclass/Pointed.cjs +0 -11
- package/_cjs/typeclass/Pointed.cjs.map +1 -1
- package/_cjs/typeclass/Semialign.cjs +18 -46
- package/_cjs/typeclass/Semialign.cjs.map +1 -1
- package/_cjs/typeclass/Semimonoidal.cjs +0 -11
- package/_cjs/typeclass/Semimonoidal.cjs.map +1 -1
- package/_cjs/typeclass/Showable/show.cjs +12 -12
- package/_cjs/typeclass/Showable/show.cjs.map +1 -1
- package/_cjs/typeclass/Traversable.cjs +7 -26
- package/_cjs/typeclass/Traversable.cjs.map +1 -1
- package/_cjs/typeclass/TraversableWithIndex.cjs +3 -7
- package/_cjs/typeclass/TraversableWithIndex.cjs.map +1 -1
- package/_cjs/typeclass/Witherable.cjs +3 -45
- package/_cjs/typeclass/Witherable.cjs.map +1 -1
- package/_cjs/typeclass/WitherableWithIndex.cjs +8 -44
- package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
- package/_cjs/util.cjs +6 -0
- package/_cjs/util.cjs.map +1 -0
- package/_mjs/collection/Iterable/api/traverseConc.mjs +16 -21
- package/_mjs/collection/Iterable/api/traverseConc.mjs.map +1 -1
- package/_mjs/collection/compat/Array/api.mjs +10 -10
- package/_mjs/collection/compat/Array/derivations.mjs +70 -0
- package/_mjs/collection/compat/Array/derivations.mjs.map +1 -0
- package/_mjs/collection/compat/Array.mjs +1 -0
- package/_mjs/collection/compat/Array.mjs.map +1 -1
- package/_mjs/collection/compat/Record/instances.mjs +62 -16
- package/_mjs/collection/compat/Record/instances.mjs.map +1 -1
- package/_mjs/collection/compat.mjs +2 -0
- package/_mjs/collection/compat.mjs.map +1 -0
- package/_mjs/collection/immutable/Conc/api.mjs +8 -11
- package/_mjs/collection/immutable/Conc/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/definition.mjs +41 -42
- package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/derivations.mjs +27 -0
- package/_mjs/collection/immutable/Conc/derivations.mjs.map +1 -0
- package/_mjs/collection/immutable/Conc.mjs +2 -1
- package/_mjs/collection/immutable/Conc.mjs.map +1 -1
- package/_mjs/collection/immutable/Dictionary/definition.mjs +2 -3
- package/_mjs/collection/immutable/Dictionary/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/HashMap/api.mjs +18 -20
- package/_mjs/collection/immutable/HashMap/api.mjs.map +1 -1
- package/_mjs/collection/immutable/HashMap/definition.mjs +15 -16
- package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/HashSet/api.mjs +1 -0
- package/_mjs/collection/immutable/HashSet/api.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/api.mjs +134 -153
- package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/constructors.mjs +2 -2
- package/_mjs/collection/immutable/ImmutableArray/definition.mjs +16 -12
- package/_mjs/collection/immutable/ImmutableArray/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/derivations.mjs +25 -0
- package/_mjs/collection/immutable/ImmutableArray/derivations.mjs.map +1 -0
- package/_mjs/collection/immutable/ImmutableArray/instances.mjs +9 -8
- package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray.mjs +1 -0
- package/_mjs/collection/immutable/ImmutableArray.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs +19 -19
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs +2 -2
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs +0 -2
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/derivations.mjs +39 -0
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/derivations.mjs.map +1 -0
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs +4 -3
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs +1 -0
- package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs.map +1 -1
- package/_mjs/collection/immutable/List/definition.mjs +2 -2
- package/_mjs/collection/immutable/RoseTree/definition.mjs +13 -14
- package/_mjs/collection/immutable/RoseTree/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/SortedMap/api.mjs +1 -0
- package/_mjs/collection/immutable/SortedMap/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Vector/api.mjs +8 -12
- package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Vector/definition.mjs +11 -12
- package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/Vector/internal.mjs +1 -1
- package/_mjs/collection/immutable.mjs +2 -0
- package/_mjs/collection/immutable.mjs.map +1 -0
- package/_mjs/collection/mutable/HashMap.mjs +4 -0
- package/_mjs/collection/mutable/HashMap.mjs.map +1 -1
- package/_mjs/collection/mutable.mjs +2 -0
- package/_mjs/collection/mutable.mjs.map +1 -0
- package/_mjs/collection/weak/IterableWeakMap.mjs +51 -2
- package/_mjs/collection/weak/IterableWeakMap.mjs.map +1 -1
- package/_mjs/collection/weak/IterableWeakSet.mjs +59 -7
- package/_mjs/collection/weak/IterableWeakSet.mjs.map +1 -1
- package/_mjs/collection/weak.mjs +2 -0
- package/_mjs/collection/weak.mjs.map +1 -0
- package/_mjs/collection.mjs +2 -0
- package/_mjs/collection.mjs.map +1 -0
- package/_mjs/control/Eval/api.mjs +9 -4
- package/_mjs/control/Eval/api.mjs.map +1 -1
- package/_mjs/control/Eval/definition.mjs +1 -2
- package/_mjs/control/Eval/definition.mjs.map +1 -1
- package/_mjs/control/Eval/instance.mjs +1 -0
- package/_mjs/control/Eval/instance.mjs.map +1 -1
- package/_mjs/control/Eval/run.mjs +1 -0
- package/_mjs/control/Eval/run.mjs.map +1 -1
- package/_mjs/control/Z/api.mjs +16 -15
- package/_mjs/control/Z/api.mjs.map +1 -1
- package/_mjs/control/Z/definition.mjs +3 -5
- package/_mjs/control/Z/definition.mjs.map +1 -1
- package/_mjs/control/Z/instances.mjs +1 -0
- package/_mjs/control/Z/instances.mjs.map +1 -1
- package/_mjs/control/Z/runtime.mjs +15 -13
- package/_mjs/control/Z/runtime.mjs.map +1 -1
- package/_mjs/control.mjs +2 -0
- package/_mjs/control.mjs.map +1 -0
- package/_mjs/data/Branded/derivations.mjs +1 -0
- package/_mjs/data/Branded/derivations.mjs.map +1 -1
- package/_mjs/data/Cause/api/isEmpty.mjs +1 -0
- package/_mjs/data/Cause/api/isEmpty.mjs.map +1 -1
- package/_mjs/data/Cause/api/linearize.mjs +1 -0
- package/_mjs/data/Cause/api/linearize.mjs.map +1 -1
- package/_mjs/data/Cause/api.mjs +2 -1
- package/_mjs/data/Cause/api.mjs.map +1 -1
- package/_mjs/data/Const/definition.mjs +0 -3
- package/_mjs/data/Const/definition.mjs.map +1 -1
- package/_mjs/data/Const/instances.mjs +7 -5
- package/_mjs/data/Const/instances.mjs.map +1 -1
- package/_mjs/data/Datum/api.mjs +404 -0
- package/_mjs/data/Datum/api.mjs.map +1 -0
- package/_mjs/data/Datum/definition.mjs +112 -0
- package/_mjs/data/Datum/definition.mjs.map +1 -0
- package/_mjs/data/Datum/instances.mjs +52 -0
- package/_mjs/data/Datum/instances.mjs.map +1 -0
- package/_mjs/data/DatumEither/api.mjs +290 -0
- package/_mjs/data/DatumEither/api.mjs.map +1 -0
- package/_mjs/data/DatumEither/definition.mjs +2 -0
- package/_mjs/data/DatumEither/definition.mjs.map +1 -0
- package/_mjs/data/DecodeError/definition.mjs +12 -3
- package/_mjs/data/DecodeError/definition.mjs.map +1 -1
- package/_mjs/data/DecodeError/instances.mjs +2 -0
- package/_mjs/data/DecodeError/instances.mjs.map +1 -0
- package/_mjs/data/DecodeError.mjs +1 -0
- package/_mjs/data/DecodeError.mjs.map +1 -1
- package/_mjs/data/Decoder/api.mjs +1 -0
- package/_mjs/data/Decoder/api.mjs.map +1 -1
- package/_mjs/data/Decoder/definition.mjs +0 -2
- package/_mjs/data/Decoder/definition.mjs.map +1 -1
- package/_mjs/data/Either/api/alignWith.mjs +1 -0
- package/_mjs/data/Either/api/alignWith.mjs.map +1 -1
- package/_mjs/data/Either/api.mjs +17 -4
- package/_mjs/data/Either/api.mjs.map +1 -1
- package/_mjs/data/Either/definition.mjs +1 -3
- package/_mjs/data/Either/definition.mjs.map +1 -1
- package/_mjs/data/Either/instances.mjs +24 -23
- package/_mjs/data/Either/instances.mjs.map +1 -1
- package/_mjs/data/EitherT/api.mjs +73 -0
- package/_mjs/data/EitherT/api.mjs.map +1 -0
- package/_mjs/data/EitherT/definition.mjs +2 -0
- package/_mjs/data/EitherT/definition.mjs.map +1 -0
- package/_mjs/data/Environment/api.mjs +12 -13
- package/_mjs/data/Environment/api.mjs.map +1 -1
- package/_mjs/data/Environment/definition.mjs.map +1 -1
- package/_mjs/data/Identity/api.mjs +2 -1
- package/_mjs/data/Identity/api.mjs.map +1 -1
- package/_mjs/data/Identity/definition.mjs +2 -3
- package/_mjs/data/Identity/definition.mjs.map +1 -1
- package/_mjs/data/Identity/instances.mjs +1 -0
- package/_mjs/data/Identity/instances.mjs.map +1 -1
- package/_mjs/data/Intervals.mjs +257 -0
- package/_mjs/data/Intervals.mjs.map +1 -0
- package/_mjs/data/Maybe/api.mjs +2 -1
- package/_mjs/data/Maybe/api.mjs.map +1 -1
- package/_mjs/data/Maybe/definition.mjs +8 -10
- package/_mjs/data/Maybe/definition.mjs.map +1 -1
- package/_mjs/data/Maybe/instances.mjs +12 -11
- package/_mjs/data/Maybe/instances.mjs.map +1 -1
- package/_mjs/data/Newtype.mjs +3 -4
- package/_mjs/data/Newtype.mjs.map +1 -1
- package/_mjs/data/Patch/api.mjs +1 -0
- package/_mjs/data/Patch/api.mjs.map +1 -1
- package/_mjs/data/Struct/api.mjs +1 -0
- package/_mjs/data/Struct/api.mjs.map +1 -1
- package/_mjs/data/Struct/definition.mjs +2 -3
- package/_mjs/data/Struct/definition.mjs.map +1 -1
- package/_mjs/data/These/definition.mjs +1 -1
- package/_mjs/data/These/definition.mjs.map +1 -1
- package/_mjs/data/Zipped.mjs +37 -0
- package/_mjs/data/Zipped.mjs.map +1 -0
- package/_mjs/data/function/api.mjs +8 -0
- package/_mjs/data/function/api.mjs.map +1 -1
- package/_mjs/data/object/instances.mjs +7 -1
- package/_mjs/data/object/instances.mjs.map +1 -1
- package/_mjs/data/string/api.mjs +1 -1
- package/_mjs/data.mjs +2 -0
- package/_mjs/data.mjs.map +1 -0
- package/_mjs/global.mjs +2 -0
- package/_mjs/global.mjs.map +1 -0
- package/_mjs/index.mjs +2 -0
- package/_mjs/index.mjs.map +1 -0
- package/_mjs/json.mjs +2 -0
- package/_mjs/json.mjs.map +1 -0
- package/_mjs/optics/At/api.mjs +1 -0
- package/_mjs/optics/At/api.mjs.map +1 -1
- package/_mjs/optics/At/definition.mjs +1 -0
- package/_mjs/optics/At/definition.mjs.map +1 -1
- package/_mjs/optics/Index/api.mjs +1 -0
- package/_mjs/optics/Index/api.mjs.map +1 -1
- package/_mjs/optics/Iso/api.mjs +1 -0
- package/_mjs/optics/Iso/api.mjs.map +1 -1
- package/_mjs/optics/Iso/definition.mjs +2 -0
- package/_mjs/optics/Iso/definition.mjs.map +1 -1
- package/_mjs/optics/Lens/api.mjs +1 -0
- package/_mjs/optics/Lens/api.mjs.map +1 -1
- package/_mjs/optics/Lens/definition.mjs +2 -0
- package/_mjs/optics/Lens/definition.mjs.map +1 -1
- package/_mjs/optics/Optional/api/compose.mjs +1 -0
- package/_mjs/optics/Optional/api/compose.mjs.map +1 -1
- package/_mjs/optics/Optional/definition.mjs +5 -5
- package/_mjs/optics/Optional/definition.mjs.map +1 -1
- package/_mjs/optics/Prism/api/compose.mjs +1 -0
- package/_mjs/optics/Prism/api/compose.mjs.map +1 -1
- package/_mjs/optics/Prism/api/fromNullable.mjs +1 -0
- package/_mjs/optics/Prism/api/fromNullable.mjs.map +1 -1
- package/_mjs/optics/Prism/api/just.mjs +1 -0
- package/_mjs/optics/Prism/api/just.mjs.map +1 -1
- package/_mjs/optics/Prism/definition.mjs +1 -0
- package/_mjs/optics/Prism/definition.mjs.map +1 -1
- package/_mjs/optics/Traversal/api/compose.mjs +2 -1
- package/_mjs/optics/Traversal/api/compose.mjs.map +1 -1
- package/_mjs/optics/Traversal/api/fromTraversable.mjs +2 -1
- package/_mjs/optics/Traversal/api/fromTraversable.mjs.map +1 -1
- package/_mjs/optics/Traversal/definition.mjs +5 -3
- package/_mjs/optics/Traversal/definition.mjs.map +1 -1
- package/_mjs/optics.mjs +2 -0
- package/_mjs/optics.mjs.map +1 -0
- package/_mjs/typeclass/Alt.mjs +0 -5
- package/_mjs/typeclass/Alt.mjs.map +1 -1
- package/_mjs/typeclass/ApplicativeExcept.mjs +7 -32
- package/_mjs/typeclass/ApplicativeExcept.mjs.map +1 -1
- package/_mjs/typeclass/Apply.mjs +35 -65
- package/_mjs/typeclass/Apply.mjs.map +1 -1
- package/_mjs/typeclass/Chain.mjs +4 -25
- package/_mjs/typeclass/Chain.mjs.map +1 -1
- package/_mjs/typeclass/Eq/derivations.mjs +1 -0
- package/_mjs/typeclass/Eq/derivations.mjs.map +1 -1
- package/_mjs/typeclass/Fail.mjs +1 -8
- package/_mjs/typeclass/Fail.mjs.map +1 -1
- package/_mjs/typeclass/Filterable.mjs +0 -28
- package/_mjs/typeclass/Filterable.mjs.map +1 -1
- package/_mjs/typeclass/Foldable.mjs +3 -30
- package/_mjs/typeclass/Foldable.mjs.map +1 -1
- package/_mjs/typeclass/FoldableWithIndex.mjs +3 -30
- package/_mjs/typeclass/FoldableWithIndex.mjs.map +1 -1
- package/_mjs/typeclass/Functor.mjs +3 -16
- package/_mjs/typeclass/Functor.mjs.map +1 -1
- package/_mjs/typeclass/Guard/api.mjs +1 -0
- package/_mjs/typeclass/Guard/api.mjs.map +1 -1
- package/_mjs/typeclass/Guard/definition.mjs +0 -2
- package/_mjs/typeclass/Guard/definition.mjs.map +1 -1
- package/_mjs/typeclass/HashEq.mjs +1 -0
- package/_mjs/typeclass/HashEq.mjs.map +1 -1
- package/_mjs/typeclass/MonadExcept.mjs +2 -9
- package/_mjs/typeclass/MonadExcept.mjs.map +1 -1
- package/_mjs/typeclass/Monoid.mjs +1 -0
- package/_mjs/typeclass/Monoid.mjs.map +1 -1
- package/_mjs/typeclass/Nil.mjs +1 -8
- package/_mjs/typeclass/Nil.mjs.map +1 -1
- package/_mjs/typeclass/Ord/definition.mjs +1 -0
- package/_mjs/typeclass/Ord/definition.mjs.map +1 -1
- package/_mjs/typeclass/Ord/instances.mjs +3 -0
- package/_mjs/typeclass/Ord/instances.mjs.map +1 -1
- package/_mjs/typeclass/Pointed.mjs +0 -9
- package/_mjs/typeclass/Pointed.mjs.map +1 -1
- package/_mjs/typeclass/Semialign.mjs +17 -45
- package/_mjs/typeclass/Semialign.mjs.map +1 -1
- package/_mjs/typeclass/Semigroup/api.mjs +1 -0
- package/_mjs/typeclass/Semigroup/api.mjs.map +1 -1
- package/_mjs/typeclass/Semigroup/derivations.mjs +1 -0
- package/_mjs/typeclass/Semigroup/derivations.mjs.map +1 -1
- package/_mjs/typeclass/Semimonoidal.mjs +0 -9
- package/_mjs/typeclass/Semimonoidal.mjs.map +1 -1
- package/_mjs/typeclass/Showable/show.mjs +12 -12
- package/_mjs/typeclass/Showable/show.mjs.map +1 -1
- package/_mjs/typeclass/Traversable.mjs +6 -25
- package/_mjs/typeclass/Traversable.mjs.map +1 -1
- package/_mjs/typeclass/TraversableWithIndex.mjs +2 -6
- package/_mjs/typeclass/TraversableWithIndex.mjs.map +1 -1
- package/_mjs/typeclass/Witherable.mjs +3 -40
- package/_mjs/typeclass/Witherable.mjs.map +1 -1
- package/_mjs/typeclass/WitherableWithIndex.mjs +6 -41
- package/_mjs/typeclass/WitherableWithIndex.mjs.map +1 -1
- package/_mjs/util.mjs +2 -0
- package/_mjs/util.mjs.map +1 -0
- package/_src/collection/Iterable/api/traverseConc.ts +24 -21
- package/_src/collection/compat/Array/api.ts +10 -10
- package/_src/collection/compat/Array/definition.ts +3 -3
- package/_src/collection/compat/Array/derivations.ts +85 -0
- package/_src/collection/compat/Array.ts +1 -0
- package/_src/collection/compat/Record/instances.ts +43 -0
- package/_src/collection/compat.ts +4 -0
- package/_src/collection/immutable/Conc/api.ts +9 -11
- package/_src/collection/immutable/Conc/definition.ts +18 -13
- package/_src/collection/immutable/Conc/derivations.ts +28 -0
- package/_src/collection/immutable/Conc.ts +1 -0
- package/_src/collection/immutable/Dictionary/definition.ts +1 -1
- package/_src/collection/immutable/HashMap/api.ts +20 -17
- package/_src/collection/immutable/HashMap/definition.ts +10 -6
- package/_src/collection/immutable/ImmutableArray/api.ts +62 -119
- package/_src/collection/immutable/ImmutableArray/constructors.ts +2 -2
- package/_src/collection/immutable/ImmutableArray/definition.ts +11 -5
- package/_src/collection/immutable/ImmutableArray/derivations.ts +28 -0
- package/_src/collection/immutable/ImmutableArray/instances.ts +47 -42
- package/_src/collection/immutable/ImmutableArray.ts +1 -0
- package/_src/collection/immutable/ImmutableNonEmptyArray/api.ts +13 -11
- package/_src/collection/immutable/ImmutableNonEmptyArray/constructors.ts +2 -2
- package/_src/collection/immutable/ImmutableNonEmptyArray/definition.ts +10 -5
- package/_src/collection/immutable/ImmutableNonEmptyArray/derivations.ts +44 -0
- package/_src/collection/immutable/ImmutableNonEmptyArray/instances.ts +24 -25
- package/_src/collection/immutable/ImmutableNonEmptyArray.ts +1 -0
- package/_src/collection/immutable/List/definition.ts +2 -2
- package/_src/collection/immutable/RoseTree/definition.ts +7 -4
- package/_src/collection/immutable/Vector/api.ts +12 -16
- package/_src/collection/immutable/Vector/definition.ts +10 -10
- package/_src/collection/immutable/Vector/internal.ts +1 -1
- package/_src/collection/immutable.ts +12 -0
- package/_src/collection/mutable/HashMap.ts +4 -0
- package/_src/collection/mutable.ts +6 -0
- package/_src/collection/weak/IterableWeakMap.ts +50 -5
- package/_src/collection/weak/IterableWeakSet.ts +57 -9
- package/_src/collection/weak.ts +4 -0
- package/_src/collection.ts +7 -0
- package/_src/control/Eval/api.ts +5 -2
- package/_src/control/Eval/definition.ts +8 -5
- package/_src/control/Eval/instance.ts +7 -7
- package/_src/control/Z/api.ts +40 -52
- package/_src/control/Z/definition.ts +36 -36
- package/_src/control/Z/instances.ts +3 -3
- package/_src/control/Z/runtime.ts +11 -11
- package/_src/control.ts +5 -0
- package/_src/data/Const/definition.ts +9 -17
- package/_src/data/Const/instances.ts +5 -5
- package/_src/data/Datum/api.ts +376 -0
- package/_src/data/Datum/definition.ts +102 -0
- package/_src/data/Datum/instances.ts +34 -0
- package/_src/data/DatumEither/api.ts +348 -0
- package/_src/data/DatumEither/definition.ts +20 -0
- package/_src/data/DecodeError/definition.ts +11 -3
- package/_src/data/DecodeError/instances.ts +0 -0
- package/_src/data/DecodeError.ts +1 -0
- package/_src/data/Decoder/definition.ts +7 -4
- package/_src/data/Either/api.ts +12 -2
- package/_src/data/Either/definition.ts +10 -15
- package/_src/data/Either/instances.ts +6 -6
- package/_src/data/EitherT/api.ts +239 -0
- package/_src/data/EitherT/definition.ts +23 -0
- package/_src/data/Environment/api.ts +8 -6
- package/_src/data/Environment/definition.ts +2 -2
- package/_src/data/Identity/api.ts +2 -2
- package/_src/data/Identity/definition.ts +2 -2
- package/_src/data/Identity/instances.ts +7 -7
- package/_src/data/Intervals.ts +126 -0
- package/_src/data/Maybe/api.ts +2 -2
- package/_src/data/Maybe/definition.ts +8 -5
- package/_src/data/Maybe/instances.ts +10 -10
- package/_src/data/Newtype.ts +32 -11
- package/_src/data/Struct/definition.ts +1 -1
- package/_src/data/Tag/definition.ts +2 -2
- package/_src/data/These/definition.ts +1 -1
- package/_src/data/Zipped.ts +52 -0
- package/_src/data/function/api.ts +8 -0
- package/_src/data/object/instances.ts +11 -1
- package/_src/data/string/api.ts +1 -1
- package/_src/data.ts +35 -0
- package/_src/global.ts +252 -0
- package/_src/index.ts +8 -0
- package/_src/json.ts +5 -0
- package/_src/optics/Optional/definition.ts +2 -2
- package/_src/optics/Traversal/api/compose.ts +1 -1
- package/_src/optics/Traversal/api/fromTraversable.ts +11 -11
- package/_src/optics/Traversal/definition.ts +13 -12
- package/_src/optics.ts +12 -0
- package/_src/typeclass/Align.ts +1 -1
- package/_src/typeclass/Alt.ts +24 -54
- package/_src/typeclass/Alternative.ts +1 -1
- package/_src/typeclass/Applicative.ts +6 -1
- package/_src/typeclass/ApplicativeExcept.ts +55 -81
- package/_src/typeclass/Apply.ts +224 -253
- package/_src/typeclass/Chain.ts +71 -98
- package/_src/typeclass/Fail.ts +10 -28
- package/_src/typeclass/Filterable.ts +13 -67
- package/_src/typeclass/FilterableWithIndex.ts +13 -13
- package/_src/typeclass/Foldable.ts +16 -35
- package/_src/typeclass/FoldableWithIndex.ts +14 -37
- package/_src/typeclass/Functor.ts +11 -21
- package/_src/typeclass/FunctorWithIndex.ts +4 -4
- package/_src/typeclass/Guard/definition.ts +1 -3
- package/_src/typeclass/Monad.ts +1 -1
- package/_src/typeclass/MonadExcept.ts +11 -7
- package/_src/typeclass/Nil.ts +10 -27
- package/_src/typeclass/Pointed.ts +11 -30
- package/_src/typeclass/Semialign.ts +285 -253
- package/_src/typeclass/Semimonoidal.ts +23 -54
- package/_src/typeclass/Showable/show.ts +10 -12
- package/_src/typeclass/Traversable.ts +45 -63
- package/_src/typeclass/TraversableWithIndex.ts +37 -34
- package/_src/typeclass/Witherable.ts +28 -115
- package/_src/typeclass/WitherableWithIndex.ts +82 -115
- package/_src/types/extractions.ts +1 -1
- package/_src/util.ts +8 -0
- package/collection/Iterable/api/traverseConc.d.ts +4 -6
- package/collection/compat/Array/api.d.ts +10 -10
- package/collection/compat/Array/definition.d.ts +3 -3
- package/collection/compat/Array/derivations.d.ts +24 -0
- package/collection/compat/Array.d.ts +1 -0
- package/collection/compat/Record/instances.d.ts +12 -0
- package/collection/compat.d.ts +2 -0
- package/collection/immutable/Conc/api.d.ts +4 -6
- package/collection/immutable/Conc/definition.d.ts +24 -20
- package/collection/immutable/Conc/derivations.d.ts +14 -0
- package/collection/immutable/Conc.d.ts +1 -0
- package/collection/immutable/Dictionary/definition.d.ts +1 -1
- package/collection/immutable/HashMap/api.d.ts +13 -13
- package/collection/immutable/HashMap/definition.d.ts +10 -7
- package/collection/immutable/ImmutableArray/api.d.ts +22 -24
- package/collection/immutable/ImmutableArray/constructors.d.ts +2 -2
- package/collection/immutable/ImmutableArray/definition.d.ts +12 -6
- package/collection/immutable/ImmutableArray/derivations.d.ts +14 -0
- package/collection/immutable/ImmutableArray/instances.d.ts +17 -17
- package/collection/immutable/ImmutableArray.d.ts +1 -0
- package/collection/immutable/ImmutableNonEmptyArray/api.d.ts +6 -5
- package/collection/immutable/ImmutableNonEmptyArray/constructors.d.ts +2 -2
- package/collection/immutable/ImmutableNonEmptyArray/definition.d.ts +9 -5
- package/collection/immutable/ImmutableNonEmptyArray/derivations.d.ts +14 -0
- package/collection/immutable/ImmutableNonEmptyArray/instances.d.ts +10 -10
- package/collection/immutable/ImmutableNonEmptyArray.d.ts +1 -0
- package/collection/immutable/List/definition.d.ts +2 -2
- package/collection/immutable/RoseTree/definition.d.ts +7 -5
- package/collection/immutable/Vector/api.d.ts +4 -4
- package/collection/immutable/Vector/definition.d.ts +9 -10
- package/collection/immutable/Vector/internal.d.ts +1 -1
- package/collection/immutable.d.ts +10 -0
- package/collection/mutable/HashMap.d.ts +1 -0
- package/collection/mutable.d.ts +4 -0
- package/collection/weak/IterableWeakMap.d.ts +9 -3
- package/collection/weak/IterableWeakSet.d.ts +10 -4
- package/collection/weak.d.ts +2 -0
- package/collection.d.ts +5 -0
- package/control/Eval/api.d.ts +6 -1
- package/control/Eval/definition.d.ts +6 -4
- package/control/Eval/instance.d.ts +3 -3
- package/control/Z/api.d.ts +32 -30
- package/control/Z/definition.d.ts +43 -37
- package/control/Z/instances.d.ts +2 -2
- package/control/Z/runtime.d.ts +9 -8
- package/control.d.ts +3 -0
- package/data/Const/definition.d.ts +8 -16
- package/data/Const/instances.d.ts +4 -3
- package/data/Datum/api.d.ts +188 -0
- package/data/Datum/definition.d.ts +75 -0
- package/data/Datum/instances.d.ts +32 -0
- package/data/DatumEither/api.d.ts +169 -0
- package/data/DatumEither/definition.d.ts +21 -0
- package/data/DecodeError/definition.d.ts +6 -0
- package/data/DecodeError/instances.d.ts +1 -0
- package/data/DecodeError.d.ts +1 -0
- package/data/Decoder/definition.d.ts +6 -4
- package/data/Either/api.d.ts +10 -0
- package/data/Either/definition.d.ts +8 -14
- package/data/Either/instances.d.ts +4 -3
- package/data/EitherT/api.d.ts +60 -0
- package/data/EitherT/definition.d.ts +12 -0
- package/data/Environment/api.d.ts +7 -5
- package/data/Environment/definition.d.ts +3 -3
- package/data/Identity/api.d.ts +2 -1
- package/data/Identity/definition.d.ts +2 -2
- package/data/Identity/instances.d.ts +3 -3
- package/data/Intervals.d.ts +53 -0
- package/data/Maybe/api.d.ts +2 -1
- package/data/Maybe/definition.d.ts +10 -5
- package/data/Maybe/instances.d.ts +6 -6
- package/data/Newtype.d.ts +9 -8
- package/data/Struct/definition.d.ts +1 -1
- package/data/Tag/definition.d.ts +2 -2
- package/data/Zipped.d.ts +24 -0
- package/data/function/api.d.ts +6 -0
- package/data/object/instances.d.ts +6 -1
- package/data/string/api.d.ts +1 -1
- package/data.d.ts +33 -0
- package/global.d.ts +237 -0
- package/index.d.ts +8 -0
- package/json.d.ts +3 -0
- package/optics/Traversal/api/fromTraversable.d.ts +1 -1
- package/optics/Traversal/definition.d.ts +2 -4
- package/optics.d.ts +10 -0
- package/package.json +6 -2
- package/typeclass/Align.d.ts +1 -1
- package/typeclass/Alt.d.ts +2 -4
- package/typeclass/Alternative.d.ts +1 -1
- package/typeclass/Applicative.d.ts +2 -1
- package/typeclass/ApplicativeExcept.d.ts +5 -13
- package/typeclass/Apply.d.ts +20 -32
- package/typeclass/Chain.d.ts +5 -13
- package/typeclass/Fail.d.ts +2 -7
- package/typeclass/Filterable.d.ts +7 -31
- package/typeclass/FilterableWithIndex.d.ts +7 -7
- package/typeclass/Foldable.d.ts +6 -19
- package/typeclass/FoldableWithIndex.d.ts +6 -19
- package/typeclass/Functor.d.ts +4 -11
- package/typeclass/FunctorWithIndex.d.ts +2 -2
- package/typeclass/Guard/definition.d.ts +1 -4
- package/typeclass/Monad.d.ts +1 -1
- package/typeclass/MonadExcept.d.ts +3 -4
- package/typeclass/Nil.d.ts +2 -7
- package/typeclass/Pointed.d.ts +2 -7
- package/typeclass/Semialign.d.ts +26 -32
- package/typeclass/Semimonoidal.d.ts +3 -8
- package/typeclass/Showable/show.d.ts +1 -1
- package/typeclass/Traversable.d.ts +21 -12
- package/typeclass/TraversableWithIndex.d.ts +19 -6
- package/typeclass/Witherable.d.ts +5 -19
- package/typeclass/WitherableWithIndex.d.ts +33 -19
- package/types/extractions.d.ts +1 -1
- package/util.d.ts +6 -0
package/_src/typeclass/Chain.ts
CHANGED
@@ -1,34 +1,35 @@
|
|
1
|
-
import type { Functor } from "@fncts/base/typeclass/Functor";
|
2
|
-
|
3
1
|
import { identity } from "@fncts/base/data/function";
|
2
|
+
import { Functor } from "@fncts/base/typeclass/Functor";
|
4
3
|
|
5
|
-
export interface FlatMap<F extends HKT> extends Functor<F> {
|
6
|
-
flatMap<K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(
|
7
|
-
ma: HKT.Kind<F, K1, Q1, W1, X1, I1, S1, R1, E1, A>,
|
4
|
+
export interface FlatMap<F extends HKT, FC = HKT.None> extends Functor<F, FC> {
|
5
|
+
flatMap: <K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(
|
6
|
+
ma: HKT.Kind<F, FC, K1, Q1, W1, X1, I1, S1, R1, E1, A>,
|
8
7
|
f: (
|
9
8
|
a: A,
|
10
9
|
) => HKT.Kind<
|
11
10
|
F,
|
12
|
-
|
13
|
-
HKT.Intro<"
|
14
|
-
HKT.Intro<"
|
15
|
-
HKT.Intro<"
|
16
|
-
HKT.Intro<"
|
17
|
-
HKT.Intro<"
|
18
|
-
HKT.Intro<"
|
19
|
-
HKT.Intro<"
|
11
|
+
FC,
|
12
|
+
HKT.Intro<F, "K", K1, K2>,
|
13
|
+
HKT.Intro<F, "Q", Q1, Q2>,
|
14
|
+
HKT.Intro<F, "W", W1, W2>,
|
15
|
+
HKT.Intro<F, "X", X1, X2>,
|
16
|
+
HKT.Intro<F, "I", I1, I2>,
|
17
|
+
HKT.Intro<F, "S", S1, S2>,
|
18
|
+
HKT.Intro<F, "R", R1, R2>,
|
19
|
+
HKT.Intro<F, "E", E1, E2>,
|
20
20
|
B
|
21
21
|
>,
|
22
|
-
)
|
22
|
+
) => HKT.Kind<
|
23
23
|
F,
|
24
|
-
|
25
|
-
HKT.Mix<"
|
26
|
-
HKT.Mix<"
|
27
|
-
HKT.Mix<"
|
28
|
-
HKT.Mix<"
|
29
|
-
HKT.Mix<"
|
30
|
-
HKT.Mix<"
|
31
|
-
HKT.Mix<"
|
24
|
+
FC,
|
25
|
+
HKT.Mix<F, "K", [K1, K2]>,
|
26
|
+
HKT.Mix<F, "Q", [Q1, Q2]>,
|
27
|
+
HKT.Mix<F, "W", [W1, W2]>,
|
28
|
+
HKT.Mix<F, "X", [X1, X2]>,
|
29
|
+
HKT.Mix<F, "I", [I1, I2]>,
|
30
|
+
HKT.Mix<F, "S", [S1, S2]>,
|
31
|
+
HKT.Mix<F, "R", [R1, R2]>,
|
32
|
+
HKT.Mix<F, "E", [E1, E2]>,
|
32
33
|
B
|
33
34
|
>;
|
34
35
|
}
|
@@ -40,47 +41,15 @@ export interface FlatMapOps {}
|
|
40
41
|
|
41
42
|
export const FlatMap: FlatMapOps = {};
|
42
43
|
|
43
|
-
/**
|
44
|
-
* @tsplus fluent fncts.Kind flatMap
|
45
|
-
*/
|
46
|
-
export function flatMap<F extends HKT, K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(
|
47
|
-
ma: HKT.Kind<F, K1, Q1, W1, X1, I1, S1, R1, E1, A>,
|
48
|
-
f: (
|
49
|
-
a: A,
|
50
|
-
) => HKT.Kind<
|
51
|
-
F,
|
52
|
-
HKT.Intro<"K", K1, K2>,
|
53
|
-
HKT.Intro<"Q", Q1, Q2>,
|
54
|
-
HKT.Intro<"W", W1, W2>,
|
55
|
-
HKT.Intro<"X", X1, X2>,
|
56
|
-
HKT.Intro<"I", I1, I2>,
|
57
|
-
HKT.Intro<"S", S1, S2>,
|
58
|
-
HKT.Intro<"R", R1, R2>,
|
59
|
-
HKT.Intro<"E", E1, E2>,
|
60
|
-
B
|
61
|
-
>,
|
62
|
-
/** @tsplus auto */ F: FlatMap<F>,
|
63
|
-
): HKT.Kind<
|
64
|
-
F,
|
65
|
-
HKT.Mix<"K", [K1, K2]>,
|
66
|
-
HKT.Mix<"Q", [Q1, Q2]>,
|
67
|
-
HKT.Mix<"W", [W1, W2]>,
|
68
|
-
HKT.Mix<"X", [X1, X2]>,
|
69
|
-
HKT.Mix<"I", [I1, I2]>,
|
70
|
-
HKT.Mix<"S", [S1, S2]>,
|
71
|
-
HKT.Mix<"R", [R1, R2]>,
|
72
|
-
HKT.Mix<"E", [E1, E2]>,
|
73
|
-
B
|
74
|
-
> {
|
75
|
-
return F.flatMap(ma, f);
|
76
|
-
}
|
77
|
-
|
78
44
|
/**
|
79
45
|
* @tsplus fluent fncts.Kind flatten
|
80
46
|
*/
|
81
|
-
export function flatten<F extends HKT,
|
47
|
+
export function flatten<F extends HKT, FC = HKT.None>(
|
48
|
+
F: FlatMap<F, FC>,
|
49
|
+
): <K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2>(
|
82
50
|
mma: HKT.Kind<
|
83
51
|
F,
|
52
|
+
FC,
|
84
53
|
K2,
|
85
54
|
Q2,
|
86
55
|
W2,
|
@@ -91,64 +60,68 @@ export function flatten<F extends HKT, K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2
|
|
91
60
|
E2,
|
92
61
|
HKT.Kind<
|
93
62
|
F,
|
94
|
-
|
95
|
-
HKT.Intro<"
|
96
|
-
HKT.Intro<"
|
97
|
-
HKT.Intro<"
|
98
|
-
HKT.Intro<"
|
99
|
-
HKT.Intro<"
|
100
|
-
HKT.Intro<"
|
101
|
-
HKT.Intro<"
|
63
|
+
FC,
|
64
|
+
HKT.Intro<F, "K", K2, K1>,
|
65
|
+
HKT.Intro<F, "Q", Q2, Q1>,
|
66
|
+
HKT.Intro<F, "W", W2, W1>,
|
67
|
+
HKT.Intro<F, "X", X2, X1>,
|
68
|
+
HKT.Intro<F, "I", I2, I1>,
|
69
|
+
HKT.Intro<F, "S", S2, S1>,
|
70
|
+
HKT.Intro<F, "R", R2, R1>,
|
71
|
+
HKT.Intro<F, "E", E2, E1>,
|
102
72
|
A
|
103
73
|
>
|
104
74
|
>,
|
105
|
-
|
106
|
-
): HKT.Kind<
|
75
|
+
) => HKT.Kind<
|
107
76
|
F,
|
108
|
-
|
109
|
-
HKT.Mix<"
|
110
|
-
HKT.Mix<"
|
111
|
-
HKT.Mix<"
|
112
|
-
HKT.Mix<"
|
113
|
-
HKT.Mix<"
|
114
|
-
HKT.Mix<"
|
115
|
-
HKT.Mix<"
|
77
|
+
FC,
|
78
|
+
HKT.Mix<F, "K", [K2, K1]>,
|
79
|
+
HKT.Mix<F, "Q", [Q2, Q1]>,
|
80
|
+
HKT.Mix<F, "W", [W2, W1]>,
|
81
|
+
HKT.Mix<F, "X", [X2, X1]>,
|
82
|
+
HKT.Mix<F, "I", [I2, I1]>,
|
83
|
+
HKT.Mix<F, "S", [S2, S1]>,
|
84
|
+
HKT.Mix<F, "R", [R2, R1]>,
|
85
|
+
HKT.Mix<F, "E", [E2, E1]>,
|
116
86
|
A
|
117
87
|
> {
|
118
|
-
return mma.flatMap(identity);
|
88
|
+
return (mma) => F.flatMap(mma, identity);
|
119
89
|
}
|
120
90
|
|
121
91
|
/**
|
122
92
|
* @tsplus fluent fncts.Kind tap
|
123
93
|
*/
|
124
|
-
export function tap<F extends HKT,
|
125
|
-
|
94
|
+
export function tap<F extends HKT, FC = HKT.None>(
|
95
|
+
F: FlatMap<F, FC>,
|
96
|
+
): <K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(
|
97
|
+
ma: HKT.Kind<F, FC, K1, Q1, W1, X1, I1, S1, R1, E1, A>,
|
126
98
|
f: (
|
127
99
|
a: A,
|
128
100
|
) => HKT.Kind<
|
129
101
|
F,
|
130
|
-
|
131
|
-
HKT.Intro<"
|
132
|
-
HKT.Intro<"
|
133
|
-
HKT.Intro<"
|
134
|
-
HKT.Intro<"
|
135
|
-
HKT.Intro<"
|
136
|
-
HKT.Intro<"
|
137
|
-
HKT.Intro<"
|
102
|
+
FC,
|
103
|
+
HKT.Intro<F, "K", K1, K2>,
|
104
|
+
HKT.Intro<F, "Q", Q1, Q2>,
|
105
|
+
HKT.Intro<F, "W", W1, W2>,
|
106
|
+
HKT.Intro<F, "X", X1, X2>,
|
107
|
+
HKT.Intro<F, "I", I1, I2>,
|
108
|
+
HKT.Intro<F, "S", S1, S2>,
|
109
|
+
HKT.Intro<F, "R", R1, R2>,
|
110
|
+
HKT.Intro<F, "E", E1, E2>,
|
138
111
|
B
|
139
112
|
>,
|
140
|
-
|
141
|
-
): HKT.Kind<
|
113
|
+
) => HKT.Kind<
|
142
114
|
F,
|
143
|
-
|
144
|
-
HKT.Mix<"
|
145
|
-
HKT.Mix<"
|
146
|
-
HKT.Mix<"
|
147
|
-
HKT.Mix<"
|
148
|
-
HKT.Mix<"
|
149
|
-
HKT.Mix<"
|
150
|
-
HKT.Mix<"
|
115
|
+
FC,
|
116
|
+
HKT.Mix<F, "K", [K1, K2]>,
|
117
|
+
HKT.Mix<F, "Q", [Q1, Q2]>,
|
118
|
+
HKT.Mix<F, "W", [W1, W2]>,
|
119
|
+
HKT.Mix<F, "X", [X1, X2]>,
|
120
|
+
HKT.Mix<F, "I", [I1, I2]>,
|
121
|
+
HKT.Mix<F, "S", [S1, S2]>,
|
122
|
+
HKT.Mix<F, "R", [R1, R2]>,
|
123
|
+
HKT.Mix<F, "E", [E1, E2]>,
|
151
124
|
A
|
152
125
|
> {
|
153
|
-
return ma.flatMap((a) => f(a)
|
126
|
+
return (ma, f) => F.flatMap(ma, (a) => Functor.as(F)(f(a), a));
|
154
127
|
}
|
package/_src/typeclass/Fail.ts
CHANGED
@@ -1,41 +1,23 @@
|
|
1
1
|
/**
|
2
2
|
* @tsplus type fncts.Fail
|
3
3
|
*/
|
4
|
-
export interface Fail<F extends HKT> extends HKT.Typeclass<F> {
|
5
|
-
fail<
|
4
|
+
export interface Fail<F extends HKT, FC = HKT.None> extends HKT.Typeclass<F, FC> {
|
5
|
+
fail: <
|
6
6
|
E,
|
7
|
-
K = HKT.Low<"K">,
|
8
|
-
Q = HKT.Low<"Q">,
|
9
|
-
W = HKT.Low<"W">,
|
10
|
-
X = HKT.Low<"X">,
|
11
|
-
I = HKT.Low<"I">,
|
12
|
-
S = HKT.Low<"S">,
|
13
|
-
R = HKT.Low<"R">,
|
7
|
+
K = HKT.Low<F, "K">,
|
8
|
+
Q = HKT.Low<F, "Q">,
|
9
|
+
W = HKT.Low<F, "W">,
|
10
|
+
X = HKT.Low<F, "X">,
|
11
|
+
I = HKT.Low<F, "I">,
|
12
|
+
S = HKT.Low<F, "S">,
|
13
|
+
R = HKT.Low<F, "R">,
|
14
14
|
A = never,
|
15
15
|
>(
|
16
16
|
e: E,
|
17
|
-
)
|
17
|
+
) => HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>;
|
18
18
|
}
|
19
19
|
|
20
20
|
/**
|
21
21
|
* @tsplus type fncts.FailOps
|
22
22
|
*/
|
23
23
|
export interface FailOps {}
|
24
|
-
|
25
|
-
/**
|
26
|
-
* @tsplus static fncts.FailOps fail
|
27
|
-
*/
|
28
|
-
export function fail<
|
29
|
-
F extends HKT,
|
30
|
-
E,
|
31
|
-
K = HKT.Low<"K">,
|
32
|
-
Q = HKT.Low<"Q">,
|
33
|
-
W = HKT.Low<"W">,
|
34
|
-
X = HKT.Low<"X">,
|
35
|
-
I = HKT.Low<"I">,
|
36
|
-
S = HKT.Low<"S">,
|
37
|
-
R = HKT.Low<"R">,
|
38
|
-
A = never,
|
39
|
-
>(e: E, /** @tsplus auto */ F: Fail<F>): HKT.Kind<F, K, Q, W, X, I, S, R, E, A> {
|
40
|
-
return F.fail(e);
|
41
|
-
}
|
@@ -3,31 +3,31 @@ import type { Functor } from "@fncts/base/typeclass/Functor";
|
|
3
3
|
/**
|
4
4
|
* @tsplus type fncts.Filterable
|
5
5
|
*/
|
6
|
-
export interface Filterable<F extends HKT> extends Functor<F> {
|
6
|
+
export interface Filterable<F extends HKT, FC = HKT.None> extends Functor<F, FC> {
|
7
7
|
filter<K, Q, W, X, I, S, R, E, A, B extends A>(
|
8
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
8
|
+
fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
|
9
9
|
refinement: Refinement<A, B>,
|
10
|
-
): HKT.Kind<F, K, Q, W, X, I, S, R, E, B>;
|
10
|
+
): HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>;
|
11
11
|
filter<K, Q, W, X, I, S, R, E, A>(
|
12
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
12
|
+
fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
|
13
13
|
predicate: Predicate<A>,
|
14
|
-
): HKT.Kind<F, K, Q, W, X, I, S, R, E, A>;
|
14
|
+
): HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>;
|
15
15
|
filterMap<K, Q, W, X, I, S, R, E, A, B>(
|
16
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
16
|
+
fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
|
17
17
|
f: (a: A) => Maybe<B>,
|
18
|
-
): HKT.Kind<F, K, Q, W, X, I, S, R, E, B>;
|
18
|
+
): HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>;
|
19
19
|
partition<K, Q, W, X, I, S, R, E, A, B extends A>(
|
20
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
20
|
+
fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
|
21
21
|
refinement: Refinement<A, B>,
|
22
|
-
): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, K, Q, W, X, I, S, R, E, B>];
|
22
|
+
): readonly [HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>];
|
23
23
|
partition<K, Q, W, X, I, S, R, E, A>(
|
24
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
24
|
+
fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
|
25
25
|
predicate: Predicate<A>,
|
26
|
-
): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, K, Q, W, X, I, S, R, E, A>];
|
26
|
+
): readonly [HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>];
|
27
27
|
partitionMap<K, Q, W, X, I, S, R, E, A, B, B1>(
|
28
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
28
|
+
fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
|
29
29
|
f: (a: A) => Either<B, B1>,
|
30
|
-
): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, B>, HKT.Kind<F, K, Q, W, X, I, S, R, E, B1>];
|
30
|
+
): readonly [HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>, HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B1>];
|
31
31
|
}
|
32
32
|
|
33
33
|
/**
|
@@ -36,57 +36,3 @@ export interface Filterable<F extends HKT> extends Functor<F> {
|
|
36
36
|
export interface FilterableOps {}
|
37
37
|
|
38
38
|
export const Filterable: FilterableOps = {};
|
39
|
-
|
40
|
-
/**
|
41
|
-
* @tsplus fluent fncts.Kind filter
|
42
|
-
*/
|
43
|
-
export function filter<F extends HKT, K, Q, W, X, I, S, R, E, A, B extends A>(
|
44
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
45
|
-
refinement: Refinement<A, B>,
|
46
|
-
/** @tsplus auto */ F: Filterable<F>,
|
47
|
-
): HKT.Kind<F, K, Q, W, X, I, S, R, E, B>;
|
48
|
-
export function filter<F extends HKT, K, Q, W, X, I, S, R, E, A>(
|
49
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
50
|
-
predicate: Predicate<A>,
|
51
|
-
/** @tsplus auto */ F: Filterable<F>,
|
52
|
-
): HKT.Kind<F, K, Q, W, X, I, S, R, E, A> {
|
53
|
-
return F.filter(fa, predicate);
|
54
|
-
}
|
55
|
-
|
56
|
-
/**
|
57
|
-
* @tsplus fluent fncts.Kind filterMap
|
58
|
-
*/
|
59
|
-
export function filterMap<F extends HKT, K, Q, W, X, I, S, R, E, A, B>(
|
60
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
61
|
-
f: (a: A) => Maybe<B>,
|
62
|
-
/** @tsplus auto */ F: Filterable<F>,
|
63
|
-
): HKT.Kind<F, K, Q, W, X, I, S, R, E, B> {
|
64
|
-
return F.filterMap(fa, f);
|
65
|
-
}
|
66
|
-
|
67
|
-
/**
|
68
|
-
* @tsplus fluent fncts.Kind partition
|
69
|
-
*/
|
70
|
-
export function partition<F extends HKT, K, Q, W, X, I, S, R, E, A, B extends A>(
|
71
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
72
|
-
refinement: Refinement<A, B>,
|
73
|
-
/** @tsplus auto */ F: Filterable<F>,
|
74
|
-
): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, K, Q, W, X, I, S, R, E, B>];
|
75
|
-
export function partition<F extends HKT, K, Q, W, X, I, S, R, E, A>(
|
76
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
77
|
-
predicate: Predicate<A>,
|
78
|
-
/** @tsplus auto */ F: Filterable<F>,
|
79
|
-
): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, K, Q, W, X, I, S, R, E, A>] {
|
80
|
-
return F.partition(fa, predicate);
|
81
|
-
}
|
82
|
-
|
83
|
-
/**
|
84
|
-
* @tsplus fluent fncts.Kind partitionMap
|
85
|
-
*/
|
86
|
-
export function partitionMap<F extends HKT, K, Q, W, X, I, S, R, E, A, B, B1>(
|
87
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
88
|
-
f: (a: A) => Either<B, B1>,
|
89
|
-
/** @tsplus auto */ F: Filterable<F>,
|
90
|
-
): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, B>, HKT.Kind<F, K, Q, W, X, I, S, R, E, B1>] {
|
91
|
-
return F.partitionMap(fa, f);
|
92
|
-
}
|
@@ -4,31 +4,31 @@ import type { FunctorWithIndex } from "@fncts/base/typeclass/FunctorWithIndex";
|
|
4
4
|
/**
|
5
5
|
* @tsplus type fncts.FilterableWithIndex
|
6
6
|
*/
|
7
|
-
export interface FilterableWithIndex<F extends HKT> extends FunctorWithIndex<F>, Filterable<F> {
|
7
|
+
export interface FilterableWithIndex<F extends HKT, FC = HKT.None> extends FunctorWithIndex<F, FC>, Filterable<F, FC> {
|
8
8
|
filterWithIndex<K, Q, W, X, I, S, R, E, A, B extends A>(
|
9
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
9
|
+
fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
|
10
10
|
refinement: RefinementWithIndex<HKT.IndexFor<F, K>, A, B>,
|
11
|
-
): HKT.Kind<F, K, Q, W, X, I, S, R, E, B>;
|
11
|
+
): HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>;
|
12
12
|
filterWithIndex<K, Q, W, X, I, S, R, E, A>(
|
13
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
13
|
+
fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
|
14
14
|
predicate: PredicateWithIndex<HKT.IndexFor<F, K>, A>,
|
15
|
-
): HKT.Kind<F, K, Q, W, X, I, S, R, E, A>;
|
15
|
+
): HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>;
|
16
16
|
filterMapWithIndex<K, Q, W, X, I, S, R, E, A, B>(
|
17
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
17
|
+
fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
|
18
18
|
f: (i: HKT.IndexFor<F, K>, a: A) => Maybe<B>,
|
19
|
-
): HKT.Kind<F, K, Q, W, X, I, S, R, E, B>;
|
19
|
+
): HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>;
|
20
20
|
partitionWithIndex<K, Q, W, X, I, S, R, E, A, B extends A>(
|
21
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
21
|
+
fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
|
22
22
|
refinement: RefinementWithIndex<HKT.IndexFor<F, K>, A, B>,
|
23
|
-
): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, K, Q, W, X, I, S, R, E, B>];
|
23
|
+
): readonly [HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>];
|
24
24
|
partitionWithIndex<K, Q, W, X, I, S, R, E, A>(
|
25
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
25
|
+
fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
|
26
26
|
predicate: PredicateWithIndex<HKT.IndexFor<F, K>, A>,
|
27
|
-
): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, K, Q, W, X, I, S, R, E, A>];
|
27
|
+
): readonly [HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>];
|
28
28
|
partitionMapWithIndex<K, Q, W, X, I, S, R, E, A, B, B1>(
|
29
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
29
|
+
fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
|
30
30
|
f: (i: HKT.IndexFor<F, K>, a: A) => Either<B, B1>,
|
31
|
-
): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, B>, HKT.Kind<F, K, Q, W, X, I, S, R, E, B1>];
|
31
|
+
): readonly [HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>, HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B1>];
|
32
32
|
}
|
33
33
|
|
34
34
|
/**
|
@@ -3,13 +3,17 @@ import type { Monoid } from "@fncts/base/typeclass/Monoid";
|
|
3
3
|
/**
|
4
4
|
* @tsplus type fncts.Foldable
|
5
5
|
*/
|
6
|
-
export interface Foldable<F extends HKT> extends HKT.Typeclass<F> {
|
7
|
-
foldLeft<K, Q, W, X, I, S, R, E, A, B>(
|
8
|
-
|
9
|
-
|
6
|
+
export interface Foldable<F extends HKT, FC = HKT.None> extends HKT.Typeclass<F, FC> {
|
7
|
+
foldLeft: <K, Q, W, X, I, S, R, E, A, B>(
|
8
|
+
fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
|
9
|
+
b: B,
|
10
|
+
f: (b: B, a: A) => B,
|
11
|
+
) => B;
|
12
|
+
foldRight: <K, Q, W, X, I, S, R, E, A, B>(
|
13
|
+
fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
|
10
14
|
b: Eval<B>,
|
11
15
|
f: (a: A, b: Eval<B>) => Eval<B>,
|
12
|
-
)
|
16
|
+
) => Eval<B>;
|
13
17
|
}
|
14
18
|
|
15
19
|
/**
|
@@ -20,37 +24,14 @@ export interface FoldableOps {}
|
|
20
24
|
export const Foldable: FoldableOps = {};
|
21
25
|
|
22
26
|
/**
|
23
|
-
* @tsplus
|
27
|
+
* @tsplus static fncts.FoldableOps foldMap
|
24
28
|
*/
|
25
|
-
export function
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
/** @tsplus auto */ F: Foldable<F>,
|
30
|
-
): B {
|
31
|
-
return F.foldLeft(fa, b, f);
|
32
|
-
}
|
33
|
-
|
34
|
-
/**
|
35
|
-
* @tsplus fluent fncts.Kind foldRight
|
36
|
-
*/
|
37
|
-
export function foldRight<F extends HKT, K, Q, W, X, I, S, R, E, A, B>(
|
38
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
39
|
-
b: Eval<B>,
|
40
|
-
f: (a: A, b: Eval<B>) => Eval<B>,
|
41
|
-
/** @tsplus auto */ F: Foldable<F>,
|
42
|
-
): Eval<B> {
|
43
|
-
return F.foldRight(fa, b, f);
|
44
|
-
}
|
45
|
-
|
46
|
-
/**
|
47
|
-
* @tsplus fluent fncts.Kind foldMap
|
48
|
-
*/
|
49
|
-
export function foldMap<F extends HKT, K, Q, W, X, I, S, R, E, A, M>(
|
50
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
29
|
+
export function foldMap<F extends HKT, FC = HKT.None>(
|
30
|
+
F: Foldable<F, FC>,
|
31
|
+
): <K, Q, W, X, I, S, R, E, A, M>(
|
32
|
+
fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
|
51
33
|
f: (a: A) => M,
|
52
|
-
/** @tsplus auto */ F: Foldable<F>,
|
53
34
|
/** @tsplus auto */ M: Monoid<M>,
|
54
|
-
)
|
55
|
-
return fa.foldLeft(M.nat, (b, a) => M.combine(b, f(a)));
|
35
|
+
) => M {
|
36
|
+
return (fa, f, M) => F.foldLeft(fa, M.nat, (b, a) => M.combine(b, f(a)));
|
56
37
|
}
|
@@ -4,17 +4,17 @@ import type { Monoid } from "@fncts/base/typeclass/Monoid";
|
|
4
4
|
/**
|
5
5
|
* @tsplus type fncts.FoldableWithIndex
|
6
6
|
*/
|
7
|
-
export interface FoldableWithIndex<F extends HKT> extends Foldable<F> {
|
8
|
-
foldLeftWithIndex<K, Q, W, X, I, S, R, E, A, B>(
|
9
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
7
|
+
export interface FoldableWithIndex<F extends HKT, FC = HKT.None> extends Foldable<F, FC> {
|
8
|
+
foldLeftWithIndex: <K, Q, W, X, I, S, R, E, A, B>(
|
9
|
+
fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
|
10
10
|
b: B,
|
11
11
|
f: (i: HKT.IndexFor<F, K>, b: B, a: A) => B,
|
12
|
-
)
|
13
|
-
foldRightWithIndex<K, Q, W, X, I, S, R, E, A, B>(
|
14
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
12
|
+
) => B;
|
13
|
+
foldRightWithIndex: <K, Q, W, X, I, S, R, E, A, B>(
|
14
|
+
fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
|
15
15
|
b: Eval<B>,
|
16
16
|
f: (i: HKT.IndexFor<F, K>, a: A, b: Eval<B>) => Eval<B>,
|
17
|
-
)
|
17
|
+
) => Eval<B>;
|
18
18
|
}
|
19
19
|
|
20
20
|
/**
|
@@ -25,37 +25,14 @@ export interface FoldableWithIndexOps {}
|
|
25
25
|
export const FoldableWithIndex: FoldableWithIndexOps = {};
|
26
26
|
|
27
27
|
/**
|
28
|
-
* @tsplus
|
28
|
+
* @tsplus static fncts.FoldableWithIndexOps foldMapWithIndex
|
29
29
|
*/
|
30
|
-
export function
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
/** @tsplus auto */ F: FoldableWithIndex<F>,
|
35
|
-
): B {
|
36
|
-
return F.foldLeftWithIndex(fa, b, f);
|
37
|
-
}
|
38
|
-
|
39
|
-
/**
|
40
|
-
* @tsplus fluent fncts.Kind foldRightWithIndex
|
41
|
-
*/
|
42
|
-
export function foldRightWithIndex<F extends HKT, K, Q, W, X, I, S, R, E, A, B>(
|
43
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
44
|
-
b: Eval<B>,
|
45
|
-
f: (i: HKT.IndexFor<F, K>, a: A, b: Eval<B>) => Eval<B>,
|
46
|
-
/** @tsplus auto */ F: FoldableWithIndex<F>,
|
47
|
-
): Eval<B> {
|
48
|
-
return F.foldRightWithIndex(fa, b, f);
|
49
|
-
}
|
50
|
-
|
51
|
-
/**
|
52
|
-
* @tsplus fluent fncts.Kind foldMapWithIndex
|
53
|
-
*/
|
54
|
-
export function foldMapWithIndex<F extends HKT, K, Q, W, X, I, S, R, E, A, M>(
|
55
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
30
|
+
export function foldMapWithIndex<F extends HKT, FC = HKT.None>(
|
31
|
+
F: FoldableWithIndex<F, FC>,
|
32
|
+
): <K, Q, W, X, I, S, R, E, A, M>(
|
33
|
+
fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
|
56
34
|
f: (k: HKT.IndexFor<F, K>, a: A) => M,
|
57
35
|
/** @tsplus auto */ M: Monoid<M>,
|
58
|
-
|
59
|
-
)
|
60
|
-
return fa.foldLeftWithIndex(M.nat, (i, b, a) => M.combine(b, f(i, a)));
|
36
|
+
) => M {
|
37
|
+
return (fa, f, M) => F.foldLeftWithIndex(fa, M.nat, (i, b, a) => M.combine(b, f(i, a)));
|
61
38
|
}
|
@@ -1,11 +1,11 @@
|
|
1
1
|
/**
|
2
2
|
* @tsplus type fncts.Functor
|
3
3
|
*/
|
4
|
-
export interface Functor<F extends HKT> extends HKT.Typeclass<F> {
|
5
|
-
map<K, Q, W, X, I, S, R, E, A, B>(
|
6
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
4
|
+
export interface Functor<F extends HKT, FC = HKT.None> extends HKT.Typeclass<F, FC> {
|
5
|
+
readonly map: <K, Q, W, X, I, S, R, E, A, B>(
|
6
|
+
fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
|
7
7
|
f: (a: A) => B,
|
8
|
-
)
|
8
|
+
) => HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>;
|
9
9
|
}
|
10
10
|
|
11
11
|
/**
|
@@ -16,23 +16,13 @@ export interface FunctorOps {}
|
|
16
16
|
export const Functor: FunctorOps = {};
|
17
17
|
|
18
18
|
/**
|
19
|
-
* @tsplus
|
19
|
+
* @tsplus static fncts.FunctorOps as
|
20
20
|
*/
|
21
|
-
export function
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
): HKT.Kind<F, K, Q, W, X, I, S, R, E, B> {
|
26
|
-
return F.map(fa, f);
|
27
|
-
}
|
28
|
-
|
29
|
-
/**
|
30
|
-
* @tsplus fluent fncts.Kind as
|
31
|
-
*/
|
32
|
-
export function as<F extends HKT, K, Q, W, X, I, S, R, E, A, B>(
|
33
|
-
fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
|
21
|
+
export function as<F extends HKT, FC = HKT.None>(
|
22
|
+
F: Functor<F, FC>,
|
23
|
+
): <K, Q, W, X, I, S, R, E, A, B>(
|
24
|
+
fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>,
|
34
25
|
b: Lazy<B>,
|
35
|
-
|
36
|
-
|
37
|
-
return fa.map(() => b(), F);
|
26
|
+
) => HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B> {
|
27
|
+
return F.map;
|
38
28
|
}
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import type { Functor } from "@fncts/base/typeclass/Functor";
|
2
2
|
|
3
|
-
export interface FunctorWithIndex<F extends HKT> extends Functor<F> {
|
4
|
-
mapWithIndex<K, W, Q, X, I, S, R, E, A, B>(
|
5
|
-
fa: HKT.Kind<F, K, W, Q, X, I, S, R, E, A>,
|
3
|
+
export interface FunctorWithIndex<F extends HKT, FC = HKT.None> extends Functor<F, FC> {
|
4
|
+
readonly mapWithIndex: <K, W, Q, X, I, S, R, E, A, B>(
|
5
|
+
fa: HKT.Kind<F, FC, K, W, Q, X, I, S, R, E, A>,
|
6
6
|
f: (i: HKT.IndexFor<F, K>, a: A) => B,
|
7
|
-
)
|
7
|
+
) => HKT.Kind<F, FC, K, W, Q, X, I, S, R, E, B>;
|
8
8
|
}
|
9
9
|
|
10
10
|
/**
|
@@ -9,9 +9,7 @@ export type GuardTypeId = typeof GuardTypeId;
|
|
9
9
|
*/
|
10
10
|
export class Guard<A> {
|
11
11
|
readonly _typeId: GuardTypeId = GuardTypeId;
|
12
|
-
|
13
|
-
readonly [HKT.A]!: () => A;
|
14
|
-
readonly [HKT.T]!: Guard<HKT._A<this>>;
|
12
|
+
declare _A: () => A;
|
15
13
|
constructor(readonly is: Refinement<unknown, A>) {}
|
16
14
|
}
|
17
15
|
|
package/_src/typeclass/Monad.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import type { Applicative } from "@fncts/base/typeclass/Applicative";
|
2
2
|
import type { FlatMap } from "@fncts/base/typeclass/Chain";
|
3
3
|
|
4
|
-
export interface Monad<F extends HKT> extends Applicative<F>, FlatMap<F> {}
|
4
|
+
export interface Monad<F extends HKT, FC = HKT.None> extends Applicative<F, FC>, FlatMap<F, FC> {}
|
5
5
|
|
6
6
|
/**
|
7
7
|
* @tsplus type fncts.MonadOps
|