Documentation
¶
Overview ¶
Package readereither implements a specialization of the Reader monad assuming a golang context as the context of the monad and a standard golang error
Index ¶
- func Ap[A, B any](fa ReaderEither[A]) func(ReaderEither[func(A) B]) ReaderEither[B]
- func Chain[A, B any](f func(A) ReaderEither[B]) func(ReaderEither[A]) ReaderEither[B]
- func ChainEitherK[A, B any](f func(A) ET.Either[error, B]) func(ma ReaderEither[A]) ReaderEither[B]
- func ChainOptionK[A, B any](onNone func() error) func(func(A) O.Option[B]) func(ReaderEither[A]) ReaderEither[B]
- func Curry1[T1, A any](f func(context.Context, T1) (A, error)) func(T1) ReaderEither[A]
- func Curry2[T1, T2, A any](f func(context.Context, T1, T2) (A, error)) func(T1) func(T2) ReaderEither[A]
- func Curry3[T1, T2, T3, A any](f func(context.Context, T1, T2, T3) (A, error)) func(T1) func(T2) func(T3) ReaderEither[A]
- func Flap[B, A any](a A) func(ReaderEither[func(A) B]) ReaderEither[B]
- func From0[A any](f func(context.Context) (A, error)) func() ReaderEither[A]
- func From1[T1, A any](f func(context.Context, T1) (A, error)) func(T1) ReaderEither[A]
- func From2[T1, T2, A any](f func(context.Context, T1, T2) (A, error)) func(T1, T2) ReaderEither[A]
- func From3[T1, T2, T3, A any](f func(context.Context, T1, T2, T3) (A, error)) func(T1, T2, T3) ReaderEither[A]
- func FromPredicate[A any](pred func(A) bool, onFalse func(A) error) func(A) ReaderEither[A]
- func Map[A, B any](f func(A) B) func(ReaderEither[A]) ReaderEither[B]
- func OrElse[A any](onLeft func(error) ReaderEither[A]) func(ReaderEither[A]) ReaderEither[A]
- func TraverseArray[A, B any](f func(A) ReaderEither[B]) func([]A) ReaderEither[[]B]
- func TraverseArrayWithIndex[A, B any](f func(int, A) ReaderEither[B]) func([]A) ReaderEither[[]B]
- func Uncurry1[T1, A any](f func(T1) ReaderEither[A]) func(context.Context, T1) (A, error)
- func Uncurry2[T1, T2, A any](f func(T1) func(T2) ReaderEither[A]) func(context.Context, T1, T2) (A, error)
- func Uncurry3[T1, T2, T3, A any](f func(T1) func(T2) func(T3) ReaderEither[A]) func(context.Context, T1, T2, T3) (A, error)
- type ReaderEither
- func Ask() ReaderEither[context.Context]
- func Curry0[A any](f func(context.Context) (A, error)) ReaderEither[A]
- func FromEither[A any](e ET.Either[error, A]) ReaderEither[A]
- func Left[A any](l error) ReaderEither[A]
- func MakeReaderEither[A any](f func(context.Context) ET.Either[error, A]) ReaderEither[A]
- func MonadAp[A, B any](fab ReaderEither[func(A) B], fa ReaderEither[A]) ReaderEither[B]
- func MonadChain[A, B any](ma ReaderEither[A], f func(A) ReaderEither[B]) ReaderEither[B]
- func MonadChainEitherK[A, B any](ma ReaderEither[A], f func(A) ET.Either[error, B]) ReaderEither[B]
- func MonadFlap[B, A any](fab ReaderEither[func(A) B], a A) ReaderEither[B]
- func MonadMap[A, B any](fa ReaderEither[A], f func(A) B) ReaderEither[B]
- func Of[A any](a A) ReaderEither[A]
- func Right[A any](r A) ReaderEither[A]
- func SequenceArray[A any](ma []ReaderEither[A]) ReaderEither[[]A]
- func SequenceT1[A any](a ReaderEither[A]) ReaderEither[T.Tuple1[A]]
- func SequenceT2[A, B any](a ReaderEither[A], b ReaderEither[B]) ReaderEither[T.Tuple2[A, B]]
- func SequenceT3[A, B, C any](a ReaderEither[A], b ReaderEither[B], c ReaderEither[C]) ReaderEither[T.Tuple3[A, B, C]]
- func SequenceT4[A, B, C, D any](a ReaderEither[A], b ReaderEither[B], c ReaderEither[C], d ReaderEither[D]) ReaderEither[T.Tuple4[A, B, C, D]]
- func WithContext[A any](ma ReaderEither[A]) ReaderEither[A]
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Ap ¶
func Ap[A, B any](fa ReaderEither[A]) func(ReaderEither[func(A) B]) ReaderEither[B]
func Chain ¶
func Chain[A, B any](f func(A) ReaderEither[B]) func(ReaderEither[A]) ReaderEither[B]
func ChainEitherK ¶
func ChainEitherK[A, B any](f func(A) ET.Either[error, B]) func(ma ReaderEither[A]) ReaderEither[B]
func ChainOptionK ¶
func ChainOptionK[A, B any](onNone func() error) func(func(A) O.Option[B]) func(ReaderEither[A]) ReaderEither[B]
func Curry1 ¶
func Curry1[T1, A any](f func(context.Context, T1) (A, error)) func(T1) ReaderEither[A]
func Curry2 ¶
func Curry2[T1, T2, A any](f func(context.Context, T1, T2) (A, error)) func(T1) func(T2) ReaderEither[A]
func Curry3 ¶
func Curry3[T1, T2, T3, A any](f func(context.Context, T1, T2, T3) (A, error)) func(T1) func(T2) func(T3) ReaderEither[A]
func Flap ¶ added in v1.0.47
func Flap[B, A any](a A) func(ReaderEither[func(A) B]) ReaderEither[B]
func From2 ¶
func From2[T1, T2, A any](f func(context.Context, T1, T2) (A, error)) func(T1, T2) ReaderEither[A]
func From3 ¶
func From3[T1, T2, T3, A any](f func(context.Context, T1, T2, T3) (A, error)) func(T1, T2, T3) ReaderEither[A]
func FromPredicate ¶
func FromPredicate[A any](pred func(A) bool, onFalse func(A) error) func(A) ReaderEither[A]
func Map ¶
func Map[A, B any](f func(A) B) func(ReaderEither[A]) ReaderEither[B]
func OrElse ¶
func OrElse[A any](onLeft func(error) ReaderEither[A]) func(ReaderEither[A]) ReaderEither[A]
func TraverseArray ¶
func TraverseArray[A, B any](f func(A) ReaderEither[B]) func([]A) ReaderEither[[]B]
TraverseArray transforms an array
func TraverseArrayWithIndex ¶ added in v1.0.29
func TraverseArrayWithIndex[A, B any](f func(int, A) ReaderEither[B]) func([]A) ReaderEither[[]B]
TraverseArrayWithIndex transforms an array
func Uncurry1 ¶
func Uncurry1[T1, A any](f func(T1) ReaderEither[A]) func(context.Context, T1) (A, error)
Types ¶
type ReaderEither ¶
ReaderEither is a specialization of the Reader monad for the typical golang scenario
func Ask ¶
func Ask() ReaderEither[context.Context]
func FromEither ¶
func FromEither[A any](e ET.Either[error, A]) ReaderEither[A]
func Left ¶
func Left[A any](l error) ReaderEither[A]
func MakeReaderEither ¶
func MonadAp ¶
func MonadAp[A, B any](fab ReaderEither[func(A) B], fa ReaderEither[A]) ReaderEither[B]
func MonadChain ¶
func MonadChain[A, B any](ma ReaderEither[A], f func(A) ReaderEither[B]) ReaderEither[B]
func MonadChainEitherK ¶
func MonadChainEitherK[A, B any](ma ReaderEither[A], f func(A) ET.Either[error, B]) ReaderEither[B]
func MonadFlap ¶ added in v1.0.47
func MonadFlap[B, A any](fab ReaderEither[func(A) B], a A) ReaderEither[B]
func MonadMap ¶
func MonadMap[A, B any](fa ReaderEither[A], f func(A) B) ReaderEither[B]
func Of ¶
func Of[A any](a A) ReaderEither[A]
func Right ¶
func Right[A any](r A) ReaderEither[A]
func SequenceArray ¶
func SequenceArray[A any](ma []ReaderEither[A]) ReaderEither[[]A]
SequenceArray converts a homogeneous sequence of either into an either of sequence
func SequenceT1 ¶
func SequenceT1[A any](a ReaderEither[A]) ReaderEither[T.Tuple1[A]]
func SequenceT2 ¶
func SequenceT2[A, B any](a ReaderEither[A], b ReaderEither[B]) ReaderEither[T.Tuple2[A, B]]
func SequenceT3 ¶
func SequenceT3[A, B, C any](a ReaderEither[A], b ReaderEither[B], c ReaderEither[C]) ReaderEither[T.Tuple3[A, B, C]]
func SequenceT4 ¶
func SequenceT4[A, B, C, D any](a ReaderEither[A], b ReaderEither[B], c ReaderEither[C], d ReaderEither[D]) ReaderEither[T.Tuple4[A, B, C, D]]
func WithContext ¶
func WithContext[A any](ma ReaderEither[A]) ReaderEither[A]
withContext wraps an existing ReaderEither and performs a context check for cancellation before deletating
Source Files
¶
Click to show internal directories.
Click to hide internal directories.