Help us shape the future of Go! Take the 2026 Go Developer Survey

eithert

package
v2.12.0 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Alt

func Alt[LAZY ~func() HKTFA, E, A, HKTFA any](
	fof func(ET.Either[E, A]) HKTFA,
	fchain func(func(ET.Either[E, A]) HKTFA) func(HKTFA) HKTFA,

	second LAZY) func(HKTFA) HKTFA

func Ap

func Ap[E, A, B, HKTFAB, HKTFGAB, HKTFA, HKTFB any](
	fap func(HKTFA) func(HKTFGAB) HKTFB,
	fmap func(func(ET.Either[E, func(A) B]) func(ET.Either[E, A]) ET.Either[E, B]) func(HKTFAB) HKTFGAB,
	fa HKTFA) func(HKTFAB) HKTFB

func BiMap

func BiMap[E1, E2, A, B, HKTFA, HKTFB any](
	fmap func(func(ET.Either[E1, A]) ET.Either[E2, B]) func(HKTFA) HKTFB,
	f func(E1) E2, g func(A) B) func(HKTFA) HKTFB

HKTFA = HKT<F, Either<E, A>> HKTFB = HKT<F, Either<E, B>>

func Chain

func Chain[E, A, B, HKTFA, HKTFB any](
	fchain func(func(ET.Either[E, A]) HKTFB) func(HKTFA) HKTFB,
	fof func(ET.Either[E, B]) HKTFB,
	f func(A) HKTFB) func(HKTFA) HKTFB

func ChainFirstLeft added in v2.1.0

func ChainFirstLeft[EA, A, EB, B, HKTFA, HKTFB any](
	fchain func(func(ET.Either[EA, A]) HKTFA) func(HKTFA) HKTFA,
	fmap func(func(ET.Either[EB, B]) ET.Either[EA, A]) func(HKTFB) HKTFA,
	fof func(ET.Either[EA, A]) HKTFA,
	f func(EA) HKTFB) func(HKTFA) HKTFA

func ChainLeft

func ChainLeft[EA, A, EB, HKTFA, HKTFB any](
	fchain func(func(ET.Either[EA, A]) HKTFB) func(HKTFA) HKTFB,
	fof func(ET.Either[EB, A]) HKTFB,
	f func(EA) HKTFB) func(HKTFA) HKTFB

func FoldE

func FoldE[E, A, HKTEA, HKTB any](mchain func(HKTEA, func(ET.Either[E, A]) HKTB) HKTB, ma HKTEA, onLeft func(E) HKTB, onRight func(A) HKTB) HKTB

func GetOrElse

func GetOrElse[E, A, HKTEA, HKTA any](mchain func(HKTEA, func(ET.Either[E, A]) HKTA) HKTA, mof func(A) HKTA, onLeft func(E) HKTA) func(HKTEA) HKTA

func GetOrElseOf

func GetOrElseOf[E, A, HKTEA, HKTA any](mchain func(HKTEA, func(ET.Either[E, A]) HKTA) HKTA, mof func(A) HKTA, onLeft func(E) A) func(HKTEA) HKTA

func Left

func Left[E, A, HKTA any](fof func(ET.Either[E, A]) HKTA, e E) HKTA

func LeftF

func LeftF[E, A, HKTE, HKTEA any](fmap func(HKTE, func(E) ET.Either[E, A]) HKTEA, fe HKTE) HKTEA

HKTE = HKT[E] HKTEA = HKT[Either[E, A]]

func Map

func Map[E, A, B, HKTFA, HKTFB any](
	fmap func(func(ET.Either[E, A]) ET.Either[E, B]) func(HKTFA) HKTFB,
	f func(A) B) func(HKTFA) HKTFB

func MapLeft

func MapLeft[E, A, B, HKTFA, HKTFB any](fmap func(func(ET.Either[E, A]) ET.Either[B, A]) func(HKTFA) HKTFB, f func(E) B) func(HKTFA) HKTFB

func MatchE

func MatchE[E, A, HKTEA, HKTB any](mchain func(HKTEA, func(ET.Either[E, A]) HKTB) HKTB, onLeft func(E) HKTB, onRight func(A) HKTB) func(HKTEA) HKTB

func MonadAlt

func MonadAlt[LAZY ~func() HKTFA, E, A, HKTFA any](
	fof func(ET.Either[E, A]) HKTFA,
	fchain func(HKTFA, func(ET.Either[E, A]) HKTFA) HKTFA,

	first HKTFA,
	second LAZY) HKTFA

func MonadAp

func MonadAp[E, A, B, HKTFAB, HKTFGAB, HKTFA, HKTFB any](
	fap func(HKTFGAB, HKTFA) HKTFB,
	fmap func(HKTFAB, func(ET.Either[E, func(A) B]) func(ET.Either[E, A]) ET.Either[E, B]) HKTFGAB,
	fab HKTFAB,
	fa HKTFA) HKTFB

func MonadBiMap

func MonadBiMap[E1, E2, A, B, HKTFA, HKTFB any](fmap func(HKTFA, func(ET.Either[E1, A]) ET.Either[E2, B]) HKTFB, fa HKTFA, f func(E1) E2, g func(A) B) HKTFB

HKTFA = HKT<F, Either<E, A>> HKTFB = HKT<F, Either<E, B>>

func MonadChain

func MonadChain[E, A, B, HKTFA, HKTFB any](
	fchain func(HKTFA, func(ET.Either[E, A]) HKTFB) HKTFB,
	fof func(ET.Either[E, B]) HKTFB,
	ma HKTFA,
	f func(A) HKTFB) HKTFB

HKTFA = HKT<F, Either<E, A>> HKTFB = HKT<F, Either<E, B>>

func MonadChainFirstLeft added in v2.1.0

func MonadChainFirstLeft[EA, A, EB, B, HKTFA, HKTFB any](
	fchain func(HKTFA, func(ET.Either[EA, A]) HKTFA) HKTFA,
	fmap func(HKTFB, func(ET.Either[EB, B]) ET.Either[EA, A]) HKTFA,
	fof func(ET.Either[EA, A]) HKTFA,
	fa HKTFA,
	f func(EA) HKTFB) HKTFA

func MonadChainLeft

func MonadChainLeft[EA, A, EB, HKTFA, HKTFB any](
	fchain func(HKTFA, func(ET.Either[EA, A]) HKTFB) HKTFB,
	fof func(ET.Either[EB, A]) HKTFB,
	fa HKTFA,
	f func(EA) HKTFB) HKTFB

func MonadMap

func MonadMap[E, A, B, HKTFA, HKTFB any](fmap func(HKTFA, func(ET.Either[E, A]) ET.Either[E, B]) HKTFB, fa HKTFA, f func(A) B) HKTFB

HKTFA = HKT<F, Either<E, A>> HKTFB = HKT<F, Either<E, B>>

func MonadMapLeft

func MonadMapLeft[E, A, B, HKTFA, HKTFB any](fmap func(HKTFA, func(ET.Either[E, A]) ET.Either[B, A]) HKTFB, fa HKTFA, f func(E) B) HKTFB

func OrElse

func OrElse[E1, E2, A, HKTE1A, HKTE2A any](mchain func(HKTE1A, func(ET.Either[E1, A]) HKTE2A) HKTE2A, mof func(ET.Either[E2, A]) HKTE2A, onLeft func(E1) HKTE2A) func(HKTE1A) HKTE2A

func OrLeft

func OrLeft[E1, E2, A, HKTE1A, HKTE2, HKTE2A any](
	mchain func(HKTE1A, func(ET.Either[E1, A]) HKTE2A) HKTE2A,
	mmap func(HKTE2, func(E2) ET.Either[E2, A]) HKTE2A,
	mof func(ET.Either[E2, A]) HKTE2A,
	onLeft func(E1) HKTE2) func(HKTE1A) HKTE2A
func Right[E, A, HKTA any](fof func(ET.Either[E, A]) HKTA, a A) HKTA

func RightF

func RightF[E, A, HKTA, HKTEA any](fmap func(HKTA, func(A) ET.Either[E, A]) HKTEA, fa HKTA) HKTEA

HKTA = HKT[A] HKTEA = HKT[Either[E, A]]

Types

This section is empty.

Jump to

Keyboard shortcuts

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