Documentation ΒΆ
Index ΒΆ
- func Fold[T, U, R any](f Foldable[T, U], successFunc func(U) R, failureFunc func(T) R) R
- type Either
- func (e Either[L, R]) ForEach(leftCb func(L), rightCb func(R))
- func (e Either[L, R]) IsLeft() bool
- func (e Either[L, R]) IsRight() bool
- func (e Either[L, R]) Left() (L, bool)
- func (e Either[L, R]) LeftOrElse(fallback L) L
- func (e Either[L, R]) LeftOrEmpty() L
- func (e Either[L, R]) MapLeft(mapper func(L) Either[L, R]) Either[L, R]
- func (e Either[L, R]) MapRight(mapper func(R) Either[L, R]) Either[L, R]
- func (e Either[L, R]) Match(onLeft func(L) Either[L, R], onRight func(R) Either[L, R]) Either[L, R]
- func (e Either[L, R]) MustLeft() L
- func (e Either[L, R]) MustRight() R
- func (e Either[L, R]) Right() (R, bool)
- func (e Either[L, R]) RightOrElse(fallback R) R
- func (e Either[L, R]) RightOrEmpty() R
- func (e Either[L, R]) Swap() Either[R, L]
- func (e Either[L, R]) Unpack() (L, R)
- type Either3
- func (e Either3[T1, T2, T3]) Arg1() (T1, bool)
- func (e Either3[T1, T2, T3]) Arg1OrElse(fallback T1) T1
- func (e Either3[T1, T2, T3]) Arg1OrEmpty() T1
- func (e Either3[T1, T2, T3]) Arg2() (T2, bool)
- func (e Either3[T1, T2, T3]) Arg2OrElse(fallback T2) T2
- func (e Either3[T1, T2, T3]) Arg2OrEmpty() T2
- func (e Either3[T1, T2, T3]) Arg3() (T3, bool)
- func (e Either3[T1, T2, T3]) Arg3OrElse(fallback T3) T3
- func (e Either3[T1, T2, T3]) Arg3OrEmpty() T3
- func (e Either3[T1, T2, T3]) ForEach(arg1Cb func(T1), arg2Cb func(T2), arg3Cb func(T3))
- func (e Either3[T1, T2, T3]) IsArg1() bool
- func (e Either3[T1, T2, T3]) IsArg2() bool
- func (e Either3[T1, T2, T3]) IsArg3() bool
- func (e Either3[T1, T2, T3]) MapArg1(mapper func(T1) Either3[T1, T2, T3]) Either3[T1, T2, T3]
- func (e Either3[T1, T2, T3]) MapArg2(mapper func(T2) Either3[T1, T2, T3]) Either3[T1, T2, T3]
- func (e Either3[T1, T2, T3]) MapArg3(mapper func(T3) Either3[T1, T2, T3]) Either3[T1, T2, T3]
- func (e Either3[T1, T2, T3]) Match(onArg1 func(T1) Either3[T1, T2, T3], onArg2 func(T2) Either3[T1, T2, T3], ...) Either3[T1, T2, T3]
- func (e Either3[T1, T2, T3]) MustArg1() T1
- func (e Either3[T1, T2, T3]) MustArg2() T2
- func (e Either3[T1, T2, T3]) MustArg3() T3
- func (e Either3[T1, T2, T3]) Unpack() (T1, T2, T3)
- type Either4
- func NewEither4Arg1[T1 any, T2 any, T3 any, T4 any](value T1) Either4[T1, T2, T3, T4]
- func NewEither4Arg2[T1 any, T2 any, T3 any, T4 any](value T2) Either4[T1, T2, T3, T4]
- func NewEither4Arg3[T1 any, T2 any, T3 any, T4 any](value T3) Either4[T1, T2, T3, T4]
- func NewEither4Arg4[T1 any, T2 any, T3 any, T4 any](value T4) Either4[T1, T2, T3, T4]
- func (e Either4[T1, T2, T3, T4]) Arg1() (T1, bool)
- func (e Either4[T1, T2, T3, T4]) Arg1OrElse(fallback T1) T1
- func (e Either4[T1, T2, T3, T4]) Arg1OrEmpty() T1
- func (e Either4[T1, T2, T3, T4]) Arg2() (T2, bool)
- func (e Either4[T1, T2, T3, T4]) Arg2OrElse(fallback T2) T2
- func (e Either4[T1, T2, T3, T4]) Arg2OrEmpty() T2
- func (e Either4[T1, T2, T3, T4]) Arg3() (T3, bool)
- func (e Either4[T1, T2, T3, T4]) Arg3OrElse(fallback T3) T3
- func (e Either4[T1, T2, T3, T4]) Arg3OrEmpty() T3
- func (e Either4[T1, T2, T3, T4]) Arg4() (T4, bool)
- func (e Either4[T1, T2, T3, T4]) Arg4OrElse(fallback T4) T4
- func (e Either4[T1, T2, T3, T4]) Arg4OrEmpty() T4
- func (e Either4[T1, T2, T3, T4]) ForEach(arg1Cb func(T1), arg2Cb func(T2), arg3Cb func(T3), arg4Cb func(T4))
- func (e Either4[T1, T2, T3, T4]) IsArg1() bool
- func (e Either4[T1, T2, T3, T4]) IsArg2() bool
- func (e Either4[T1, T2, T3, T4]) IsArg3() bool
- func (e Either4[T1, T2, T3, T4]) IsArg4() bool
- func (e Either4[T1, T2, T3, T4]) MapArg1(mapper func(T1) Either4[T1, T2, T3, T4]) Either4[T1, T2, T3, T4]
- func (e Either4[T1, T2, T3, T4]) MapArg2(mapper func(T2) Either4[T1, T2, T3, T4]) Either4[T1, T2, T3, T4]
- func (e Either4[T1, T2, T3, T4]) MapArg3(mapper func(T3) Either4[T1, T2, T3, T4]) Either4[T1, T2, T3, T4]
- func (e Either4[T1, T2, T3, T4]) MapArg4(mapper func(T4) Either4[T1, T2, T3, T4]) Either4[T1, T2, T3, T4]
- func (e Either4[T1, T2, T3, T4]) Match(onArg1 func(T1) Either4[T1, T2, T3, T4], ...) Either4[T1, T2, T3, T4]
- func (e Either4[T1, T2, T3, T4]) MustArg1() T1
- func (e Either4[T1, T2, T3, T4]) MustArg2() T2
- func (e Either4[T1, T2, T3, T4]) MustArg3() T3
- func (e Either4[T1, T2, T3, T4]) MustArg4() T4
- func (e Either4[T1, T2, T3, T4]) Unpack() (T1, T2, T3, T4)
- type Either5
- func NewEither5Arg1[T1 any, T2 any, T3 any, T4 any, T5 any](value T1) Either5[T1, T2, T3, T4, T5]
- func NewEither5Arg2[T1 any, T2 any, T3 any, T4 any, T5 any](value T2) Either5[T1, T2, T3, T4, T5]
- func NewEither5Arg3[T1 any, T2 any, T3 any, T4 any, T5 any](value T3) Either5[T1, T2, T3, T4, T5]
- func NewEither5Arg4[T1 any, T2 any, T3 any, T4 any, T5 any](value T4) Either5[T1, T2, T3, T4, T5]
- func NewEither5Arg5[T1 any, T2 any, T3 any, T4 any, T5 any](value T5) Either5[T1, T2, T3, T4, T5]
- func (e Either5[T1, T2, T3, T4, T5]) Arg1() (T1, bool)
- func (e Either5[T1, T2, T3, T4, T5]) Arg1OrElse(fallback T1) T1
- func (e Either5[T1, T2, T3, T4, T5]) Arg1OrEmpty() T1
- func (e Either5[T1, T2, T3, T4, T5]) Arg2() (T2, bool)
- func (e Either5[T1, T2, T3, T4, T5]) Arg2OrElse(fallback T2) T2
- func (e Either5[T1, T2, T3, T4, T5]) Arg2OrEmpty() T2
- func (e Either5[T1, T2, T3, T4, T5]) Arg3() (T3, bool)
- func (e Either5[T1, T2, T3, T4, T5]) Arg3OrElse(fallback T3) T3
- func (e Either5[T1, T2, T3, T4, T5]) Arg3OrEmpty() T3
- func (e Either5[T1, T2, T3, T4, T5]) Arg4() (T4, bool)
- func (e Either5[T1, T2, T3, T4, T5]) Arg4OrElse(fallback T4) T4
- func (e Either5[T1, T2, T3, T4, T5]) Arg4OrEmpty() T4
- func (e Either5[T1, T2, T3, T4, T5]) Arg5() (T5, bool)
- func (e Either5[T1, T2, T3, T4, T5]) Arg5OrElse(fallback T5) T5
- func (e Either5[T1, T2, T3, T4, T5]) Arg5OrEmpty() T5
- func (e Either5[T1, T2, T3, T4, T5]) ForEach(arg1Cb func(T1), arg2Cb func(T2), arg3Cb func(T3), arg4Cb func(T4), ...)
- func (e Either5[T1, T2, T3, T4, T5]) IsArg1() bool
- func (e Either5[T1, T2, T3, T4, T5]) IsArg2() bool
- func (e Either5[T1, T2, T3, T4, T5]) IsArg3() bool
- func (e Either5[T1, T2, T3, T4, T5]) IsArg4() bool
- func (e Either5[T1, T2, T3, T4, T5]) IsArg5() bool
- func (e Either5[T1, T2, T3, T4, T5]) MapArg1(mapper func(T1) Either5[T1, T2, T3, T4, T5]) Either5[T1, T2, T3, T4, T5]
- func (e Either5[T1, T2, T3, T4, T5]) MapArg2(mapper func(T2) Either5[T1, T2, T3, T4, T5]) Either5[T1, T2, T3, T4, T5]
- func (e Either5[T1, T2, T3, T4, T5]) MapArg3(mapper func(T3) Either5[T1, T2, T3, T4, T5]) Either5[T1, T2, T3, T4, T5]
- func (e Either5[T1, T2, T3, T4, T5]) MapArg4(mapper func(T4) Either5[T1, T2, T3, T4, T5]) Either5[T1, T2, T3, T4, T5]
- func (e Either5[T1, T2, T3, T4, T5]) MapArg5(mapper func(T5) Either5[T1, T2, T3, T4, T5]) Either5[T1, T2, T3, T4, T5]
- func (e Either5[T1, T2, T3, T4, T5]) Match(onArg1 func(T1) Either5[T1, T2, T3, T4, T5], ...) Either5[T1, T2, T3, T4, T5]
- func (e Either5[T1, T2, T3, T4, T5]) MustArg1() T1
- func (e Either5[T1, T2, T3, T4, T5]) MustArg2() T2
- func (e Either5[T1, T2, T3, T4, T5]) MustArg3() T3
- func (e Either5[T1, T2, T3, T4, T5]) MustArg4() T4
- func (e Either5[T1, T2, T3, T4, T5]) MustArg5() T5
- func (e Either5[T1, T2, T3, T4, T5]) Unpack() (T1, T2, T3, T4, T5)
- type Foldable
- type Future
- func (f *Future[T]) Cancel()
- func (f *Future[T]) Catch(cb func(error) (T, error)) *Future[T]
- func (f *Future[T]) Collect() (T, error)
- func (f *Future[T]) Either() Either[error, T]
- func (f *Future[T]) Finally(cb func(T, error) (T, error)) *Future[T]
- func (f *Future[T]) Result() Result[T]
- func (f *Future[T]) Then(cb func(T) (T, error)) *Future[T]
- type IO
- type IO1
- type IO2
- type IO3
- type IO4
- type IO5
- type IOEither
- type IOEither1
- type IOEither2
- type IOEither3
- type IOEither4
- type IOEither5
- type Option
- func (o Option[T]) FlatMap(mapper func(value T) Option[T]) Option[T]
- func (o Option[T]) ForEach(onValue func(value T))
- func (o Option[T]) Get() (T, bool)
- func (o *Option[T]) GobDecode(data []byte) error
- func (o Option[T]) GobEncode() ([]byte, error)
- func (o Option[T]) IsAbsent() bool
- func (o Option[T]) IsPresent() bool
- func (o Option[T]) Map(mapper func(value T) (T, bool)) Option[T]
- func (o Option[T]) MapNone(mapper func() (T, bool)) Option[T]
- func (o Option[T]) MarshalBinary() ([]byte, error)
- func (o Option[T]) MarshalJSON() ([]byte, error)
- func (o Option[T]) MarshalText() ([]byte, error)
- func (o Option[T]) Match(onValue func(value T) (T, bool), onNone func() (T, bool)) Option[T]
- func (o Option[T]) MustGet() T
- func (o Option[T]) OrElse(fallback T) T
- func (o Option[T]) OrEmpty() T
- func (o *Option[T]) Scan(src any) error
- func (o Option[T]) Size() int
- func (o Option[T]) ToPointer() *T
- func (o *Option[T]) UnmarshalBinary(data []byte) error
- func (o *Option[T]) UnmarshalJSON(b []byte) error
- func (o *Option[T]) UnmarshalText(data []byte) error
- func (o Option[T]) Value() (driver.Value, error)
- type Result
- func (r Result[T]) Error() error
- func (r Result[T]) FlatMap(mapper func(value T) Result[T]) Result[T]
- func (r Result[T]) ForEach(mapper func(value T))
- func (r Result[T]) Get() (T, error)
- func (r Result[T]) IsError() bool
- func (r Result[T]) IsOk() bool
- func (r Result[T]) Map(mapper func(value T) (T, error)) Result[T]
- func (r Result[T]) MapErr(mapper func(error) (T, error)) Result[T]
- func (o Result[T]) MarshalJSON() ([]byte, error)
- func (r Result[T]) Match(onSuccess func(value T) (T, error), onError func(err error) (T, error)) Result[T]
- func (r Result[T]) MustGet() T
- func (r Result[T]) OrElse(fallback T) T
- func (r Result[T]) OrEmpty() T
- func (r Result[T]) ToEither() Either[error, T]
- func (o *Result[T]) UnmarshalJSON(data []byte) error
- type State
- type Task
- type Task1
- type Task2
- type Task3
- type Task4
- type Task5
- type TaskEither
- func (t TaskEither[R]) Match(onLeft func(error) Either[error, R], onRight func(R) Either[error, R]) Either[error, R]
- func (t TaskEither[R]) OrElse(fallback R) R
- func (t TaskEither[R]) ToEither() Either[error, R]
- func (t TaskEither[R]) ToTask(fallback R) Task[R]
- func (t TaskEither[R]) TryCatch(onLeft func(error) Either[error, R], onRight func(R) Either[error, R]) Either[error, R]
Constants ΒΆ
This section is empty.
Variables ΒΆ
This section is empty.
Functions ΒΆ
func Fold ΒΆ added in v1.12.0
Fold applies one of the two functions based on the state of the Foldable type, and it returns the result of applying either successFunc or failureFunc.
- T: the type of the failure value (e.g., an error type) - U: the type of the success value - R: the type of the return value from the folding functions
successFunc is applied when the Foldable is in the success state (i.e., isLeft() is false). failureFunc is applied when the Foldable is in the failure state (i.e., isLeft() is true).
Types ΒΆ
type Either ΒΆ
Either respresents a value of 2 possible types. An instance of Either is an instance of either A or B.
func (Either[L, R]) ForEach ΒΆ
func (e Either[L, R]) ForEach(leftCb func(L), rightCb func(R))
ForEach executes the given side-effecting function, depending of value is Left or Right.
func (Either[L, R]) LeftOrElse ΒΆ
func (e Either[L, R]) LeftOrElse(fallback L) L
LeftOrElse returns left value of a Either struct or fallback.
func (Either[L, R]) LeftOrEmpty ΒΆ
func (e Either[L, R]) LeftOrEmpty() L
LeftOrEmpty returns left value of a Either struct or empty value.
func (Either[L, R]) MapLeft ΒΆ
MapLeft executes the given function, if Either is of type Left, and returns result.
func (Either[L, R]) MapRight ΒΆ
MapRight executes the given function, if Either is of type Right, and returns result.
func (Either[L, R]) Match ΒΆ
Match executes the given function, depending of value is Left or Right, and returns result.
func (Either[L, R]) MustLeft ΒΆ
func (e Either[L, R]) MustLeft() L
MustLeft returns left value of a Either struct or panics.
func (Either[L, R]) MustRight ΒΆ
func (e Either[L, R]) MustRight() R
MustRight returns right value of a Either struct or panics.
func (Either[L, R]) RightOrElse ΒΆ
func (e Either[L, R]) RightOrElse(fallback R) R
RightOrElse returns right value of a Either struct or fallback.
func (Either[L, R]) RightOrEmpty ΒΆ
func (e Either[L, R]) RightOrEmpty() R
RightOrEmpty returns right value of a Either struct or empty value.
type Either3 ΒΆ added in v1.2.0
Either3 represents a value of 3 possible types. An instance of Either3 is an instance of either T1, T2 or T3.
func NewEither3Arg1 ΒΆ added in v1.2.0
NewEither3Arg1 builds the first argument of the Either3 struct.
func NewEither3Arg2 ΒΆ added in v1.2.0
NewEither3Arg2 builds the second argument of the Either3 struct.
func NewEither3Arg3 ΒΆ added in v1.2.0
NewEither3Arg3 builds the third argument of the Either3 struct.
func (Either3[T1, T2, T3]) Arg1 ΒΆ added in v1.2.0
Arg1 returns the first argument of a Either3 struct.
func (Either3[T1, T2, T3]) Arg1OrElse ΒΆ added in v1.2.0
func (e Either3[T1, T2, T3]) Arg1OrElse(fallback T1) T1
Arg1OrElse returns the first argument of a Either3 struct or fallback.
func (Either3[T1, T2, T3]) Arg1OrEmpty ΒΆ added in v1.2.0
func (e Either3[T1, T2, T3]) Arg1OrEmpty() T1
Arg1OrEmpty returns the first argument of a Either3 struct or empty value.
func (Either3[T1, T2, T3]) Arg2 ΒΆ added in v1.2.0
Arg2 returns the second argument of a Either3 struct.
func (Either3[T1, T2, T3]) Arg2OrElse ΒΆ added in v1.2.0
func (e Either3[T1, T2, T3]) Arg2OrElse(fallback T2) T2
Arg2OrElse returns the second argument of a Either3 struct or fallback.
func (Either3[T1, T2, T3]) Arg2OrEmpty ΒΆ added in v1.2.0
func (e Either3[T1, T2, T3]) Arg2OrEmpty() T2
Arg2OrEmpty returns the second argument of a Either3 struct or empty value.
func (Either3[T1, T2, T3]) Arg3 ΒΆ added in v1.2.0
Arg3 returns the third argument of a Either3 struct.
func (Either3[T1, T2, T3]) Arg3OrElse ΒΆ added in v1.2.0
func (e Either3[T1, T2, T3]) Arg3OrElse(fallback T3) T3
Arg3OrElse returns the third argument of a Either3 struct or fallback.
func (Either3[T1, T2, T3]) Arg3OrEmpty ΒΆ added in v1.2.0
func (e Either3[T1, T2, T3]) Arg3OrEmpty() T3
Arg3OrEmpty returns the third argument of a Either3 struct or empty value.
func (Either3[T1, T2, T3]) ForEach ΒΆ added in v1.2.0
func (e Either3[T1, T2, T3]) ForEach(arg1Cb func(T1), arg2Cb func(T2), arg3Cb func(T3))
ForEach executes the given side-effecting function, depending of the argument set.
func (Either3[T1, T2, T3]) IsArg1 ΒΆ added in v1.2.0
IsArg1 returns true if Either3 uses the first argument.
func (Either3[T1, T2, T3]) IsArg2 ΒΆ added in v1.2.0
IsArg2 returns true if Either3 uses the second argument.
func (Either3[T1, T2, T3]) IsArg3 ΒΆ added in v1.2.0
IsArg3 returns true if Either3 uses the third argument.
func (Either3[T1, T2, T3]) MapArg1 ΒΆ added in v1.2.0
MapArg1 executes the given function, if Either3 use the first argument, and returns result.
func (Either3[T1, T2, T3]) MapArg2 ΒΆ added in v1.2.0
MapArg2 executes the given function, if Either3 use the second argument, and returns result.
func (Either3[T1, T2, T3]) MapArg3 ΒΆ added in v1.2.0
MapArg3 executes the given function, if Either3 use the third argument, and returns result.
func (Either3[T1, T2, T3]) Match ΒΆ added in v1.2.0
func (e Either3[T1, T2, T3]) Match( onArg1 func(T1) Either3[T1, T2, T3], onArg2 func(T2) Either3[T1, T2, T3], onArg3 func(T3) Either3[T1, T2, T3]) Either3[T1, T2, T3]
Match executes the given function, depending of the argument set, and returns result.
func (Either3[T1, T2, T3]) MustArg1 ΒΆ added in v1.2.0
func (e Either3[T1, T2, T3]) MustArg1() T1
MustArg1 returns the first argument of a Either3 struct or panics.
func (Either3[T1, T2, T3]) MustArg2 ΒΆ added in v1.2.0
func (e Either3[T1, T2, T3]) MustArg2() T2
MustArg2 returns the second argument of a Either3 struct or panics.
type Either4 ΒΆ added in v1.2.0
Either4 respresents a value of 4 possible types. An instance of Either4 is an instance of either T1, T2, T3 or T4.
func NewEither4Arg1 ΒΆ added in v1.2.0
NewEither4Arg1 builds the first argument of the Either4 struct.
func NewEither4Arg2 ΒΆ added in v1.2.0
NewEither4Arg2 builds the second argument of the Either4 struct.
func NewEither4Arg3 ΒΆ added in v1.2.0
NewEither4Arg3 builds the third argument of the Either4 struct.
func NewEither4Arg4 ΒΆ added in v1.2.0
NewEither4Arg4 builds the fourth argument of the Either4 struct.
func (Either4[T1, T2, T3, T4]) Arg1 ΒΆ added in v1.2.0
Arg1 returns the first argument of a Either4 struct.
func (Either4[T1, T2, T3, T4]) Arg1OrElse ΒΆ added in v1.2.0
func (e Either4[T1, T2, T3, T4]) Arg1OrElse(fallback T1) T1
Arg1OrElse returns the first argument of a Either4 struct or fallback.
func (Either4[T1, T2, T3, T4]) Arg1OrEmpty ΒΆ added in v1.2.0
func (e Either4[T1, T2, T3, T4]) Arg1OrEmpty() T1
Arg1OrEmpty returns the first argument of a Either4 struct or empty value.
func (Either4[T1, T2, T3, T4]) Arg2 ΒΆ added in v1.2.0
Arg2 returns the second argument of a Either4 struct.
func (Either4[T1, T2, T3, T4]) Arg2OrElse ΒΆ added in v1.2.0
func (e Either4[T1, T2, T3, T4]) Arg2OrElse(fallback T2) T2
Arg2OrElse returns the second argument of a Either4 struct or fallback.
func (Either4[T1, T2, T3, T4]) Arg2OrEmpty ΒΆ added in v1.2.0
func (e Either4[T1, T2, T3, T4]) Arg2OrEmpty() T2
Arg2OrEmpty returns the second argument of a Either4 struct or empty value.
func (Either4[T1, T2, T3, T4]) Arg3 ΒΆ added in v1.2.0
Arg3 returns the third argument of a Either4 struct.
func (Either4[T1, T2, T3, T4]) Arg3OrElse ΒΆ added in v1.2.0
func (e Either4[T1, T2, T3, T4]) Arg3OrElse(fallback T3) T3
Arg3OrElse returns the third argument of a Either4 struct or fallback.
func (Either4[T1, T2, T3, T4]) Arg3OrEmpty ΒΆ added in v1.2.0
func (e Either4[T1, T2, T3, T4]) Arg3OrEmpty() T3
Arg3OrEmpty returns the third argument of a Either4 struct or empty value.
func (Either4[T1, T2, T3, T4]) Arg4 ΒΆ added in v1.2.0
Arg4 returns the fourth argument of a Either4 struct.
func (Either4[T1, T2, T3, T4]) Arg4OrElse ΒΆ added in v1.2.0
func (e Either4[T1, T2, T3, T4]) Arg4OrElse(fallback T4) T4
Arg4OrElse returns the fourth argument of a Either4 struct or fallback.
func (Either4[T1, T2, T3, T4]) Arg4OrEmpty ΒΆ added in v1.2.0
func (e Either4[T1, T2, T3, T4]) Arg4OrEmpty() T4
Arg4OrEmpty returns the fourth argument of a Either4 struct or empty value.
func (Either4[T1, T2, T3, T4]) ForEach ΒΆ added in v1.2.0
func (e Either4[T1, T2, T3, T4]) ForEach(arg1Cb func(T1), arg2Cb func(T2), arg3Cb func(T3), arg4Cb func(T4))
ForEach executes the given side-effecting function, depending of the argument set.
func (Either4[T1, T2, T3, T4]) IsArg1 ΒΆ added in v1.2.0
IsArg1 returns true if Either4 uses the first argument.
func (Either4[T1, T2, T3, T4]) IsArg2 ΒΆ added in v1.2.0
IsArg2 returns true if Either4 uses the second argument.
func (Either4[T1, T2, T3, T4]) IsArg3 ΒΆ added in v1.2.0
IsArg3 returns true if Either4 uses the third argument.
func (Either4[T1, T2, T3, T4]) IsArg4 ΒΆ added in v1.2.0
IsArg4 returns true if Either4 uses the fourth argument.
func (Either4[T1, T2, T3, T4]) MapArg1 ΒΆ added in v1.2.0
func (e Either4[T1, T2, T3, T4]) MapArg1(mapper func(T1) Either4[T1, T2, T3, T4]) Either4[T1, T2, T3, T4]
MapArg1 executes the given function, if Either4 use the first argument, and returns result.
func (Either4[T1, T2, T3, T4]) MapArg2 ΒΆ added in v1.2.0
func (e Either4[T1, T2, T3, T4]) MapArg2(mapper func(T2) Either4[T1, T2, T3, T4]) Either4[T1, T2, T3, T4]
MapArg2 executes the given function, if Either4 use the second argument, and returns result.
func (Either4[T1, T2, T3, T4]) MapArg3 ΒΆ added in v1.2.0
func (e Either4[T1, T2, T3, T4]) MapArg3(mapper func(T3) Either4[T1, T2, T3, T4]) Either4[T1, T2, T3, T4]
MapArg3 executes the given function, if Either4 use the third argument, and returns result.
func (Either4[T1, T2, T3, T4]) MapArg4 ΒΆ added in v1.2.0
func (e Either4[T1, T2, T3, T4]) MapArg4(mapper func(T4) Either4[T1, T2, T3, T4]) Either4[T1, T2, T3, T4]
MapArg4 executes the given function, if Either4 use the fourth argument, and returns result.
func (Either4[T1, T2, T3, T4]) Match ΒΆ added in v1.2.0
func (e Either4[T1, T2, T3, T4]) Match( onArg1 func(T1) Either4[T1, T2, T3, T4], onArg2 func(T2) Either4[T1, T2, T3, T4], onArg3 func(T3) Either4[T1, T2, T3, T4], onArg4 func(T4) Either4[T1, T2, T3, T4]) Either4[T1, T2, T3, T4]
Match executes the given function, depending of the argument set, and returns result.
func (Either4[T1, T2, T3, T4]) MustArg1 ΒΆ added in v1.2.0
func (e Either4[T1, T2, T3, T4]) MustArg1() T1
MustArg1 returns the first argument of a Either4 struct or panics.
func (Either4[T1, T2, T3, T4]) MustArg2 ΒΆ added in v1.2.0
func (e Either4[T1, T2, T3, T4]) MustArg2() T2
MustArg2 returns the second argument of a Either4 struct or panics.
func (Either4[T1, T2, T3, T4]) MustArg3 ΒΆ added in v1.2.0
func (e Either4[T1, T2, T3, T4]) MustArg3() T3
MustArg3 returns the third argument of a Either4 struct or panics.
type Either5 ΒΆ added in v1.2.0
type Either5[T1 any, T2 any, T3 any, T4 any, T5 any] struct { // contains filtered or unexported fields }
Either5 respresents a value of 5 possible types. An instance of Either5 is an instance of either T1, T2, T3, T4, or T5.
func NewEither5Arg1 ΒΆ added in v1.2.0
NewEither5Arg1 builds the first argument of the Either5 struct.
func NewEither5Arg2 ΒΆ added in v1.2.0
NewEither5Arg2 builds the second argument of the Either5 struct.
func NewEither5Arg3 ΒΆ added in v1.2.0
NewEither5Arg3 builds the third argument of the Either5 struct.
func NewEither5Arg4 ΒΆ added in v1.2.0
NewEither5Arg4 builds the fourth argument of the Either5 struct.
func NewEither5Arg5 ΒΆ added in v1.2.0
NewEither5Arg5 builds the fith argument of the Either5 struct.
func (Either5[T1, T2, T3, T4, T5]) Arg1 ΒΆ added in v1.2.0
Arg1 returns the first argument of a Either5 struct.
func (Either5[T1, T2, T3, T4, T5]) Arg1OrElse ΒΆ added in v1.2.0
func (e Either5[T1, T2, T3, T4, T5]) Arg1OrElse(fallback T1) T1
Arg1OrElse returns the first argument of a Either5 struct or fallback.
func (Either5[T1, T2, T3, T4, T5]) Arg1OrEmpty ΒΆ added in v1.2.0
func (e Either5[T1, T2, T3, T4, T5]) Arg1OrEmpty() T1
Arg1OrEmpty returns the first argument of a Either5 struct or empty value.
func (Either5[T1, T2, T3, T4, T5]) Arg2 ΒΆ added in v1.2.0
Arg2 returns the second argument of a Either5 struct.
func (Either5[T1, T2, T3, T4, T5]) Arg2OrElse ΒΆ added in v1.2.0
func (e Either5[T1, T2, T3, T4, T5]) Arg2OrElse(fallback T2) T2
Arg2OrElse returns the second argument of a Either5 struct or fallback.
func (Either5[T1, T2, T3, T4, T5]) Arg2OrEmpty ΒΆ added in v1.2.0
func (e Either5[T1, T2, T3, T4, T5]) Arg2OrEmpty() T2
Arg2OrEmpty returns the second argument of a Either5 struct or empty value.
func (Either5[T1, T2, T3, T4, T5]) Arg3 ΒΆ added in v1.2.0
Arg3 returns the third argument of a Either5 struct.
func (Either5[T1, T2, T3, T4, T5]) Arg3OrElse ΒΆ added in v1.2.0
func (e Either5[T1, T2, T3, T4, T5]) Arg3OrElse(fallback T3) T3
Arg3OrElse returns the third argument of a Either5 struct or fallback.
func (Either5[T1, T2, T3, T4, T5]) Arg3OrEmpty ΒΆ added in v1.2.0
func (e Either5[T1, T2, T3, T4, T5]) Arg3OrEmpty() T3
Arg3OrEmpty returns the third argument of a Either5 struct or empty value.
func (Either5[T1, T2, T3, T4, T5]) Arg4 ΒΆ added in v1.2.0
Arg4 returns the fourth argument of a Either5 struct.
func (Either5[T1, T2, T3, T4, T5]) Arg4OrElse ΒΆ added in v1.2.0
func (e Either5[T1, T2, T3, T4, T5]) Arg4OrElse(fallback T4) T4
Arg4OrElse returns the fourth argument of a Either5 struct or fallback.
func (Either5[T1, T2, T3, T4, T5]) Arg4OrEmpty ΒΆ added in v1.2.0
func (e Either5[T1, T2, T3, T4, T5]) Arg4OrEmpty() T4
Arg4OrEmpty returns the fourth argument of a Either5 struct or empty value.
func (Either5[T1, T2, T3, T4, T5]) Arg5 ΒΆ added in v1.2.0
Arg5 returns the fith argument of a Either5 struct.
func (Either5[T1, T2, T3, T4, T5]) Arg5OrElse ΒΆ added in v1.2.0
func (e Either5[T1, T2, T3, T4, T5]) Arg5OrElse(fallback T5) T5
Arg5OrElse returns the fith argument of a Either5 struct or fallback.
func (Either5[T1, T2, T3, T4, T5]) Arg5OrEmpty ΒΆ added in v1.2.0
func (e Either5[T1, T2, T3, T4, T5]) Arg5OrEmpty() T5
Arg5OrEmpty returns the fifth argument of a Either5 struct or empty value.
func (Either5[T1, T2, T3, T4, T5]) ForEach ΒΆ added in v1.2.0
func (e Either5[T1, T2, T3, T4, T5]) ForEach(arg1Cb func(T1), arg2Cb func(T2), arg3Cb func(T3), arg4Cb func(T4), arg5Cb func(T5))
ForEach executes the given side-effecting function, depending of the argument set.
func (Either5[T1, T2, T3, T4, T5]) IsArg1 ΒΆ added in v1.2.0
IsArg1 returns true if Either5 uses the first argument.
func (Either5[T1, T2, T3, T4, T5]) IsArg2 ΒΆ added in v1.2.0
IsArg2 returns true if Either5 uses the second argument.
func (Either5[T1, T2, T3, T4, T5]) IsArg3 ΒΆ added in v1.2.0
IsArg3 returns true if Either5 uses the third argument.
func (Either5[T1, T2, T3, T4, T5]) IsArg4 ΒΆ added in v1.2.0
IsArg4 returns true if Either5 uses the fourth argument.
func (Either5[T1, T2, T3, T4, T5]) IsArg5 ΒΆ added in v1.2.0
IsArg5 returns true if Either5 uses the fith argument.
func (Either5[T1, T2, T3, T4, T5]) MapArg1 ΒΆ added in v1.2.0
func (e Either5[T1, T2, T3, T4, T5]) MapArg1(mapper func(T1) Either5[T1, T2, T3, T4, T5]) Either5[T1, T2, T3, T4, T5]
MapArg1 executes the given function, if Either5 use the first argument, and returns result.
func (Either5[T1, T2, T3, T4, T5]) MapArg2 ΒΆ added in v1.2.0
func (e Either5[T1, T2, T3, T4, T5]) MapArg2(mapper func(T2) Either5[T1, T2, T3, T4, T5]) Either5[T1, T2, T3, T4, T5]
MapArg2 executes the given function, if Either5 use the second argument, and returns result.
func (Either5[T1, T2, T3, T4, T5]) MapArg3 ΒΆ added in v1.2.0
func (e Either5[T1, T2, T3, T4, T5]) MapArg3(mapper func(T3) Either5[T1, T2, T3, T4, T5]) Either5[T1, T2, T3, T4, T5]
MapArg3 executes the given function, if Either5 use the third argument, and returns result.
func (Either5[T1, T2, T3, T4, T5]) MapArg4 ΒΆ added in v1.2.0
func (e Either5[T1, T2, T3, T4, T5]) MapArg4(mapper func(T4) Either5[T1, T2, T3, T4, T5]) Either5[T1, T2, T3, T4, T5]
MapArg4 executes the given function, if Either5 use the fourth argument, and returns result.
func (Either5[T1, T2, T3, T4, T5]) MapArg5 ΒΆ added in v1.2.0
func (e Either5[T1, T2, T3, T4, T5]) MapArg5(mapper func(T5) Either5[T1, T2, T3, T4, T5]) Either5[T1, T2, T3, T4, T5]
MapArg5 executes the given function, if Either5 use the fith argument, and returns result.
func (Either5[T1, T2, T3, T4, T5]) Match ΒΆ added in v1.2.0
func (e Either5[T1, T2, T3, T4, T5]) Match( onArg1 func(T1) Either5[T1, T2, T3, T4, T5], onArg2 func(T2) Either5[T1, T2, T3, T4, T5], onArg3 func(T3) Either5[T1, T2, T3, T4, T5], onArg4 func(T4) Either5[T1, T2, T3, T4, T5], onArg5 func(T5) Either5[T1, T2, T3, T4, T5]) Either5[T1, T2, T3, T4, T5]
Match executes the given function, depending of the argument set, and returns result.
func (Either5[T1, T2, T3, T4, T5]) MustArg1 ΒΆ added in v1.2.0
func (e Either5[T1, T2, T3, T4, T5]) MustArg1() T1
MustArg1 returns the first argument of a Either5 struct or panics.
func (Either5[T1, T2, T3, T4, T5]) MustArg2 ΒΆ added in v1.2.0
func (e Either5[T1, T2, T3, T4, T5]) MustArg2() T2
MustArg2 returns the second argument of a Either5 struct or panics.
func (Either5[T1, T2, T3, T4, T5]) MustArg3 ΒΆ added in v1.2.0
func (e Either5[T1, T2, T3, T4, T5]) MustArg3() T3
MustArg3 returns the third argument of a Either5 struct or panics.
func (Either5[T1, T2, T3, T4, T5]) MustArg4 ΒΆ added in v1.2.0
func (e Either5[T1, T2, T3, T4, T5]) MustArg4() T4
MustArg4 returns the fourth argument of a Either5 struct or panics.
type Foldable ΒΆ added in v1.12.0
Foldable represents a type that can be folded into a single value based on its state.
- T: the type of the value in the failure state (e.g., an error type). - U: the type of the value in the success state.
type Future ΒΆ
type Future[T any] struct { // contains filtered or unexported fields }
Future represents a value which may or may not currently be available, but will be available at some point, or an exception if that value could not be made available.
func (*Future[T]) Finally ΒΆ
Finally is called when Future is processed either resolved or rejected. It returns a new Future.
type IO ΒΆ
type IO[R any] struct { // contains filtered or unexported fields }
IO represents a non-deterministic synchronous computation that can cause side effects, yields a value of type `R` and never fails.
type IO1 ΒΆ
IO1 represents a non-deterministic synchronous computation that can cause side effects, yields a value of type `R` and never fails.
type IO2 ΒΆ
IO2 represents a non-deterministic synchronous computation that can cause side effects, yields a value of type `R` and never fails.
type IO3 ΒΆ
IO3 represents a non-deterministic synchronous computation that can cause side effects, yields a value of type `R` and never fails.
type IO4 ΒΆ
IO4 represents a non-deterministic synchronous computation that can cause side effects, yields a value of type `R` and never fails.
type IO5 ΒΆ
type IO5[R any, A any, B any, C any, D any, E any] struct { // contains filtered or unexported fields }
IO5 represents a non-deterministic synchronous computation that can cause side effects, yields a value of type `R` and never fails.
type IOEither ΒΆ
type IOEither[R any] struct { // contains filtered or unexported fields }
IOEither represents a non-deterministic synchronous computation that can cause side effects, yields a value of type `R` and can fail.
func NewIOEither ΒΆ
NewIOEither instanciates a new IO.
type IOEither1 ΒΆ
IOEither1 represents a non-deterministic synchronous computation that can cause side effects, yields a value of type `R` and can fail.
func NewIOEither1 ΒΆ
NewIOEither1 instanciates a new IO1.
type IOEither2 ΒΆ
IOEither2 represents a non-deterministic synchronous computation that can cause side effects, yields a value of type `R` and can fail.
func NewIOEither2 ΒΆ
NewIOEither2 instanciates a new IO2.
type IOEither3 ΒΆ
IOEither3 represents a non-deterministic synchronous computation that can cause side effects, yields a value of type `R` and can fail.
func NewIOEither3 ΒΆ
NewIOEither3 instanciates a new IO3.
type IOEither4 ΒΆ
type IOEither4[R any, A any, B any, C any, D any] struct { // contains filtered or unexported fields }
IOEither4 represents a non-deterministic synchronous computation that can cause side effects, yields a value of type `R` and can fail.
func NewIOEither4 ΒΆ
NewIOEither4 instanciates a new IO4.
type IOEither5 ΒΆ
type IOEither5[R any, A any, B any, C any, D any, E any] struct { // contains filtered or unexported fields }
IOEither5 represents a non-deterministic synchronous computation that can cause side effects, yields a value of type `R` and can fail.
type Option ΒΆ
type Option[T any] struct { // contains filtered or unexported fields }
Option is a container for an optional value of type T. If value exists, Option is of type Some. If the value is absent, Option is of type None.
func EmptyableToOption ΒΆ added in v1.5.0
EmptyableToOption builds a Some Option when value is not empty, or None. Play: https://go.dev/play/p/GSpQQ-q-UES
func None ΒΆ
None builds an Option when value is absent. Play: https://go.dev/play/p/yYQPsYCSYlD
func PointerToOption ΒΆ added in v1.8.0
PointerToOption builds a Some Option when value is not nil, or None. Play: https://go.dev/play/p/yPVMj4DUb-I
func Some ΒΆ
Some builds an Option when value is present. Play: https://go.dev/play/p/iqz2n9n0tDM
func TupleToOption ΒΆ
TupleToOption builds a Some Option when second argument is true, or None. Play: https://go.dev/play/p/gkrg2pZwOty
func (Option[T]) FlatMap ΒΆ
FlatMap executes the mapper function if value is present or returns None if absent. Play: https://go.dev/play/p/OXO-zJx6n5r
func (Option[T]) ForEach ΒΆ
func (o Option[T]) ForEach(onValue func(value T))
ForEach executes the given side-effecting function of value is present.
func (Option[T]) Get ΒΆ
Get returns value and presence. Play: https://go.dev/play/p/0-JBa1usZRT
func (Option[T]) IsAbsent ΒΆ
IsAbsent returns false when value is present. Play: https://go.dev/play/p/23e2zqyVOQm
func (Option[T]) IsPresent ΒΆ
IsPresent returns false when value is absent. Play: https://go.dev/play/p/nDqIaiihyCA
func (Option[T]) Map ΒΆ
Map executes the mapper function if value is present or returns None if absent. Play: https://go.dev/play/p/mvfP3pcP_eJ
func (Option[T]) MapNone ΒΆ
MapNone executes the mapper function if value is absent or returns Option. Play: https://go.dev/play/p/_KaHWZ6Q17b
func (Option[T]) MarshalBinary ΒΆ added in v1.4.0
MarshalBinary is the interface implemented by an object that can marshal itself into a binary form.
func (Option[T]) MarshalJSON ΒΆ added in v1.3.0
MarshalJSON encodes Option into json.
func (Option[T]) MarshalText ΒΆ added in v1.4.0
MarshalText implements the encoding.TextMarshaler interface.
func (Option[T]) Match ΒΆ
Match executes the first function if value is present and second function if absent. It returns a new Option. Play: https://go.dev/play/p/1V6st3LDJsM
func (Option[T]) MustGet ΒΆ
func (o Option[T]) MustGet() T
MustGet returns value if present or panics instead. Play: https://go.dev/play/p/RVBckjdi5WR
func (Option[T]) OrElse ΒΆ
func (o Option[T]) OrElse(fallback T) T
OrElse returns value if present or default value. Play: https://go.dev/play/p/TrGByFWCzXS
func (Option[T]) OrEmpty ΒΆ
func (o Option[T]) OrEmpty() T
OrEmpty returns value if present or empty value. Play: https://go.dev/play/p/SpSUJcE-tQm
func (Option[T]) Size ΒΆ
Size returns 1 when value is present or 0 instead. Play: https://go.dev/play/p/7ixCNG1E9l7
func (Option[T]) ToPointer ΒΆ added in v1.10.0
func (o Option[T]) ToPointer() *T
ToPointer returns value if present or a nil pointer. Play: https://go.dev/play/p/N43w92SM-Bs
func (*Option[T]) UnmarshalBinary ΒΆ added in v1.4.0
UnmarshalBinary is the interface implemented by an object that can unmarshal a binary representation of itself.
func (*Option[T]) UnmarshalJSON ΒΆ added in v1.3.0
UnmarshalJSON decodes Option from json.
func (*Option[T]) UnmarshalText ΒΆ added in v1.4.0
UnmarshalText implements the encoding.TextUnmarshaler interface.
type Result ΒΆ
type Result[T any] struct { // contains filtered or unexported fields }
Result represents a result of an action having one of the following output: success or failure. An instance of Result is an instance of either Ok or Err. It could be compared to `Either[error, T]`.
func Do ΒΆ added in v1.12.0
Do executes a function within a monadic context, capturing any errors that occur. If the function executes successfully, its result is wrapped in a successful Result. If the function panics (indicating a failure), the panic is caught and converted into an error Result.
func Err ΒΆ
Err builds a Result when value is invalid. Play: https://go.dev/play/p/PDwADdzNoyZ
func Errf ΒΆ added in v1.10.0
Errf builds a Result when value is invalid. Errf formats according to a format specifier and returns the error as a value that satisfies Result[T]. Play: https://go.dev/play/p/N43w92SM-Bs
func Ok ΒΆ
Ok builds a Result when value is valid. Play: https://go.dev/play/p/PDwADdzNoyZ
func Try ΒΆ added in v1.1.0
Try returns either a Ok or Err object. Play: https://go.dev/play/p/ilOlQx-Mx42
func TupleToResult ΒΆ
TupleToResult convert a pair of T and error into a Result. Play: https://go.dev/play/p/KWjfqQDHQwa
func (Result[T]) Error ΒΆ
Error returns error when value is invalid or nil. Play: https://go.dev/play/p/CSkHGTyiXJ5
func (Result[T]) FlatMap ΒΆ
FlatMap executes the mapper function if Result is valid. It returns a new Result. Play: https://go.dev/play/p/Ud5QjZOqg-7
func (Result[T]) ForEach ΒΆ
func (r Result[T]) ForEach(mapper func(value T))
ForEach executes the given side-effecting function if Result is valid.
func (Result[T]) Get ΒΆ
Get returns value and error. Play: https://go.dev/play/p/8KyX3z6TuNo
func (Result[T]) IsError ΒΆ
IsError returns true when value is invalid. Play: https://go.dev/play/p/xkV9d464scV
func (Result[T]) IsOk ΒΆ
IsOk returns true when value is valid. Play: https://go.dev/play/p/sfNvBQyZfgU
func (Result[T]) Map ΒΆ
Map executes the mapper function if Result is valid. It returns a new Result. Play: https://go.dev/play/p/-ndpN_b_OSc
func (Result[T]) MapErr ΒΆ
MapErr executes the mapper function if Result is invalid. It returns a new Result. Play: https://go.dev/play/p/WraZixg9GGf
func (Result[T]) MarshalJSON ΒΆ added in v1.11.0
MarshalJSON encodes Result into json, following the JSON-RPC specification for results, with one exception: when the result is an error, the "code" field is not included. Reference: https://www.jsonrpc.org/specification
func (Result[T]) Match ΒΆ
func (r Result[T]) Match(onSuccess func(value T) (T, error), onError func(err error) (T, error)) Result[T]
Match executes the first function if Result is valid and second function if invalid. It returns a new Result. Play: https://go.dev/play/p/-_eFaLJ31co
func (Result[T]) MustGet ΒΆ
func (r Result[T]) MustGet() T
MustGet returns value when Result is valid or panics. Play: https://go.dev/play/p/8LSlndHoTAE
func (Result[T]) OrElse ΒΆ
func (r Result[T]) OrElse(fallback T) T
OrElse returns value when Result is valid or default value. Play: https://go.dev/play/p/MN_ULx0soi6
func (Result[T]) OrEmpty ΒΆ
func (r Result[T]) OrEmpty() T
OrEmpty returns value when Result is valid or empty value. Play: https://go.dev/play/p/rdKtBmOcMLh
func (Result[T]) ToEither ΒΆ
ToEither transforms a Result into an Either type. Play: https://go.dev/play/p/Uw1Zz6b952q
func (*Result[T]) UnmarshalJSON ΒΆ added in v1.11.0
UnmarshalJSON decodes json into Result. If "error" is set, the result is an Err containing the error message as a generic error object. Otherwise, the result is an Ok containing the result. If the JSON object contains netiher an error nor a result, the result is an Ok containing an empty value. If the JSON object contains both an error and a result, the result is an Err. Finally, if the JSON object contains an error but is not structured correctly (no message field), the unmarshaling fails.
type State ΒΆ
State represents a function `(S) -> (A, S)`, where `S` is state, `A` is result.
func ReturnState ΒΆ
type Task ΒΆ
type Task[R any] struct { // contains filtered or unexported fields }
Task represents a non-deterministic asynchronous computation that can cause side effects, yields a value of type `R` and never fails.
func NewTaskFromIO ΒΆ
NewTaskFromIO instanciates a new Task from an existing IO.
type Task1 ΒΆ
Task1 represents a non-deterministic asynchronous computation that can cause side effects, yields a value of type `R` and never fails.
func NewTaskFromIO1 ΒΆ
NewTaskFromIO1 instanciates a new Task1 from an existing IO1.
type Task2 ΒΆ
Task2 represents a non-deterministic asynchronous computation that can cause side effects, yields a value of type `R` and never fails.
func NewTaskFromIO2 ΒΆ
NewTaskFromIO2 instanciates a new Task2 from an existing IO2.
type Task3 ΒΆ
Task3 represents a non-deterministic asynchronous computation that can cause side effects, yields a value of type `R` and never fails.
func NewTaskFromIO3 ΒΆ
NewTaskFromIO3 instanciates a new Task3 from an existing IO3.
type Task4 ΒΆ
Task4 represents a non-deterministic asynchronous computation that can cause side effects, yields a value of type `R` and never fails.
func NewTaskFromIO4 ΒΆ
NewTaskFromIO4 instanciates a new Task4 from an existing IO4.
type Task5 ΒΆ
type Task5[R any, A any, B any, C any, D any, E any] struct { // contains filtered or unexported fields }
Task5 represents a non-deterministic asynchronous computation that can cause side effects, yields a value of type `R` and never fails.
func NewTask5 ΒΆ
func NewTask5[R any, A any, B any, C any, D any, E any](f ff5[R, A, B, C, D, E]) Task5[R, A, B, C, D, E]
NewTask5 instanciates a new Task5.
type TaskEither ΒΆ
TaskEither represents a non-deterministic asynchronous computation that can cause side effects, yields a value of type `R` and can fail.
func NewTaskEither ΒΆ
func NewTaskEither[R any](f ff0[R]) TaskEither[R]
NewTaskEither instanciates a new TaskEither.
func NewTaskEitherFromIO ΒΆ
func NewTaskEitherFromIO[R any](io IO[R]) TaskEither[R]
NewTaskEitherFromIO instanciates a new TaskEither from an existing IO.
func (TaskEither[R]) Match ΒΆ
func (t TaskEither[R]) Match(onLeft func(error) Either[error, R], onRight func(R) Either[error, R]) Either[error, R]
Match executes the first function if task succeeded and second function if task failed. It returns a new Option.
func (TaskEither[R]) OrElse ΒΆ
func (t TaskEither[R]) OrElse(fallback R) R
OrElse returns value if task succeeded or default value.
func (TaskEither[R]) ToEither ΒΆ
func (t TaskEither[R]) ToEither() Either[error, R]
ToEither converts TaskEither to Either.
func (TaskEither[R]) ToTask ΒΆ
func (t TaskEither[R]) ToTask(fallback R) Task[R]
ToTask converts TaskEither to Task