Versions in this module Expand all Collapse all v0 v0.0.2 Jul 20, 2026 v0.0.1 Jul 20, 2026 Changes in this version + func EqualEqualer[L interface{ ... }, R interface{ ... }](l, r Either[L, R]) bool + func Equal[L, R comparable](l, r Either[L, R]) bool + func TransposeLeft[L, R any](e Either[opt.Option[L], R]) opt.Option[Either[L, R]] + func TransposeRight[L, R any](e Either[L, opt.Option[R]]) opt.Option[Either[L, R]] + func Transpose[T any](r Result[opt.Option[T]]) opt.Option[Result[T]] + type Either struct + func CloneCloner[L interface{ ... }, R interface{ ... }](e Either[L, R]) Either[L, R] + func FlattenEither[L, R any](e Either[Either[L, R], Either[L, R]]) Either[L, R] + func FlattenLeft[L, R any](e Either[Either[L, R], R]) Either[L, R] + func FlattenRight[L, R any](e Either[L, Either[L, R]]) Either[L, R] + func Left[L, R any](l L) Either[L, R] + func Right[L, R any](r R) Either[L, R] + func (e *Either[L, R]) UnmarshalJSON(data []byte) error + func (e *Either[L, R]) UnmarshalJSONFrom(dec *jsontext.Decoder) error + func (e *Either[L, R]) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error + func (e Either[L, R]) CloneFunc(cloneL func(L) L, cloneR func(R) R) Either[L, R] + func (e Either[L, R]) EqualFunc(other Either[L, R], cmpL func(i, j L) bool, cmpR func(i, j R) bool) bool + func (e Either[L, R]) ExpectLeft(msg string) L + func (e Either[L, R]) ExpectRight(msg string) R + func (e Either[L, R]) Flip() Either[R, L] + func (e Either[L, R]) Fold[U any](onLeft func(l L) U, onRight func(r R) U) U + func (e Either[L, R]) InspectLeft(fn func(l L)) Either[L, R] + func (e Either[L, R]) InspectRight(fn func(r R)) Either[L, R] + func (e Either[L, R]) IsLeft() bool + func (e Either[L, R]) IsLeftAnd(fn func(l L) bool) bool + func (e Either[L, R]) IsRight() bool + func (e Either[L, R]) IsRightAnd(fn func(r R) bool) bool + func (e Either[L, R]) IterLeft() iter.Seq[L] + func (e Either[L, R]) IterRight() iter.Seq[R] + func (e Either[L, R]) Left() opt.Option[L] + func (e Either[L, R]) LeftAndThen[U any](fn func(l L) Either[U, R]) Either[U, R] + func (e Either[L, R]) LeftAnd[U any](u Either[U, R]) Either[U, R] + func (e Either[L, R]) LeftOr(l L) L + func (e Either[L, R]) LeftOrElse(fn func(r R) L) L + func (e Either[L, R]) LogValue() slog.Value + func (e Either[L, R]) MapLeftOr[U any](defaultValue U, fn func(l L) U) U + func (e Either[L, R]) MapLeft[U any](fn func(l L) U) Either[U, R] + func (e Either[L, R]) MapRightOr[U any](defaultValue U, fn func(r R) U) U + func (e Either[L, R]) MapRight[U any](fn func(r R) U) Either[L, U] + func (e Either[L, R]) Map[L2, R2 any](onLeft func(l L) L2, onRight func(r R) R2) Either[L2, R2] + func (e Either[L, R]) MarshalJSON() ([]byte, error) + func (e Either[L, R]) MarshalJSONTo(enc *jsontext.Encoder) error + func (e Either[L, R]) MarshalXML(enc *xml.Encoder, start xml.StartElement) error + func (e Either[L, R]) Right() opt.Option[R] + func (e Either[L, R]) RightAndThen[U any](fn func(r R) Either[L, U]) Either[L, U] + func (e Either[L, R]) RightAnd[U any](u Either[L, U]) Either[L, U] + func (e Either[L, R]) RightOr(r R) R + func (e Either[L, R]) RightOrElse(fn func(l L) R) R + func (e Either[L, R]) Unpack() (l L, r R) + func (e Either[L, R]) UnwrapLeft() L + func (e Either[L, R]) UnwrapRight() R + type Result struct + func Err[T any](err error) Result[T] + func Flatten[T any](r Result[Result[T]]) Result[T] + func FromResult[T any](t T, err error) Result[T] + func Ok[T any](t T) Result[T] + func (r *Result[T]) UnmarshalJSON(data []byte) error + func (r *Result[T]) UnmarshalJSONFrom(dec *jsontext.Decoder) error + func (r *Result[T]) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error + func (r Result[T]) AndThen[U any](fn func(t T) Result[U]) Result[U] + func (r Result[T]) And[U any](u Result[U]) Result[U] + func (r Result[T]) Either() Either[T, error] + func (r Result[T]) Err() error + func (r Result[T]) Expect(msg string) T + func (r Result[T]) ExpectErr(msg string) error + func (r Result[T]) Inspect(fn func(t T)) Result[T] + func (r Result[T]) InspectErr(fn func(err error)) Result[T] + func (r Result[T]) IsErr() bool + func (r Result[T]) IsErrAnd(fn func(err error) bool) bool + func (r Result[T]) IsOk() bool + func (r Result[T]) IsOkAnd(fn func(t T) bool) bool + func (r Result[T]) Iter() iter.Seq[T] + func (r Result[T]) LogValue() slog.Value + func (r Result[T]) MapErr(fn func(err error) error) Result[T] + func (r Result[T]) MapOrElse[U any](defaultFn func(err error) U, fn func(t T) U) U + func (r Result[T]) MapOr[U any](defaultValue U, fn func(t T) U) U + func (r Result[T]) Map[U any](fn func(t T) U) Result[U] + func (r Result[T]) MarshalJSON() ([]byte, error) + func (r Result[T]) MarshalJSONTo(enc *jsontext.Encoder) error + func (r Result[T]) MarshalXML(enc *xml.Encoder, start xml.StartElement) error + func (r Result[T]) Ok() opt.Option[T] + func (r Result[T]) Or(u Result[T]) Result[T] + func (r Result[T]) OrElse(fn func(err error) Result[T]) Result[T] + func (r Result[T]) Unwrap() T + func (r Result[T]) UnwrapErr() error + func (r Result[T]) UnwrapOr(t T) T + func (r Result[T]) UnwrapOrDefault() T + func (r Result[T]) UnwrapOrElse(fn func(err error) T) T + func (r Result[T]) Value() T + type UntaggedEither struct + func (u *UntaggedEither[L, R]) UnmarshalJSON(data []byte) error + func (u *UntaggedEither[L, R]) UnmarshalJSONFrom(dec *jsontext.Decoder) error + func (u *UntaggedEither[L, R]) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error + func (u UntaggedEither[L, R]) MarshalJSON() ([]byte, error) + func (u UntaggedEither[L, R]) MarshalJSONTo(enc *jsontext.Encoder) error + func (u UntaggedEither[L, R]) MarshalXML(enc *xml.Encoder, start xml.StartElement) error + type UntaggedResult struct + func (u *UntaggedResult[T]) UnmarshalJSON(data []byte) error + func (u *UntaggedResult[T]) UnmarshalJSONFrom(dec *jsontext.Decoder) error + func (u *UntaggedResult[T]) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error + func (u UntaggedResult[T]) MarshalJSON() ([]byte, error) + func (u UntaggedResult[T]) MarshalJSONTo(enc *jsontext.Encoder) error + func (u UntaggedResult[T]) MarshalXML(enc *xml.Encoder, start xml.StartElement) error