1
0
mirror of https://github.com/IBM/fp-go.git synced 2025-08-10 22:31:32 +02:00

fix: generic parameter order for ChainTo (#86)

Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com>
This commit is contained in:
Carsten Leue
2023-11-28 09:26:19 +01:00
committed by GitHub
parent 3d54f99739
commit 35848900c0
3 changed files with 6 additions and 6 deletions

View File

@@ -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] {

View File

@@ -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),
) )
} }
} }

View File

@@ -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)
} }