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

fix: add missing Flatten to Reader

Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com>
This commit is contained in:
Dr. Carsten Leue
2023-09-20 17:53:45 +02:00
parent 226c7039de
commit e8fdbe9f87
5 changed files with 28 additions and 0 deletions

View File

@@ -583,3 +583,12 @@ func Memoize[
A any](rdr GRA) GRA {
return RIE.Memoize[GRA](rdr)
}
func Flatten[
GGRA ~func(context.Context) GGIOA,
GGIOA ~func() E.Either[error, GRA],
GRA ~func(context.Context) GIOA,
GIOA ~func() E.Either[error, A],
A any](rdr GGRA) GRA {
return RIE.Flatten[GRA](rdr)
}

View File

@@ -220,3 +220,9 @@ func Alt[A any](second L.Lazy[ReaderIOEither[A]]) func(ReaderIOEither[A]) Reader
func Memoize[A any](rdr ReaderIOEither[A]) ReaderIOEither[A] {
return G.Memoize[ReaderIOEither[A]](rdr)
}
// Flatten converts a nested [ReaderIOEither] into a [ReaderIOEither]
func Flatten[
A any](rdr ReaderIOEither[ReaderIOEither[A]]) ReaderIOEither[A] {
return G.Flatten[ReaderIOEither[ReaderIOEither[A]]](rdr)
}