generic

package
v1.0.108 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 1, 2024 License: Apache-2.0 Imports: 26 Imported by: 1

Documentation

Overview

Code generated by go generate; DO NOT EDIT. This file was generated by robots at 2023-10-23 08:30:58.6556525 +0200 CEST m=+0.090214601

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func After added in v1.0.97

func After[GA ~func() ET.Either[E, A], E, A any](timestamp time.Time) func(GA) GA

After creates an operation that passes after the given time.Time

func Alt added in v1.0.31

func Alt[LAZY ~func() GIOA, GIOA ~func() ET.Either[E, A], E, A any](second LAZY) func(GIOA) GIOA

func AltSemigroup added in v1.0.31

func AltSemigroup[GIOA ~func() ET.Either[E, A], E, A any]() S.Semigroup[GIOA]

func Ap

func Ap[GB ~func() ET.Either[E, B], GAB ~func() ET.Either[E, func(A) B], GA ~func() ET.Either[E, A], E, A, B any](ma GA) func(GAB) GB

func ApFirst

func ApFirst[GA ~func() ET.Either[E, A], GB ~func() ET.Either[E, B], GBA ~func() ET.Either[E, func(B) A], E, A, B any](second GB) func(GA) GA

ApFirst combines two effectful actions, keeping only the result of the first.

func ApPar added in v1.0.4

func ApPar[GB ~func() ET.Either[E, B], GAB ~func() ET.Either[E, func(A) B], GA ~func() ET.Either[E, A], E, A, B any](ma GA) func(GAB) GB

func ApS added in v1.0.20

func ApS[GS1 ~func() ET.Either[E, S1], GS2 ~func() ET.Either[E, S2], GT ~func() ET.Either[E, T], E, S1, S2, T any](
	setter func(T) func(S1) S2,
	fa GT,
) func(GS1) GS2

ApS attaches a value to a context [S1] to produce a context [S2] by considering the context and the value concurrently

func ApSecond

func ApSecond[GA ~func() ET.Either[E, A], GB ~func() ET.Either[E, B], GBB ~func() ET.Either[E, func(B) B], E, A, B any](second GB) func(GA) GB

ApSecond combines two effectful actions, keeping only the result of the second.

func ApSeq added in v1.0.4

func ApSeq[GB ~func() ET.Either[E, B], GAB ~func() ET.Either[E, func(A) B], GA ~func() ET.Either[E, A], E, A, B any](ma GA) func(GAB) GB

func ApplicativeMonoid added in v1.0.31

func ApplicativeMonoid[GEA ~func() ET.Either[E, A], GEFA ~func() ET.Either[E, func(A) A], E, A any](
	m M.Monoid[A],
) M.Monoid[GEA]

func ApplicativeMonoidPar added in v1.0.31

func ApplicativeMonoidPar[GEA ~func() ET.Either[E, A], GEFA ~func() ET.Either[E, func(A) A], E, A any](
	m M.Monoid[A],
) M.Monoid[GEA]

func ApplicativeMonoidSeq added in v1.0.31

func ApplicativeMonoidSeq[GEA ~func() ET.Either[E, A], GEFA ~func() ET.Either[E, func(A) A], E, A any](
	m M.Monoid[A],
) M.Monoid[GEA]

func BiMap

func BiMap[GA ~func() ET.Either[E1, A], GB ~func() ET.Either[E2, B], E1, E2, A, B any](f func(E1) E2, g func(A) B) func(GA) GB

BiMap maps a pair of functions over the two type arguments of the bifunctor.

func Bind added in v1.0.20

func Bind[GS1 ~func() ET.Either[E, S1], GS2 ~func() ET.Either[E, S2], GT ~func() ET.Either[E, T], E, S1, S2, T any](
	setter func(T) func(S1) S2,
	f func(S1) GT,
) func(GS1) GS2

Bind attaches the result of a computation to a context [S1] to produce a context [S2]

func BindTo added in v1.0.20

func BindTo[GS1 ~func() ET.Either[E, S1], GT ~func() ET.Either[E, T], E, S1, S2, T any](
	setter func(T) S1,
) func(GT) GS1

BindTo initializes a new state [S1] from a value [T]

func Bracket

func Bracket[
	GA ~func() ET.Either[E, A],
	GB ~func() ET.Either[E, B],
	GANY ~func() ET.Either[E, ANY],
	E, A, B, ANY any](

	acquire GA,
	use func(A) GB,
	release func(A, ET.Either[E, B]) GANY,
) GB

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 Chain

func Chain[GA ~func() ET.Either[E, A], GB ~func() ET.Either[E, B], E, A, B any](f func(A) GB) func(GA) GB

func ChainEitherK

func ChainEitherK[GA ~func() ET.Either[E, A], GB ~func() ET.Either[E, B], E, A, B any](f func(A) ET.Either[E, B]) func(GA) GB

func ChainFirst

func ChainFirst[GA ~func() ET.Either[E, A], GB ~func() ET.Either[E, B], E, A, B any](f func(A) GB) func(GA) GA

ChainFirst runs the monad returned by the function but returns the result of the original monad

func ChainFirstEitherK added in v1.0.58

func ChainFirstEitherK[GA ~func() ET.Either[E, A], E, A, B any](f func(A) ET.Either[E, B]) func(GA) GA

ChainFirstEitherK runs the monad returned by the function but returns the result of the original monad

func ChainFirstIOK

func ChainFirstIOK[GA ~func() ET.Either[E, A], GIOB ~func() B, E, A, B any](f func(A) GIOB) func(GA) GA

ChainFirstIOK runs the monad returned by the function but returns the result of the original monad

func ChainIOK

func ChainIOK[GA ~func() ET.Either[E, A], GB ~func() ET.Either[E, B], GR ~func() B, E, A, B any](f func(A) GR) func(GA) GB

func ChainOptionK

func ChainOptionK[GA ~func() ET.Either[E, A], GB ~func() ET.Either[E, B], E, A, B any](onNone func() E) func(func(A) O.Option[B]) func(GA) GB

func ChainTo

func ChainTo[GA ~func() ET.Either[E, A], GB ~func() ET.Either[E, B], E, A, B any](fb GB) func(GA) GB

func Command

func Command[GA ~func() ET.Either[error, exec.CommandOutput]](name string, args []string, in []byte) GA

Command executes a command

func Defer

func Defer[GEA ~func() ET.Either[E, A], E, A any](gen func() GEA) GEA

Defer creates an IO by creating a brand new IO via a generator function, each time

func Delay

func Delay[GA ~func() ET.Either[E, A], E, A any](delay time.Duration) func(GA) GA

Delay creates an operation that passes in the value after some time.Duration

func Do added in v1.0.107

func Do[GS ~func() ET.Either[E, S], E, S any](
	empty S,
) GS

Bind creates an empty context of type [S] to be used with the Bind operation

func Eitherize0

func Eitherize0[GIOA ~func() ET.Either[error, R], F ~func() (R, error), R any](f F) func() GIOA

Eitherize0 converts a function with 0 parameters returning a tuple into a function with 0 parameters returning a [GIOA]

func Eitherize1

func Eitherize1[GIOA ~func() ET.Either[error, R], F ~func(T1) (R, error), T1, R any](f F) func(T1) GIOA

Eitherize1 converts a function with 1 parameters returning a tuple into a function with 1 parameters returning a [GIOA]

func Eitherize10 added in v1.0.7

func Eitherize10[GIOA ~func() ET.Either[error, R], F ~func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) (R, error), T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R any](f F) func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) GIOA

Eitherize10 converts a function with 10 parameters returning a tuple into a function with 10 parameters returning a [GIOA]

func Eitherize2

func Eitherize2[GIOA ~func() ET.Either[error, R], F ~func(T1, T2) (R, error), T1, T2, R any](f F) func(T1, T2) GIOA

Eitherize2 converts a function with 2 parameters returning a tuple into a function with 2 parameters returning a [GIOA]

func Eitherize3

func Eitherize3[GIOA ~func() ET.Either[error, R], F ~func(T1, T2, T3) (R, error), T1, T2, T3, R any](f F) func(T1, T2, T3) GIOA

Eitherize3 converts a function with 3 parameters returning a tuple into a function with 3 parameters returning a [GIOA]

func Eitherize4

func Eitherize4[GIOA ~func() ET.Either[error, R], F ~func(T1, T2, T3, T4) (R, error), T1, T2, T3, T4, R any](f F) func(T1, T2, T3, T4) GIOA

Eitherize4 converts a function with 4 parameters returning a tuple into a function with 4 parameters returning a [GIOA]

func Eitherize5 added in v1.0.7

func Eitherize5[GIOA ~func() ET.Either[error, R], F ~func(T1, T2, T3, T4, T5) (R, error), T1, T2, T3, T4, T5, R any](f F) func(T1, T2, T3, T4, T5) GIOA

Eitherize5 converts a function with 5 parameters returning a tuple into a function with 5 parameters returning a [GIOA]

func Eitherize6 added in v1.0.7

func Eitherize6[GIOA ~func() ET.Either[error, R], F ~func(T1, T2, T3, T4, T5, T6) (R, error), T1, T2, T3, T4, T5, T6, R any](f F) func(T1, T2, T3, T4, T5, T6) GIOA

Eitherize6 converts a function with 6 parameters returning a tuple into a function with 6 parameters returning a [GIOA]

func Eitherize7 added in v1.0.7

func Eitherize7[GIOA ~func() ET.Either[error, R], F ~func(T1, T2, T3, T4, T5, T6, T7) (R, error), T1, T2, T3, T4, T5, T6, T7, R any](f F) func(T1, T2, T3, T4, T5, T6, T7) GIOA

Eitherize7 converts a function with 7 parameters returning a tuple into a function with 7 parameters returning a [GIOA]

func Eitherize8 added in v1.0.7

func Eitherize8[GIOA ~func() ET.Either[error, R], F ~func(T1, T2, T3, T4, T5, T6, T7, T8) (R, error), T1, T2, T3, T4, T5, T6, T7, T8, R any](f F) func(T1, T2, T3, T4, T5, T6, T7, T8) GIOA

Eitherize8 converts a function with 8 parameters returning a tuple into a function with 8 parameters returning a [GIOA]

func Eitherize9 added in v1.0.7

func Eitherize9[GIOA ~func() ET.Either[error, R], F ~func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R, error), T1, T2, T3, T4, T5, T6, T7, T8, T9, R any](f F) func(T1, T2, T3, T4, T5, T6, T7, T8, T9) GIOA

Eitherize9 converts a function with 9 parameters returning a tuple into a function with 9 parameters returning a [GIOA]

func Eq

func Eq[GA ~func() ET.Either[E, A], E, A any](eq EQ.Eq[ET.Either[E, A]]) EQ.Eq[GA]

Eq implements the equals predicate for values contained in the IOEither monad

func Flap added in v1.0.46

func Flap[GEAB ~func() ET.Either[E, func(A) B], GEB ~func() ET.Either[E, B], E, B, A any](a A) func(GEAB) GEB

func Flatten

func Flatten[GA ~func() ET.Either[E, A], GAA ~func() ET.Either[E, GA], E, A any](mma GAA) GA

func Fold

func Fold[GA ~func() ET.Either[E, A], GB ~func() B, E, A, B any](onLeft func(E) GB, onRight func(A) GB) func(GA) GB

Fold convers an IOEither into an IO

func FromEither

func FromEither[GA ~func() ET.Either[E, A], E, A any](e ET.Either[E, A]) GA

func FromIO

func FromIO[GA ~func() ET.Either[E, A], GR ~func() A, E, A any](mr GR) GA

func FromIOOption added in v1.0.59

func FromIOOption[GEA ~func() ET.Either[E, A], GA ~func() O.Option[A], E, A any](onNone func() E) func(ioo GA) GEA

func FromImpure

func FromImpure[GA ~func() ET.Either[E, any], IMP ~func(), E any](f IMP) GA

FromImpure converts a side effect without a return value into a side effect that returns any

func FromOption

func FromOption[GA ~func() ET.Either[E, A], E, A any](onNone func() E) func(o O.Option[A]) GA

func FromStrictEquals

func FromStrictEquals[GA ~func() ET.Either[E, A], E, A comparable]() EQ.Eq[GA]

FromStrictEquals constructs an [EQ.Eq] from the canonical comparison function

func GetOrElse

func GetOrElse[GA ~func() ET.Either[E, A], GB ~func() A, E, A any](onLeft func(E) GB) func(GA) GB

GetOrElse extracts the value or maps the error

func Left

func Left[GA ~func() ET.Either[E, A], E, A any](l E) GA

func LeftIO

func LeftIO[GA ~func() ET.Either[E, A], GE ~func() E, E, A any](ml GE) GA

func Let added in v1.0.20

func Let[GS1 ~func() ET.Either[E, S1], GS2 ~func() ET.Either[E, S2], E, S1, S2, T any](
	key func(T) func(S1) S2,
	f func(S1) T,
) func(GS1) GS2

Let attaches the result of a computation to a context [S1] to produce a context [S2]

func LetTo added in v1.0.107

func LetTo[GS1 ~func() ET.Either[E, S1], GS2 ~func() ET.Either[E, S2], E, S1, S2, B any](
	key func(B) func(S1) S2,
	b B,
) func(GS1) GS2

LetTo attaches the a value to a context [S1] to produce a context [S2]

func LogJson added in v1.0.99

func LogJson[GA ~func() ET.Either[error, any], A any](prefix string) func(A) GA

LogJson converts the argument to JSON and then logs it via the format string Can be used with ChainFirst

func MakeIO

func MakeIO[GA ~func() ET.Either[E, A], E, A any](f GA) GA

func Map

func Map[GA ~func() ET.Either[E, A], GB ~func() ET.Either[E, B], E, A, B any](f func(A) B) func(GA) GB

func MapLeft

func MapLeft[GA1 ~func() ET.Either[E1, A], GA2 ~func() ET.Either[E2, A], E1, E2, A any](f func(E1) E2) func(GA1) GA2

func MapTo

func MapTo[GA ~func() ET.Either[E, A], GB ~func() ET.Either[E, B], E, A, B any](b B) func(GA) GB

func Memoize

func Memoize[GA ~func() ET.Either[E, A], E, A any](ma GA) GA

Memoize computes the value of the provided IO monad lazily but exactly once

func MonadAlt added in v1.0.31

func MonadAlt[LAZY ~func() GIOA, GIOA ~func() ET.Either[E, A], E, A any](first GIOA, second LAZY) GIOA

func MonadAp

func MonadAp[GB ~func() ET.Either[E, B], GAB ~func() ET.Either[E, func(A) B], GA ~func() ET.Either[E, A], E, A, B any](mab GAB, ma GA) GB

func MonadApFirst

func MonadApFirst[GA ~func() ET.Either[E, A], GB ~func() ET.Either[E, B], GBA ~func() ET.Either[E, func(B) A], E, A, B any](first GA, second GB) GA

MonadApFirst combines two effectful actions, keeping only the result of the first.

func MonadApPar added in v1.0.4

func MonadApPar[GB ~func() ET.Either[E, B], GAB ~func() ET.Either[E, func(A) B], GA ~func() ET.Either[E, A], E, A, B any](mab GAB, ma GA) GB

func MonadApSecond

func MonadApSecond[GA ~func() ET.Either[E, A], GB ~func() ET.Either[E, B], GBB ~func() ET.Either[E, func(B) B], E, A, B any](first GA, second GB) GB

MonadApSecond combines two effectful actions, keeping only the result of the second.

func MonadApSeq added in v1.0.4

func MonadApSeq[GB ~func() ET.Either[E, B], GAB ~func() ET.Either[E, func(A) B], GA ~func() ET.Either[E, A], E, A, B any](mab GAB, ma GA) GB

func MonadBiMap

func MonadBiMap[GA ~func() ET.Either[E1, A], GB ~func() ET.Either[E2, B], E1, E2, A, B any](fa GA, f func(E1) E2, g func(A) B) GB

func MonadChain

func MonadChain[GA ~func() ET.Either[E, A], GB ~func() ET.Either[E, B], E, A, B any](fa GA, f func(A) GB) GB

func MonadChainEitherK

func MonadChainEitherK[GA ~func() ET.Either[E, A], GB ~func() ET.Either[E, B], E, A, B any](ma GA, f func(A) ET.Either[E, B]) GB

func MonadChainFirst

func MonadChainFirst[GA ~func() ET.Either[E, A], GB ~func() ET.Either[E, B], E, A, B any](ma GA, f func(A) GB) GA

MonadChainFirst runs the monad returned by the function but returns the result of the original monad

func MonadChainFirstEitherK added in v1.0.58

func MonadChainFirstEitherK[GA ~func() ET.Either[E, A], E, A, B any](first GA, f func(A) ET.Either[E, B]) GA

MonadChainFirstEitherK runs the monad returned by the function but returns the result of the original monad

func MonadChainFirstIOK

func MonadChainFirstIOK[GA ~func() ET.Either[E, A], GIOB ~func() B, E, A, B any](first GA, f func(A) GIOB) GA

MonadChainFirstIOK runs the monad returned by the function but returns the result of the original monad

func MonadChainIOK

func MonadChainIOK[GA ~func() ET.Either[E, A], GB ~func() ET.Either[E, B], GR ~func() B, E, A, B any](ma GA, f func(A) GR) GB

func MonadChainTo

func MonadChainTo[GA ~func() ET.Either[E, A], GB ~func() ET.Either[E, B], E, A, B any](fa GA, fb GB) GB

func MonadFlap added in v1.0.46

func MonadFlap[GEAB ~func() ET.Either[E, func(A) B], GEB ~func() ET.Either[E, B], E, B, A any](fab GEAB, a A) GEB

func MonadFold

func MonadFold[GA ~func() ET.Either[E, A], GB ~func() B, E, A, B any](ma GA, onLeft func(E) GB, onRight func(A) GB) GB

func MonadMap

func MonadMap[GA ~func() ET.Either[E, A], GB ~func() ET.Either[E, B], E, A, B any](fa GA, f func(A) B) GB

func MonadMapLeft

func MonadMapLeft[GA1 ~func() ET.Either[E1, A], GA2 ~func() ET.Either[E2, A], E1, E2, A any](fa GA1, f func(E1) E2) GA2

func MonadMapTo

func MonadMapTo[GA ~func() ET.Either[E, A], GB ~func() ET.Either[E, B], E, A, B any](fa GA, b B) GB

func MonadOf

func MonadOf[GA ~func() ET.Either[E, A], E, A any](r A) GA

func MonadTraverseArray

func MonadTraverseArray[GB ~func() ET.Either[E, B], GBS ~func() ET.Either[E, BBS], AAS ~[]A, BBS ~[]B, E, A, B any](tas AAS, f func(A) GB) GBS

MonadTraverseArray transforms an array

func MonadTraverseArrayPar added in v1.0.61

func MonadTraverseArrayPar[GB ~func() ET.Either[E, B], GBS ~func() ET.Either[E, BBS], AAS ~[]A, BBS ~[]B, E, A, B any](tas AAS, f func(A) GB) GBS

MonadTraverseArrayPar transforms an array

func MonadTraverseArraySeq added in v1.0.61

func MonadTraverseArraySeq[GB ~func() ET.Either[E, B], GBS ~func() ET.Either[E, BBS], AAS ~[]A, BBS ~[]B, E, A, B any](tas AAS, f func(A) GB) GBS

MonadTraverseArraySeq transforms an array

func MonadTraverseArrayWithIndex added in v1.0.29

func MonadTraverseArrayWithIndex[GB ~func() ET.Either[E, B], GBS ~func() ET.Either[E, BBS], AAS ~[]A, BBS ~[]B, E, A, B any](tas AAS, f func(int, A) GB) GBS

MonadTraverseArrayWithIndex transforms an array

func MonadTraverseArrayWithIndexPar added in v1.0.61

func MonadTraverseArrayWithIndexPar[GB ~func() ET.Either[E, B], GBS ~func() ET.Either[E, BBS], AAS ~[]A, BBS ~[]B, E, A, B any](tas AAS, f func(int, A) GB) GBS

MonadTraverseArrayWithIndexPar transforms an array

func MonadTraverseArrayWithIndexSeq added in v1.0.61

func MonadTraverseArrayWithIndexSeq[GB ~func() ET.Either[E, B], GBS ~func() ET.Either[E, BBS], AAS ~[]A, BBS ~[]B, E, A, B any](tas AAS, f func(int, A) GB) GBS

MonadTraverseArrayWithIndexSeq transforms an array

func MonadTraverseRecord

func MonadTraverseRecord[GB ~func() ET.Either[E, B], GBS ~func() ET.Either[E, BBS], AAS ~map[K]A, BBS ~map[K]B, K comparable, E, A, B any](tas AAS, f func(A) GB) GBS

MonadTraverseRecord transforms an array

func MonadTraverseRecordPar added in v1.0.61

func MonadTraverseRecordPar[GB ~func() ET.Either[E, B], GBS ~func() ET.Either[E, BBS], AAS ~map[K]A, BBS ~map[K]B, K comparable, E, A, B any](tas AAS, f func(A) GB) GBS

MonadTraverseRecordPar transforms an array

func MonadTraverseRecordSeq added in v1.0.61

func MonadTraverseRecordSeq[GB ~func() ET.Either[E, B], GBS ~func() ET.Either[E, BBS], AAS ~map[K]A, BBS ~map[K]B, K comparable, E, A, B any](tas AAS, f func(A) GB) GBS

MonadTraverseRecordSeq transforms an array

func Of

func Of[GA ~func() ET.Either[E, A], E, A any](r A) GA

func Retrying

func Retrying[GA ~func() ET.Either[E, A], E, A any](
	policy R.RetryPolicy,
	action func(R.RetryStatus) GA,
	check func(ET.Either[E, A]) bool,
) GA

Retry combinator for actions that don't raise exceptions, but signal in their type the outcome has failed. Examples are the `Option`, `Either` and `EitherT` monads.

policy - refers to the retry policy action - converts a status into an operation to be executed check - checks if the result of the action needs to be retried

func Right[GA ~func() ET.Either[E, A], E, A any](r A) GA

func RightIO

func RightIO[GA ~func() ET.Either[E, A], GR ~func() A, E, A any](mr GR) GA

func SequenceArray

func SequenceArray[GA ~func() ET.Either[E, A], GAS ~func() ET.Either[E, AAS], AAS ~[]A, GAAS ~[]GA, E, A any](tas GAAS) GAS

SequenceArray converts a homogeneous sequence of either into an either of sequence

func SequenceArrayPar added in v1.0.61

func SequenceArrayPar[GA ~func() ET.Either[E, A], GAS ~func() ET.Either[E, AAS], AAS ~[]A, GAAS ~[]GA, E, A any](tas GAAS) GAS

SequenceArrayPar converts a homogeneous sequence of either into an either of sequence

func SequenceArraySeq added in v1.0.61

func SequenceArraySeq[GA ~func() ET.Either[E, A], GAS ~func() ET.Either[E, AAS], AAS ~[]A, GAAS ~[]GA, E, A any](tas GAAS) GAS

SequenceArraySeq converts a homogeneous sequence of either into an either of sequence

func SequenceRecord

func SequenceRecord[GA ~func() ET.Either[E, A], GAS ~func() ET.Either[E, AAS], AAS ~map[K]A, GAAS ~map[K]GA, K comparable, E, A any](tas GAAS) GAS

SequenceRecord converts a homogeneous sequence of either into an either of sequence

func SequenceRecordPar added in v1.0.61

func SequenceRecordPar[GA ~func() ET.Either[E, A], GAS ~func() ET.Either[E, AAS], AAS ~map[K]A, GAAS ~map[K]GA, K comparable, E, A any](tas GAAS) GAS

SequenceRecordPar converts a homogeneous sequence of either into an either of sequence

func SequenceRecordSeq added in v1.0.61

func SequenceRecordSeq[GA ~func() ET.Either[E, A], GAS ~func() ET.Either[E, AAS], AAS ~map[K]A, GAAS ~map[K]GA, K comparable, E, A any](tas GAAS) GAS

SequenceRecordSeq converts a homogeneous sequence of either into an either of sequence

func SequenceT1

func SequenceT1[
	G_TUPLE1 ~func() ET.Either[E, T.Tuple1[T1]],
	G_T1 ~func() ET.Either[E, T1],
	E, T1 any](
	t1 G_T1,
) G_TUPLE1

SequenceT1 converts 1 [func() ET.Either[E, T]] into a [func() ET.Either[E, T.Tuple1[T1]]]

func SequenceT10 added in v1.0.7

func SequenceT10[
	G_TUPLE10 ~func() ET.Either[E, T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	G_T4 ~func() ET.Either[E, T4],
	G_T5 ~func() ET.Either[E, T5],
	G_T6 ~func() ET.Either[E, T6],
	G_T7 ~func() ET.Either[E, T7],
	G_T8 ~func() ET.Either[E, T8],
	G_T9 ~func() ET.Either[E, T9],
	G_T10 ~func() ET.Either[E, T10],
	E, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](
	t1 G_T1,
	t2 G_T2,
	t3 G_T3,
	t4 G_T4,
	t5 G_T5,
	t6 G_T6,
	t7 G_T7,
	t8 G_T8,
	t9 G_T9,
	t10 G_T10,
) G_TUPLE10

SequenceT10 converts 10 [func() ET.Either[E, T]] into a [func() ET.Either[E, T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]]

func SequenceT2

func SequenceT2[
	G_TUPLE2 ~func() ET.Either[E, T.Tuple2[T1, T2]],
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	E, T1, T2 any](
	t1 G_T1,
	t2 G_T2,
) G_TUPLE2

SequenceT2 converts 2 [func() ET.Either[E, T]] into a [func() ET.Either[E, T.Tuple2[T1, T2]]]

func SequenceT3

func SequenceT3[
	G_TUPLE3 ~func() ET.Either[E, T.Tuple3[T1, T2, T3]],
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	E, T1, T2, T3 any](
	t1 G_T1,
	t2 G_T2,
	t3 G_T3,
) G_TUPLE3

SequenceT3 converts 3 [func() ET.Either[E, T]] into a [func() ET.Either[E, T.Tuple3[T1, T2, T3]]]

func SequenceT4

func SequenceT4[
	G_TUPLE4 ~func() ET.Either[E, T.Tuple4[T1, T2, T3, T4]],
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	G_T4 ~func() ET.Either[E, T4],
	E, T1, T2, T3, T4 any](
	t1 G_T1,
	t2 G_T2,
	t3 G_T3,
	t4 G_T4,
) G_TUPLE4

SequenceT4 converts 4 [func() ET.Either[E, T]] into a [func() ET.Either[E, T.Tuple4[T1, T2, T3, T4]]]

func SequenceT5 added in v1.0.7

func SequenceT5[
	G_TUPLE5 ~func() ET.Either[E, T.Tuple5[T1, T2, T3, T4, T5]],
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	G_T4 ~func() ET.Either[E, T4],
	G_T5 ~func() ET.Either[E, T5],
	E, T1, T2, T3, T4, T5 any](
	t1 G_T1,
	t2 G_T2,
	t3 G_T3,
	t4 G_T4,
	t5 G_T5,
) G_TUPLE5

SequenceT5 converts 5 [func() ET.Either[E, T]] into a [func() ET.Either[E, T.Tuple5[T1, T2, T3, T4, T5]]]

func SequenceT6 added in v1.0.7

func SequenceT6[
	G_TUPLE6 ~func() ET.Either[E, T.Tuple6[T1, T2, T3, T4, T5, T6]],
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	G_T4 ~func() ET.Either[E, T4],
	G_T5 ~func() ET.Either[E, T5],
	G_T6 ~func() ET.Either[E, T6],
	E, T1, T2, T3, T4, T5, T6 any](
	t1 G_T1,
	t2 G_T2,
	t3 G_T3,
	t4 G_T4,
	t5 G_T5,
	t6 G_T6,
) G_TUPLE6

SequenceT6 converts 6 [func() ET.Either[E, T]] into a [func() ET.Either[E, T.Tuple6[T1, T2, T3, T4, T5, T6]]]

func SequenceT7 added in v1.0.7

func SequenceT7[
	G_TUPLE7 ~func() ET.Either[E, T.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	G_T4 ~func() ET.Either[E, T4],
	G_T5 ~func() ET.Either[E, T5],
	G_T6 ~func() ET.Either[E, T6],
	G_T7 ~func() ET.Either[E, T7],
	E, T1, T2, T3, T4, T5, T6, T7 any](
	t1 G_T1,
	t2 G_T2,
	t3 G_T3,
	t4 G_T4,
	t5 G_T5,
	t6 G_T6,
	t7 G_T7,
) G_TUPLE7

SequenceT7 converts 7 [func() ET.Either[E, T]] into a [func() ET.Either[E, T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]]

func SequenceT8 added in v1.0.7

func SequenceT8[
	G_TUPLE8 ~func() ET.Either[E, T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	G_T4 ~func() ET.Either[E, T4],
	G_T5 ~func() ET.Either[E, T5],
	G_T6 ~func() ET.Either[E, T6],
	G_T7 ~func() ET.Either[E, T7],
	G_T8 ~func() ET.Either[E, T8],
	E, T1, T2, T3, T4, T5, T6, T7, T8 any](
	t1 G_T1,
	t2 G_T2,
	t3 G_T3,
	t4 G_T4,
	t5 G_T5,
	t6 G_T6,
	t7 G_T7,
	t8 G_T8,
) G_TUPLE8

SequenceT8 converts 8 [func() ET.Either[E, T]] into a [func() ET.Either[E, T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]]

func SequenceT9 added in v1.0.7

func SequenceT9[
	G_TUPLE9 ~func() ET.Either[E, T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	G_T4 ~func() ET.Either[E, T4],
	G_T5 ~func() ET.Either[E, T5],
	G_T6 ~func() ET.Either[E, T6],
	G_T7 ~func() ET.Either[E, T7],
	G_T8 ~func() ET.Either[E, T8],
	G_T9 ~func() ET.Either[E, T9],
	E, T1, T2, T3, T4, T5, T6, T7, T8, T9 any](
	t1 G_T1,
	t2 G_T2,
	t3 G_T3,
	t4 G_T4,
	t5 G_T5,
	t6 G_T6,
	t7 G_T7,
	t8 G_T8,
	t9 G_T9,
) G_TUPLE9

SequenceT9 converts 9 [func() ET.Either[E, T]] into a [func() ET.Either[E, T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]]

func SequenceTuple1 added in v1.0.7

func SequenceTuple1[
	G_TUPLE1 ~func() ET.Either[E, T.Tuple1[T1]],
	G_T1 ~func() ET.Either[E, T1],
	E, T1 any](t T.Tuple1[G_T1]) G_TUPLE1

SequenceTuple1 converts a [T.Tuple1[func() ET.Either[E, T]]] into a [func() ET.Either[E, T.Tuple1[T1]]]

func SequenceTuple10 added in v1.0.7

func SequenceTuple10[
	G_TUPLE10 ~func() ET.Either[E, T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	G_T4 ~func() ET.Either[E, T4],
	G_T5 ~func() ET.Either[E, T5],
	G_T6 ~func() ET.Either[E, T6],
	G_T7 ~func() ET.Either[E, T7],
	G_T8 ~func() ET.Either[E, T8],
	G_T9 ~func() ET.Either[E, T9],
	G_T10 ~func() ET.Either[E, T10],
	E, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](t T.Tuple10[G_T1, G_T2, G_T3, G_T4, G_T5, G_T6, G_T7, G_T8, G_T9, G_T10]) G_TUPLE10

SequenceTuple10 converts a [T.Tuple10[func() ET.Either[E, T]]] into a [func() ET.Either[E, T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]]

func SequenceTuple2 added in v1.0.7

func SequenceTuple2[
	G_TUPLE2 ~func() ET.Either[E, T.Tuple2[T1, T2]],
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	E, T1, T2 any](t T.Tuple2[G_T1, G_T2]) G_TUPLE2

SequenceTuple2 converts a [T.Tuple2[func() ET.Either[E, T]]] into a [func() ET.Either[E, T.Tuple2[T1, T2]]]

func SequenceTuple3 added in v1.0.7

func SequenceTuple3[
	G_TUPLE3 ~func() ET.Either[E, T.Tuple3[T1, T2, T3]],
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	E, T1, T2, T3 any](t T.Tuple3[G_T1, G_T2, G_T3]) G_TUPLE3

SequenceTuple3 converts a [T.Tuple3[func() ET.Either[E, T]]] into a [func() ET.Either[E, T.Tuple3[T1, T2, T3]]]

func SequenceTuple4 added in v1.0.7

func SequenceTuple4[
	G_TUPLE4 ~func() ET.Either[E, T.Tuple4[T1, T2, T3, T4]],
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	G_T4 ~func() ET.Either[E, T4],
	E, T1, T2, T3, T4 any](t T.Tuple4[G_T1, G_T2, G_T3, G_T4]) G_TUPLE4

SequenceTuple4 converts a [T.Tuple4[func() ET.Either[E, T]]] into a [func() ET.Either[E, T.Tuple4[T1, T2, T3, T4]]]

func SequenceTuple5 added in v1.0.7

func SequenceTuple5[
	G_TUPLE5 ~func() ET.Either[E, T.Tuple5[T1, T2, T3, T4, T5]],
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	G_T4 ~func() ET.Either[E, T4],
	G_T5 ~func() ET.Either[E, T5],
	E, T1, T2, T3, T4, T5 any](t T.Tuple5[G_T1, G_T2, G_T3, G_T4, G_T5]) G_TUPLE5

SequenceTuple5 converts a [T.Tuple5[func() ET.Either[E, T]]] into a [func() ET.Either[E, T.Tuple5[T1, T2, T3, T4, T5]]]

func SequenceTuple6 added in v1.0.7

func SequenceTuple6[
	G_TUPLE6 ~func() ET.Either[E, T.Tuple6[T1, T2, T3, T4, T5, T6]],
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	G_T4 ~func() ET.Either[E, T4],
	G_T5 ~func() ET.Either[E, T5],
	G_T6 ~func() ET.Either[E, T6],
	E, T1, T2, T3, T4, T5, T6 any](t T.Tuple6[G_T1, G_T2, G_T3, G_T4, G_T5, G_T6]) G_TUPLE6

SequenceTuple6 converts a [T.Tuple6[func() ET.Either[E, T]]] into a [func() ET.Either[E, T.Tuple6[T1, T2, T3, T4, T5, T6]]]

func SequenceTuple7 added in v1.0.7

func SequenceTuple7[
	G_TUPLE7 ~func() ET.Either[E, T.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	G_T4 ~func() ET.Either[E, T4],
	G_T5 ~func() ET.Either[E, T5],
	G_T6 ~func() ET.Either[E, T6],
	G_T7 ~func() ET.Either[E, T7],
	E, T1, T2, T3, T4, T5, T6, T7 any](t T.Tuple7[G_T1, G_T2, G_T3, G_T4, G_T5, G_T6, G_T7]) G_TUPLE7

SequenceTuple7 converts a [T.Tuple7[func() ET.Either[E, T]]] into a [func() ET.Either[E, T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]]

func SequenceTuple8 added in v1.0.7

func SequenceTuple8[
	G_TUPLE8 ~func() ET.Either[E, T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	G_T4 ~func() ET.Either[E, T4],
	G_T5 ~func() ET.Either[E, T5],
	G_T6 ~func() ET.Either[E, T6],
	G_T7 ~func() ET.Either[E, T7],
	G_T8 ~func() ET.Either[E, T8],
	E, T1, T2, T3, T4, T5, T6, T7, T8 any](t T.Tuple8[G_T1, G_T2, G_T3, G_T4, G_T5, G_T6, G_T7, G_T8]) G_TUPLE8

SequenceTuple8 converts a [T.Tuple8[func() ET.Either[E, T]]] into a [func() ET.Either[E, T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]]

func SequenceTuple9 added in v1.0.7

func SequenceTuple9[
	G_TUPLE9 ~func() ET.Either[E, T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	G_T4 ~func() ET.Either[E, T4],
	G_T5 ~func() ET.Either[E, T5],
	G_T6 ~func() ET.Either[E, T6],
	G_T7 ~func() ET.Either[E, T7],
	G_T8 ~func() ET.Either[E, T8],
	G_T9 ~func() ET.Either[E, T9],
	E, T1, T2, T3, T4, T5, T6, T7, T8, T9 any](t T.Tuple9[G_T1, G_T2, G_T3, G_T4, G_T5, G_T6, G_T7, G_T8, G_T9]) G_TUPLE9

SequenceTuple9 converts a [T.Tuple9[func() ET.Either[E, T]]] into a [func() ET.Either[E, T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]]

func Swap

func Swap[GEA ~func() ET.Either[E, A], GAE ~func() ET.Either[A, E], E, A any](val GEA) GAE

Swap changes the order of type parameters

func ToIOOption added in v1.0.59

func ToIOOption[GA ~func() O.Option[A], GEA ~func() ET.Either[E, A], E, A any](ioe GEA) GA

func TraverseArray

func TraverseArray[GB ~func() ET.Either[E, B], GBS ~func() ET.Either[E, BBS], AAS ~[]A, BBS ~[]B, E, A, B any](f func(A) GB) func(AAS) GBS

TraverseArray transforms an array

func TraverseArrayPar added in v1.0.61

func TraverseArrayPar[GB ~func() ET.Either[E, B], GBS ~func() ET.Either[E, BBS], AAS ~[]A, BBS ~[]B, E, A, B any](f func(A) GB) func(AAS) GBS

TraverseArrayPar transforms an array

func TraverseArraySeq added in v1.0.61

func TraverseArraySeq[GB ~func() ET.Either[E, B], GBS ~func() ET.Either[E, BBS], AAS ~[]A, BBS ~[]B, E, A, B any](f func(A) GB) func(AAS) GBS

TraverseArraySeq transforms an array

func TraverseArrayWithIndex added in v1.0.29

func TraverseArrayWithIndex[GB ~func() ET.Either[E, B], GBS ~func() ET.Either[E, BBS], AAS ~[]A, BBS ~[]B, E, A, B any](f func(int, A) GB) func(AAS) GBS

TraverseArrayWithIndex transforms an array

func TraverseArrayWithIndexPar added in v1.0.61

func TraverseArrayWithIndexPar[GB ~func() ET.Either[E, B], GBS ~func() ET.Either[E, BBS], AAS ~[]A, BBS ~[]B, E, A, B any](f func(int, A) GB) func(AAS) GBS

TraverseArrayWithIndexPar transforms an array

func TraverseArrayWithIndexSeq added in v1.0.61

func TraverseArrayWithIndexSeq[GB ~func() ET.Either[E, B], GBS ~func() ET.Either[E, BBS], AAS ~[]A, BBS ~[]B, E, A, B any](f func(int, A) GB) func(AAS) GBS

TraverseArrayWithIndexSeq transforms an array

func TraverseRecord

func TraverseRecord[GB ~func() ET.Either[E, B], GBS ~func() ET.Either[E, BBS], AAS ~map[K]A, BBS ~map[K]B, K comparable, E, A, B any](f func(A) GB) func(AAS) GBS

TraverseRecord transforms an array

func TraverseRecordPar added in v1.0.61

func TraverseRecordPar[GB ~func() ET.Either[E, B], GBS ~func() ET.Either[E, BBS], AAS ~map[K]A, BBS ~map[K]B, K comparable, E, A, B any](f func(A) GB) func(AAS) GBS

TraverseRecordPar transforms an array

func TraverseRecordSeq added in v1.0.61

func TraverseRecordSeq[GB ~func() ET.Either[E, B], GBS ~func() ET.Either[E, BBS], AAS ~map[K]A, BBS ~map[K]B, K comparable, E, A, B any](f func(A) GB) func(AAS) GBS

TraverseRecordSeq transforms an array

func TraverseRecordWithIndex added in v1.0.29

func TraverseRecordWithIndex[GB ~func() ET.Either[E, B], GBS ~func() ET.Either[E, BBS], AAS ~map[K]A, BBS ~map[K]B, K comparable, E, A, B any](f func(K, A) GB) func(AAS) GBS

TraverseRecordWithIndex transforms an array

func TraverseRecordWithIndexPar added in v1.0.61

func TraverseRecordWithIndexPar[GB ~func() ET.Either[E, B], GBS ~func() ET.Either[E, BBS], AAS ~map[K]A, BBS ~map[K]B, K comparable, E, A, B any](f func(K, A) GB) func(AAS) GBS

TraverseRecordWithIndexPar transforms an array

func TraverseRecordWithIndexSeq added in v1.0.61

func TraverseRecordWithIndexSeq[GB ~func() ET.Either[E, B], GBS ~func() ET.Either[E, BBS], AAS ~map[K]A, BBS ~map[K]B, K comparable, E, A, B any](f func(K, A) GB) func(AAS) GBS

TraverseRecordWithIndexSeq transforms an array

func TraverseTuple1 added in v1.0.7

func TraverseTuple1[
	G_TUPLE1 ~func() ET.Either[E, T.Tuple1[T1]],
	F1 ~func(A1) G_T1,
	G_T1 ~func() ET.Either[E, T1],
	E, A1, T1 any](f1 F1) func(T.Tuple1[A1]) G_TUPLE1

TraverseTuple1 converts a [T.Tuple1[func() ET.Either[E, T]]] into a [func() ET.Either[E, T.Tuple1[T1]]]

func TraverseTuple10 added in v1.0.7

func TraverseTuple10[
	G_TUPLE10 ~func() ET.Either[E, T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
	F1 ~func(A1) G_T1,
	F2 ~func(A2) G_T2,
	F3 ~func(A3) G_T3,
	F4 ~func(A4) G_T4,
	F5 ~func(A5) G_T5,
	F6 ~func(A6) G_T6,
	F7 ~func(A7) G_T7,
	F8 ~func(A8) G_T8,
	F9 ~func(A9) G_T9,
	F10 ~func(A10) G_T10,
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	G_T4 ~func() ET.Either[E, T4],
	G_T5 ~func() ET.Either[E, T5],
	G_T6 ~func() ET.Either[E, T6],
	G_T7 ~func() ET.Either[E, T7],
	G_T8 ~func() ET.Either[E, T8],
	G_T9 ~func() ET.Either[E, T9],
	G_T10 ~func() ET.Either[E, T10],
	E, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, T1, T2, T3, T4, T5, T6, T7, T8, T9, 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]) G_TUPLE10

TraverseTuple10 converts a [T.Tuple10[func() ET.Either[E, T]]] into a [func() ET.Either[E, T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]]

func TraverseTuple2 added in v1.0.7

func TraverseTuple2[
	G_TUPLE2 ~func() ET.Either[E, T.Tuple2[T1, T2]],
	F1 ~func(A1) G_T1,
	F2 ~func(A2) G_T2,
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	E, A1, A2, T1, T2 any](f1 F1, f2 F2) func(T.Tuple2[A1, A2]) G_TUPLE2

TraverseTuple2 converts a [T.Tuple2[func() ET.Either[E, T]]] into a [func() ET.Either[E, T.Tuple2[T1, T2]]]

func TraverseTuple3 added in v1.0.7

func TraverseTuple3[
	G_TUPLE3 ~func() ET.Either[E, T.Tuple3[T1, T2, T3]],
	F1 ~func(A1) G_T1,
	F2 ~func(A2) G_T2,
	F3 ~func(A3) G_T3,
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	E, A1, A2, A3, T1, T2, T3 any](f1 F1, f2 F2, f3 F3) func(T.Tuple3[A1, A2, A3]) G_TUPLE3

TraverseTuple3 converts a [T.Tuple3[func() ET.Either[E, T]]] into a [func() ET.Either[E, T.Tuple3[T1, T2, T3]]]

func TraverseTuple4 added in v1.0.7

func TraverseTuple4[
	G_TUPLE4 ~func() ET.Either[E, T.Tuple4[T1, T2, T3, T4]],
	F1 ~func(A1) G_T1,
	F2 ~func(A2) G_T2,
	F3 ~func(A3) G_T3,
	F4 ~func(A4) G_T4,
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	G_T4 ~func() ET.Either[E, T4],
	E, A1, A2, A3, A4, T1, T2, T3, T4 any](f1 F1, f2 F2, f3 F3, f4 F4) func(T.Tuple4[A1, A2, A3, A4]) G_TUPLE4

TraverseTuple4 converts a [T.Tuple4[func() ET.Either[E, T]]] into a [func() ET.Either[E, T.Tuple4[T1, T2, T3, T4]]]

func TraverseTuple5 added in v1.0.7

func TraverseTuple5[
	G_TUPLE5 ~func() ET.Either[E, T.Tuple5[T1, T2, T3, T4, T5]],
	F1 ~func(A1) G_T1,
	F2 ~func(A2) G_T2,
	F3 ~func(A3) G_T3,
	F4 ~func(A4) G_T4,
	F5 ~func(A5) G_T5,
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	G_T4 ~func() ET.Either[E, T4],
	G_T5 ~func() ET.Either[E, T5],
	E, A1, A2, A3, A4, A5, T1, T2, T3, T4, T5 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5) func(T.Tuple5[A1, A2, A3, A4, A5]) G_TUPLE5

TraverseTuple5 converts a [T.Tuple5[func() ET.Either[E, T]]] into a [func() ET.Either[E, T.Tuple5[T1, T2, T3, T4, T5]]]

func TraverseTuple6 added in v1.0.7

func TraverseTuple6[
	G_TUPLE6 ~func() ET.Either[E, T.Tuple6[T1, T2, T3, T4, T5, T6]],
	F1 ~func(A1) G_T1,
	F2 ~func(A2) G_T2,
	F3 ~func(A3) G_T3,
	F4 ~func(A4) G_T4,
	F5 ~func(A5) G_T5,
	F6 ~func(A6) G_T6,
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	G_T4 ~func() ET.Either[E, T4],
	G_T5 ~func() ET.Either[E, T5],
	G_T6 ~func() ET.Either[E, T6],
	E, A1, A2, A3, A4, A5, A6, T1, T2, T3, T4, T5, T6 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6) func(T.Tuple6[A1, A2, A3, A4, A5, A6]) G_TUPLE6

TraverseTuple6 converts a [T.Tuple6[func() ET.Either[E, T]]] into a [func() ET.Either[E, T.Tuple6[T1, T2, T3, T4, T5, T6]]]

func TraverseTuple7 added in v1.0.7

func TraverseTuple7[
	G_TUPLE7 ~func() ET.Either[E, T.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
	F1 ~func(A1) G_T1,
	F2 ~func(A2) G_T2,
	F3 ~func(A3) G_T3,
	F4 ~func(A4) G_T4,
	F5 ~func(A5) G_T5,
	F6 ~func(A6) G_T6,
	F7 ~func(A7) G_T7,
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	G_T4 ~func() ET.Either[E, T4],
	G_T5 ~func() ET.Either[E, T5],
	G_T6 ~func() ET.Either[E, T6],
	G_T7 ~func() ET.Either[E, T7],
	E, A1, A2, A3, A4, A5, A6, A7, T1, T2, T3, T4, T5, T6, 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]) G_TUPLE7

TraverseTuple7 converts a [T.Tuple7[func() ET.Either[E, T]]] into a [func() ET.Either[E, T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]]

func TraverseTuple8 added in v1.0.7

func TraverseTuple8[
	G_TUPLE8 ~func() ET.Either[E, T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
	F1 ~func(A1) G_T1,
	F2 ~func(A2) G_T2,
	F3 ~func(A3) G_T3,
	F4 ~func(A4) G_T4,
	F5 ~func(A5) G_T5,
	F6 ~func(A6) G_T6,
	F7 ~func(A7) G_T7,
	F8 ~func(A8) G_T8,
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	G_T4 ~func() ET.Either[E, T4],
	G_T5 ~func() ET.Either[E, T5],
	G_T6 ~func() ET.Either[E, T6],
	G_T7 ~func() ET.Either[E, T7],
	G_T8 ~func() ET.Either[E, T8],
	E, A1, A2, A3, A4, A5, A6, A7, A8, T1, T2, T3, T4, T5, T6, T7, 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]) G_TUPLE8

TraverseTuple8 converts a [T.Tuple8[func() ET.Either[E, T]]] into a [func() ET.Either[E, T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]]

func TraverseTuple9 added in v1.0.7

func TraverseTuple9[
	G_TUPLE9 ~func() ET.Either[E, T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
	F1 ~func(A1) G_T1,
	F2 ~func(A2) G_T2,
	F3 ~func(A3) G_T3,
	F4 ~func(A4) G_T4,
	F5 ~func(A5) G_T5,
	F6 ~func(A6) G_T6,
	F7 ~func(A7) G_T7,
	F8 ~func(A8) G_T8,
	F9 ~func(A9) G_T9,
	G_T1 ~func() ET.Either[E, T1],
	G_T2 ~func() ET.Either[E, T2],
	G_T3 ~func() ET.Either[E, T3],
	G_T4 ~func() ET.Either[E, T4],
	G_T5 ~func() ET.Either[E, T5],
	G_T6 ~func() ET.Either[E, T6],
	G_T7 ~func() ET.Either[E, T7],
	G_T8 ~func() ET.Either[E, T8],
	G_T9 ~func() ET.Either[E, T9],
	E, A1, A2, A3, A4, A5, A6, A7, A8, A9, T1, T2, T3, T4, T5, T6, T7, T8, 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]) G_TUPLE9

TraverseTuple9 converts a [T.Tuple9[func() ET.Either[E, T]]] into a [func() ET.Either[E, T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]]

func TryCatch

func TryCatch[GA ~func() ET.Either[E, A], E, A any](f func() (A, error), onThrow func(error) E) GA

func TryCatchError

func TryCatchError[GA ~func() ET.Either[error, A], A any](f func() (A, error)) GA

func Uneitherize0

func Uneitherize0[GIOA ~func() ET.Either[error, R], GTA ~func() GIOA, R any](f GTA) func() (R, error)

Uneitherize0 converts a function with 0 parameters returning a tuple into a function with 0 parameters returning a [GIOA]

func Uneitherize1

func Uneitherize1[GIOA ~func() ET.Either[error, R], GTA ~func(T1) GIOA, T1, R any](f GTA) func(T1) (R, error)

Uneitherize1 converts a function with 1 parameters returning a tuple into a function with 1 parameters returning a [GIOA]

func Uneitherize10 added in v1.0.7

func Uneitherize10[GIOA ~func() ET.Either[error, R], GTA ~func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) GIOA, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R any](f GTA) func(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) (R, error)

Uneitherize10 converts a function with 10 parameters returning a tuple into a function with 10 parameters returning a [GIOA]

func Uneitherize2

func Uneitherize2[GIOA ~func() ET.Either[error, R], GTA ~func(T1, T2) GIOA, T1, T2, R any](f GTA) func(T1, T2) (R, error)

Uneitherize2 converts a function with 2 parameters returning a tuple into a function with 2 parameters returning a [GIOA]

func Uneitherize3

func Uneitherize3[GIOA ~func() ET.Either[error, R], GTA ~func(T1, T2, T3) GIOA, T1, T2, T3, R any](f GTA) func(T1, T2, T3) (R, error)

Uneitherize3 converts a function with 3 parameters returning a tuple into a function with 3 parameters returning a [GIOA]

func Uneitherize4

func Uneitherize4[GIOA ~func() ET.Either[error, R], GTA ~func(T1, T2, T3, T4) GIOA, T1, T2, T3, T4, R any](f GTA) func(T1, T2, T3, T4) (R, error)

Uneitherize4 converts a function with 4 parameters returning a tuple into a function with 4 parameters returning a [GIOA]

func Uneitherize5 added in v1.0.7

func Uneitherize5[GIOA ~func() ET.Either[error, R], GTA ~func(T1, T2, T3, T4, T5) GIOA, T1, T2, T3, T4, T5, R any](f GTA) func(T1, T2, T3, T4, T5) (R, error)

Uneitherize5 converts a function with 5 parameters returning a tuple into a function with 5 parameters returning a [GIOA]

func Uneitherize6 added in v1.0.7

func Uneitherize6[GIOA ~func() ET.Either[error, R], GTA ~func(T1, T2, T3, T4, T5, T6) GIOA, T1, T2, T3, T4, T5, T6, R any](f GTA) func(T1, T2, T3, T4, T5, T6) (R, error)

Uneitherize6 converts a function with 6 parameters returning a tuple into a function with 6 parameters returning a [GIOA]

func Uneitherize7 added in v1.0.7

func Uneitherize7[GIOA ~func() ET.Either[error, R], GTA ~func(T1, T2, T3, T4, T5, T6, T7) GIOA, T1, T2, T3, T4, T5, T6, T7, R any](f GTA) func(T1, T2, T3, T4, T5, T6, T7) (R, error)

Uneitherize7 converts a function with 7 parameters returning a tuple into a function with 7 parameters returning a [GIOA]

func Uneitherize8 added in v1.0.7

func Uneitherize8[GIOA ~func() ET.Either[error, R], GTA ~func(T1, T2, T3, T4, T5, T6, T7, T8) GIOA, T1, T2, T3, T4, T5, T6, T7, T8, R any](f GTA) func(T1, T2, T3, T4, T5, T6, T7, T8) (R, error)

Uneitherize8 converts a function with 8 parameters returning a tuple into a function with 8 parameters returning a [GIOA]

func Uneitherize9 added in v1.0.7

func Uneitherize9[GIOA ~func() ET.Either[error, R], GTA ~func(T1, T2, T3, T4, T5, T6, T7, T8, T9) GIOA, T1, T2, T3, T4, T5, T6, T7, T8, T9, R any](f GTA) func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R, error)

Uneitherize9 converts a function with 9 parameters returning a tuple into a function with 9 parameters returning a [GIOA]

func WithLock added in v1.0.50

func WithLock[GA ~func() ET.Either[E, A], E, A any](lock func() context.CancelFunc) func(fa GA) GA

WithLock executes the provided IO operation in the scope of a lock

func WithResource

func WithResource[
	GA ~func() ET.Either[E, A],
	GR ~func() ET.Either[E, R],
	GANY ~func() ET.Either[E, ANY],
	E, R, A, ANY any](onCreate GR, onRelease func(R) GANY) func(func(R) GA) GA

WithResource constructs a function that creates a resource, then operates on it and then releases the resource

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL