Module
Data.These
- Package
- purescript-these
- Repository
- purescript-contrib/purescript-these
#These Source
data These a b
Data type isomorphic to α ∨ β ∨ (α ∧ β)
or
Either a (Either b (Tuple a b))
.
Constructors
Instances
(Eq a, Eq b) => Eq (These a b)
(Ord a, Ord b) => Ord (These a b)
(Semigroup a, Semigroup b) => Semigroup (These a b)
Functor (These a)
Invariant (These a)
Foldable (These a)
Traversable (These a)
Bifunctor These
Bifoldable These
Bitraversable These
(Semigroup a) => Apply (These a)
(Semigroup a) => Applicative (These a)
(Semigroup a) => Bind (These a)
(Semigroup a) => Monad (These a)
Extend (These a)
(Show a, Show b) => Show (These a b)
#thisOrBoth Source
thisOrBoth :: forall a b. a -> Maybe b -> These a b
#thatOrBoth Source
thatOrBoth :: forall a b. b -> Maybe a -> These a b
#maybeThese Source
maybeThese :: forall a b. Maybe a -> Maybe b -> Maybe (These a b)
Takes a pair of Maybe
s and attempts to create a These
from them.
#fromThese Source
fromThese :: forall a b. a -> b -> These a b -> Tuple a b
Takes two default values and a These
value. If the These
value is
This
or That
, the value wrapped in the These
value and its
corresponding default value are wrapped into a Tuple
.
Otherwise, the values stored in the Both
are rewrapped into a Tuple
.
#theseRight Source
theseRight :: forall a b. These a b -> Maybe b
Returns a b
value if possible.