Documentation
¶
Overview ¶
Package readerioeither contains a version of ReaderIOEither that takes a golang context.Context as its context and that assumes the standard go error
Index ¶
- func Alt[A any](second L.Lazy[ReaderIOEither[A]]) func(ReaderIOEither[A]) ReaderIOEither[A]
- func AltMonoid[A any](zero L.Lazy[ReaderIOEither[A]]) M.Monoid[ReaderIOEither[A]]
- func AltSemigroup[A any]() S.Semigroup[ReaderIOEither[A]]
- func AlternativeMonoid[A any](m M.Monoid[A]) M.Monoid[ReaderIOEither[A]]
- func Ap[B, A any](fa ReaderIOEither[A]) func(ReaderIOEither[func(A) B]) ReaderIOEither[B]
- func ApplicativeMonoid[A any](m M.Monoid[A]) M.Monoid[ReaderIOEither[A]]
- func ApplicativeMonoidPar[A any](m M.Monoid[A]) M.Monoid[ReaderIOEither[A]]
- func ApplicativeMonoidSeq[A any](m M.Monoid[A]) M.Monoid[ReaderIOEither[A]]
- func Chain[A, B any](f func(A) ReaderIOEither[B]) func(ReaderIOEither[A]) ReaderIOEither[B]
- func ChainEitherK[A, B any](f func(A) ET.Either[error, B]) func(ma ReaderIOEither[A]) ReaderIOEither[B]
- func ChainFirst[A, B any](f func(A) ReaderIOEither[B]) func(ReaderIOEither[A]) ReaderIOEither[A]
- func ChainFirstEitherK[A, B any](f func(A) ET.Either[error, B]) func(ma ReaderIOEither[A]) ReaderIOEither[A]
- func ChainFirstIOK[A, B any](f func(A) IO.IO[B]) func(ma ReaderIOEither[A]) ReaderIOEither[A]
- func ChainIOEitherK[A, B any](f func(A) IOE.IOEither[error, B]) func(ma ReaderIOEither[A]) ReaderIOEither[B]
- func ChainIOK[A, B any](f func(A) IO.IO[B]) func(ma ReaderIOEither[A]) ReaderIOEither[B]
- func ChainOptionK[A, B any](onNone func() error) func(func(A) O.Option[B]) func(ReaderIOEither[A]) ReaderIOEither[B]
- func Delay[A any](delay time.Duration) func(ma ReaderIOEither[A]) ReaderIOEither[A]
- func Eitherize0[F ~func(context.Context) (R, error), R any](f F) func() ReaderIOEither[R]
- func Eitherize1[F ~func(context.Context, T0) (R, error), T0, R any](f F) func(T0) ReaderIOEither[R]
- func Eitherize10[F ~func(context.Context, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R, error), ...](f F) func(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) ReaderIOEither[R]
- func Eitherize2[F ~func(context.Context, T0, T1) (R, error), T0, T1, R any](f F) func(T0, T1) ReaderIOEither[R]
- func Eitherize3[F ~func(context.Context, T0, T1, T2) (R, error), T0, T1, T2, R any](f F) func(T0, T1, T2) ReaderIOEither[R]
- func Eitherize4[F ~func(context.Context, T0, T1, T2, T3) (R, error), T0, T1, T2, T3, R any](f F) func(T0, T1, T2, T3) ReaderIOEither[R]
- func Eitherize5[F ~func(context.Context, T0, T1, T2, T3, T4) (R, error), ...](f F) func(T0, T1, T2, T3, T4) ReaderIOEither[R]
- func Eitherize6[F ~func(context.Context, T0, T1, T2, T3, T4, T5) (R, error), ...](f F) func(T0, T1, T2, T3, T4, T5) ReaderIOEither[R]
- func Eitherize7[F ~func(context.Context, T0, T1, T2, T3, T4, T5, T6) (R, error), ...](f F) func(T0, T1, T2, T3, T4, T5, T6) ReaderIOEither[R]
- func Eitherize8[F ~func(context.Context, T0, T1, T2, T3, T4, T5, T6, T7) (R, error), ...](f F) func(T0, T1, T2, T3, T4, T5, T6, T7) ReaderIOEither[R]
- func Eitherize9[F ~func(context.Context, T0, T1, T2, T3, T4, T5, T6, T7, T8) (R, error), ...](f F) func(T0, T1, T2, T3, T4, T5, T6, T7, T8) ReaderIOEither[R]
- func Eq[A any](eq EQ.Eq[ET.Either[error, A]]) func(context.Context) EQ.Eq[ReaderIOEither[A]]
- func Flap[B, A any](a A) func(ReaderIOEither[func(A) B]) ReaderIOEither[B]
- func FromPredicate[A any](pred func(A) bool, onFalse func(A) error) func(A) ReaderIOEither[A]
- func Map[A, B any](f func(A) B) func(ReaderIOEither[A]) ReaderIOEither[B]
- func MapTo[A, B any](b B) func(ReaderIOEither[A]) ReaderIOEither[B]
- func OrElse[A any](onLeft func(error) ReaderIOEither[A]) func(ReaderIOEither[A]) ReaderIOEither[A]
- func TraverseArray[A, B any](f func(A) ReaderIOEither[B]) func([]A) ReaderIOEither[[]B]
- func TraverseArrayPar[A, B any](f func(A) ReaderIOEither[B]) func([]A) ReaderIOEither[[]B]
- func TraverseArraySeq[A, B any](f func(A) ReaderIOEither[B]) func([]A) ReaderIOEither[[]B]
- func TraverseArrayWithIndex[A, B any](f func(int, A) ReaderIOEither[B]) func([]A) ReaderIOEither[[]B]
- func TraverseArrayWithIndexPar[A, B any](f func(int, A) ReaderIOEither[B]) func([]A) ReaderIOEither[[]B]
- func TraverseArrayWithIndexSeq[A, B any](f func(int, A) ReaderIOEither[B]) func([]A) ReaderIOEither[[]B]
- func TraverseParTuple1[F1 ~func(A1) ReaderIOEither[T1], A1, T1 any](f1 F1) func(T.Tuple1[A1]) ReaderIOEither[T.Tuple1[T1]]
- func TraverseParTuple10[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9, f10 F10) ...
- func TraverseParTuple2[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2) func(T.Tuple2[A1, A2]) ReaderIOEither[T.Tuple2[T1, T2]]
- func TraverseParTuple3[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3) func(T.Tuple3[A1, A2, A3]) ReaderIOEither[T.Tuple3[T1, T2, T3]]
- func TraverseParTuple4[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3, f4 F4) func(T.Tuple4[A1, A2, A3, A4]) ReaderIOEither[T.Tuple4[T1, T2, T3, T4]]
- func TraverseParTuple5[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5) ...
- func TraverseParTuple6[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6) ...
- func TraverseParTuple7[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7) ...
- func TraverseParTuple8[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8) ...
- func TraverseParTuple9[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9) ...
- func TraverseRecord[K comparable, A, B any](f func(A) ReaderIOEither[B]) func(map[K]A) ReaderIOEither[map[K]B]
- func TraverseRecordPar[K comparable, A, B any](f func(A) ReaderIOEither[B]) func(map[K]A) ReaderIOEither[map[K]B]
- func TraverseRecordSeq[K comparable, A, B any](f func(A) ReaderIOEither[B]) func(map[K]A) ReaderIOEither[map[K]B]
- func TraverseRecordWithIndex[K comparable, A, B any](f func(K, A) ReaderIOEither[B]) func(map[K]A) ReaderIOEither[map[K]B]
- func TraverseRecordWithIndexPar[K comparable, A, B any](f func(K, A) ReaderIOEither[B]) func(map[K]A) ReaderIOEither[map[K]B]
- func TraverseRecordWithIndexSeq[K comparable, A, B any](f func(K, A) ReaderIOEither[B]) func(map[K]A) ReaderIOEither[map[K]B]
- func TraverseSeqTuple1[F1 ~func(A1) ReaderIOEither[T1], A1, T1 any](f1 F1) func(T.Tuple1[A1]) ReaderIOEither[T.Tuple1[T1]]
- func TraverseSeqTuple10[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9, f10 F10) ...
- func TraverseSeqTuple2[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2) func(T.Tuple2[A1, A2]) ReaderIOEither[T.Tuple2[T1, T2]]
- func TraverseSeqTuple3[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3) func(T.Tuple3[A1, A2, A3]) ReaderIOEither[T.Tuple3[T1, T2, T3]]
- func TraverseSeqTuple4[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3, f4 F4) func(T.Tuple4[A1, A2, A3, A4]) ReaderIOEither[T.Tuple4[T1, T2, T3, T4]]
- func TraverseSeqTuple5[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5) ...
- func TraverseSeqTuple6[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6) ...
- func TraverseSeqTuple7[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7) ...
- func TraverseSeqTuple8[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8) ...
- func TraverseSeqTuple9[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9) ...
- func TraverseTuple1[F1 ~func(A1) ReaderIOEither[T1], A1, T1 any](f1 F1) func(T.Tuple1[A1]) ReaderIOEither[T.Tuple1[T1]]
- func TraverseTuple10[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9, f10 F10) ...
- func TraverseTuple2[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2) func(T.Tuple2[A1, A2]) ReaderIOEither[T.Tuple2[T1, T2]]
- func TraverseTuple3[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3) func(T.Tuple3[A1, A2, A3]) ReaderIOEither[T.Tuple3[T1, T2, T3]]
- func TraverseTuple4[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3, f4 F4) func(T.Tuple4[A1, A2, A3, A4]) ReaderIOEither[T.Tuple4[T1, T2, T3, T4]]
- func TraverseTuple5[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5) ...
- func TraverseTuple6[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6) ...
- func TraverseTuple7[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7) ...
- func TraverseTuple8[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8) ...
- func TraverseTuple9[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9) ...
- func WithLock[A any](lock ReaderIOEither[context.CancelFunc]) func(fa ReaderIOEither[A]) ReaderIOEither[A]
- func WithResource[A, R, ANY any](onCreate ReaderIOEither[R], onRelease func(R) ReaderIOEither[ANY]) func(func(R) ReaderIOEither[A]) ReaderIOEither[A]
- type ReaderIOEither
- func Ask() ReaderIOEither[context.Context]
- func Bracket[A, B, ANY any](acquire ReaderIOEither[A], use func(A) ReaderIOEither[B], ...) ReaderIOEither[B]
- func Defer[A any](gen L.Lazy[ReaderIOEither[A]]) ReaderIOEither[A]
- func Flatten[A any](rdr ReaderIOEither[ReaderIOEither[A]]) ReaderIOEither[A]
- func FromEither[A any](e ET.Either[error, A]) ReaderIOEither[A]
- func FromIO[A any](t IO.IO[A]) ReaderIOEither[A]
- func FromIOEither[A any](t IOE.IOEither[error, A]) ReaderIOEither[A]
- func FromLazy[A any](t L.Lazy[A]) ReaderIOEither[A]
- func Left[A any](l error) ReaderIOEither[A]
- func Memoize[A any](rdr ReaderIOEither[A]) ReaderIOEither[A]
- func MonadAlt[A any](first ReaderIOEither[A], second L.Lazy[ReaderIOEither[A]]) ReaderIOEither[A]
- func MonadAp[B, A any](fab ReaderIOEither[func(A) B], fa ReaderIOEither[A]) ReaderIOEither[B]
- func MonadChain[A, B any](ma ReaderIOEither[A], f func(A) ReaderIOEither[B]) ReaderIOEither[B]
- func MonadChainEitherK[A, B any](ma ReaderIOEither[A], f func(A) ET.Either[error, B]) ReaderIOEither[B]
- func MonadChainFirst[A, B any](ma ReaderIOEither[A], f func(A) ReaderIOEither[B]) ReaderIOEither[A]
- func MonadChainFirstEitherK[A, B any](ma ReaderIOEither[A], f func(A) ET.Either[error, B]) ReaderIOEither[A]
- func MonadChainFirstIOK[A, B any](ma ReaderIOEither[A], f func(A) IO.IO[B]) ReaderIOEither[A]
- func MonadChainIOK[A, B any](ma ReaderIOEither[A], f func(A) IO.IO[B]) ReaderIOEither[B]
- func MonadFlap[B, A any](fab ReaderIOEither[func(A) B], a A) ReaderIOEither[B]
- func MonadMap[A, B any](fa ReaderIOEither[A], f func(A) B) ReaderIOEither[B]
- func MonadMapTo[A, B any](fa ReaderIOEither[A], b B) ReaderIOEither[B]
- func Never[A any]() ReaderIOEither[A]
- func Of[A any](a A) ReaderIOEither[A]
- func Right[A any](r A) ReaderIOEither[A]
- func SequenceArray[A any](ma []ReaderIOEither[A]) ReaderIOEither[[]A]
- func SequenceArrayPar[A any](ma []ReaderIOEither[A]) ReaderIOEither[[]A]
- func SequenceArraySeq[A any](ma []ReaderIOEither[A]) ReaderIOEither[[]A]
- func SequenceParT1[T1 any](t1 ReaderIOEither[T1]) ReaderIOEither[T.Tuple1[T1]]
- func SequenceParT10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], ...) ReaderIOEither[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
- func SequenceParT2[T1, T2 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2]) ReaderIOEither[T.Tuple2[T1, T2]]
- func SequenceParT3[T1, T2, T3 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3]) ReaderIOEither[T.Tuple3[T1, T2, T3]]
- func SequenceParT4[T1, T2, T3, T4 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], ...) ReaderIOEither[T.Tuple4[T1, T2, T3, T4]]
- func SequenceParT5[T1, T2, T3, T4, T5 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], ...) ReaderIOEither[T.Tuple5[T1, T2, T3, T4, T5]]
- func SequenceParT6[T1, T2, T3, T4, T5, T6 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], ...) ReaderIOEither[T.Tuple6[T1, T2, T3, T4, T5, T6]]
- func SequenceParT7[T1, T2, T3, T4, T5, T6, T7 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], ...) ReaderIOEither[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]
- func SequenceParT8[T1, T2, T3, T4, T5, T6, T7, T8 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], ...) ReaderIOEither[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
- func SequenceParT9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], ...) ReaderIOEither[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
- func SequenceParTuple1[T1 any](t T.Tuple1[ReaderIOEither[T1]]) ReaderIOEither[T.Tuple1[T1]]
- func SequenceParTuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](...) ReaderIOEither[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
- func SequenceParTuple2[T1, T2 any](t T.Tuple2[ReaderIOEither[T1], ReaderIOEither[T2]]) ReaderIOEither[T.Tuple2[T1, T2]]
- func SequenceParTuple3[T1, T2, T3 any](t T.Tuple3[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3]]) ReaderIOEither[T.Tuple3[T1, T2, T3]]
- func SequenceParTuple4[T1, T2, T3, T4 any](...) ReaderIOEither[T.Tuple4[T1, T2, T3, T4]]
- func SequenceParTuple5[T1, T2, T3, T4, T5 any](...) ReaderIOEither[T.Tuple5[T1, T2, T3, T4, T5]]
- func SequenceParTuple6[T1, T2, T3, T4, T5, T6 any](...) ReaderIOEither[T.Tuple6[T1, T2, T3, T4, T5, T6]]
- func SequenceParTuple7[T1, T2, T3, T4, T5, T6, T7 any](...) ReaderIOEither[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]
- func SequenceParTuple8[T1, T2, T3, T4, T5, T6, T7, T8 any](...) ReaderIOEither[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
- func SequenceParTuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](...) ReaderIOEither[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
- func SequenceRecord[K comparable, A any](ma map[K]ReaderIOEither[A]) ReaderIOEither[map[K]A]
- func SequenceRecordPar[K comparable, A any](ma map[K]ReaderIOEither[A]) ReaderIOEither[map[K]A]
- func SequenceRecordSeq[K comparable, A any](ma map[K]ReaderIOEither[A]) ReaderIOEither[map[K]A]
- func SequenceSeqT1[T1 any](t1 ReaderIOEither[T1]) ReaderIOEither[T.Tuple1[T1]]
- func SequenceSeqT10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], ...) ReaderIOEither[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
- func SequenceSeqT2[T1, T2 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2]) ReaderIOEither[T.Tuple2[T1, T2]]
- func SequenceSeqT3[T1, T2, T3 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3]) ReaderIOEither[T.Tuple3[T1, T2, T3]]
- func SequenceSeqT4[T1, T2, T3, T4 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], ...) ReaderIOEither[T.Tuple4[T1, T2, T3, T4]]
- func SequenceSeqT5[T1, T2, T3, T4, T5 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], ...) ReaderIOEither[T.Tuple5[T1, T2, T3, T4, T5]]
- func SequenceSeqT6[T1, T2, T3, T4, T5, T6 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], ...) ReaderIOEither[T.Tuple6[T1, T2, T3, T4, T5, T6]]
- func SequenceSeqT7[T1, T2, T3, T4, T5, T6, T7 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], ...) ReaderIOEither[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]
- func SequenceSeqT8[T1, T2, T3, T4, T5, T6, T7, T8 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], ...) ReaderIOEither[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
- func SequenceSeqT9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], ...) ReaderIOEither[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
- func SequenceSeqTuple1[T1 any](t T.Tuple1[ReaderIOEither[T1]]) ReaderIOEither[T.Tuple1[T1]]
- func SequenceSeqTuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](...) ReaderIOEither[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
- func SequenceSeqTuple2[T1, T2 any](t T.Tuple2[ReaderIOEither[T1], ReaderIOEither[T2]]) ReaderIOEither[T.Tuple2[T1, T2]]
- func SequenceSeqTuple3[T1, T2, T3 any](t T.Tuple3[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3]]) ReaderIOEither[T.Tuple3[T1, T2, T3]]
- func SequenceSeqTuple4[T1, T2, T3, T4 any](...) ReaderIOEither[T.Tuple4[T1, T2, T3, T4]]
- func SequenceSeqTuple5[T1, T2, T3, T4, T5 any](...) ReaderIOEither[T.Tuple5[T1, T2, T3, T4, T5]]
- func SequenceSeqTuple6[T1, T2, T3, T4, T5, T6 any](...) ReaderIOEither[T.Tuple6[T1, T2, T3, T4, T5, T6]]
- func SequenceSeqTuple7[T1, T2, T3, T4, T5, T6, T7 any](...) ReaderIOEither[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]
- func SequenceSeqTuple8[T1, T2, T3, T4, T5, T6, T7, T8 any](...) ReaderIOEither[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
- func SequenceSeqTuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](...) ReaderIOEither[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
- func SequenceT1[T1 any](t1 ReaderIOEither[T1]) ReaderIOEither[T.Tuple1[T1]]
- func SequenceT10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], ...) ReaderIOEither[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
- func SequenceT2[T1, T2 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2]) ReaderIOEither[T.Tuple2[T1, T2]]
- func SequenceT3[T1, T2, T3 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3]) ReaderIOEither[T.Tuple3[T1, T2, T3]]
- func SequenceT4[T1, T2, T3, T4 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], ...) ReaderIOEither[T.Tuple4[T1, T2, T3, T4]]
- func SequenceT5[T1, T2, T3, T4, T5 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], ...) ReaderIOEither[T.Tuple5[T1, T2, T3, T4, T5]]
- func SequenceT6[T1, T2, T3, T4, T5, T6 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], ...) ReaderIOEither[T.Tuple6[T1, T2, T3, T4, T5, T6]]
- func SequenceT7[T1, T2, T3, T4, T5, T6, T7 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], ...) ReaderIOEither[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]
- func SequenceT8[T1, T2, T3, T4, T5, T6, T7, T8 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], ...) ReaderIOEither[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
- func SequenceT9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], ...) ReaderIOEither[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
- func SequenceTuple1[T1 any](t T.Tuple1[ReaderIOEither[T1]]) ReaderIOEither[T.Tuple1[T1]]
- func SequenceTuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](...) ReaderIOEither[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
- func SequenceTuple2[T1, T2 any](t T.Tuple2[ReaderIOEither[T1], ReaderIOEither[T2]]) ReaderIOEither[T.Tuple2[T1, T2]]
- func SequenceTuple3[T1, T2, T3 any](t T.Tuple3[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3]]) ReaderIOEither[T.Tuple3[T1, T2, T3]]
- func SequenceTuple4[T1, T2, T3, T4 any](...) ReaderIOEither[T.Tuple4[T1, T2, T3, T4]]
- func SequenceTuple5[T1, T2, T3, T4, T5 any](...) ReaderIOEither[T.Tuple5[T1, T2, T3, T4, T5]]
- func SequenceTuple6[T1, T2, T3, T4, T5, T6 any](...) ReaderIOEither[T.Tuple6[T1, T2, T3, T4, T5, T6]]
- func SequenceTuple7[T1, T2, T3, T4, T5, T6, T7 any](...) ReaderIOEither[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]
- func SequenceTuple8[T1, T2, T3, T4, T5, T6, T7, T8 any](...) ReaderIOEither[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
- func SequenceTuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](...) ReaderIOEither[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
- func Timer(delay time.Duration) ReaderIOEither[time.Time]
- func TryCatch[A any](f func(context.Context) func() (A, error)) ReaderIOEither[A]
- func WithContext[A any](ma ReaderIOEither[A]) ReaderIOEither[A]
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Alt ¶ added in v1.0.31
func Alt[A any](second L.Lazy[ReaderIOEither[A]]) func(ReaderIOEither[A]) ReaderIOEither[A]
Alt identifies an associative operation on a type constructor
func AltMonoid ¶ added in v1.0.40
func AltMonoid[A any](zero L.Lazy[ReaderIOEither[A]]) M.Monoid[ReaderIOEither[A]]
AltMonoid is the alternative [Monoid] for an ReaderIOEither
func AltSemigroup ¶ added in v1.0.31
func AltSemigroup[A any]() S.Semigroup[ReaderIOEither[A]]
AltSemigroup is a [Semigroup] that tries the first item and then the second one using an alternative
func AlternativeMonoid ¶ added in v1.0.40
AlternativeMonoid is the alternative [Monoid] for ReaderIOEither
func Ap ¶
func Ap[B, A any](fa ReaderIOEither[A]) func(ReaderIOEither[func(A) B]) ReaderIOEither[B]
func ApplicativeMonoid ¶ added in v1.0.31
ApplicativeMonoid returns a [Monoid] that concatenates ReaderIOEither instances via their applicative
func ApplicativeMonoidPar ¶ added in v1.0.31
ApplicativeMonoidPar returns a [Monoid] that concatenates ReaderIOEither instances via their applicative
func ApplicativeMonoidSeq ¶ added in v1.0.31
ApplicativeMonoidSeq returns a [Monoid] that concatenates ReaderIOEither instances via their applicative
func Chain ¶
func Chain[A, B any](f func(A) ReaderIOEither[B]) func(ReaderIOEither[A]) ReaderIOEither[B]
func ChainEitherK ¶
func ChainEitherK[A, B any](f func(A) ET.Either[error, B]) func(ma ReaderIOEither[A]) ReaderIOEither[B]
func ChainFirst ¶
func ChainFirst[A, B any](f func(A) ReaderIOEither[B]) func(ReaderIOEither[A]) ReaderIOEither[A]
func ChainFirstEitherK ¶
func ChainFirstEitherK[A, B any](f func(A) ET.Either[error, B]) func(ma ReaderIOEither[A]) ReaderIOEither[A]
func ChainFirstIOK ¶
func ChainFirstIOK[A, B any](f func(A) IO.IO[B]) func(ma ReaderIOEither[A]) ReaderIOEither[A]
func ChainIOEitherK ¶
func ChainIOEitherK[A, B any](f func(A) IOE.IOEither[error, B]) func(ma ReaderIOEither[A]) ReaderIOEither[B]
func ChainIOK ¶
func ChainIOK[A, B any](f func(A) IO.IO[B]) func(ma ReaderIOEither[A]) ReaderIOEither[B]
func ChainOptionK ¶
func ChainOptionK[A, B any](onNone func() error) func(func(A) O.Option[B]) func(ReaderIOEither[A]) ReaderIOEither[B]
func Delay ¶
func Delay[A any](delay time.Duration) func(ma ReaderIOEither[A]) ReaderIOEither[A]
Delay creates an operation that passes in the value after some delay
func Eitherize0 ¶
func Eitherize0[F ~func(context.Context) (R, error), R any](f F) func() ReaderIOEither[R]
Eitherize0 converts a function with 0 parameters returning a tuple into a function with 0 parameters returning a [ReaderIOEither[R]] The inverse function is [Uneitherize0]
func Eitherize1 ¶
func Eitherize1[F ~func(context.Context, T0) (R, error), T0, R any](f F) func(T0) ReaderIOEither[R]
Eitherize1 converts a function with 1 parameters returning a tuple into a function with 1 parameters returning a [ReaderIOEither[R]] The inverse function is [Uneitherize1]
func Eitherize10 ¶
func Eitherize10[F ~func(context.Context, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R, error), T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, R any](f F) func(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) ReaderIOEither[R]
Eitherize10 converts a function with 10 parameters returning a tuple into a function with 10 parameters returning a [ReaderIOEither[R]] The inverse function is [Uneitherize10]
func Eitherize2 ¶
func Eitherize2[F ~func(context.Context, T0, T1) (R, error), T0, T1, R any](f F) func(T0, T1) ReaderIOEither[R]
Eitherize2 converts a function with 2 parameters returning a tuple into a function with 2 parameters returning a [ReaderIOEither[R]] The inverse function is [Uneitherize2]
func Eitherize3 ¶
func Eitherize3[F ~func(context.Context, T0, T1, T2) (R, error), T0, T1, T2, R any](f F) func(T0, T1, T2) ReaderIOEither[R]
Eitherize3 converts a function with 3 parameters returning a tuple into a function with 3 parameters returning a [ReaderIOEither[R]] The inverse function is [Uneitherize3]
func Eitherize4 ¶
func Eitherize4[F ~func(context.Context, T0, T1, T2, T3) (R, error), T0, T1, T2, T3, R any](f F) func(T0, T1, T2, T3) ReaderIOEither[R]
Eitherize4 converts a function with 4 parameters returning a tuple into a function with 4 parameters returning a [ReaderIOEither[R]] The inverse function is [Uneitherize4]
func Eitherize5 ¶
func Eitherize5[F ~func(context.Context, T0, T1, T2, T3, T4) (R, error), T0, T1, T2, T3, T4, R any](f F) func(T0, T1, T2, T3, T4) ReaderIOEither[R]
Eitherize5 converts a function with 5 parameters returning a tuple into a function with 5 parameters returning a [ReaderIOEither[R]] The inverse function is [Uneitherize5]
func Eitherize6 ¶
func Eitherize6[F ~func(context.Context, T0, T1, T2, T3, T4, T5) (R, error), T0, T1, T2, T3, T4, T5, R any](f F) func(T0, T1, T2, T3, T4, T5) ReaderIOEither[R]
Eitherize6 converts a function with 6 parameters returning a tuple into a function with 6 parameters returning a [ReaderIOEither[R]] The inverse function is [Uneitherize6]
func Eitherize7 ¶
func Eitherize7[F ~func(context.Context, T0, T1, T2, T3, T4, T5, T6) (R, error), T0, T1, T2, T3, T4, T5, T6, R any](f F) func(T0, T1, T2, T3, T4, T5, T6) ReaderIOEither[R]
Eitherize7 converts a function with 7 parameters returning a tuple into a function with 7 parameters returning a [ReaderIOEither[R]] The inverse function is [Uneitherize7]
func Eitherize8 ¶
func Eitherize8[F ~func(context.Context, T0, T1, T2, T3, T4, T5, T6, T7) (R, error), T0, T1, T2, T3, T4, T5, T6, T7, R any](f F) func(T0, T1, T2, T3, T4, T5, T6, T7) ReaderIOEither[R]
Eitherize8 converts a function with 8 parameters returning a tuple into a function with 8 parameters returning a [ReaderIOEither[R]] The inverse function is [Uneitherize8]
func Eitherize9 ¶
func Eitherize9[F ~func(context.Context, T0, T1, T2, T3, T4, T5, T6, T7, T8) (R, error), T0, T1, T2, T3, T4, T5, T6, T7, T8, R any](f F) func(T0, T1, T2, T3, T4, T5, T6, T7, T8) ReaderIOEither[R]
Eitherize9 converts a function with 9 parameters returning a tuple into a function with 9 parameters returning a [ReaderIOEither[R]] The inverse function is [Uneitherize9]
func Eq ¶
Eq implements the equals predicate for values contained in the ReaderIOEither monad
func Flap ¶ added in v1.0.46
func Flap[B, A any](a A) func(ReaderIOEither[func(A) B]) ReaderIOEither[B]
func FromPredicate ¶
func FromPredicate[A any](pred func(A) bool, onFalse func(A) error) func(A) ReaderIOEither[A]
func Map ¶
func Map[A, B any](f func(A) B) func(ReaderIOEither[A]) ReaderIOEither[B]
func MapTo ¶ added in v1.0.34
func MapTo[A, B any](b B) func(ReaderIOEither[A]) ReaderIOEither[B]
func OrElse ¶
func OrElse[A any](onLeft func(error) ReaderIOEither[A]) func(ReaderIOEither[A]) ReaderIOEither[A]
func TraverseArray ¶
func TraverseArray[A, B any](f func(A) ReaderIOEither[B]) func([]A) ReaderIOEither[[]B]
TraverseArray uses transforms an array [[]A] into [[]ReaderIOEither[B]] and then resolves that into a [ReaderIOEither[[]B]]
func TraverseArrayPar ¶ added in v1.0.61
func TraverseArrayPar[A, B any](f func(A) ReaderIOEither[B]) func([]A) ReaderIOEither[[]B]
TraverseArrayPar uses transforms an array [[]A] into [[]ReaderIOEither[B]] and then resolves that into a [ReaderIOEither[[]B]]
func TraverseArraySeq ¶ added in v1.0.61
func TraverseArraySeq[A, B any](f func(A) ReaderIOEither[B]) func([]A) ReaderIOEither[[]B]
TraverseArraySeq uses transforms an array [[]A] into [[]ReaderIOEither[B]] and then resolves that into a [ReaderIOEither[[]B]]
func TraverseArrayWithIndex ¶ added in v1.0.29
func TraverseArrayWithIndex[A, B any](f func(int, A) ReaderIOEither[B]) func([]A) ReaderIOEither[[]B]
TraverseArrayWithIndex uses transforms an array [[]A] into [[]ReaderIOEither[B]] and then resolves that into a [ReaderIOEither[[]B]]
func TraverseArrayWithIndexPar ¶ added in v1.0.61
func TraverseArrayWithIndexPar[A, B any](f func(int, A) ReaderIOEither[B]) func([]A) ReaderIOEither[[]B]
TraverseArrayWithIndexPar uses transforms an array [[]A] into [[]ReaderIOEither[B]] and then resolves that into a [ReaderIOEither[[]B]]
func TraverseArrayWithIndexSeq ¶ added in v1.0.61
func TraverseArrayWithIndexSeq[A, B any](f func(int, A) ReaderIOEither[B]) func([]A) ReaderIOEither[[]B]
TraverseArrayWithIndexSeq uses transforms an array [[]A] into [[]ReaderIOEither[B]] and then resolves that into a [ReaderIOEither[[]B]]
func TraverseParTuple1 ¶ added in v1.0.4
func TraverseParTuple1[F1 ~func(A1) ReaderIOEither[T1], A1, T1 any](f1 F1) func(T.Tuple1[A1]) ReaderIOEither[T.Tuple1[T1]]
TraverseParTuple1 converts a [T.Tuple1] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple1].
func TraverseParTuple10 ¶ added in v1.0.4
func TraverseParTuple10[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], F4 ~func(A4) ReaderIOEither[T4], F5 ~func(A5) ReaderIOEither[T5], F6 ~func(A6) ReaderIOEither[T6], F7 ~func(A7) ReaderIOEither[T7], F8 ~func(A8) ReaderIOEither[T8], F9 ~func(A9) ReaderIOEither[T9], F10 ~func(A10) ReaderIOEither[T10], A1, T1, A2, T2, A3, T3, A4, T4, A5, T5, A6, T6, A7, T7, A8, T8, A9, T9, A10, T10 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9, f10 F10) func(T.Tuple10[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10]) ReaderIOEither[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
TraverseParTuple10 converts a [T.Tuple10] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple10].
func TraverseParTuple2 ¶ added in v1.0.4
func TraverseParTuple2[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], A1, T1, A2, T2 any](f1 F1, f2 F2) func(T.Tuple2[A1, A2]) ReaderIOEither[T.Tuple2[T1, T2]]
TraverseParTuple2 converts a [T.Tuple2] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple2].
func TraverseParTuple3 ¶ added in v1.0.4
func TraverseParTuple3[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], A1, T1, A2, T2, A3, T3 any](f1 F1, f2 F2, f3 F3) func(T.Tuple3[A1, A2, A3]) ReaderIOEither[T.Tuple3[T1, T2, T3]]
TraverseParTuple3 converts a [T.Tuple3] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple3].
func TraverseParTuple4 ¶ added in v1.0.4
func TraverseParTuple4[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], F4 ~func(A4) ReaderIOEither[T4], A1, T1, A2, T2, A3, T3, A4, T4 any](f1 F1, f2 F2, f3 F3, f4 F4) func(T.Tuple4[A1, A2, A3, A4]) ReaderIOEither[T.Tuple4[T1, T2, T3, T4]]
TraverseParTuple4 converts a [T.Tuple4] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple4].
func TraverseParTuple5 ¶ added in v1.0.4
func TraverseParTuple5[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], F4 ~func(A4) ReaderIOEither[T4], F5 ~func(A5) ReaderIOEither[T5], A1, T1, A2, T2, A3, T3, A4, T4, A5, T5 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5) func(T.Tuple5[A1, A2, A3, A4, A5]) ReaderIOEither[T.Tuple5[T1, T2, T3, T4, T5]]
TraverseParTuple5 converts a [T.Tuple5] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple5].
func TraverseParTuple6 ¶ added in v1.0.4
func TraverseParTuple6[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], F4 ~func(A4) ReaderIOEither[T4], F5 ~func(A5) ReaderIOEither[T5], F6 ~func(A6) ReaderIOEither[T6], A1, T1, A2, T2, A3, T3, A4, T4, A5, T5, A6, T6 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6) func(T.Tuple6[A1, A2, A3, A4, A5, A6]) ReaderIOEither[T.Tuple6[T1, T2, T3, T4, T5, T6]]
TraverseParTuple6 converts a [T.Tuple6] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple6].
func TraverseParTuple7 ¶ added in v1.0.4
func TraverseParTuple7[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], F4 ~func(A4) ReaderIOEither[T4], F5 ~func(A5) ReaderIOEither[T5], F6 ~func(A6) ReaderIOEither[T6], F7 ~func(A7) ReaderIOEither[T7], A1, T1, A2, T2, A3, T3, A4, T4, A5, T5, A6, T6, A7, T7 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7) func(T.Tuple7[A1, A2, A3, A4, A5, A6, A7]) ReaderIOEither[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]
TraverseParTuple7 converts a [T.Tuple7] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple7].
func TraverseParTuple8 ¶ added in v1.0.4
func TraverseParTuple8[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], F4 ~func(A4) ReaderIOEither[T4], F5 ~func(A5) ReaderIOEither[T5], F6 ~func(A6) ReaderIOEither[T6], F7 ~func(A7) ReaderIOEither[T7], F8 ~func(A8) ReaderIOEither[T8], A1, T1, A2, T2, A3, T3, A4, T4, A5, T5, A6, T6, A7, T7, A8, T8 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8) func(T.Tuple8[A1, A2, A3, A4, A5, A6, A7, A8]) ReaderIOEither[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
TraverseParTuple8 converts a [T.Tuple8] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple8].
func TraverseParTuple9 ¶ added in v1.0.4
func TraverseParTuple9[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], F4 ~func(A4) ReaderIOEither[T4], F5 ~func(A5) ReaderIOEither[T5], F6 ~func(A6) ReaderIOEither[T6], F7 ~func(A7) ReaderIOEither[T7], F8 ~func(A8) ReaderIOEither[T8], F9 ~func(A9) ReaderIOEither[T9], A1, T1, A2, T2, A3, T3, A4, T4, A5, T5, A6, T6, A7, T7, A8, T8, A9, T9 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9) func(T.Tuple9[A1, A2, A3, A4, A5, A6, A7, A8, A9]) ReaderIOEither[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
TraverseParTuple9 converts a [T.Tuple9] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple9].
func TraverseRecord ¶
func TraverseRecord[K comparable, A, B any](f func(A) ReaderIOEither[B]) func(map[K]A) ReaderIOEither[map[K]B]
TraverseRecord uses transforms a record [map[K]A] into [map[K]ReaderIOEither[B]] and then resolves that into a [ReaderIOEither[map[K]B]]
func TraverseRecordPar ¶ added in v1.0.61
func TraverseRecordPar[K comparable, A, B any](f func(A) ReaderIOEither[B]) func(map[K]A) ReaderIOEither[map[K]B]
TraverseRecordPar uses transforms a record [map[K]A] into [map[K]ReaderIOEither[B]] and then resolves that into a [ReaderIOEither[map[K]B]]
func TraverseRecordSeq ¶ added in v1.0.61
func TraverseRecordSeq[K comparable, A, B any](f func(A) ReaderIOEither[B]) func(map[K]A) ReaderIOEither[map[K]B]
TraverseRecordSeq uses transforms a record [map[K]A] into [map[K]ReaderIOEither[B]] and then resolves that into a [ReaderIOEither[map[K]B]]
func TraverseRecordWithIndex ¶ added in v1.0.29
func TraverseRecordWithIndex[K comparable, A, B any](f func(K, A) ReaderIOEither[B]) func(map[K]A) ReaderIOEither[map[K]B]
TraverseRecordWithIndex uses transforms a record [map[K]A] into [map[K]ReaderIOEither[B]] and then resolves that into a [ReaderIOEither[map[K]B]]
func TraverseRecordWithIndexPar ¶ added in v1.0.61
func TraverseRecordWithIndexPar[K comparable, A, B any](f func(K, A) ReaderIOEither[B]) func(map[K]A) ReaderIOEither[map[K]B]
TraverseRecordWithIndexPar uses transforms a record [map[K]A] into [map[K]ReaderIOEither[B]] and then resolves that into a [ReaderIOEither[map[K]B]]
func TraverseRecordWithIndexSeq ¶ added in v1.0.61
func TraverseRecordWithIndexSeq[K comparable, A, B any](f func(K, A) ReaderIOEither[B]) func(map[K]A) ReaderIOEither[map[K]B]
TraverseRecordWithIndexSeq uses transforms a record [map[K]A] into [map[K]ReaderIOEither[B]] and then resolves that into a [ReaderIOEither[map[K]B]]
func TraverseSeqTuple1 ¶ added in v1.0.4
func TraverseSeqTuple1[F1 ~func(A1) ReaderIOEither[T1], A1, T1 any](f1 F1) func(T.Tuple1[A1]) ReaderIOEither[T.Tuple1[T1]]
TraverseSeqTuple1 converts a [T.Tuple1] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple1].
func TraverseSeqTuple10 ¶ added in v1.0.4
func TraverseSeqTuple10[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], F4 ~func(A4) ReaderIOEither[T4], F5 ~func(A5) ReaderIOEither[T5], F6 ~func(A6) ReaderIOEither[T6], F7 ~func(A7) ReaderIOEither[T7], F8 ~func(A8) ReaderIOEither[T8], F9 ~func(A9) ReaderIOEither[T9], F10 ~func(A10) ReaderIOEither[T10], A1, T1, A2, T2, A3, T3, A4, T4, A5, T5, A6, T6, A7, T7, A8, T8, A9, T9, A10, T10 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9, f10 F10) func(T.Tuple10[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10]) ReaderIOEither[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
TraverseSeqTuple10 converts a [T.Tuple10] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple10].
func TraverseSeqTuple2 ¶ added in v1.0.4
func TraverseSeqTuple2[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], A1, T1, A2, T2 any](f1 F1, f2 F2) func(T.Tuple2[A1, A2]) ReaderIOEither[T.Tuple2[T1, T2]]
TraverseSeqTuple2 converts a [T.Tuple2] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple2].
func TraverseSeqTuple3 ¶ added in v1.0.4
func TraverseSeqTuple3[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], A1, T1, A2, T2, A3, T3 any](f1 F1, f2 F2, f3 F3) func(T.Tuple3[A1, A2, A3]) ReaderIOEither[T.Tuple3[T1, T2, T3]]
TraverseSeqTuple3 converts a [T.Tuple3] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple3].
func TraverseSeqTuple4 ¶ added in v1.0.4
func TraverseSeqTuple4[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], F4 ~func(A4) ReaderIOEither[T4], A1, T1, A2, T2, A3, T3, A4, T4 any](f1 F1, f2 F2, f3 F3, f4 F4) func(T.Tuple4[A1, A2, A3, A4]) ReaderIOEither[T.Tuple4[T1, T2, T3, T4]]
TraverseSeqTuple4 converts a [T.Tuple4] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple4].
func TraverseSeqTuple5 ¶ added in v1.0.4
func TraverseSeqTuple5[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], F4 ~func(A4) ReaderIOEither[T4], F5 ~func(A5) ReaderIOEither[T5], A1, T1, A2, T2, A3, T3, A4, T4, A5, T5 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5) func(T.Tuple5[A1, A2, A3, A4, A5]) ReaderIOEither[T.Tuple5[T1, T2, T3, T4, T5]]
TraverseSeqTuple5 converts a [T.Tuple5] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple5].
func TraverseSeqTuple6 ¶ added in v1.0.4
func TraverseSeqTuple6[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], F4 ~func(A4) ReaderIOEither[T4], F5 ~func(A5) ReaderIOEither[T5], F6 ~func(A6) ReaderIOEither[T6], A1, T1, A2, T2, A3, T3, A4, T4, A5, T5, A6, T6 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6) func(T.Tuple6[A1, A2, A3, A4, A5, A6]) ReaderIOEither[T.Tuple6[T1, T2, T3, T4, T5, T6]]
TraverseSeqTuple6 converts a [T.Tuple6] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple6].
func TraverseSeqTuple7 ¶ added in v1.0.4
func TraverseSeqTuple7[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], F4 ~func(A4) ReaderIOEither[T4], F5 ~func(A5) ReaderIOEither[T5], F6 ~func(A6) ReaderIOEither[T6], F7 ~func(A7) ReaderIOEither[T7], A1, T1, A2, T2, A3, T3, A4, T4, A5, T5, A6, T6, A7, T7 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7) func(T.Tuple7[A1, A2, A3, A4, A5, A6, A7]) ReaderIOEither[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]
TraverseSeqTuple7 converts a [T.Tuple7] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple7].
func TraverseSeqTuple8 ¶ added in v1.0.4
func TraverseSeqTuple8[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], F4 ~func(A4) ReaderIOEither[T4], F5 ~func(A5) ReaderIOEither[T5], F6 ~func(A6) ReaderIOEither[T6], F7 ~func(A7) ReaderIOEither[T7], F8 ~func(A8) ReaderIOEither[T8], A1, T1, A2, T2, A3, T3, A4, T4, A5, T5, A6, T6, A7, T7, A8, T8 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8) func(T.Tuple8[A1, A2, A3, A4, A5, A6, A7, A8]) ReaderIOEither[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
TraverseSeqTuple8 converts a [T.Tuple8] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple8].
func TraverseSeqTuple9 ¶ added in v1.0.4
func TraverseSeqTuple9[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], F4 ~func(A4) ReaderIOEither[T4], F5 ~func(A5) ReaderIOEither[T5], F6 ~func(A6) ReaderIOEither[T6], F7 ~func(A7) ReaderIOEither[T7], F8 ~func(A8) ReaderIOEither[T8], F9 ~func(A9) ReaderIOEither[T9], A1, T1, A2, T2, A3, T3, A4, T4, A5, T5, A6, T6, A7, T7, A8, T8, A9, T9 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9) func(T.Tuple9[A1, A2, A3, A4, A5, A6, A7, A8, A9]) ReaderIOEither[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
TraverseSeqTuple9 converts a [T.Tuple9] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple9].
func TraverseTuple1 ¶ added in v1.0.4
func TraverseTuple1[F1 ~func(A1) ReaderIOEither[T1], A1, T1 any](f1 F1) func(T.Tuple1[A1]) ReaderIOEither[T.Tuple1[T1]]
TraverseTuple1 converts a [T.Tuple1] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple1].
func TraverseTuple10 ¶ added in v1.0.4
func TraverseTuple10[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], F4 ~func(A4) ReaderIOEither[T4], F5 ~func(A5) ReaderIOEither[T5], F6 ~func(A6) ReaderIOEither[T6], F7 ~func(A7) ReaderIOEither[T7], F8 ~func(A8) ReaderIOEither[T8], F9 ~func(A9) ReaderIOEither[T9], F10 ~func(A10) ReaderIOEither[T10], A1, T1, A2, T2, A3, T3, A4, T4, A5, T5, A6, T6, A7, T7, A8, T8, A9, T9, A10, T10 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9, f10 F10) func(T.Tuple10[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10]) ReaderIOEither[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
TraverseTuple10 converts a [T.Tuple10] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple10].
func TraverseTuple2 ¶ added in v1.0.4
func TraverseTuple2[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], A1, T1, A2, T2 any](f1 F1, f2 F2) func(T.Tuple2[A1, A2]) ReaderIOEither[T.Tuple2[T1, T2]]
TraverseTuple2 converts a [T.Tuple2] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple2].
func TraverseTuple3 ¶ added in v1.0.4
func TraverseTuple3[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], A1, T1, A2, T2, A3, T3 any](f1 F1, f2 F2, f3 F3) func(T.Tuple3[A1, A2, A3]) ReaderIOEither[T.Tuple3[T1, T2, T3]]
TraverseTuple3 converts a [T.Tuple3] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple3].
func TraverseTuple4 ¶ added in v1.0.4
func TraverseTuple4[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], F4 ~func(A4) ReaderIOEither[T4], A1, T1, A2, T2, A3, T3, A4, T4 any](f1 F1, f2 F2, f3 F3, f4 F4) func(T.Tuple4[A1, A2, A3, A4]) ReaderIOEither[T.Tuple4[T1, T2, T3, T4]]
TraverseTuple4 converts a [T.Tuple4] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple4].
func TraverseTuple5 ¶ added in v1.0.4
func TraverseTuple5[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], F4 ~func(A4) ReaderIOEither[T4], F5 ~func(A5) ReaderIOEither[T5], A1, T1, A2, T2, A3, T3, A4, T4, A5, T5 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5) func(T.Tuple5[A1, A2, A3, A4, A5]) ReaderIOEither[T.Tuple5[T1, T2, T3, T4, T5]]
TraverseTuple5 converts a [T.Tuple5] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple5].
func TraverseTuple6 ¶ added in v1.0.4
func TraverseTuple6[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], F4 ~func(A4) ReaderIOEither[T4], F5 ~func(A5) ReaderIOEither[T5], F6 ~func(A6) ReaderIOEither[T6], A1, T1, A2, T2, A3, T3, A4, T4, A5, T5, A6, T6 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6) func(T.Tuple6[A1, A2, A3, A4, A5, A6]) ReaderIOEither[T.Tuple6[T1, T2, T3, T4, T5, T6]]
TraverseTuple6 converts a [T.Tuple6] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple6].
func TraverseTuple7 ¶ added in v1.0.4
func TraverseTuple7[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], F4 ~func(A4) ReaderIOEither[T4], F5 ~func(A5) ReaderIOEither[T5], F6 ~func(A6) ReaderIOEither[T6], F7 ~func(A7) ReaderIOEither[T7], A1, T1, A2, T2, A3, T3, A4, T4, A5, T5, A6, T6, A7, T7 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7) func(T.Tuple7[A1, A2, A3, A4, A5, A6, A7]) ReaderIOEither[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]
TraverseTuple7 converts a [T.Tuple7] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple7].
func TraverseTuple8 ¶ added in v1.0.4
func TraverseTuple8[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], F4 ~func(A4) ReaderIOEither[T4], F5 ~func(A5) ReaderIOEither[T5], F6 ~func(A6) ReaderIOEither[T6], F7 ~func(A7) ReaderIOEither[T7], F8 ~func(A8) ReaderIOEither[T8], A1, T1, A2, T2, A3, T3, A4, T4, A5, T5, A6, T6, A7, T7, A8, T8 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8) func(T.Tuple8[A1, A2, A3, A4, A5, A6, A7, A8]) ReaderIOEither[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
TraverseTuple8 converts a [T.Tuple8] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple8].
func TraverseTuple9 ¶ added in v1.0.4
func TraverseTuple9[F1 ~func(A1) ReaderIOEither[T1], F2 ~func(A2) ReaderIOEither[T2], F3 ~func(A3) ReaderIOEither[T3], F4 ~func(A4) ReaderIOEither[T4], F5 ~func(A5) ReaderIOEither[T5], F6 ~func(A6) ReaderIOEither[T6], F7 ~func(A7) ReaderIOEither[T7], F8 ~func(A8) ReaderIOEither[T8], F9 ~func(A9) ReaderIOEither[T9], A1, T1, A2, T2, A3, T3, A4, T4, A5, T5, A6, T6, A7, T7, A8, T8, A9, T9 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9) func(T.Tuple9[A1, A2, A3, A4, A5, A6, A7, A8, A9]) ReaderIOEither[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
TraverseTuple9 converts a [T.Tuple9] of [A] via transformer functions transforming [A] to a ReaderIOEither into a ReaderIOEither of a [T.Tuple9].
func WithLock ¶ added in v1.0.50
func WithLock[A any](lock ReaderIOEither[context.CancelFunc]) func(fa ReaderIOEither[A]) ReaderIOEither[A]
WithLock executes the provided IO operation in the scope of a lock
func WithResource ¶
func WithResource[A, R, ANY any](onCreate ReaderIOEither[R], onRelease func(R) ReaderIOEither[ANY]) func(func(R) ReaderIOEither[A]) ReaderIOEither[A]
WithResource constructs a function that creates a resource, then operates on it and then releases the resource
Example ¶
package main import ( "context" "io" "os" B "github.com/IBM/fp-go/bytes" F "github.com/IBM/fp-go/function" IO "github.com/IBM/fp-go/io" IOE "github.com/IBM/fp-go/ioeither" ) var ( openFile = F.Flow3( IOE.Eitherize1(os.Open), FromIOEither[*os.File], ChainFirstIOK(F.Flow2( (*os.File).Name, IO.Logf[string]("Opened file [%s]"), )), ) ) func closeFile(f *os.File) ReaderIOEither[string] { return F.Pipe1( TryCatch(func(_ context.Context) func() (string, error) { return func() (string, error) { return f.Name(), f.Close() } }), ChainFirstIOK(IO.Logf[string]("Closed file [%s]")), ) } func main() { stringReader := WithResource[string](openFile("data/file.txt"), closeFile) rdr := stringReader(func(f *os.File) ReaderIOEither[string] { return F.Pipe2( TryCatch(func(_ context.Context) func() ([]byte, error) { return func() ([]byte, error) { return io.ReadAll(f) } }), ChainFirstIOK(F.Flow2( B.Size, IO.Logf[int]("Read content of length [%d]"), )), Map(B.ToString), ) }) contentIOE := F.Pipe2( context.Background(), rdr, IOE.ChainFirstIOK[error](IO.Printf[string]("Content: %s")), ) contentIOE() }
Output: Content: Carsten
Types ¶
type ReaderIOEither ¶
ReaderIOEither is a specialization of the [RE.ReaderIOEither] monad for the typical golang scenario in which the left value is an [error] and the context is a context.Context
func Ask ¶
func Ask() ReaderIOEither[context.Context]
func Bracket ¶ added in v1.0.50
func Bracket[ A, B, ANY any]( acquire ReaderIOEither[A], use func(A) ReaderIOEither[B], release func(A, E.Either[error, B]) ReaderIOEither[ANY], ) ReaderIOEither[B]
Bracket makes sure that a resource is cleaned up in the event of an error. The release action is called regardless of whether the body action returns and error or not.
func Defer ¶
func Defer[A any](gen L.Lazy[ReaderIOEither[A]]) ReaderIOEither[A]
Defer creates an IO by creating a brand new IO via a generator function, each time
func Flatten ¶ added in v1.0.37
func Flatten[ A any](rdr ReaderIOEither[ReaderIOEither[A]]) ReaderIOEither[A]
Flatten converts a nested ReaderIOEither into a ReaderIOEither
func FromEither ¶
func FromEither[A any](e ET.Either[error, A]) ReaderIOEither[A]
func FromIOEither ¶
func FromIOEither[A any](t IOE.IOEither[error, A]) ReaderIOEither[A]
func Left ¶
func Left[A any](l error) ReaderIOEither[A]
func Memoize ¶ added in v1.0.36
func Memoize[A any](rdr ReaderIOEither[A]) ReaderIOEither[A]
Memoize computes the value of the provided ReaderIOEither monad lazily but exactly once The context used to compute the value is the context of the first call, so do not use this method if the value has a functional dependency on the content of the context
func MonadAlt ¶ added in v1.0.31
func MonadAlt[A any](first ReaderIOEither[A], second L.Lazy[ReaderIOEither[A]]) ReaderIOEither[A]
MonadAlt identifies an associative operation on a type constructor
func MonadAp ¶
func MonadAp[B, A any](fab ReaderIOEither[func(A) B], fa ReaderIOEither[A]) ReaderIOEither[B]
MonadAp implements the `Ap` function for a reader with context. It creates a sub-context that will be canceled if any of the input operations errors out or
func MonadChain ¶
func MonadChain[A, B any](ma ReaderIOEither[A], f func(A) ReaderIOEither[B]) ReaderIOEither[B]
func MonadChainEitherK ¶
func MonadChainEitherK[A, B any](ma ReaderIOEither[A], f func(A) ET.Either[error, B]) ReaderIOEither[B]
func MonadChainFirst ¶
func MonadChainFirst[A, B any](ma ReaderIOEither[A], f func(A) ReaderIOEither[B]) ReaderIOEither[A]
func MonadChainFirstEitherK ¶
func MonadChainFirstEitherK[A, B any](ma ReaderIOEither[A], f func(A) ET.Either[error, B]) ReaderIOEither[A]
func MonadChainFirstIOK ¶
func MonadChainFirstIOK[A, B any](ma ReaderIOEither[A], f func(A) IO.IO[B]) ReaderIOEither[A]
func MonadChainIOK ¶
func MonadChainIOK[A, B any](ma ReaderIOEither[A], f func(A) IO.IO[B]) ReaderIOEither[B]
func MonadFlap ¶ added in v1.0.46
func MonadFlap[B, A any](fab ReaderIOEither[func(A) B], a A) ReaderIOEither[B]
func MonadMap ¶
func MonadMap[A, B any](fa ReaderIOEither[A], f func(A) B) ReaderIOEither[B]
func MonadMapTo ¶ added in v1.0.34
func MonadMapTo[A, B any](fa ReaderIOEither[A], b B) ReaderIOEither[B]
func Never ¶
func Never[A any]() ReaderIOEither[A]
Never returns a 'ReaderIOEither' that never returns, except if its context gets canceled
func Of ¶
func Of[A any](a A) ReaderIOEither[A]
func Right ¶
func Right[A any](r A) ReaderIOEither[A]
func SequenceArray ¶
func SequenceArray[A any](ma []ReaderIOEither[A]) ReaderIOEither[[]A]
SequenceArray converts a homogeneous sequence of either into an either of sequence
func SequenceArrayPar ¶ added in v1.0.61
func SequenceArrayPar[A any](ma []ReaderIOEither[A]) ReaderIOEither[[]A]
SequenceArrayPar converts a homogeneous sequence of either into an either of sequence
func SequenceArraySeq ¶ added in v1.0.61
func SequenceArraySeq[A any](ma []ReaderIOEither[A]) ReaderIOEither[[]A]
SequenceArraySeq converts a homogeneous sequence of either into an either of sequence
func SequenceParT1 ¶ added in v1.0.4
func SequenceParT1[T1 any](t1 ReaderIOEither[T1]) ReaderIOEither[T.Tuple1[T1]]
SequenceParT1 converts 1 ReaderIOEither into a ReaderIOEither of a [T.Tuple1].
func SequenceParT10 ¶ added in v1.0.4
func SequenceParT10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], t4 ReaderIOEither[T4], t5 ReaderIOEither[T5], t6 ReaderIOEither[T6], t7 ReaderIOEither[T7], t8 ReaderIOEither[T8], t9 ReaderIOEither[T9], t10 ReaderIOEither[T10]) ReaderIOEither[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
SequenceParT10 converts 10 ReaderIOEither into a ReaderIOEither of a [T.Tuple10].
func SequenceParT2 ¶ added in v1.0.4
func SequenceParT2[T1, T2 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2]) ReaderIOEither[T.Tuple2[T1, T2]]
SequenceParT2 converts 2 ReaderIOEither into a ReaderIOEither of a [T.Tuple2].
func SequenceParT3 ¶ added in v1.0.4
func SequenceParT3[T1, T2, T3 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3]) ReaderIOEither[T.Tuple3[T1, T2, T3]]
SequenceParT3 converts 3 ReaderIOEither into a ReaderIOEither of a [T.Tuple3].
func SequenceParT4 ¶ added in v1.0.4
func SequenceParT4[T1, T2, T3, T4 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], t4 ReaderIOEither[T4]) ReaderIOEither[T.Tuple4[T1, T2, T3, T4]]
SequenceParT4 converts 4 ReaderIOEither into a ReaderIOEither of a [T.Tuple4].
func SequenceParT5 ¶ added in v1.0.4
func SequenceParT5[T1, T2, T3, T4, T5 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], t4 ReaderIOEither[T4], t5 ReaderIOEither[T5]) ReaderIOEither[T.Tuple5[T1, T2, T3, T4, T5]]
SequenceParT5 converts 5 ReaderIOEither into a ReaderIOEither of a [T.Tuple5].
func SequenceParT6 ¶ added in v1.0.4
func SequenceParT6[T1, T2, T3, T4, T5, T6 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], t4 ReaderIOEither[T4], t5 ReaderIOEither[T5], t6 ReaderIOEither[T6]) ReaderIOEither[T.Tuple6[T1, T2, T3, T4, T5, T6]]
SequenceParT6 converts 6 ReaderIOEither into a ReaderIOEither of a [T.Tuple6].
func SequenceParT7 ¶ added in v1.0.4
func SequenceParT7[T1, T2, T3, T4, T5, T6, T7 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], t4 ReaderIOEither[T4], t5 ReaderIOEither[T5], t6 ReaderIOEither[T6], t7 ReaderIOEither[T7]) ReaderIOEither[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]
SequenceParT7 converts 7 ReaderIOEither into a ReaderIOEither of a [T.Tuple7].
func SequenceParT8 ¶ added in v1.0.4
func SequenceParT8[T1, T2, T3, T4, T5, T6, T7, T8 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], t4 ReaderIOEither[T4], t5 ReaderIOEither[T5], t6 ReaderIOEither[T6], t7 ReaderIOEither[T7], t8 ReaderIOEither[T8]) ReaderIOEither[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
SequenceParT8 converts 8 ReaderIOEither into a ReaderIOEither of a [T.Tuple8].
func SequenceParT9 ¶ added in v1.0.4
func SequenceParT9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], t4 ReaderIOEither[T4], t5 ReaderIOEither[T5], t6 ReaderIOEither[T6], t7 ReaderIOEither[T7], t8 ReaderIOEither[T8], t9 ReaderIOEither[T9]) ReaderIOEither[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
SequenceParT9 converts 9 ReaderIOEither into a ReaderIOEither of a [T.Tuple9].
func SequenceParTuple1 ¶ added in v1.0.4
func SequenceParTuple1[T1 any](t T.Tuple1[ReaderIOEither[T1]]) ReaderIOEither[T.Tuple1[T1]]
SequenceParTuple1 converts a [T.Tuple1] of ReaderIOEither into a ReaderIOEither of a [T.Tuple1].
func SequenceParTuple10 ¶ added in v1.0.4
func SequenceParTuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](t T.Tuple10[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3], ReaderIOEither[T4], ReaderIOEither[T5], ReaderIOEither[T6], ReaderIOEither[T7], ReaderIOEither[T8], ReaderIOEither[T9], ReaderIOEither[T10]]) ReaderIOEither[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
SequenceParTuple10 converts a [T.Tuple10] of ReaderIOEither into a ReaderIOEither of a [T.Tuple10].
func SequenceParTuple2 ¶ added in v1.0.4
func SequenceParTuple2[T1, T2 any](t T.Tuple2[ReaderIOEither[T1], ReaderIOEither[T2]]) ReaderIOEither[T.Tuple2[T1, T2]]
SequenceParTuple2 converts a [T.Tuple2] of ReaderIOEither into a ReaderIOEither of a [T.Tuple2].
func SequenceParTuple3 ¶ added in v1.0.4
func SequenceParTuple3[T1, T2, T3 any](t T.Tuple3[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3]]) ReaderIOEither[T.Tuple3[T1, T2, T3]]
SequenceParTuple3 converts a [T.Tuple3] of ReaderIOEither into a ReaderIOEither of a [T.Tuple3].
func SequenceParTuple4 ¶ added in v1.0.4
func SequenceParTuple4[T1, T2, T3, T4 any](t T.Tuple4[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3], ReaderIOEither[T4]]) ReaderIOEither[T.Tuple4[T1, T2, T3, T4]]
SequenceParTuple4 converts a [T.Tuple4] of ReaderIOEither into a ReaderIOEither of a [T.Tuple4].
func SequenceParTuple5 ¶ added in v1.0.4
func SequenceParTuple5[T1, T2, T3, T4, T5 any](t T.Tuple5[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3], ReaderIOEither[T4], ReaderIOEither[T5]]) ReaderIOEither[T.Tuple5[T1, T2, T3, T4, T5]]
SequenceParTuple5 converts a [T.Tuple5] of ReaderIOEither into a ReaderIOEither of a [T.Tuple5].
func SequenceParTuple6 ¶ added in v1.0.4
func SequenceParTuple6[T1, T2, T3, T4, T5, T6 any](t T.Tuple6[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3], ReaderIOEither[T4], ReaderIOEither[T5], ReaderIOEither[T6]]) ReaderIOEither[T.Tuple6[T1, T2, T3, T4, T5, T6]]
SequenceParTuple6 converts a [T.Tuple6] of ReaderIOEither into a ReaderIOEither of a [T.Tuple6].
func SequenceParTuple7 ¶ added in v1.0.4
func SequenceParTuple7[T1, T2, T3, T4, T5, T6, T7 any](t T.Tuple7[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3], ReaderIOEither[T4], ReaderIOEither[T5], ReaderIOEither[T6], ReaderIOEither[T7]]) ReaderIOEither[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]
SequenceParTuple7 converts a [T.Tuple7] of ReaderIOEither into a ReaderIOEither of a [T.Tuple7].
func SequenceParTuple8 ¶ added in v1.0.4
func SequenceParTuple8[T1, T2, T3, T4, T5, T6, T7, T8 any](t T.Tuple8[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3], ReaderIOEither[T4], ReaderIOEither[T5], ReaderIOEither[T6], ReaderIOEither[T7], ReaderIOEither[T8]]) ReaderIOEither[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
SequenceParTuple8 converts a [T.Tuple8] of ReaderIOEither into a ReaderIOEither of a [T.Tuple8].
func SequenceParTuple9 ¶ added in v1.0.4
func SequenceParTuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](t T.Tuple9[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3], ReaderIOEither[T4], ReaderIOEither[T5], ReaderIOEither[T6], ReaderIOEither[T7], ReaderIOEither[T8], ReaderIOEither[T9]]) ReaderIOEither[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
SequenceParTuple9 converts a [T.Tuple9] of ReaderIOEither into a ReaderIOEither of a [T.Tuple9].
func SequenceRecord ¶
func SequenceRecord[K comparable, A any](ma map[K]ReaderIOEither[A]) ReaderIOEither[map[K]A]
SequenceRecord converts a homogeneous sequence of either into an either of sequence
func SequenceRecordPar ¶ added in v1.0.61
func SequenceRecordPar[K comparable, A any](ma map[K]ReaderIOEither[A]) ReaderIOEither[map[K]A]
SequenceRecordPar converts a homogeneous sequence of either into an either of sequence
func SequenceRecordSeq ¶ added in v1.0.61
func SequenceRecordSeq[K comparable, A any](ma map[K]ReaderIOEither[A]) ReaderIOEither[map[K]A]
SequenceRecordSeq converts a homogeneous sequence of either into an either of sequence
func SequenceSeqT1 ¶ added in v1.0.4
func SequenceSeqT1[T1 any](t1 ReaderIOEither[T1]) ReaderIOEither[T.Tuple1[T1]]
SequenceSeqT1 converts 1 ReaderIOEither into a ReaderIOEither of a [T.Tuple1].
func SequenceSeqT10 ¶ added in v1.0.4
func SequenceSeqT10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], t4 ReaderIOEither[T4], t5 ReaderIOEither[T5], t6 ReaderIOEither[T6], t7 ReaderIOEither[T7], t8 ReaderIOEither[T8], t9 ReaderIOEither[T9], t10 ReaderIOEither[T10]) ReaderIOEither[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
SequenceSeqT10 converts 10 ReaderIOEither into a ReaderIOEither of a [T.Tuple10].
func SequenceSeqT2 ¶ added in v1.0.4
func SequenceSeqT2[T1, T2 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2]) ReaderIOEither[T.Tuple2[T1, T2]]
SequenceSeqT2 converts 2 ReaderIOEither into a ReaderIOEither of a [T.Tuple2].
func SequenceSeqT3 ¶ added in v1.0.4
func SequenceSeqT3[T1, T2, T3 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3]) ReaderIOEither[T.Tuple3[T1, T2, T3]]
SequenceSeqT3 converts 3 ReaderIOEither into a ReaderIOEither of a [T.Tuple3].
func SequenceSeqT4 ¶ added in v1.0.4
func SequenceSeqT4[T1, T2, T3, T4 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], t4 ReaderIOEither[T4]) ReaderIOEither[T.Tuple4[T1, T2, T3, T4]]
SequenceSeqT4 converts 4 ReaderIOEither into a ReaderIOEither of a [T.Tuple4].
func SequenceSeqT5 ¶ added in v1.0.4
func SequenceSeqT5[T1, T2, T3, T4, T5 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], t4 ReaderIOEither[T4], t5 ReaderIOEither[T5]) ReaderIOEither[T.Tuple5[T1, T2, T3, T4, T5]]
SequenceSeqT5 converts 5 ReaderIOEither into a ReaderIOEither of a [T.Tuple5].
func SequenceSeqT6 ¶ added in v1.0.4
func SequenceSeqT6[T1, T2, T3, T4, T5, T6 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], t4 ReaderIOEither[T4], t5 ReaderIOEither[T5], t6 ReaderIOEither[T6]) ReaderIOEither[T.Tuple6[T1, T2, T3, T4, T5, T6]]
SequenceSeqT6 converts 6 ReaderIOEither into a ReaderIOEither of a [T.Tuple6].
func SequenceSeqT7 ¶ added in v1.0.4
func SequenceSeqT7[T1, T2, T3, T4, T5, T6, T7 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], t4 ReaderIOEither[T4], t5 ReaderIOEither[T5], t6 ReaderIOEither[T6], t7 ReaderIOEither[T7]) ReaderIOEither[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]
SequenceSeqT7 converts 7 ReaderIOEither into a ReaderIOEither of a [T.Tuple7].
func SequenceSeqT8 ¶ added in v1.0.4
func SequenceSeqT8[T1, T2, T3, T4, T5, T6, T7, T8 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], t4 ReaderIOEither[T4], t5 ReaderIOEither[T5], t6 ReaderIOEither[T6], t7 ReaderIOEither[T7], t8 ReaderIOEither[T8]) ReaderIOEither[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
SequenceSeqT8 converts 8 ReaderIOEither into a ReaderIOEither of a [T.Tuple8].
func SequenceSeqT9 ¶ added in v1.0.4
func SequenceSeqT9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], t4 ReaderIOEither[T4], t5 ReaderIOEither[T5], t6 ReaderIOEither[T6], t7 ReaderIOEither[T7], t8 ReaderIOEither[T8], t9 ReaderIOEither[T9]) ReaderIOEither[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
SequenceSeqT9 converts 9 ReaderIOEither into a ReaderIOEither of a [T.Tuple9].
func SequenceSeqTuple1 ¶ added in v1.0.4
func SequenceSeqTuple1[T1 any](t T.Tuple1[ReaderIOEither[T1]]) ReaderIOEither[T.Tuple1[T1]]
SequenceSeqTuple1 converts a [T.Tuple1] of ReaderIOEither into a ReaderIOEither of a [T.Tuple1].
func SequenceSeqTuple10 ¶ added in v1.0.4
func SequenceSeqTuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](t T.Tuple10[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3], ReaderIOEither[T4], ReaderIOEither[T5], ReaderIOEither[T6], ReaderIOEither[T7], ReaderIOEither[T8], ReaderIOEither[T9], ReaderIOEither[T10]]) ReaderIOEither[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
SequenceSeqTuple10 converts a [T.Tuple10] of ReaderIOEither into a ReaderIOEither of a [T.Tuple10].
func SequenceSeqTuple2 ¶ added in v1.0.4
func SequenceSeqTuple2[T1, T2 any](t T.Tuple2[ReaderIOEither[T1], ReaderIOEither[T2]]) ReaderIOEither[T.Tuple2[T1, T2]]
SequenceSeqTuple2 converts a [T.Tuple2] of ReaderIOEither into a ReaderIOEither of a [T.Tuple2].
func SequenceSeqTuple3 ¶ added in v1.0.4
func SequenceSeqTuple3[T1, T2, T3 any](t T.Tuple3[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3]]) ReaderIOEither[T.Tuple3[T1, T2, T3]]
SequenceSeqTuple3 converts a [T.Tuple3] of ReaderIOEither into a ReaderIOEither of a [T.Tuple3].
func SequenceSeqTuple4 ¶ added in v1.0.4
func SequenceSeqTuple4[T1, T2, T3, T4 any](t T.Tuple4[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3], ReaderIOEither[T4]]) ReaderIOEither[T.Tuple4[T1, T2, T3, T4]]
SequenceSeqTuple4 converts a [T.Tuple4] of ReaderIOEither into a ReaderIOEither of a [T.Tuple4].
func SequenceSeqTuple5 ¶ added in v1.0.4
func SequenceSeqTuple5[T1, T2, T3, T4, T5 any](t T.Tuple5[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3], ReaderIOEither[T4], ReaderIOEither[T5]]) ReaderIOEither[T.Tuple5[T1, T2, T3, T4, T5]]
SequenceSeqTuple5 converts a [T.Tuple5] of ReaderIOEither into a ReaderIOEither of a [T.Tuple5].
func SequenceSeqTuple6 ¶ added in v1.0.4
func SequenceSeqTuple6[T1, T2, T3, T4, T5, T6 any](t T.Tuple6[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3], ReaderIOEither[T4], ReaderIOEither[T5], ReaderIOEither[T6]]) ReaderIOEither[T.Tuple6[T1, T2, T3, T4, T5, T6]]
SequenceSeqTuple6 converts a [T.Tuple6] of ReaderIOEither into a ReaderIOEither of a [T.Tuple6].
func SequenceSeqTuple7 ¶ added in v1.0.4
func SequenceSeqTuple7[T1, T2, T3, T4, T5, T6, T7 any](t T.Tuple7[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3], ReaderIOEither[T4], ReaderIOEither[T5], ReaderIOEither[T6], ReaderIOEither[T7]]) ReaderIOEither[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]
SequenceSeqTuple7 converts a [T.Tuple7] of ReaderIOEither into a ReaderIOEither of a [T.Tuple7].
func SequenceSeqTuple8 ¶ added in v1.0.4
func SequenceSeqTuple8[T1, T2, T3, T4, T5, T6, T7, T8 any](t T.Tuple8[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3], ReaderIOEither[T4], ReaderIOEither[T5], ReaderIOEither[T6], ReaderIOEither[T7], ReaderIOEither[T8]]) ReaderIOEither[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
SequenceSeqTuple8 converts a [T.Tuple8] of ReaderIOEither into a ReaderIOEither of a [T.Tuple8].
func SequenceSeqTuple9 ¶ added in v1.0.4
func SequenceSeqTuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](t T.Tuple9[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3], ReaderIOEither[T4], ReaderIOEither[T5], ReaderIOEither[T6], ReaderIOEither[T7], ReaderIOEither[T8], ReaderIOEither[T9]]) ReaderIOEither[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
SequenceSeqTuple9 converts a [T.Tuple9] of ReaderIOEither into a ReaderIOEither of a [T.Tuple9].
func SequenceT1 ¶
func SequenceT1[T1 any](t1 ReaderIOEither[T1]) ReaderIOEither[T.Tuple1[T1]]
SequenceT1 converts 1 ReaderIOEither into a ReaderIOEither of a [T.Tuple1].
func SequenceT10 ¶ added in v1.0.4
func SequenceT10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], t4 ReaderIOEither[T4], t5 ReaderIOEither[T5], t6 ReaderIOEither[T6], t7 ReaderIOEither[T7], t8 ReaderIOEither[T8], t9 ReaderIOEither[T9], t10 ReaderIOEither[T10]) ReaderIOEither[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
SequenceT10 converts 10 ReaderIOEither into a ReaderIOEither of a [T.Tuple10].
func SequenceT2 ¶
func SequenceT2[T1, T2 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2]) ReaderIOEither[T.Tuple2[T1, T2]]
SequenceT2 converts 2 ReaderIOEither into a ReaderIOEither of a [T.Tuple2].
func SequenceT3 ¶
func SequenceT3[T1, T2, T3 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3]) ReaderIOEither[T.Tuple3[T1, T2, T3]]
SequenceT3 converts 3 ReaderIOEither into a ReaderIOEither of a [T.Tuple3].
func SequenceT4 ¶
func SequenceT4[T1, T2, T3, T4 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], t4 ReaderIOEither[T4]) ReaderIOEither[T.Tuple4[T1, T2, T3, T4]]
SequenceT4 converts 4 ReaderIOEither into a ReaderIOEither of a [T.Tuple4].
func SequenceT5 ¶ added in v1.0.4
func SequenceT5[T1, T2, T3, T4, T5 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], t4 ReaderIOEither[T4], t5 ReaderIOEither[T5]) ReaderIOEither[T.Tuple5[T1, T2, T3, T4, T5]]
SequenceT5 converts 5 ReaderIOEither into a ReaderIOEither of a [T.Tuple5].
func SequenceT6 ¶ added in v1.0.4
func SequenceT6[T1, T2, T3, T4, T5, T6 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], t4 ReaderIOEither[T4], t5 ReaderIOEither[T5], t6 ReaderIOEither[T6]) ReaderIOEither[T.Tuple6[T1, T2, T3, T4, T5, T6]]
SequenceT6 converts 6 ReaderIOEither into a ReaderIOEither of a [T.Tuple6].
func SequenceT7 ¶ added in v1.0.4
func SequenceT7[T1, T2, T3, T4, T5, T6, T7 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], t4 ReaderIOEither[T4], t5 ReaderIOEither[T5], t6 ReaderIOEither[T6], t7 ReaderIOEither[T7]) ReaderIOEither[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]
SequenceT7 converts 7 ReaderIOEither into a ReaderIOEither of a [T.Tuple7].
func SequenceT8 ¶ added in v1.0.4
func SequenceT8[T1, T2, T3, T4, T5, T6, T7, T8 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], t4 ReaderIOEither[T4], t5 ReaderIOEither[T5], t6 ReaderIOEither[T6], t7 ReaderIOEither[T7], t8 ReaderIOEither[T8]) ReaderIOEither[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
SequenceT8 converts 8 ReaderIOEither into a ReaderIOEither of a [T.Tuple8].
func SequenceT9 ¶ added in v1.0.4
func SequenceT9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](t1 ReaderIOEither[T1], t2 ReaderIOEither[T2], t3 ReaderIOEither[T3], t4 ReaderIOEither[T4], t5 ReaderIOEither[T5], t6 ReaderIOEither[T6], t7 ReaderIOEither[T7], t8 ReaderIOEither[T8], t9 ReaderIOEither[T9]) ReaderIOEither[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
SequenceT9 converts 9 ReaderIOEither into a ReaderIOEither of a [T.Tuple9].
func SequenceTuple1 ¶ added in v1.0.4
func SequenceTuple1[T1 any](t T.Tuple1[ReaderIOEither[T1]]) ReaderIOEither[T.Tuple1[T1]]
SequenceTuple1 converts a [T.Tuple1] of ReaderIOEither into a ReaderIOEither of a [T.Tuple1].
func SequenceTuple10 ¶ added in v1.0.4
func SequenceTuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](t T.Tuple10[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3], ReaderIOEither[T4], ReaderIOEither[T5], ReaderIOEither[T6], ReaderIOEither[T7], ReaderIOEither[T8], ReaderIOEither[T9], ReaderIOEither[T10]]) ReaderIOEither[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
SequenceTuple10 converts a [T.Tuple10] of ReaderIOEither into a ReaderIOEither of a [T.Tuple10].
func SequenceTuple2 ¶ added in v1.0.4
func SequenceTuple2[T1, T2 any](t T.Tuple2[ReaderIOEither[T1], ReaderIOEither[T2]]) ReaderIOEither[T.Tuple2[T1, T2]]
SequenceTuple2 converts a [T.Tuple2] of ReaderIOEither into a ReaderIOEither of a [T.Tuple2].
func SequenceTuple3 ¶ added in v1.0.4
func SequenceTuple3[T1, T2, T3 any](t T.Tuple3[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3]]) ReaderIOEither[T.Tuple3[T1, T2, T3]]
SequenceTuple3 converts a [T.Tuple3] of ReaderIOEither into a ReaderIOEither of a [T.Tuple3].
func SequenceTuple4 ¶ added in v1.0.4
func SequenceTuple4[T1, T2, T3, T4 any](t T.Tuple4[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3], ReaderIOEither[T4]]) ReaderIOEither[T.Tuple4[T1, T2, T3, T4]]
SequenceTuple4 converts a [T.Tuple4] of ReaderIOEither into a ReaderIOEither of a [T.Tuple4].
func SequenceTuple5 ¶ added in v1.0.4
func SequenceTuple5[T1, T2, T3, T4, T5 any](t T.Tuple5[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3], ReaderIOEither[T4], ReaderIOEither[T5]]) ReaderIOEither[T.Tuple5[T1, T2, T3, T4, T5]]
SequenceTuple5 converts a [T.Tuple5] of ReaderIOEither into a ReaderIOEither of a [T.Tuple5].
func SequenceTuple6 ¶ added in v1.0.4
func SequenceTuple6[T1, T2, T3, T4, T5, T6 any](t T.Tuple6[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3], ReaderIOEither[T4], ReaderIOEither[T5], ReaderIOEither[T6]]) ReaderIOEither[T.Tuple6[T1, T2, T3, T4, T5, T6]]
SequenceTuple6 converts a [T.Tuple6] of ReaderIOEither into a ReaderIOEither of a [T.Tuple6].
func SequenceTuple7 ¶ added in v1.0.4
func SequenceTuple7[T1, T2, T3, T4, T5, T6, T7 any](t T.Tuple7[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3], ReaderIOEither[T4], ReaderIOEither[T5], ReaderIOEither[T6], ReaderIOEither[T7]]) ReaderIOEither[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]
SequenceTuple7 converts a [T.Tuple7] of ReaderIOEither into a ReaderIOEither of a [T.Tuple7].
func SequenceTuple8 ¶ added in v1.0.4
func SequenceTuple8[T1, T2, T3, T4, T5, T6, T7, T8 any](t T.Tuple8[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3], ReaderIOEither[T4], ReaderIOEither[T5], ReaderIOEither[T6], ReaderIOEither[T7], ReaderIOEither[T8]]) ReaderIOEither[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
SequenceTuple8 converts a [T.Tuple8] of ReaderIOEither into a ReaderIOEither of a [T.Tuple8].
func SequenceTuple9 ¶ added in v1.0.4
func SequenceTuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](t T.Tuple9[ReaderIOEither[T1], ReaderIOEither[T2], ReaderIOEither[T3], ReaderIOEither[T4], ReaderIOEither[T5], ReaderIOEither[T6], ReaderIOEither[T7], ReaderIOEither[T8], ReaderIOEither[T9]]) ReaderIOEither[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
SequenceTuple9 converts a [T.Tuple9] of ReaderIOEither into a ReaderIOEither of a [T.Tuple9].
func Timer ¶
func Timer(delay time.Duration) ReaderIOEither[time.Time]
Timer will return the current time after an initial delay
func TryCatch ¶
func TryCatch[A any](f func(context.Context) func() (A, error)) ReaderIOEither[A]
TryCatch wraps a reader returning a tuple as an error into ReaderIOEither
func WithContext ¶
func WithContext[A any](ma ReaderIOEither[A]) ReaderIOEither[A]
WithContext wraps an existing ReaderIOEither and performs a context check for cancellation before delegating