readerio

package
v1.0.49 Latest Latest
Warning

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

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

Documentation

Overview

Package readerio implements a specialization of the ReaderIO monad assuming a golang context as the context of the monad

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Ap

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

func Chain

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

func ChainFirstIOK added in v1.0.41

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

func ChainIOK added in v1.0.41

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

func Flap added in v1.0.47

func Flap[B, A any](a A) func(ReaderIO[func(A) B]) ReaderIO[B]

func From0

func From0[A any](f func(context.Context) IO.IO[A]) func() ReaderIO[A]

func From1

func From1[T1, A any](f func(context.Context, T1) IO.IO[A]) func(T1) ReaderIO[A]

func From2

func From2[T1, T2, A any](f func(context.Context, T1, T2) IO.IO[A]) func(T1, T2) ReaderIO[A]

func From3

func From3[T1, T2, T3, A any](f func(context.Context, T1, T2, T3) IO.IO[A]) func(T1, T2, T3) ReaderIO[A]

func Map

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

func TraverseArray

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

TraverseArray transforms an array

func TraverseArrayWithIndex added in v1.0.29

func TraverseArrayWithIndex[A, B any](f func(int, A) ReaderIO[B]) func([]A) ReaderIO[[]B]

TraverseArrayWithIndex transforms an array

Types

type ReaderIO

type ReaderIO[A any] R.ReaderIO[context.Context, A]

ReaderIO is a specialization of the ReaderIO monad assuming a golang context as the context of the monad

func Ask

func Ask() ReaderIO[context.Context]

func Defer

func Defer[A any](gen L.Lazy[ReaderIO[A]]) ReaderIO[A]

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

func Flatten added in v1.0.37

func Flatten[A any](mma ReaderIO[ReaderIO[A]]) ReaderIO[A]

Flatten converts a nested ReaderIO into a ReaderIO

func FromIO added in v1.0.48

func FromIO[A any](a IO.IO[A]) ReaderIO[A]

FromIO converts an [IO.IO] to a ReaderIO

func Memoize added in v1.0.36

func Memoize[A any](rdr ReaderIO[A]) ReaderIO[A]

Memoize computes the value of the provided ReaderIO monad lazily but exactly once The context used to compute the value is the context of the first call, so do not use this method if the value has a functional dependency on the content of the context

func MonadAp

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

func MonadChain

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

func MonadChainFirstIOK added in v1.0.41

func MonadChainFirstIOK[A, B any](fa ReaderIO[A], f func(A) IO.IO[B]) ReaderIO[A]

func MonadChainIOK added in v1.0.41

func MonadChainIOK[A, B any](fa ReaderIO[A], f func(A) IO.IO[B]) ReaderIO[B]

func MonadFlap added in v1.0.47

func MonadFlap[B, A any](fab ReaderIO[func(A) B], a A) ReaderIO[B]

func MonadMap

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

func Of

func Of[A any](a A) ReaderIO[A]

func SequenceArray

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

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

func SequenceT1

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

func SequenceT2

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

func SequenceT3

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

func SequenceT4

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

Jump to

Keyboard shortcuts

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