mirror of
https://github.com/IBM/fp-go.git
synced 2025-08-10 22:31:32 +02:00
fix: generic parameter order for ChainTo
Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com>
This commit is contained in:
@@ -89,7 +89,7 @@ func MonadChainFirst[E, A, B any](ma Either[E, A], f func(a A) Either[E, B]) Eit
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func MonadChainTo[E, A, B any](ma Either[E, A], mb Either[E, B]) Either[E, B] {
|
func MonadChainTo[A, E, B any](ma Either[E, A], mb Either[E, B]) Either[E, B] {
|
||||||
return mb
|
return mb
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,8 +104,8 @@ func ChainOptionK[A, B, E any](onNone func() E) func(func(A) O.Option[B]) func(E
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func ChainTo[E, A, B any](mb Either[E, B]) func(Either[E, A]) Either[E, B] {
|
func ChainTo[A, E, B any](mb Either[E, B]) func(Either[E, A]) Either[E, B] {
|
||||||
return F.Bind2nd(MonadChainTo[E, A, B], mb)
|
return F.Bind2nd(MonadChainTo[A, E, B], mb)
|
||||||
}
|
}
|
||||||
|
|
||||||
func Chain[E, A, B any](f func(a A) Either[E, B]) func(Either[E, A]) Either[E, B] {
|
func Chain[E, A, B any](f func(a A) Either[E, B]) func(Either[E, A]) Either[E, B] {
|
||||||
|
@@ -41,7 +41,7 @@ func Logger[E, A any](loggers ...*log.Logger) func(string) func(Either[E, A]) Ei
|
|||||||
return func(ma Either[E, A]) Either[E, A] {
|
return func(ma Either[E, A]) Either[E, A] {
|
||||||
return F.Pipe1(
|
return F.Pipe1(
|
||||||
delegate(ma),
|
delegate(ma),
|
||||||
ChainTo[E, A](ma),
|
ChainTo[A](ma),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -197,12 +197,12 @@ func GetOrElse[E, A any](onLeft func(E) I.IO[A]) func(IOEither[E, A]) I.IO[A] {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// MonadChainTo composes to the second monad ignoring the return value of the first
|
// MonadChainTo composes to the second monad ignoring the return value of the first
|
||||||
func MonadChainTo[E, A, B any](fa IOEither[E, A], fb IOEither[E, B]) IOEither[E, B] {
|
func MonadChainTo[A, E, B any](fa IOEither[E, A], fb IOEither[E, B]) IOEither[E, B] {
|
||||||
return G.MonadChainTo(fa, fb)
|
return G.MonadChainTo(fa, fb)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ChainTo composes to the second [IOEither] monad ignoring the return value of the first
|
// ChainTo composes to the second [IOEither] monad ignoring the return value of the first
|
||||||
func ChainTo[E, A, B any](fb IOEither[E, B]) func(IOEither[E, A]) IOEither[E, B] {
|
func ChainTo[A, E, B any](fb IOEither[E, B]) func(IOEither[E, A]) IOEither[E, B] {
|
||||||
return G.ChainTo[IOEither[E, A]](fb)
|
return G.ChainTo[IOEither[E, A]](fb)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user