@fncts/base 0.0.3 → 0.0.4
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/_cjs/collection/Iterable/api/traverseConc.cjs +21 -15
- package/_cjs/collection/Iterable/api/traverseConc.cjs.map +1 -1
- package/_cjs/collection/Iterable/api.cjs +23 -37
- package/_cjs/collection/Iterable/api.cjs.map +1 -1
- package/_cjs/collection/compat/Array/api.cjs +1 -1
- package/_cjs/collection/compat/Array/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/api.cjs +41 -53
- package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/definition.cjs +49 -39
- package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Dictionary/definition.cjs +4 -2
- package/_cjs/collection/immutable/Dictionary/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/HashMap/api.cjs +35 -108
- package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
- package/_cjs/collection/immutable/HashMap/definition.cjs +19 -15
- package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/HashSet/api.cjs +10 -10
- package/_cjs/collection/immutable/HashSet/api.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/api.cjs +153 -248
- package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/definition.cjs +12 -10
- package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/instances.cjs +153 -157
- package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs +118 -181
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs +3 -0
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs +45 -81
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +1 -1
- package/_cjs/collection/immutable/List/api.cjs +4 -7
- package/_cjs/collection/immutable/List/api.cjs.map +1 -1
- package/_cjs/collection/immutable/RoseTree/api.cjs +485 -0
- package/_cjs/collection/immutable/RoseTree/api.cjs.map +1 -0
- package/_cjs/collection/immutable/RoseTree/definition.cjs +58 -0
- package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -0
- package/_cjs/collection/immutable/RoseTree.cjs +32 -0
- package/_cjs/collection/immutable/RoseTree.cjs.map +1 -0
- package/_cjs/collection/immutable/SortedMap/api.cjs +65 -65
- package/_cjs/collection/immutable/SortedMap/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector/api.cjs +70 -15
- package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector/definition.cjs +13 -11
- package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
- package/_cjs/collection/mutable/HashMap.cjs +5 -5
- package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
- package/_cjs/collection/mutable/HashSet.cjs +4 -4
- package/_cjs/collection/mutable/HashSet.cjs.map +1 -1
- package/_cjs/control/Eval/api.cjs +6 -0
- package/_cjs/control/Eval/api.cjs.map +1 -1
- package/_cjs/control/Eval/definition.cjs +7 -0
- package/_cjs/control/Eval/definition.cjs.map +1 -1
- package/_cjs/control/Eval/instance.cjs +14 -25
- package/_cjs/control/Eval/instance.cjs.map +1 -1
- package/_cjs/control/Z/definition.cjs +9 -3
- package/_cjs/control/Z/definition.cjs.map +1 -1
- package/_cjs/control/Z/instances.cjs +6 -13
- package/_cjs/control/Z/instances.cjs.map +1 -1
- package/_cjs/data/Branded/definition.cjs +29 -0
- package/_cjs/data/Branded/definition.cjs.map +1 -0
- package/_cjs/data/Branded/derivations.cjs +58 -0
- package/_cjs/data/Branded/derivations.cjs.map +1 -0
- package/_cjs/data/Branded.cjs +32 -0
- package/_cjs/data/Branded.cjs.map +1 -0
- package/_cjs/data/Cause/api/fold.cjs +2 -0
- package/_cjs/data/Cause/api/fold.cjs.map +1 -1
- package/_cjs/data/Cause/api.cjs +23 -0
- package/_cjs/data/Cause/api.cjs.map +1 -1
- package/_cjs/data/Const/api.cjs +3 -7
- package/_cjs/data/Const/api.cjs.map +1 -1
- package/_cjs/data/Const/definition.cjs +19 -1
- package/_cjs/data/Const/definition.cjs.map +1 -1
- package/_cjs/data/Const/instances.cjs +9 -20
- package/_cjs/data/Const/instances.cjs.map +1 -1
- package/_cjs/data/DecodeError/definition.cjs +308 -0
- package/_cjs/data/DecodeError/definition.cjs.map +1 -0
- package/_cjs/data/DecodeError.cjs +19 -0
- package/_cjs/data/DecodeError.cjs.map +1 -0
- package/_cjs/data/Decoder/api.cjs +217 -0
- package/_cjs/data/Decoder/api.cjs.map +1 -0
- package/_cjs/data/Decoder/definition.cjs +41 -0
- package/_cjs/data/Decoder/definition.cjs.map +1 -0
- package/_cjs/data/Decoder.cjs +32 -0
- package/_cjs/data/Decoder.cjs.map +1 -0
- package/_cjs/data/Duration/api.cjs +22 -9
- package/_cjs/data/Duration/api.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 +105 -42
- package/_cjs/data/Either/api.cjs.map +1 -1
- package/_cjs/data/Either/definition.cjs +39 -10
- package/_cjs/data/Either/definition.cjs.map +1 -1
- package/_cjs/data/Either/destructors.cjs +2 -0
- package/_cjs/data/Either/destructors.cjs.map +1 -1
- package/_cjs/data/Either/instances.cjs +123 -40
- package/_cjs/data/Either/instances.cjs.map +1 -1
- package/_cjs/data/Environment/api.cjs +29 -8
- package/_cjs/data/Environment/api.cjs.map +1 -1
- package/_cjs/data/Identity/api.cjs +35 -6
- package/_cjs/data/Identity/api.cjs.map +1 -1
- package/_cjs/data/Identity/definition.cjs +10 -1
- package/_cjs/data/Identity/definition.cjs.map +1 -1
- package/_cjs/data/Identity/instances.cjs +11 -25
- package/_cjs/data/Identity/instances.cjs.map +1 -1
- package/_cjs/data/Interval.cjs +154 -0
- package/_cjs/data/Interval.cjs.map +1 -0
- package/_cjs/data/Maybe/api.cjs +30 -43
- package/_cjs/data/Maybe/api.cjs.map +1 -1
- package/_cjs/data/Maybe/definition.cjs +45 -18
- package/_cjs/data/Maybe/definition.cjs.map +1 -1
- package/_cjs/data/Maybe/destructors.cjs +1 -0
- package/_cjs/data/Maybe/destructors.cjs.map +1 -1
- package/_cjs/data/Maybe/instances.cjs +62 -42
- package/_cjs/data/Maybe/instances.cjs.map +1 -1
- package/_cjs/data/Newtype.cjs +5 -3
- package/_cjs/data/Newtype.cjs.map +1 -1
- package/_cjs/data/Patch/api.cjs +1 -1
- package/_cjs/data/Patch/api.cjs.map +1 -1
- package/_cjs/data/Refinement/api.cjs +0 -4
- package/_cjs/data/Refinement/api.cjs.map +1 -1
- package/_cjs/data/Struct/definition.cjs +4 -2
- package/_cjs/data/Struct/definition.cjs.map +1 -1
- package/_cjs/data/These/api.cjs +299 -0
- package/_cjs/data/These/api.cjs.map +1 -0
- package/_cjs/data/These/constructors.cjs +24 -4
- package/_cjs/data/These/constructors.cjs.map +1 -1
- package/_cjs/data/These/definition.cjs +16 -0
- package/_cjs/data/These/definition.cjs.map +1 -1
- package/_cjs/data/These/destructors.cjs +70 -0
- package/_cjs/data/These/destructors.cjs.map +1 -1
- package/_cjs/data/These/instances.cjs +54 -0
- package/_cjs/data/These/instances.cjs.map +1 -0
- package/_cjs/data/These.cjs +13 -0
- package/_cjs/data/These.cjs.map +1 -1
- package/_cjs/data/bigint/definition.cjs +6 -0
- package/_cjs/data/bigint/definition.cjs.map +1 -0
- package/_cjs/data/bigint/instances.cjs +24 -0
- package/_cjs/data/bigint/instances.cjs.map +1 -0
- package/_cjs/data/bigint.cjs +32 -0
- package/_cjs/data/bigint.cjs.map +1 -0
- package/_cjs/data/boolean/definition.cjs +6 -0
- package/_cjs/data/boolean/definition.cjs.map +1 -0
- package/_cjs/data/boolean/instances.cjs +24 -0
- package/_cjs/data/boolean/instances.cjs.map +1 -0
- package/_cjs/data/boolean.cjs +32 -0
- package/_cjs/data/boolean.cjs.map +1 -0
- package/_cjs/data/number/instances.cjs +18 -5
- package/_cjs/data/number/instances.cjs.map +1 -1
- package/_cjs/data/object/instances.cjs +24 -0
- package/_cjs/data/object/instances.cjs.map +1 -0
- package/_cjs/data/string/instances.cjs +24 -9
- package/_cjs/data/string/instances.cjs.map +1 -1
- package/_cjs/internal/Stack.cjs +4 -0
- package/_cjs/internal/Stack.cjs.map +1 -1
- package/_cjs/json/EitherJson.cjs +33 -0
- package/_cjs/json/EitherJson.cjs.map +1 -0
- package/_cjs/json/MaybeJson.cjs +31 -0
- package/_cjs/json/MaybeJson.cjs.map +1 -0
- package/_cjs/json/TheseJson.cjs +37 -0
- package/_cjs/json/TheseJson.cjs.map +1 -0
- package/_cjs/optics/Optional/definition.cjs +6 -4
- package/_cjs/optics/Optional/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 +4 -4
- package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
- package/_cjs/optics/Traversal/definition.cjs +17 -12
- package/_cjs/optics/Traversal/definition.cjs.map +1 -1
- package/_cjs/typeclass/Align.cjs +0 -20
- package/_cjs/typeclass/Align.cjs.map +1 -1
- package/_cjs/typeclass/Alt.cjs +5 -15
- package/_cjs/typeclass/Alt.cjs.map +1 -1
- package/_cjs/typeclass/Alternative.cjs +0 -23
- package/_cjs/typeclass/Alternative.cjs.map +1 -1
- package/_cjs/typeclass/Applicative.cjs +0 -22
- package/_cjs/typeclass/Applicative.cjs.map +1 -1
- package/_cjs/typeclass/ApplicativeExcept.cjs +40 -34
- package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
- package/_cjs/typeclass/Apply.cjs +93 -49
- package/_cjs/typeclass/Apply.cjs.map +1 -1
- package/_cjs/typeclass/Chain.cjs +40 -17
- package/_cjs/typeclass/Chain.cjs.map +1 -1
- package/_cjs/typeclass/Closure.cjs +1 -4
- package/_cjs/typeclass/Closure.cjs.map +1 -1
- package/_cjs/typeclass/Eq/definition.cjs +18 -0
- package/_cjs/typeclass/Eq/definition.cjs.map +1 -0
- package/_cjs/typeclass/Eq/derivations.cjs +59 -0
- package/_cjs/typeclass/Eq/derivations.cjs.map +1 -0
- package/_cjs/typeclass/Eq.cjs +11 -13
- package/_cjs/typeclass/Eq.cjs.map +1 -1
- package/_cjs/typeclass/Fail.cjs +6 -12
- package/_cjs/typeclass/Fail.cjs.map +1 -1
- package/_cjs/typeclass/Filterable.cjs +31 -18
- package/_cjs/typeclass/Filterable.cjs.map +1 -1
- package/_cjs/typeclass/FilterableWithIndex.cjs +0 -26
- package/_cjs/typeclass/FilterableWithIndex.cjs.map +1 -1
- package/_cjs/typeclass/Foldable.cjs +33 -19
- package/_cjs/typeclass/Foldable.cjs.map +1 -1
- package/_cjs/typeclass/FoldableWithIndex.cjs +33 -21
- package/_cjs/typeclass/FoldableWithIndex.cjs.map +1 -1
- package/_cjs/typeclass/Functor.cjs +19 -16
- package/_cjs/typeclass/Functor.cjs.map +1 -1
- package/_cjs/typeclass/FunctorWithIndex.cjs +0 -21
- package/_cjs/typeclass/FunctorWithIndex.cjs.map +1 -1
- package/_cjs/typeclass/Guard/api.cjs +40 -0
- package/_cjs/typeclass/Guard/api.cjs.map +1 -0
- package/_cjs/typeclass/Guard/definition.cjs +40 -0
- package/_cjs/typeclass/Guard/definition.cjs.map +1 -0
- package/_cjs/typeclass/Guard/derivations.cjs +85 -0
- package/_cjs/typeclass/Guard/derivations.cjs.map +1 -0
- package/_cjs/typeclass/Guard.cjs +32 -0
- package/_cjs/typeclass/Guard.cjs.map +1 -0
- package/_cjs/typeclass/HashEq.cjs +3 -3
- package/_cjs/typeclass/HashEq.cjs.map +1 -1
- package/_cjs/typeclass/Monad.cjs +0 -22
- package/_cjs/typeclass/Monad.cjs.map +1 -1
- package/_cjs/typeclass/MonadExcept.cjs +12 -19
- package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
- package/_cjs/typeclass/Monoid.cjs +56 -2
- package/_cjs/typeclass/Monoid.cjs.map +1 -1
- package/_cjs/typeclass/Nil.cjs +10 -0
- package/_cjs/typeclass/Nil.cjs.map +1 -1
- package/_cjs/typeclass/Ord/api/contramap.cjs +2 -4
- package/_cjs/typeclass/Ord/api/contramap.cjs.map +1 -1
- package/_cjs/typeclass/Ord/api/max.cjs +1 -1
- package/_cjs/typeclass/Ord/api/max.cjs.map +1 -1
- package/_cjs/typeclass/Ord/api/min.cjs +1 -1
- package/_cjs/typeclass/Ord/api/min.cjs.map +1 -1
- package/_cjs/typeclass/Ord/definition.cjs +2 -3
- package/_cjs/typeclass/Ord/definition.cjs.map +1 -1
- package/_cjs/typeclass/Ord/instances.cjs +7 -7
- package/_cjs/typeclass/Ord/instances.cjs.map +1 -1
- package/_cjs/typeclass/Pointed.cjs +6 -11
- package/_cjs/typeclass/Pointed.cjs.map +1 -1
- package/_cjs/typeclass/Semialign.cjs +77 -94
- package/_cjs/typeclass/Semialign.cjs.map +1 -1
- package/_cjs/typeclass/Semigroup/api.cjs +2 -2
- package/_cjs/typeclass/Semigroup/api.cjs.map +1 -1
- package/_cjs/typeclass/Semigroup/definition.cjs.map +1 -1
- package/_cjs/typeclass/Semigroup/derivations.cjs +63 -0
- package/_cjs/typeclass/Semigroup/derivations.cjs.map +1 -0
- package/_cjs/typeclass/Semimonoidal.cjs +9 -13
- package/_cjs/typeclass/Semimonoidal.cjs.map +1 -1
- package/_cjs/typeclass/Showable/show.cjs +11 -11
- package/_cjs/typeclass/Showable/show.cjs.map +1 -1
- package/_cjs/typeclass/Traversable.cjs +26 -34
- package/_cjs/typeclass/Traversable.cjs.map +1 -1
- package/_cjs/typeclass/TraversableWithIndex.cjs +7 -38
- package/_cjs/typeclass/TraversableWithIndex.cjs.map +1 -1
- package/_cjs/typeclass/Witherable.cjs +41 -42
- package/_cjs/typeclass/Witherable.cjs.map +1 -1
- package/_cjs/typeclass/WitherableWithIndex.cjs +41 -50
- package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
- package/_cjs/typeclass.cjs +13 -0
- package/_cjs/typeclass.cjs.map +1 -1
- package/_cjs/util/predicates.cjs +5 -0
- package/_cjs/util/predicates.cjs.map +1 -1
- package/_mjs/collection/Iterable/api/traverseConc.mjs +20 -15
- package/_mjs/collection/Iterable/api/traverseConc.mjs.map +1 -1
- package/_mjs/collection/Iterable/api.mjs +21 -31
- package/_mjs/collection/Iterable/api.mjs.map +1 -1
- package/_mjs/collection/compat/Array/api.mjs +1 -1
- package/_mjs/collection/compat/Array/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/api.mjs +35 -36
- package/_mjs/collection/immutable/Conc/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/definition.mjs +48 -39
- package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/Dictionary/definition.mjs +3 -2
- package/_mjs/collection/immutable/Dictionary/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/HashMap/api.mjs +26 -66
- package/_mjs/collection/immutable/HashMap/api.mjs.map +1 -1
- package/_mjs/collection/immutable/HashMap/definition.mjs +18 -15
- package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/HashSet/api.mjs +5 -5
- package/_mjs/collection/immutable/HashSet/api.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/api.mjs +135 -177
- package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/definition.mjs +11 -10
- package/_mjs/collection/immutable/ImmutableArray/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/instances.mjs +151 -138
- package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs +108 -142
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs +2 -0
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs +46 -67
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +1 -1
- package/_mjs/collection/immutable/List/api.mjs +4 -5
- package/_mjs/collection/immutable/List/api.mjs.map +1 -1
- package/_mjs/collection/immutable/RoseTree/api.mjs +447 -0
- package/_mjs/collection/immutable/RoseTree/api.mjs.map +1 -0
- package/_mjs/collection/immutable/RoseTree/definition.mjs +35 -0
- package/_mjs/collection/immutable/RoseTree/definition.mjs.map +1 -0
- package/_mjs/collection/immutable/RoseTree.mjs +4 -0
- package/_mjs/collection/immutable/RoseTree.mjs.map +1 -0
- package/_mjs/collection/immutable/SortedMap/api.mjs +65 -65
- package/_mjs/collection/immutable/SortedMap/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Vector/api.mjs +59 -15
- package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Vector/definition.mjs +12 -11
- package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
- package/_mjs/collection/mutable/HashMap.mjs +5 -5
- package/_mjs/collection/mutable/HashMap.mjs.map +1 -1
- package/_mjs/collection/mutable/HashSet.mjs +4 -4
- package/_mjs/collection/mutable/HashSet.mjs.map +1 -1
- package/_mjs/control/Eval/api.mjs +5 -2
- package/_mjs/control/Eval/api.mjs.map +1 -1
- package/_mjs/control/Eval/definition.mjs +1 -0
- package/_mjs/control/Eval/definition.mjs.map +1 -1
- package/_mjs/control/Eval/instance.mjs +15 -18
- package/_mjs/control/Eval/instance.mjs.map +1 -1
- package/_mjs/control/Z/definition.mjs +2 -0
- package/_mjs/control/Z/definition.mjs.map +1 -1
- package/_mjs/control/Z/instances.mjs +7 -8
- package/_mjs/control/Z/instances.mjs.map +1 -1
- package/_mjs/data/Branded/definition.mjs +18 -0
- package/_mjs/data/Branded/definition.mjs.map +1 -0
- package/_mjs/data/Branded/derivations.mjs +39 -0
- package/_mjs/data/Branded/derivations.mjs.map +1 -0
- package/_mjs/data/Branded.mjs +4 -0
- package/_mjs/data/Branded.mjs.map +1 -0
- package/_mjs/data/Cause/api/fold.mjs +2 -0
- package/_mjs/data/Cause/api/fold.mjs.map +1 -1
- package/_mjs/data/Cause/api.mjs +20 -0
- package/_mjs/data/Cause/api.mjs.map +1 -1
- package/_mjs/data/Const/api.mjs +3 -3
- package/_mjs/data/Const/api.mjs.map +1 -1
- package/_mjs/data/Const/definition.mjs +13 -1
- package/_mjs/data/Const/definition.mjs.map +1 -1
- package/_mjs/data/Const/instances.mjs +7 -15
- package/_mjs/data/Const/instances.mjs.map +1 -1
- package/_mjs/data/DecodeError/definition.mjs +226 -0
- package/_mjs/data/DecodeError/definition.mjs.map +1 -0
- package/_mjs/data/DecodeError.mjs +3 -0
- package/_mjs/data/DecodeError.mjs.map +1 -0
- package/_mjs/data/Decoder/api.mjs +179 -0
- package/_mjs/data/Decoder/api.mjs.map +1 -0
- package/_mjs/data/Decoder/definition.mjs +24 -0
- package/_mjs/data/Decoder/definition.mjs.map +1 -0
- package/_mjs/data/Decoder.mjs +4 -0
- package/_mjs/data/Decoder.mjs.map +1 -0
- package/_mjs/data/Duration/api.mjs +17 -8
- package/_mjs/data/Duration/api.mjs.map +1 -1
- package/_mjs/data/Either/api/alignWith.mjs +2 -0
- package/_mjs/data/Either/api/alignWith.mjs.map +1 -1
- package/_mjs/data/Either/api.mjs +91 -21
- package/_mjs/data/Either/api.mjs.map +1 -1
- package/_mjs/data/Either/definition.mjs +25 -5
- package/_mjs/data/Either/definition.mjs.map +1 -1
- package/_mjs/data/Either/destructors.mjs +2 -0
- package/_mjs/data/Either/destructors.mjs.map +1 -1
- package/_mjs/data/Either/instances.mjs +109 -39
- package/_mjs/data/Either/instances.mjs.map +1 -1
- package/_mjs/data/Environment/api.mjs +23 -7
- package/_mjs/data/Environment/api.mjs.map +1 -1
- package/_mjs/data/Identity/api.mjs +24 -5
- package/_mjs/data/Identity/api.mjs.map +1 -1
- package/_mjs/data/Identity/definition.mjs +3 -1
- package/_mjs/data/Identity/definition.mjs.map +1 -1
- package/_mjs/data/Identity/instances.mjs +12 -18
- package/_mjs/data/Identity/instances.mjs.map +1 -1
- package/_mjs/data/Interval.mjs +114 -0
- package/_mjs/data/Interval.mjs.map +1 -0
- package/_mjs/data/Maybe/api.mjs +30 -35
- package/_mjs/data/Maybe/api.mjs.map +1 -1
- package/_mjs/data/Maybe/definition.mjs +37 -14
- package/_mjs/data/Maybe/definition.mjs.map +1 -1
- package/_mjs/data/Maybe/destructors.mjs +1 -0
- package/_mjs/data/Maybe/destructors.mjs.map +1 -1
- package/_mjs/data/Maybe/instances.mjs +56 -39
- package/_mjs/data/Maybe/instances.mjs.map +1 -1
- package/_mjs/data/Newtype.mjs +4 -3
- package/_mjs/data/Newtype.mjs.map +1 -1
- package/_mjs/data/Patch/api.mjs +1 -1
- package/_mjs/data/Patch/api.mjs.map +1 -1
- package/_mjs/data/Refinement/api.mjs +0 -4
- package/_mjs/data/Refinement/api.mjs.map +1 -1
- package/_mjs/data/Struct/definition.mjs +3 -2
- package/_mjs/data/Struct/definition.mjs.map +1 -1
- package/_mjs/data/These/api.mjs +262 -0
- package/_mjs/data/These/api.mjs.map +1 -0
- package/_mjs/data/These/constructors.mjs +14 -2
- package/_mjs/data/These/constructors.mjs.map +1 -1
- package/_mjs/data/These/definition.mjs +8 -0
- package/_mjs/data/These/definition.mjs.map +1 -1
- package/_mjs/data/These/destructors.mjs +53 -0
- package/_mjs/data/These/destructors.mjs.map +1 -1
- package/_mjs/data/These/instances.mjs +36 -0
- package/_mjs/data/These/instances.mjs.map +1 -0
- package/_mjs/data/These.mjs +1 -0
- package/_mjs/data/These.mjs.map +1 -1
- package/_mjs/data/bigint/definition.mjs +2 -0
- package/_mjs/data/bigint/definition.mjs.map +1 -0
- package/_mjs/data/bigint/instances.mjs +10 -0
- package/_mjs/data/bigint/instances.mjs.map +1 -0
- package/_mjs/data/bigint.mjs +4 -0
- package/_mjs/data/bigint.mjs.map +1 -0
- package/_mjs/data/boolean/definition.mjs +2 -0
- package/_mjs/data/boolean/definition.mjs.map +1 -0
- package/_mjs/data/boolean/instances.mjs +10 -0
- package/_mjs/data/boolean/instances.mjs.map +1 -0
- package/_mjs/data/boolean.mjs +4 -0
- package/_mjs/data/boolean.mjs.map +1 -0
- package/_mjs/data/number/instances.mjs +14 -4
- package/_mjs/data/number/instances.mjs.map +1 -1
- package/_mjs/data/object/instances.mjs +10 -0
- package/_mjs/data/object/instances.mjs.map +1 -0
- package/_mjs/data/string/instances.mjs +20 -8
- package/_mjs/data/string/instances.mjs.map +1 -1
- package/_mjs/internal/Stack.mjs +4 -0
- package/_mjs/internal/Stack.mjs.map +1 -1
- package/_mjs/json/EitherJson.mjs +18 -0
- package/_mjs/json/EitherJson.mjs.map +1 -0
- package/_mjs/json/MaybeJson.mjs +16 -0
- package/_mjs/json/MaybeJson.mjs.map +1 -0
- package/_mjs/json/TheseJson.mjs +22 -0
- package/_mjs/json/TheseJson.mjs.map +1 -0
- package/_mjs/optics/Optional/definition.mjs +5 -4
- package/_mjs/optics/Optional/definition.mjs.map +1 -1
- package/_mjs/optics/Traversal/api/compose.mjs +1 -1
- package/_mjs/optics/Traversal/api/compose.mjs.map +1 -1
- package/_mjs/optics/Traversal/api/fromTraversable.mjs +5 -4
- package/_mjs/optics/Traversal/api/fromTraversable.mjs.map +1 -1
- package/_mjs/optics/Traversal/definition.mjs +14 -12
- package/_mjs/optics/Traversal/definition.mjs.map +1 -1
- package/_mjs/typeclass/Align.mjs +0 -11
- package/_mjs/typeclass/Align.mjs.map +1 -1
- package/_mjs/typeclass/Alt.mjs +4 -7
- package/_mjs/typeclass/Alt.mjs.map +1 -1
- package/_mjs/typeclass/Alternative.mjs +0 -13
- package/_mjs/typeclass/Alternative.mjs.map +1 -1
- package/_mjs/typeclass/Applicative.mjs +0 -12
- package/_mjs/typeclass/Applicative.mjs.map +1 -1
- package/_mjs/typeclass/ApplicativeExcept.mjs +32 -24
- package/_mjs/typeclass/ApplicativeExcept.mjs.map +1 -1
- package/_mjs/typeclass/Apply.mjs +85 -42
- package/_mjs/typeclass/Apply.mjs.map +1 -1
- package/_mjs/typeclass/Chain.mjs +33 -12
- package/_mjs/typeclass/Chain.mjs.map +1 -1
- package/_mjs/typeclass/Closure.mjs +1 -4
- package/_mjs/typeclass/Closure.mjs.map +1 -1
- package/_mjs/typeclass/Eq/definition.mjs +9 -0
- package/_mjs/typeclass/Eq/definition.mjs.map +1 -0
- package/_mjs/typeclass/Eq/derivations.mjs +46 -0
- package/_mjs/typeclass/Eq/derivations.mjs.map +1 -0
- package/_mjs/typeclass/Eq.mjs +1 -11
- package/_mjs/typeclass/Eq.mjs.map +1 -1
- package/_mjs/typeclass/Fail.mjs +5 -7
- package/_mjs/typeclass/Fail.mjs.map +1 -1
- package/_mjs/typeclass/Filterable.mjs +27 -13
- package/_mjs/typeclass/Filterable.mjs.map +1 -1
- package/_mjs/typeclass/FilterableWithIndex.mjs +0 -16
- package/_mjs/typeclass/FilterableWithIndex.mjs.map +1 -1
- package/_mjs/typeclass/Foldable.mjs +29 -12
- package/_mjs/typeclass/Foldable.mjs.map +1 -1
- package/_mjs/typeclass/FoldableWithIndex.mjs +29 -13
- package/_mjs/typeclass/FoldableWithIndex.mjs.map +1 -1
- package/_mjs/typeclass/Functor.mjs +16 -9
- package/_mjs/typeclass/Functor.mjs.map +1 -1
- package/_mjs/typeclass/FunctorWithIndex.mjs +0 -12
- package/_mjs/typeclass/FunctorWithIndex.mjs.map +1 -1
- package/_mjs/typeclass/Guard/api.mjs +23 -0
- package/_mjs/typeclass/Guard/api.mjs.map +1 -0
- package/_mjs/typeclass/Guard/definition.mjs +23 -0
- package/_mjs/typeclass/Guard/definition.mjs.map +1 -0
- package/_mjs/typeclass/Guard/derivations.mjs +67 -0
- package/_mjs/typeclass/Guard/derivations.mjs.map +1 -0
- package/_mjs/typeclass/Guard.mjs +4 -0
- package/_mjs/typeclass/Guard.mjs.map +1 -0
- package/_mjs/typeclass/HashEq.mjs +3 -3
- package/_mjs/typeclass/HashEq.mjs.map +1 -1
- package/_mjs/typeclass/Monad.mjs +0 -12
- package/_mjs/typeclass/Monad.mjs.map +1 -1
- package/_mjs/typeclass/MonadExcept.mjs +9 -13
- package/_mjs/typeclass/MonadExcept.mjs.map +1 -1
- package/_mjs/typeclass/Monoid.mjs +50 -1
- package/_mjs/typeclass/Monoid.mjs.map +1 -1
- package/_mjs/typeclass/Nil.mjs +8 -1
- package/_mjs/typeclass/Nil.mjs.map +1 -1
- package/_mjs/typeclass/Ord/api/contramap.mjs +2 -4
- package/_mjs/typeclass/Ord/api/contramap.mjs.map +1 -1
- package/_mjs/typeclass/Ord/api/max.mjs +1 -1
- package/_mjs/typeclass/Ord/api/max.mjs.map +1 -1
- package/_mjs/typeclass/Ord/api/min.mjs +1 -1
- package/_mjs/typeclass/Ord/api/min.mjs.map +1 -1
- package/_mjs/typeclass/Ord/definition.mjs +2 -3
- package/_mjs/typeclass/Ord/definition.mjs.map +1 -1
- package/_mjs/typeclass/Ord/instances.mjs +7 -7
- package/_mjs/typeclass/Ord/instances.mjs.map +1 -1
- package/_mjs/typeclass/Pointed.mjs +5 -4
- package/_mjs/typeclass/Pointed.mjs.map +1 -1
- package/_mjs/typeclass/Semialign.mjs +67 -74
- package/_mjs/typeclass/Semialign.mjs.map +1 -1
- package/_mjs/typeclass/Semigroup/api.mjs +2 -2
- package/_mjs/typeclass/Semigroup/api.mjs.map +1 -1
- package/_mjs/typeclass/Semigroup/definition.mjs.map +1 -1
- package/_mjs/typeclass/Semigroup/derivations.mjs +50 -0
- package/_mjs/typeclass/Semigroup/derivations.mjs.map +1 -0
- package/_mjs/typeclass/Semigroup.mjs +1 -1
- package/_mjs/typeclass/Semimonoidal.mjs +8 -6
- package/_mjs/typeclass/Semimonoidal.mjs.map +1 -1
- package/_mjs/typeclass/Showable/show.mjs +11 -11
- package/_mjs/typeclass/Showable/show.mjs.map +1 -1
- package/_mjs/typeclass/Traversable.mjs +25 -24
- package/_mjs/typeclass/Traversable.mjs.map +1 -1
- package/_mjs/typeclass/TraversableWithIndex.mjs +6 -24
- package/_mjs/typeclass/TraversableWithIndex.mjs.map +1 -1
- package/_mjs/typeclass/Witherable.mjs +39 -32
- package/_mjs/typeclass/Witherable.mjs.map +1 -1
- package/_mjs/typeclass/WitherableWithIndex.mjs +39 -37
- package/_mjs/typeclass/WitherableWithIndex.mjs.map +1 -1
- package/_mjs/typeclass.mjs +1 -0
- package/_mjs/typeclass.mjs.map +1 -1
- package/_mjs/util/predicates.mjs +3 -0
- package/_mjs/util/predicates.mjs.map +1 -1
- package/_src/collection/Iterable/api/traverseConc.ts +21 -29
- package/_src/collection/Iterable/api.ts +20 -34
- package/_src/collection/compat/Array/api.ts +1 -1
- package/_src/collection/immutable/Conc/api.ts +26 -46
- package/_src/collection/immutable/Conc/definition.ts +19 -8
- package/_src/collection/immutable/Dictionary/definition.ts +1 -1
- package/_src/collection/immutable/HashMap/api.ts +24 -81
- package/_src/collection/immutable/HashMap/definition.ts +7 -9
- package/_src/collection/immutable/HashMap/internal.ts +1 -1
- package/_src/collection/immutable/HashSet/api.ts +4 -4
- package/_src/collection/immutable/ImmutableArray/api.ts +180 -219
- package/_src/collection/immutable/ImmutableArray/definition.ts +6 -8
- package/_src/collection/immutable/ImmutableArray/instances.ts +156 -134
- package/_src/collection/immutable/ImmutableNonEmptyArray/api.ts +87 -158
- package/_src/collection/immutable/ImmutableNonEmptyArray/definition.ts +4 -8
- package/_src/collection/immutable/ImmutableNonEmptyArray/instances.ts +39 -49
- package/_src/collection/immutable/List/api.ts +2 -6
- package/_src/collection/immutable/RoseTree/api.ts +278 -0
- package/_src/collection/immutable/RoseTree/definition.ts +29 -0
- package/_src/collection/immutable/RoseTree.ts +4 -0
- package/_src/collection/immutable/SortedMap/api.ts +56 -53
- package/_src/collection/immutable/Vector/api.ts +57 -17
- package/_src/collection/immutable/Vector/definition.ts +10 -0
- package/_src/collection/mutable/HashMap.ts +5 -5
- package/_src/collection/mutable/HashSet.ts +4 -4
- package/_src/control/Eval/api.ts +5 -1
- package/_src/control/Eval/definition.ts +5 -8
- package/_src/control/Eval/instance.ts +16 -15
- package/_src/control/Z/definition.ts +26 -19
- package/_src/control/Z/instances.ts +9 -8
- package/_src/data/Branded/definition.ts +47 -0
- package/_src/data/Branded/derivations.ts +57 -0
- package/_src/data/Branded.ts +4 -0
- package/_src/data/Cause/api/fold.ts +1 -0
- package/_src/data/Cause/api.ts +18 -0
- package/_src/data/Const/api.ts +3 -3
- package/_src/data/Const/definition.ts +22 -5
- package/_src/data/Const/instances.ts +12 -21
- package/_src/data/DecodeError/definition.ts +227 -0
- package/_src/data/DecodeError.ts +3 -0
- package/_src/data/Decoder/api.ts +198 -0
- package/_src/data/Decoder/definition.ts +25 -0
- package/_src/data/Decoder.ts +4 -0
- package/_src/data/Duration/api.ts +21 -14
- package/_src/data/Either/api/alignWith.ts +2 -0
- package/_src/data/Either/api.ts +85 -30
- package/_src/data/Either/definition.ts +41 -19
- package/_src/data/Either/destructors.ts +1 -0
- package/_src/data/Either/instances.ts +102 -51
- package/_src/data/Environment/api.ts +19 -4
- package/_src/data/Identity/api.ts +19 -4
- package/_src/data/Identity/definition.ts +7 -3
- package/_src/data/Identity/instances.ts +15 -8
- package/_src/data/Interval.ts +103 -0
- package/_src/data/Maybe/api.ts +21 -31
- package/_src/data/Maybe/definition.ts +31 -19
- package/_src/data/Maybe/destructors.ts +1 -0
- package/_src/data/Maybe/instances.ts +61 -34
- package/_src/data/Newtype.ts +11 -32
- package/_src/data/Patch/api.ts +1 -1
- package/_src/data/Refinement/api.ts +4 -2
- package/_src/data/Struct/definition.ts +1 -1
- package/_src/data/These/api.ts +184 -0
- package/_src/data/These/constructors.ts +10 -0
- package/_src/data/These/definition.ts +7 -0
- package/_src/data/These/destructors.ts +45 -0
- package/_src/data/These/instances.ts +43 -0
- package/_src/data/These.ts +1 -0
- package/_src/data/bigint/definition.ts +13 -0
- package/_src/data/bigint/instances.ts +8 -0
- package/_src/data/bigint.ts +4 -0
- package/_src/data/boolean/definition.ts +13 -0
- package/_src/data/boolean/instances.ts +8 -0
- package/_src/data/boolean.ts +4 -0
- package/_src/data/number/instances.ts +13 -3
- package/_src/data/object/instances.ts +7 -0
- package/_src/data/string/instances.ts +17 -5
- package/_src/internal/Stack.ts +4 -0
- package/_src/json/EitherJson.ts +28 -0
- package/_src/json/MaybeJson.ts +27 -0
- package/_src/json/TheseJson.ts +31 -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 +15 -41
- package/_src/optics/Traversal/definition.ts +21 -23
- package/_src/typeclass/Align.ts +4 -18
- package/_src/typeclass/Alt.ts +59 -90
- package/_src/typeclass/Alternative.ts +4 -20
- package/_src/typeclass/Applicative.ts +3 -23
- package/_src/typeclass/ApplicativeExcept.ts +94 -193
- package/_src/typeclass/Apply.ts +319 -509
- package/_src/typeclass/Chain.ts +127 -199
- package/_src/typeclass/Closure.ts +4 -20
- package/_src/typeclass/Eq/definition.ts +20 -0
- package/_src/typeclass/Eq/derivations.ts +61 -0
- package/_src/typeclass/Eq.ts +2 -36
- package/_src/typeclass/Fail.ts +28 -27
- package/_src/typeclass/Filterable.ts +70 -117
- package/_src/typeclass/FilterableWithIndex.ts +27 -131
- package/_src/typeclass/Foldable.ts +35 -52
- package/_src/typeclass/FoldableWithIndex.ts +40 -75
- package/_src/typeclass/Functor.ts +21 -59
- package/_src/typeclass/FunctorWithIndex.ts +6 -34
- package/_src/typeclass/Guard/api.ts +32 -0
- package/_src/typeclass/Guard/definition.ts +23 -0
- package/_src/typeclass/Guard/derivations.ts +80 -0
- package/_src/typeclass/Guard.ts +5 -0
- package/_src/typeclass/HashEq.ts +3 -4
- package/_src/typeclass/Monad.ts +3 -18
- package/_src/typeclass/MonadExcept.ts +9 -32
- package/_src/typeclass/Monoid.ts +60 -2
- package/_src/typeclass/Nil.ts +26 -17
- package/_src/typeclass/Ord/api/contramap.ts +2 -4
- package/_src/typeclass/Ord/api/max.ts +1 -1
- package/_src/typeclass/Ord/api/min.ts +1 -1
- package/_src/typeclass/Ord/definition.ts +3 -19
- package/_src/typeclass/Ord/instances.ts +6 -6
- package/_src/typeclass/Pointed.ts +29 -25
- package/_src/typeclass/Semialign.ts +308 -444
- package/_src/typeclass/Semigroup/api.ts +2 -2
- package/_src/typeclass/Semigroup/definition.ts +2 -6
- package/_src/typeclass/Semigroup/derivations.ts +64 -0
- package/_src/typeclass/Semigroup.ts +1 -1
- package/_src/typeclass/Semimonoidal.ts +55 -84
- package/_src/typeclass/Showable/show.ts +6 -8
- package/_src/typeclass/Traversable.ts +67 -157
- package/_src/typeclass/TraversableWithIndex.ts +37 -127
- package/_src/typeclass/Witherable.ts +120 -279
- package/_src/typeclass/WitherableWithIndex.ts +129 -337
- package/_src/typeclass.ts +2 -0
- package/_src/util/predicates.ts +4 -0
- package/collection/Iterable/api/traverseConc.d.ts +6 -4
- package/collection/Iterable/api.d.ts +5 -13
- package/collection/immutable/Conc/api.d.ts +15 -23
- package/collection/immutable/Conc/definition.d.ts +10 -7
- package/collection/immutable/Dictionary/definition.d.ts +1 -1
- package/collection/immutable/HashMap/api.d.ts +15 -27
- package/collection/immutable/HashMap/definition.d.ts +6 -9
- package/collection/immutable/HashMap/internal.d.ts +1 -1
- package/collection/immutable/ImmutableArray/api.d.ts +42 -94
- package/collection/immutable/ImmutableArray/definition.d.ts +6 -8
- package/collection/immutable/ImmutableArray/instances.d.ts +86 -17
- package/collection/immutable/ImmutableNonEmptyArray/api.d.ts +26 -47
- package/collection/immutable/ImmutableNonEmptyArray/definition.d.ts +4 -8
- package/collection/immutable/ImmutableNonEmptyArray/instances.d.ts +1 -1
- package/collection/immutable/List/api.d.ts +1 -2
- package/collection/immutable/RoseTree/api.d.ts +63 -0
- package/collection/immutable/RoseTree/definition.d.ts +23 -0
- package/collection/immutable/RoseTree.d.ts +2 -0
- package/collection/immutable/SortedMap/api.d.ts +2 -1
- package/collection/immutable/Vector/api.d.ts +31 -8
- package/collection/immutable/Vector/definition.d.ts +10 -0
- package/control/Eval/api.d.ts +1 -0
- package/control/Eval/definition.d.ts +5 -8
- package/control/Eval/instance.d.ts +4 -1
- package/control/Z/definition.d.ts +23 -18
- package/control/Z/instances.d.ts +4 -3
- package/data/Branded/definition.d.ts +36 -0
- package/data/Branded/derivations.d.ts +24 -0
- package/data/Branded.d.ts +2 -0
- package/data/Cause/api.d.ts +7 -1
- package/data/Const/api.d.ts +1 -1
- package/data/Const/definition.d.ts +23 -7
- package/data/Const/instances.d.ts +4 -12
- package/data/DecodeError/definition.d.ts +141 -0
- package/data/DecodeError.d.ts +1 -0
- package/data/Decoder/api.d.ts +65 -0
- package/data/Decoder/definition.d.ts +24 -0
- package/data/Decoder.d.ts +2 -0
- package/data/Duration/api.d.ts +12 -8
- package/data/Either/api.d.ts +29 -17
- package/data/Either/definition.d.ts +31 -14
- package/data/Either/instances.d.ts +26 -11
- package/data/Environment/api.d.ts +5 -0
- package/data/Identity/api.d.ts +11 -0
- package/data/Identity/definition.d.ts +7 -2
- package/data/Identity/instances.d.ts +5 -9
- package/data/Interval.d.ts +71 -0
- package/data/Maybe/api.d.ts +3 -17
- package/data/Maybe/definition.d.ts +20 -14
- package/data/Maybe/instances.d.ts +14 -8
- package/data/Newtype.d.ts +8 -9
- package/data/Refinement/api.d.ts +2 -0
- package/data/Struct/definition.d.ts +1 -1
- package/data/These/api.d.ts +73 -0
- package/data/These/constructors.d.ts +7 -1
- package/data/These/definition.d.ts +5 -0
- package/data/These/destructors.d.ts +27 -1
- package/data/These/instances.d.ts +13 -0
- package/data/These.d.ts +1 -0
- package/data/bigint/definition.d.ts +13 -0
- package/data/bigint/instances.d.ts +7 -0
- package/data/bigint.d.ts +2 -0
- package/data/boolean/definition.d.ts +13 -0
- package/data/boolean/instances.d.ts +7 -0
- package/data/boolean.d.ts +2 -0
- package/data/number/instances.d.ts +8 -0
- package/data/object/instances.d.ts +7 -0
- package/data/string/instances.d.ts +10 -0
- package/internal/Stack.d.ts +1 -0
- package/json/EitherJson.d.ts +24 -0
- package/json/MaybeJson.d.ts +23 -0
- package/json/TheseJson.d.ts +26 -0
- package/optics/Traversal/api/fromTraversable.d.ts +1 -1
- package/optics/Traversal/definition.d.ts +4 -9
- package/package.json +2 -2
- package/typeclass/Align.d.ts +3 -10
- package/typeclass/Alt.d.ts +6 -19
- package/typeclass/Alternative.d.ts +4 -12
- package/typeclass/Applicative.d.ts +3 -12
- package/typeclass/ApplicativeExcept.d.ts +14 -39
- package/typeclass/Apply.d.ts +41 -72
- package/typeclass/Chain.d.ts +18 -28
- package/typeclass/Closure.d.ts +2 -12
- package/typeclass/Eq/definition.d.ts +17 -0
- package/typeclass/Eq/derivations.d.ts +24 -0
- package/typeclass/Eq.d.ts +2 -27
- package/typeclass/Fail.d.ts +4 -10
- package/typeclass/Filterable.d.ts +30 -51
- package/typeclass/FilterableWithIndex.d.ts +10 -53
- package/typeclass/Foldable.d.ts +19 -31
- package/typeclass/FoldableWithIndex.d.ts +20 -33
- package/typeclass/Functor.d.ts +11 -22
- package/typeclass/FunctorWithIndex.d.ts +3 -19
- package/typeclass/Guard/api.d.ts +20 -0
- package/typeclass/Guard/definition.d.ts +22 -0
- package/typeclass/Guard/derivations.d.ts +36 -0
- package/typeclass/Guard.d.ts +2 -0
- package/typeclass/HashEq.d.ts +1 -2
- package/typeclass/Monad.d.ts +3 -11
- package/typeclass/MonadExcept.d.ts +6 -17
- package/typeclass/Monoid.d.ts +24 -2
- package/typeclass/Nil.d.ts +7 -8
- package/typeclass/Ord/definition.d.ts +2 -14
- package/typeclass/Pointed.d.ts +4 -10
- package/typeclass/Semialign.d.ts +51 -63
- package/typeclass/Semigroup/definition.d.ts +3 -5
- package/typeclass/Semigroup/derivations.d.ts +25 -0
- package/typeclass/Semimonoidal.d.ts +5 -14
- package/typeclass/Traversable.d.ts +17 -57
- package/typeclass/TraversableWithIndex.d.ts +9 -52
- package/typeclass/Witherable.d.ts +22 -82
- package/typeclass/WitherableWithIndex.d.ts +26 -98
- package/typeclass.d.ts +1 -0
- package/util/predicates.d.ts +1 -0
@@ -81,6 +81,13 @@ export function crossWith_<A, B, C>(
|
|
81
81
|
return self.flatMap((a) => fb.map((b) => f(a, b)));
|
82
82
|
}
|
83
83
|
|
84
|
+
/**
|
85
|
+
* @tsplus fluent fncts.ImmutableArray cross
|
86
|
+
*/
|
87
|
+
export function cross_<A, B>(self: ImmutableArray<A>, fb: ImmutableArray<B>): ImmutableArray<readonly [A, B]> {
|
88
|
+
return self.crossWith(fb, tuple);
|
89
|
+
}
|
90
|
+
|
84
91
|
/**
|
85
92
|
* @tsplus static fncts.ImmutableArrayOps chainRecDepthFirst
|
86
93
|
*/
|
@@ -90,6 +97,7 @@ export function chainRecDepthFirst<A, B>(a: A, f: (a: A) => ImmutableArray<Eithe
|
|
90
97
|
|
91
98
|
while (buffer.length > 0) {
|
92
99
|
const e = buffer.shift()!;
|
100
|
+
Either.concrete(e);
|
93
101
|
if (e._tag === EitherTag.Left) {
|
94
102
|
buffer.unshift(...f(e.left));
|
95
103
|
} else {
|
@@ -109,6 +117,7 @@ export function chainRecBreadthFirst<A, B>(a: A, f: (a: A) => ImmutableArray<Eit
|
|
109
117
|
const out: Array<B> = [];
|
110
118
|
|
111
119
|
function go(e: Either<A, B>): void {
|
120
|
+
Either.concrete(e);
|
112
121
|
if (e._tag === "Left") {
|
113
122
|
f(e.left).forEach((v) => buffer.push(v));
|
114
123
|
} else {
|
@@ -226,9 +235,7 @@ function comprehensionLoop<A, R>(
|
|
226
235
|
if (input.length === 0) {
|
227
236
|
return g(...scope) ? Eval.now(ImmutableArray(f(...scope))) : Eval.now(ImmutableArray.empty());
|
228
237
|
} else {
|
229
|
-
return input[0]
|
230
|
-
.traverse(Eval.Applicative)((a) => comprehensionLoop(scope.append(a), input.slice(1), f, g))
|
231
|
-
.map((rs) => rs.flatten);
|
238
|
+
return input[0]!.traverse((a) => comprehensionLoop(scope.append(a), input.slice(1), f, g)).map((rs) => rs.flatten);
|
232
239
|
}
|
233
240
|
}
|
234
241
|
|
@@ -266,7 +273,6 @@ export function comprehension<A, R>(
|
|
266
273
|
/**
|
267
274
|
* @tsplus fluent fncts.ImmutableArray concat
|
268
275
|
* @tsplus operator fncts.ImmutableArray +
|
269
|
-
* @tsplus operator fncts.base.MutableArray +
|
270
276
|
*/
|
271
277
|
export function concat_<A, B>(self: ImmutableArray<A>, that: ImmutableArray<B>): ImmutableArray<A | B> {
|
272
278
|
const lenx = self._array.length;
|
@@ -295,20 +301,14 @@ export function deleteAt_<A>(as: ImmutableArray<A>, i: number): Maybe<ImmutableA
|
|
295
301
|
}
|
296
302
|
|
297
303
|
/**
|
298
|
-
* @
|
299
|
-
*/
|
300
|
-
export function difference_<A>(E: P.Eq<A>) {
|
301
|
-
const elemE_ = elem_(E);
|
302
|
-
return (self: ImmutableArray<A>, ys: ImmutableArray<A>): ImmutableArray<A> => self.filter((a) => !elemE_(ys, a));
|
303
|
-
}
|
304
|
-
|
305
|
-
/**
|
306
|
-
* @tsplus getter fncts.ImmutableArray difference
|
304
|
+
* @tsplus fluent fncts.ImmutableArray difference
|
307
305
|
*/
|
308
|
-
export function
|
309
|
-
|
310
|
-
|
311
|
-
|
306
|
+
export function difference_<A>(
|
307
|
+
self: ImmutableArray<A>,
|
308
|
+
ys: ImmutableArray<A>,
|
309
|
+
/** @tsplus auto */ E: P.Eq<A>,
|
310
|
+
): ImmutableArray<A> {
|
311
|
+
return self.filter((a) => !ys.elem(a, E));
|
312
312
|
}
|
313
313
|
|
314
314
|
/**
|
@@ -344,32 +344,17 @@ export function dropLastWhile_<A>(as: ImmutableArray<A>, p: Predicate<A>): Immut
|
|
344
344
|
* argument which returns the function to use to search for a value of type `A` in
|
345
345
|
* an array of type `ImmutableArray<A>`.
|
346
346
|
*
|
347
|
-
* @
|
348
|
-
*/
|
349
|
-
export function elem_<A>(E: P.Eq<A>) {
|
350
|
-
return (as: ImmutableArray<A>, a: A): boolean => {
|
351
|
-
const predicate = (element: A) => E.equals_(element, a);
|
352
|
-
const len = as.length;
|
353
|
-
for (let i = 0; i < len; i++) {
|
354
|
-
if (predicate(as._array[i]!)) {
|
355
|
-
return true;
|
356
|
-
}
|
357
|
-
}
|
358
|
-
return false;
|
359
|
-
};
|
360
|
-
}
|
361
|
-
|
362
|
-
/**
|
363
|
-
* Test if a value is a member of an array. Takes an `Eq<A>` as a single
|
364
|
-
* argument which returns the function to use to search for a value of type `A` in
|
365
|
-
* an array of type `ImmutableArray<A>`.
|
366
|
-
*
|
367
|
-
* @tsplus getter fncts.ImmutableArray elem
|
347
|
+
* @tsplus fluent fncts.ImmutableArray elem
|
368
348
|
*/
|
369
|
-
export function
|
370
|
-
|
371
|
-
|
372
|
-
|
349
|
+
export function elem_<A>(as: ImmutableArray<A>, a: A, /** @tsplus auto */ E: P.Eq<A>): boolean {
|
350
|
+
const predicate = (element: A) => E.equals(element, a);
|
351
|
+
const len = as.length;
|
352
|
+
for (let i = 0; i < len; i++) {
|
353
|
+
if (predicate(as._array[i]!)) {
|
354
|
+
return true;
|
355
|
+
}
|
356
|
+
}
|
357
|
+
return false;
|
373
358
|
}
|
374
359
|
|
375
360
|
/**
|
@@ -604,59 +589,33 @@ export function foldLeftWithIndexWhile_<A, B>(
|
|
604
589
|
return out;
|
605
590
|
}
|
606
591
|
|
607
|
-
export function fold<M>(M: Monoid<M>) {
|
608
|
-
return (self: ImmutableArray<M>): M => self.foldLeft(M.nat, M.combine_);
|
609
|
-
}
|
610
|
-
|
611
592
|
/**
|
612
593
|
* @tsplus fluent fncts.ImmutableArray fold
|
613
|
-
* @tsplus fluent fncts.base.MutableArray fold
|
614
594
|
*/
|
615
|
-
export function
|
616
|
-
return self.foldLeft(M.nat, M.
|
595
|
+
export function fold<M>(self: ImmutableArray<M>, /** @tsplus auto */ M: Monoid<M>): M {
|
596
|
+
return self.foldLeft(M.nat, M.combine);
|
617
597
|
}
|
618
598
|
|
619
599
|
/**
|
620
|
-
* @
|
600
|
+
* @tsplus fluent fncts.ImmutableArray foldMapWithIndex
|
621
601
|
*/
|
622
|
-
export function foldMapWithIndex_<M>(
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
/**
|
629
|
-
* @tsplus getter fncts.ImmutableArray foldMapWithIndex
|
630
|
-
* @tsplus getter fncts.base.MutableArray foldMapWithIndex
|
631
|
-
*/
|
632
|
-
export function foldMapWithIndexSelf<A>(self: ImmutableArray<A>) {
|
633
|
-
return <M>(M: Monoid<M>) =>
|
634
|
-
(f: (i: number, a: A) => M): M =>
|
635
|
-
foldMapWithIndex_(M)(self, f);
|
636
|
-
}
|
637
|
-
|
638
|
-
/**
|
639
|
-
* @constrained
|
640
|
-
*/
|
641
|
-
export function foldMap_<M>(M: Monoid<M>) {
|
642
|
-
return <A>(self: ImmutableArray<A>, f: (a: A) => M): M => {
|
643
|
-
return self.foldMapWithIndex(M)((_, a) => f(a));
|
644
|
-
};
|
602
|
+
export function foldMapWithIndex_<A, M>(
|
603
|
+
self: ImmutableArray<A>,
|
604
|
+
f: (i: number, a: A) => M,
|
605
|
+
/** @tsplus auto */ M: Monoid<M>,
|
606
|
+
): M {
|
607
|
+
return self.foldLeftWithIndex(M.nat, (i, b, a) => M.combine(b, f(i, a)));
|
645
608
|
}
|
646
609
|
|
647
610
|
/**
|
648
|
-
* @tsplus
|
649
|
-
* @tsplus getter fncts.base.MutableArray foldMap
|
611
|
+
* @tsplus fluent fncts.ImmutableArray foldMap
|
650
612
|
*/
|
651
|
-
export function
|
652
|
-
return
|
653
|
-
(f: (a: A) => M): M =>
|
654
|
-
self.foldMapWithIndex(M)((_, a) => f(a));
|
613
|
+
export function foldMap_<A, M>(self: ImmutableArray<A>, f: (a: A) => M, /** @tsplus auto */ M: Monoid<M>): M {
|
614
|
+
return self.foldMapWithIndex((_, a) => f(a), M);
|
655
615
|
}
|
656
616
|
|
657
617
|
/**
|
658
618
|
* @tsplus fluent fncts.ImmutableArray foldRightWithIndex
|
659
|
-
* @tsplus fluent fncts.base.MutableArray foldRightWithIndex
|
660
619
|
*/
|
661
620
|
export function foldRightWithIndex_<A, B>(self: ImmutableArray<A>, b: B, f: (i: number, a: A, b: B) => B): B {
|
662
621
|
let r = b;
|
@@ -668,7 +627,6 @@ export function foldRightWithIndex_<A, B>(self: ImmutableArray<A>, b: B, f: (i:
|
|
668
627
|
|
669
628
|
/**
|
670
629
|
* @tsplus fluent fncts.ImmutableArray foldRight
|
671
|
-
* @tsplus fluent fncts.base.MutableArray foldRight
|
672
630
|
*/
|
673
631
|
export function foldRight_<A, B>(self: ImmutableArray<A>, b: B, f: (a: A, b: B) => B): B {
|
674
632
|
return self.foldRightWithIndex(b, (_, a, b) => f(a, b));
|
@@ -676,7 +634,6 @@ export function foldRight_<A, B>(self: ImmutableArray<A>, b: B, f: (a: A, b: B)
|
|
676
634
|
|
677
635
|
/**
|
678
636
|
* @tsplus fluent fncts.ImmutableArray foldRighWhile
|
679
|
-
* @tsplus fluent fncts.base.MutableArray foldRightWhile
|
680
637
|
*/
|
681
638
|
export function foldRightWhile_<A, B>(self: ImmutableArray<A>, b: B, p: Predicate<B>, f: (a: A, b: B) => B): B {
|
682
639
|
return self.foldRightWithIndexWhile(b, p, (_, a, b) => f(a, b));
|
@@ -684,7 +641,6 @@ export function foldRightWhile_<A, B>(self: ImmutableArray<A>, b: B, p: Predicat
|
|
684
641
|
|
685
642
|
/**
|
686
643
|
* @tsplus fluent fncts.ImmutableArray foldRightWithIndexWhile
|
687
|
-
* @tsplus fluent fncts.base.MutableArray foldRightWithIndexWhile
|
688
644
|
*/
|
689
645
|
export function foldRightWithIndexWhile_<A, B>(
|
690
646
|
self: ImmutableArray<A>,
|
@@ -723,7 +679,7 @@ export function group<A>(E: P.Eq<A>): (self: ImmutableArray<A>) => ImmutableArra
|
|
723
679
|
let i = 1;
|
724
680
|
for (; i < self.length; i++) {
|
725
681
|
const a = self._array[i]!;
|
726
|
-
if (E.
|
682
|
+
if (E.equals(a, h)) {
|
727
683
|
out.push(a);
|
728
684
|
} else {
|
729
685
|
break;
|
@@ -782,18 +738,15 @@ export function insertAt_<A>(self: ImmutableArray<A>, i: number, a: A): Maybe<Im
|
|
782
738
|
return self.isOutOfBound(i) ? Nothing() : Just(self.unsafeInsertAt(i, a));
|
783
739
|
}
|
784
740
|
|
785
|
-
export function intersection_<A>(E: P.Eq<A>) {
|
786
|
-
const elemE = elem_(E);
|
787
|
-
return (self: ImmutableArray<A>, that: ImmutableArray<A>): ImmutableArray<A> => self.filter((a) => elemE(that, a));
|
788
|
-
}
|
789
|
-
|
790
741
|
/**
|
791
|
-
* @tsplus
|
742
|
+
* @tsplus fluent fncts.ImmutableArray intersection
|
792
743
|
*/
|
793
|
-
export function
|
794
|
-
|
795
|
-
|
796
|
-
|
744
|
+
export function intersection_<A>(
|
745
|
+
self: ImmutableArray<A>,
|
746
|
+
that: ImmutableArray<A>,
|
747
|
+
/** @tsplus auto */ E: P.Eq<A>,
|
748
|
+
): ImmutableArray<A> {
|
749
|
+
return self.filter((a) => that.elem(a, E));
|
797
750
|
}
|
798
751
|
|
799
752
|
export function intersperse_<A>(self: ImmutableArray<A>, a: A): ImmutableArray<A> {
|
@@ -850,6 +803,7 @@ export function lefts<E, A>(self: ImmutableArray<Either<E, A>>): ImmutableArray<
|
|
850
803
|
const ls: Array<E> = [];
|
851
804
|
for (let i = 0; i < self.length; i++) {
|
852
805
|
const a = self._array[i]!;
|
806
|
+
Either.concrete(a);
|
853
807
|
if (a._tag === EitherTag.Left) {
|
854
808
|
ls.push(a.left);
|
855
809
|
}
|
@@ -974,6 +928,7 @@ export function partitionMapWithIndex_<A, B, C>(
|
|
974
928
|
const right = [] as Array<C>;
|
975
929
|
for (let i = 0; i < self.length; i++) {
|
976
930
|
const ea = f(i, self._array[i]!);
|
931
|
+
Either.concrete(ea);
|
977
932
|
switch (ea._tag) {
|
978
933
|
case EitherTag.Left:
|
979
934
|
left.push(ea.left);
|
@@ -1045,6 +1000,7 @@ export function rights<E, A>(self: ImmutableArray<Either<E, A>>): ImmutableArray
|
|
1045
1000
|
const rs: Array<A> = [];
|
1046
1001
|
for (let i = 0; i < self.length; i++) {
|
1047
1002
|
const a = self._array[i]!;
|
1003
|
+
Either.concrete(a);
|
1048
1004
|
if (a._tag === EitherTag.Right) {
|
1049
1005
|
rs.push(a.right);
|
1050
1006
|
}
|
@@ -1095,14 +1051,14 @@ export function scanRight_<A, B>(self: ImmutableArray<A>, b: B, f: (a: A, b: B)
|
|
1095
1051
|
/**
|
1096
1052
|
* @tsplus fluent fncts.ImmutableArray sort
|
1097
1053
|
*/
|
1098
|
-
export function sort<A
|
1099
|
-
return self.isEmpty() || self.length === 1 ? self : self._array.slice().sort(O.
|
1054
|
+
export function sort<A>(self: ImmutableArray<A>, /** @tsplus auto */ O: P.Ord<A>): ImmutableArray<A> {
|
1055
|
+
return self.isEmpty() || self.length === 1 ? self : self._array.slice().sort(O.compare).asImmutableArray;
|
1100
1056
|
}
|
1101
1057
|
|
1102
1058
|
/**
|
1103
1059
|
* @tsplus fluent fncts.ImmutableArray sortBy
|
1104
1060
|
*/
|
1105
|
-
export function sortBy<A
|
1061
|
+
export function sortBy<A>(self: ImmutableArray<A>, Os: ImmutableArray<P.Ord<A>>): ImmutableArray<A> {
|
1106
1062
|
return self.sort(Os.fold(P.Ord.getMonoid()));
|
1107
1063
|
}
|
1108
1064
|
|
@@ -1219,14 +1175,6 @@ export function splitWhere_<A>(
|
|
1219
1175
|
return self.splitAt(i);
|
1220
1176
|
}
|
1221
1177
|
|
1222
|
-
export const sequence: P.sequence<ImmutableArrayF> = (A) => (self) => self.traverse(A)(identity);
|
1223
|
-
|
1224
|
-
/**
|
1225
|
-
* @tsplus getter fncts.ImmutableArray sequence
|
1226
|
-
*/
|
1227
|
-
export const sequenceSelf: P.sequenceSelf<ImmutableArrayF> = (self) => (A) =>
|
1228
|
-
unsafeCoerce(self.traverse(A)(unsafeCoerce(identity)));
|
1229
|
-
|
1230
1178
|
/**
|
1231
1179
|
* @tsplus getter fncts.ImmutableArray tail
|
1232
1180
|
*/
|
@@ -1262,67 +1210,45 @@ export function takeWhile_<A>(self: ImmutableArray<A>, p: Predicate<A>): Immutab
|
|
1262
1210
|
return init.asImmutableArray;
|
1263
1211
|
}
|
1264
1212
|
|
1265
|
-
export const traverseWithIndex_: P.traverseWithIndex_<ImmutableArrayF> = P.mkTraverseWithIndex_<ImmutableArrayF>()(
|
1266
|
-
(_) => (A) => (ta, f) =>
|
1267
|
-
ta.foldLeftWithIndex(A.pure(ImmutableArray.empty<typeof _.B>()), (i, fbs, a) =>
|
1268
|
-
A.zipWith_(fbs, f(i, a), (bs, b) => bs.append(b)),
|
1269
|
-
),
|
1270
|
-
);
|
1271
|
-
|
1272
1213
|
/**
|
1273
|
-
* @tsplus
|
1214
|
+
* @tsplus fluent fncts.ImmutableArray traverseWithIndex
|
1274
1215
|
*/
|
1275
|
-
export const
|
1276
|
-
|
1216
|
+
export const traverseWithIndex_: P.TraversableWithIndex<ImmutableArrayF>["traverseWithIndex"] = (ta, f, G) =>
|
1217
|
+
ta.foldLeftWithIndex(G.pure(ImmutableArray.empty()), (i, fbs, a) => fbs.zipWith(f(i, a), (bs, b) => bs.append(b), G));
|
1277
1218
|
|
1278
1219
|
/**
|
1279
|
-
* @tsplus
|
1220
|
+
* @tsplus fluent fncts.ImmutableArray traverse
|
1280
1221
|
*/
|
1281
|
-
export const
|
1282
|
-
|
1283
|
-
|
1284
|
-
export const traverse_: P.traverse_<ImmutableArrayF> = (A) => (self, f) => self.traverseWithIndex(A)((_, a) => f(a));
|
1222
|
+
export const traverse_: P.Traversable<ImmutableArrayF>["traverse"] = (self, f, G) =>
|
1223
|
+
self.traverseWithIndex((_, a) => f(a), G);
|
1285
1224
|
|
1286
1225
|
/**
|
1287
|
-
* @tsplus
|
1226
|
+
* @tsplus fluent fncts.ImmutableArray union
|
1288
1227
|
*/
|
1289
|
-
export
|
1290
|
-
|
1291
|
-
|
1292
|
-
|
1293
|
-
|
1294
|
-
|
1295
|
-
self.traverseWithIndex(A)((_, a) => f(a));
|
1296
|
-
|
1297
|
-
export function union_<A>(E: P.Eq<A>) {
|
1298
|
-
const elemE = elem_(E);
|
1299
|
-
return (self: ImmutableArray<A>, that: ImmutableArray<A>): ImmutableArray<A> =>
|
1300
|
-
self.concat(that.filter((a) => !elemE(self, a)));
|
1301
|
-
}
|
1302
|
-
|
1303
|
-
export function uniq<A>(E: P.Eq<A>) {
|
1304
|
-
return (self: ImmutableArray<A>): ImmutableArray<A> => {
|
1305
|
-
if (self.length === 1) {
|
1306
|
-
return self;
|
1307
|
-
}
|
1308
|
-
const elemE_ = elem_(E);
|
1309
|
-
const out = [] as Array<A>;
|
1310
|
-
const len = self.length;
|
1311
|
-
for (let i = 0; i < len; i++) {
|
1312
|
-
const a = self._array[i]!;
|
1313
|
-
if (!elemE_(out.asImmutableArray, a)) {
|
1314
|
-
out.push(a);
|
1315
|
-
}
|
1316
|
-
}
|
1317
|
-
return out.asImmutableArray;
|
1318
|
-
};
|
1228
|
+
export function union_<A>(
|
1229
|
+
self: ImmutableArray<A>,
|
1230
|
+
that: ImmutableArray<A>,
|
1231
|
+
/** @tsplus auto */ E: P.Eq<A>,
|
1232
|
+
): ImmutableArray<A> {
|
1233
|
+
return self.concat(that.filter((a) => !self.elem(a, E)));
|
1319
1234
|
}
|
1320
1235
|
|
1321
1236
|
/**
|
1322
1237
|
* @tsplus fluent fncts.ImmutableArray uniq
|
1323
1238
|
*/
|
1324
|
-
export function
|
1325
|
-
|
1239
|
+
export function uniq<A>(self: ImmutableArray<A>, /** @tsplus auto */ E: P.Eq<A>): ImmutableArray<A> {
|
1240
|
+
if (self.length === 1) {
|
1241
|
+
return self;
|
1242
|
+
}
|
1243
|
+
const out = [] as Array<A>;
|
1244
|
+
const len = self.length;
|
1245
|
+
for (let i = 0; i < len; i++) {
|
1246
|
+
const a = self._array[i]!;
|
1247
|
+
if (!out.asImmutableArray.elem(a, E)) {
|
1248
|
+
out.push(a);
|
1249
|
+
}
|
1250
|
+
}
|
1251
|
+
return out.asImmutableArray;
|
1326
1252
|
}
|
1327
1253
|
|
1328
1254
|
/**
|
@@ -1412,88 +1338,123 @@ export function updateAt_<A>(as: ImmutableArray<A>, i: number, a: A): Maybe<Immu
|
|
1412
1338
|
return as.isOutOfBound(i) ? Nothing() : Just(as.unsafeUpdateAt(i, a));
|
1413
1339
|
}
|
1414
1340
|
|
1415
|
-
export const wilt_: P.wilt_<ImmutableArrayF> = (A) => (self, f) => self.wiltWithIndex(A)((_, a) => f(a));
|
1416
|
-
|
1417
|
-
/**
|
1418
|
-
* @tsplus pipeable fncts.ImmutableArray wilt_
|
1419
|
-
*/
|
1420
|
-
export const wilt: P.wilt<ImmutableArrayF> = (A) => (f) => (self) => self.wiltWithIndex(A)((_, a) => f(a));
|
1421
|
-
|
1422
1341
|
/**
|
1423
1342
|
* @tsplus fluent fncts.ImmutableArray wilt
|
1424
1343
|
*/
|
1425
|
-
export
|
1426
|
-
|
1427
|
-
|
1428
|
-
|
1429
|
-
|
1430
|
-
|
1431
|
-
|
1432
|
-
|
1433
|
-
|
1434
|
-
|
1435
|
-
|
1436
|
-
|
1437
|
-
|
1438
|
-
|
1439
|
-
|
1440
|
-
|
1441
|
-
|
1344
|
+
export function wilt_<G extends HKT, KG, QG, WG, XG, IG, SG, RG, EG, B1, A, B>(
|
1345
|
+
self: ImmutableArray<A>,
|
1346
|
+
f: (a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, Either<B, B1>>,
|
1347
|
+
/** @tsplus auto */
|
1348
|
+
G: P.Applicative<G>,
|
1349
|
+
): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, readonly [ImmutableArray<B>, ImmutableArray<B1>]> {
|
1350
|
+
return self
|
1351
|
+
.foldLeft(
|
1352
|
+
G.pure([[] as Array<B>, [] as Array<B1>] as const) as HKT.Kind<
|
1353
|
+
G,
|
1354
|
+
KG,
|
1355
|
+
QG,
|
1356
|
+
WG,
|
1357
|
+
XG,
|
1358
|
+
IG,
|
1359
|
+
SG,
|
1360
|
+
RG,
|
1361
|
+
EG,
|
1362
|
+
readonly [B[], B1[]]
|
1363
|
+
>,
|
1364
|
+
(fbs, a) =>
|
1365
|
+
f(a).zipWith(
|
1366
|
+
fbs,
|
1367
|
+
(eb, r) =>
|
1368
|
+
eb.match(
|
1369
|
+
(b1) => {
|
1370
|
+
r[0].push(b1);
|
1371
|
+
return r;
|
1372
|
+
},
|
1373
|
+
(b2) => {
|
1374
|
+
r[1].push(b2);
|
1375
|
+
return r;
|
1376
|
+
},
|
1377
|
+
),
|
1378
|
+
G,
|
1442
1379
|
),
|
1443
|
-
|
1444
|
-
|
1445
|
-
|
1446
|
-
);
|
1447
|
-
|
1448
|
-
/**
|
1449
|
-
* @tsplus dataFirst wiltWithIndex_
|
1450
|
-
*/
|
1451
|
-
export const wiltWithIndex: P.wiltWithIndex<ImmutableArrayF> = (A) => (f) => (self) => wiltWithIndex_(A)(self, f);
|
1452
|
-
|
1453
|
-
/**
|
1454
|
-
* @tsplus getter fncts.ImmutableArray wiltWithIndex
|
1455
|
-
*/
|
1456
|
-
export const wiltWithIndexSelf: P.wiltWithIndexSelf<ImmutableArrayF> = (self) => (A) => (f) =>
|
1457
|
-
wiltWithIndex_(A)(self, f);
|
1380
|
+
)
|
1381
|
+
.map(([b1s, b2s]) => [b1s.asImmutableArray, b2s.asImmutableArray], G);
|
1382
|
+
}
|
1458
1383
|
|
1459
|
-
export
|
1384
|
+
export function wiltWithIndex_<G extends HKT, KG, QG, WG, XG, IG, SG, RG, EG, B1, A, B>(
|
1385
|
+
self: ImmutableArray<A>,
|
1386
|
+
f: (i: number, a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, Either<B, B1>>,
|
1387
|
+
/** @tsplus auto */
|
1388
|
+
G: P.Applicative<G>,
|
1389
|
+
): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, readonly [ImmutableArray<B>, ImmutableArray<B1>]> {
|
1390
|
+
return self
|
1391
|
+
.foldLeftWithIndex(
|
1392
|
+
G.pure([[] as Array<B>, [] as Array<B1>] as const) as HKT.Kind<
|
1393
|
+
G,
|
1394
|
+
KG,
|
1395
|
+
QG,
|
1396
|
+
WG,
|
1397
|
+
XG,
|
1398
|
+
IG,
|
1399
|
+
SG,
|
1400
|
+
RG,
|
1401
|
+
EG,
|
1402
|
+
readonly [B[], B1[]]
|
1403
|
+
>,
|
1404
|
+
(i, fbs, a) =>
|
1405
|
+
f(i, a).zipWith(
|
1406
|
+
fbs,
|
1407
|
+
(eb, r) =>
|
1408
|
+
eb.match(
|
1409
|
+
(b1) => {
|
1410
|
+
r[0].push(b1);
|
1411
|
+
return r;
|
1412
|
+
},
|
1413
|
+
(b2) => {
|
1414
|
+
r[1].push(b2);
|
1415
|
+
return r;
|
1416
|
+
},
|
1417
|
+
),
|
1418
|
+
G,
|
1419
|
+
),
|
1420
|
+
)
|
1421
|
+
.map(([b1s, b2s]) => [b1s.asImmutableArray, b2s.asImmutableArray], G);
|
1422
|
+
}
|
1460
1423
|
|
1461
1424
|
/**
|
1462
|
-
* @tsplus
|
1425
|
+
* @tsplus fluent fncts.ImmutableArray wither
|
1463
1426
|
*/
|
1464
|
-
export
|
1427
|
+
export function wither_<G extends HKT, KG, QG, WG, XG, IG, SG, RG, EG, A, B>(
|
1428
|
+
self: ImmutableArray<A>,
|
1429
|
+
f: (a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, Maybe<B>>,
|
1430
|
+
/** @tsplus auto */ G: P.Applicative<G>,
|
1431
|
+
): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, ImmutableArray<B>> {
|
1432
|
+
return self.witherWithIndex((_, a) => f(a));
|
1433
|
+
}
|
1465
1434
|
|
1466
1435
|
/**
|
1467
|
-
* @tsplus fluent fncts.ImmutableArray
|
1436
|
+
* @tsplus fluent fncts.ImmutableArray witherWithIndex
|
1468
1437
|
*/
|
1469
|
-
export
|
1470
|
-
|
1471
|
-
|
1472
|
-
|
1473
|
-
|
1474
|
-
|
1475
|
-
|
1476
|
-
|
1438
|
+
export function witherWithIndex_<G extends HKT, KG, QG, WG, XG, IG, SG, RG, EG, A, B>(
|
1439
|
+
self: ImmutableArray<A>,
|
1440
|
+
f: (k: number, a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, Maybe<B>>,
|
1441
|
+
/** @tsplus auto */ G: P.Applicative<G>,
|
1442
|
+
): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, ImmutableArray<B>> {
|
1443
|
+
return self
|
1444
|
+
.foldLeftWithIndex(G.pure([] as Array<B>) as HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, B[]>, (i, b, a) =>
|
1445
|
+
f(i, a).zipWith(
|
1446
|
+
b,
|
1447
|
+
(maybeB, bs) => {
|
1477
1448
|
if (maybeB.isJust()) {
|
1478
1449
|
bs.push(maybeB.value);
|
1479
1450
|
}
|
1480
1451
|
return bs;
|
1481
|
-
}
|
1452
|
+
},
|
1453
|
+
G,
|
1482
1454
|
),
|
1483
|
-
|
1484
|
-
),
|
1485
|
-
|
1486
|
-
|
1487
|
-
/**
|
1488
|
-
* @tsplus dataFirst witherWithIndex_
|
1489
|
-
*/
|
1490
|
-
export const witherWithIndex: P.witherWithIndex<ImmutableArrayF> = (A) => (f) => (self) => witherWithIndex_(A)(self, f);
|
1491
|
-
|
1492
|
-
/**
|
1493
|
-
* @tsplus fluent fncts.ImmutableArray witherWithIndex
|
1494
|
-
*/
|
1495
|
-
export const witherWithIndexSelf: P.witherWithIndexSelf<ImmutableArrayF> = (self) => (A) => (f) =>
|
1496
|
-
witherWithIndex_(A)(self, f);
|
1455
|
+
)
|
1456
|
+
.map((bs) => bs.asImmutableArray, G);
|
1457
|
+
}
|
1497
1458
|
|
1498
1459
|
/**
|
1499
1460
|
* @tsplus fluent fncts.ImmutableArray zip
|
@@ -1,12 +1,18 @@
|
|
1
1
|
export const ImmutableArrayTypeId = Symbol.for("fncts.ImmutableArray");
|
2
2
|
export type ImmutableArrayTypeId = typeof ImmutableArrayTypeId;
|
3
3
|
|
4
|
+
export interface ImmutableArrayF extends ImmutableArray<any> {}
|
5
|
+
|
4
6
|
/**
|
5
7
|
* @tsplus type fncts.ImmutableArray
|
6
8
|
* @tsplus companion fncts.ImmutableArrayOps
|
7
9
|
*/
|
8
10
|
export class ImmutableArray<A> implements Equatable, Hashable, Iterable<A> {
|
9
11
|
readonly _typeId: ImmutableArrayTypeId = ImmutableArrayTypeId;
|
12
|
+
[HKT.F]?: ImmutableArrayF;
|
13
|
+
[HKT.A]?: () => A;
|
14
|
+
[HKT.T]?: ImmutableArray<HKT._A<this>>;
|
15
|
+
[HKT.Ix]?: number;
|
10
16
|
constructor(readonly _array: ReadonlyArray<A>) {}
|
11
17
|
|
12
18
|
[Symbol.equals](that: unknown): boolean {
|
@@ -29,11 +35,3 @@ export class ImmutableArray<A> implements Equatable, Hashable, Iterable<A> {
|
|
29
35
|
export function isImmutableArray(u: unknown): u is ImmutableArray<unknown> {
|
30
36
|
return hasTypeId(u, ImmutableArrayTypeId);
|
31
37
|
}
|
32
|
-
|
33
|
-
export interface ImmutableArrayF extends HKT {
|
34
|
-
readonly type: ImmutableArray<this["A"]>;
|
35
|
-
readonly variance: {
|
36
|
-
readonly A: "+";
|
37
|
-
};
|
38
|
-
readonly index: number;
|
39
|
-
}
|