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

readerioeither

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jul 18, 2023 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package readerioeither contains a version of ReaderIOEither that takes a golang context.Context as its context

Code generated by go generate; DO NOT EDIT. This file was generated by robots at 2023-07-18 15:21:14.8906482 +0200 CEST m=+0.127356001

Package readerioeither implements a specialization of the Reader monad assuming a golang context as the context of the monad and a standard golang error

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Ap

func Ap[B, A any](fa ReaderIOEither[A]) func(ReaderIOEither[func(A) B]) ReaderIOEither[B]

func Chain

func Chain[A, B any](f func(A) ReaderIOEither[B]) func(ReaderIOEither[A]) ReaderIOEither[B]

func ChainEitherK

func ChainEitherK[A, B any](f func(A) ET.Either[error, B]) func(ma ReaderIOEither[A]) ReaderIOEither[B]

func ChainFirst

func ChainFirst[A, B any](f func(A) ReaderIOEither[B]) func(ReaderIOEither[A]) ReaderIOEither[A]

func ChainFirstEitherK

func ChainFirstEitherK[A, B any](f func(A) ET.Either[error, B]) func(ma ReaderIOEither[A]) ReaderIOEither[A]

func ChainFirstIOK

func ChainFirstIOK[A, B any](f func(A) IO.IO[B]) func(ma ReaderIOEither[A]) ReaderIOEither[A]

func ChainIOEitherK

func ChainIOEitherK[A, B any](f func(A) IOE.IOEither[error, B]) func(ma ReaderIOEither[A]) ReaderIOEither[B]

func ChainIOK

func ChainIOK[A, B any](f func(A) IO.IO[B]) func(ma ReaderIOEither[A]) ReaderIOEither[B]

func ChainOptionK

func ChainOptionK[A, B any](onNone func() error) func(func(A) O.Option[B]) func(ReaderIOEither[A]) ReaderIOEither[B]

func Delay

func Delay[A any](delay time.Duration) func(ma ReaderIOEither[A]) ReaderIOEither[A]

Delay creates an operation that passes in the value after some delay

func Eitherize0

func Eitherize0[F ~func(context.Context) (R, error), R any](f F) func() ReaderIOEither[R]

Eitherize0 converts a function with 0 parameters returning a tuple into a function with 0 parameters returning a [ReaderIOEither[R]] The inverse function is [Uneitherize0]

func Eitherize1

func Eitherize1[F ~func(context.Context, T0) (R, error), T0, R any](f F) func(T0) ReaderIOEither[R]

Eitherize1 converts a function with 1 parameters returning a tuple into a function with 1 parameters returning a [ReaderIOEither[R]] The inverse function is [Uneitherize1]

func Eitherize2

func Eitherize2[F ~func(context.Context, T0, T1) (R, error), T0, T1, R any](f F) func(T0, T1) ReaderIOEither[R]

Eitherize2 converts a function with 2 parameters returning a tuple into a function with 2 parameters returning a [ReaderIOEither[R]] The inverse function is [Uneitherize2]

func Eitherize3

func Eitherize3[F ~func(context.Context, T0, T1, T2) (R, error), T0, T1, T2, R any](f F) func(T0, T1, T2) ReaderIOEither[R]

Eitherize3 converts a function with 3 parameters returning a tuple into a function with 3 parameters returning a [ReaderIOEither[R]] The inverse function is [Uneitherize3]

func Eitherize4

func Eitherize4[F ~func(context.Context, T0, T1, T2, T3) (R, error), T0, T1, T2, T3, R any](f F) func(T0, T1, T2, T3) ReaderIOEither[R]

Eitherize4 converts a function with 4 parameters returning a tuple into a function with 4 parameters returning a [ReaderIOEither[R]] The inverse function is [Uneitherize4]

func Eitherize5

func Eitherize5[F ~func(context.Context, T0, T1, T2, T3, T4) (R, error), T0, T1, T2, T3, T4, R any](f F) func(T0, T1, T2, T3, T4) ReaderIOEither[R]

Eitherize5 converts a function with 5 parameters returning a tuple into a function with 5 parameters returning a [ReaderIOEither[R]] The inverse function is [Uneitherize5]

func Eitherize6

func Eitherize6[F ~func(context.Context, T0, T1, T2, T3, T4, T5) (R, error), T0, T1, T2, T3, T4, T5, R any](f F) func(T0, T1, T2, T3, T4, T5) ReaderIOEither[R]

Eitherize6 converts a function with 6 parameters returning a tuple into a function with 6 parameters returning a [ReaderIOEither[R]] The inverse function is [Uneitherize6]

func Eitherize7

func Eitherize7[F ~func(context.Context, T0, T1, T2, T3, T4, T5, T6) (R, error), T0, T1, T2, T3, T4, T5, T6, R any](f F) func(T0, T1, T2, T3, T4, T5, T6) ReaderIOEither[R]

Eitherize7 converts a function with 7 parameters returning a tuple into a function with 7 parameters returning a [ReaderIOEither[R]] The inverse function is [Uneitherize7]

func Eitherize8

func Eitherize8[F ~func(context.Context, T0, T1, T2, T3, T4, T5, T6, T7) (R, error), T0, T1, T2, T3, T4, T5, T6, T7, R any](f F) func(T0, T1, T2, T3, T4, T5, T6, T7) ReaderIOEither[R]

Eitherize8 converts a function with 8 parameters returning a tuple into a function with 8 parameters returning a [ReaderIOEither[R]] The inverse function is [Uneitherize8]

func Eitherize9

func Eitherize9[F ~func(context.Context, T0, T1, T2, T3, T4, T5, T6, T7, T8) (R, error), T0, T1, T2, T3, T4, T5, T6, T7, T8, R any](f F) func(T0, T1, T2, T3, T4, T5, T6, T7, T8) ReaderIOEither[R]

Eitherize9 converts a function with 9 parameters returning a tuple into a function with 9 parameters returning a [ReaderIOEither[R]] The inverse function is [Uneitherize9]

func Eitherize10

func Eitherize10[F ~func(context.Context, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R, error), T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, R any](f F) func(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) ReaderIOEither[R]

Eitherize10 converts a function with 10 parameters returning a tuple into a function with 10 parameters returning a [ReaderIOEither[R]] The inverse function is [Uneitherize10]

func Eq

func Eq[A any](eq EQ.Eq[ET.Either[error, A]]) func(context.Context) EQ.Eq[ReaderIOEither[A]]

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

func Fold

func Fold[A, B any](onLeft func(error) RIO.ReaderIO[B], onRight func(A) RIO.ReaderIO[B]) func(ReaderIOEither[A]) RIO.ReaderIO[B]

func FromPredicate

func FromPredicate[A any](pred func(A) bool, onFalse func(A) error) func(A) ReaderIOEither[A]

func GetOrElse

func GetOrElse[A any](onLeft func(error) RIO.ReaderIO[A]) func(ReaderIOEither[A]) RIO.ReaderIO[A]

func Map

func Map[A, B any](f func(A) B) func(ReaderIOEither[A]) ReaderIOEither[B]

func OrElse

func OrElse[A any](onLeft func(error) ReaderIOEither[A]) func(ReaderIOEither[A]) ReaderIOEither[A]

func OrLeft

func OrLeft[A any](onLeft func(error) RIO.ReaderIO[error]) func(ReaderIOEither[A]) ReaderIOEither[A]

func TraverseArray

func TraverseArray[A, B any](f func(A) ReaderIOEither[B]) func([]A) ReaderIOEither[[]B]

TraverseArray transforms an array

func TraverseRecord

func TraverseRecord[K comparable, A, B any](f func(A) ReaderIOEither[B]) func(map[K]A) ReaderIOEither[map[K]B]

TraverseRecord transforms a record

func WithResource

func WithResource[R, A, ANY any](onCreate ReaderIOEither[R], onRelease func(R) ReaderIOEither[ANY]) func(func(R) ReaderIOEither[A]) ReaderIOEither[A]

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

Types

type ReaderIOEither

type ReaderIOEither[A any] RE.ReaderIOEither[context.Context, error, A]

ReaderIOEither is a specialization of the Reader monad for the typical golang scenario

func Ask

func Asks

func Asks[A any](r R.Reader[A]) ReaderIOEither[A]

func Defer

func Defer[A any](gen func() ReaderIOEither[A]) ReaderIOEither[A]

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

func FromEither

func FromEither[A any](e ET.Either[error, A]) ReaderIOEither[A]

func FromIO

func FromIO[A any](t IO.IO[A]) ReaderIOEither[A]

func FromIOEither

func FromIOEither[A any](t IOE.IOEither[error, A]) ReaderIOEither[A]

func FromReader

func FromReader[A any](r R.Reader[A]) ReaderIOEither[A]

func Left

func Left[A any](l error) ReaderIOEither[A]

func LeftReader

func LeftReader[A any](l R.Reader[error]) ReaderIOEither[A]

func MonadAp

func MonadAp[B, A any](fab ReaderIOEither[func(A) B], fa ReaderIOEither[A]) ReaderIOEither[B]

MonadAp implements the `Ap` function for a reader with context. It creates a sub-context that will be canceled if any of the input operations errors out or

func MonadChain

func MonadChain[A, B any](ma ReaderIOEither[A], f func(A) ReaderIOEither[B]) ReaderIOEither[B]

func MonadChainEitherK

func MonadChainEitherK[A, B any](ma ReaderIOEither[A], f func(A) ET.Either[error, B]) ReaderIOEither[B]

func MonadChainFirst

func MonadChainFirst[A, B any](ma ReaderIOEither[A], f func(A) ReaderIOEither[B]) ReaderIOEither[A]

func MonadChainFirstEitherK

func MonadChainFirstEitherK[A, B any](ma ReaderIOEither[A], f func(A) ET.Either[error, B]) ReaderIOEither[A]

func MonadChainFirstIOK

func MonadChainFirstIOK[A, B any](ma ReaderIOEither[A], f func(A) IO.IO[B]) ReaderIOEither[A]

func MonadChainIOK

func MonadChainIOK[A, B any](ma ReaderIOEither[A], f func(A) IO.IO[B]) ReaderIOEither[B]

func MonadMap

func MonadMap[A, B any](fa ReaderIOEither[A], f func(A) B) ReaderIOEither[B]

func Never

func Never[A any]() ReaderIOEither[A]

Never returns a 'ReaderIOEither' that never returns, except if its context gets canceled

func Of

func Of[A any](a A) ReaderIOEither[A]
func Right[A any](r A) ReaderIOEither[A]

func RightReader

func RightReader[A any](r R.Reader[A]) ReaderIOEither[A]

func SequenceArray

func SequenceArray[A any](ma []ReaderIOEither[A]) ReaderIOEither[[]A]

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

func SequenceRecord

func SequenceRecord[K comparable, A any](ma map[K]ReaderIOEither[A]) ReaderIOEither[map[K]A]

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

func SequenceT1

func SequenceT1[A any](a ReaderIOEither[A]) ReaderIOEither[T.Tuple1[A]]

func SequenceT2

func SequenceT2[A, B any](a ReaderIOEither[A], b ReaderIOEither[B]) ReaderIOEither[T.Tuple2[A, B]]

func SequenceT3

func SequenceT3[A, B, C any](a ReaderIOEither[A], b ReaderIOEither[B], c ReaderIOEither[C]) ReaderIOEither[T.Tuple3[A, B, C]]

func SequenceT4

func SequenceT4[A, B, C, D any](a ReaderIOEither[A], b ReaderIOEither[B], c ReaderIOEither[C], d ReaderIOEither[D]) ReaderIOEither[T.Tuple4[A, B, C, D]]

func Timer

func Timer(delay time.Duration) ReaderIOEither[time.Time]

Timer will return the current time after an initial delay

func TryCatch

func TryCatch[A any](f func(context.Context) func() (A, error)) ReaderIOEither[A]

TryCatch wraps a reader returning a tuple as an error into ReaderIOEither

func WithContext

func WithContext[A any](ma ReaderIOEither[A]) ReaderIOEither[A]

WithContext wraps an existing ReaderIOEither and performs a context check for cancellation before delegating

Directories

Path Synopsis
Code generated by go generate; DO NOT EDIT.
Code generated by go generate; DO NOT EDIT.

Jump to

Keyboard shortcuts

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