From 4401b4554ecd5000c1008ec413f6d4090df7a04b Mon Sep 17 00:00:00 2001 From: "Dr. Carsten Leue" Date: Tue, 28 Nov 2023 09:21:44 +0100 Subject: [PATCH] fix: generic parameter order for ChainTo Signed-off-by: Dr. Carsten Leue --- either/either.go | 6 +++--- either/logger.go | 2 +- ioeither/ioeither.go | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/either/either.go b/either/either.go index 6d64ec5..cfe542e 100644 --- a/either/either.go +++ b/either/either.go @@ -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 } @@ -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] { - return F.Bind2nd(MonadChainTo[E, A, B], mb) +func ChainTo[A, E, B any](mb Either[E, B]) func(Either[E, A]) Either[E, B] { + 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] { diff --git a/either/logger.go b/either/logger.go index 16387c7..383513b 100644 --- a/either/logger.go +++ b/either/logger.go @@ -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 F.Pipe1( delegate(ma), - ChainTo[E, A](ma), + ChainTo[A](ma), ) } } diff --git a/ioeither/ioeither.go b/ioeither/ioeither.go index 3bae10c..67b6a52 100644 --- a/ioeither/ioeither.go +++ b/ioeither/ioeither.go @@ -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 -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) } // 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) }