Documentation
¶
Overview ¶
Code generated by go generate; DO NOT EDIT. This file was generated by robots at 2024-02-29 16:19:10.2613281 +0100 CET m=+0.025319001
Index ¶
- func After[GA ~func() A, A any](timestamp time.Time) func(GA) GA
- func Ap[GB ~func() B, GAB ~func() func(A) B, GA ~func() A, B, A any](ma GA) func(GAB) GB
- func ApFirst[GA ~func() A, GB ~func() B, GBA ~func() func(B) A, A, B any](second GB) func(GA) GA
- func ApFirstPar[GA ~func() A, GB ~func() B, GBA ~func() func(B) A, A, B any](second GB) func(GA) GA
- func ApFirstSeq[GA ~func() A, GB ~func() B, GBA ~func() func(B) A, A, B any](second GB) func(GA) GA
- func ApPar[GB ~func() B, GAB ~func() func(A) B, GA ~func() A, B, A any](ma GA) func(GAB) GB
- func ApS[GS1 ~func() S1, GS2 ~func() S2, GT ~func() T, S1, S2, T any](setter func(T) func(S1) S2, fa GT) func(GS1) GS2
- func ApSecond[GA ~func() A, GB ~func() B, GBB ~func() func(B) B, A, B any](second GB) func(GA) GB
- func ApSeq[GB ~func() B, GAB ~func() func(A) B, GA ~func() A, B, A any](ma GA) func(GAB) GB
- func ApplicativeMonoid[GA ~func() A, A any](m M.Monoid[A]) M.Monoid[GA]
- func ApplySemigroup[GA ~func() A, A any](s S.Semigroup[A]) S.Semigroup[GA]
- func Bind[GS1 ~func() S1, GS2 ~func() S2, GT ~func() T, S1, S2, T any](setter func(T) func(S1) S2, f func(S1) GT) func(GS1) GS2
- func BindTo[GS1 ~func() S1, GT ~func() T, S1, T any](setter func(T) S1) func(GT) GS1
- func Bracket[GA ~func() A, GB ~func() B, GANY ~func() ANY, A, B, ANY any](acquire GA, use func(A) GB, release func(A, B) GANY) GB
- func Chain[GA ~func() A, GB ~func() B, A, B any](f func(A) GB) func(GA) GB
- func ChainFirst[GA ~func() A, GB ~func() B, A, B any](f func(A) GB) func(GA) GA
- func ChainTo[GA ~func() A, GB ~func() B, A, B any](fb GB) func(GA) GB
- func Defer[GA ~func() A, A any](gen func() GA) GA
- func Delay[GA ~func() A, A any](delay time.Duration) func(GA) GA
- func Do[GS ~func() S, S any](empty S) GS
- func Eq[GA ~func() A, A any](e EQ.Eq[A]) EQ.Eq[GA]
- func Flap[FAB ~func(A) B, GFAB ~func() FAB, GB ~func() B, A, B any](a A) func(GFAB) GB
- func Flatten[GA ~func() A, GAA ~func() GA, A any](mma GAA) GA
- func FromIO[GA ~func() A, A any](a GA) GA
- func FromImpure[GA ~func() any, IMP ~func()](f IMP) GA
- func FromStrictEquals[GA ~func() A, A comparable]() EQ.Eq[GA]
- func Functor[A, B any, GA ~func() A, GB ~func() B]() functor.Functor[A, B, GA, GB]
- func Let[GS1 ~func() S1, GS2 ~func() S2, S1, S2, T any](key func(T) func(S1) S2, f func(S1) T) func(GS1) GS2
- func LetTo[GS1 ~func() S1, GS2 ~func() S2, S1, S2, B any](key func(B) func(S1) S2, b B) func(GS1) GS2
- func Logf[GA ~func() any, A any](prefix string) func(A) GA
- func Logger[GA ~func() any, A any](loggers ...*log.Logger) func(string) func(A) GA
- func MakeIO[GA ~func() A, A any](f func() A) GA
- func Map[GA ~func() A, GB ~func() B, A, B any](f func(A) B) func(GA) GB
- func MapTo[GA ~func() A, GB ~func() B, A, B any](b B) func(GA) GB
- func Memoize[GA ~func() A, A any](ma GA) GA
- func Monad[A, B any, GA ~func() A, GB ~func() B, GAB ~func() func(A) B]() monad.Monad[A, B, GA, GB, GAB]
- func MonadAp[GA ~func() A, GB ~func() B, GAB ~func() func(A) B, A, B any](mab GAB, ma GA) GB
- func MonadApFirst[GA ~func() A, GB ~func() B, GBA ~func() func(B) A, A, B any](first GA, second GB) GA
- func MonadApFirstPar[GA ~func() A, GB ~func() B, GBA ~func() func(B) A, A, B any](first GA, second GB) GA
- func MonadApFirstSeq[GA ~func() A, GB ~func() B, GBA ~func() func(B) A, A, B any](first GA, second GB) GA
- func MonadApPar[GA ~func() A, GB ~func() B, GAB ~func() func(A) B, A, B any](mab GAB, ma GA) GB
- func MonadApSecond[GA ~func() A, GB ~func() B, GBB ~func() func(B) B, A, B any](first GA, second GB) GB
- func MonadApSeq[GA ~func() A, GB ~func() B, GAB ~func() func(A) B, A, B any](mab GAB, ma GA) GB
- func MonadChain[GA ~func() A, GB ~func() B, A, B any](fa GA, f func(A) GB) GB
- func MonadChainFirst[GA ~func() A, GB ~func() B, A, B any](fa GA, f func(A) GB) GA
- func MonadChainTo[GA ~func() A, GB ~func() B, A, B any](fa GA, fb GB) GB
- func MonadFlap[FAB ~func(A) B, GFAB ~func() FAB, GB ~func() B, A, B any](fab GFAB, a A) GB
- func MonadMap[GA ~func() A, GB ~func() B, A, B any](fa GA, f func(A) B) GB
- func MonadMapTo[GA ~func() A, GB ~func() B, A, B any](fa GA, b B) GB
- func MonadOf[GA ~func() A, A any](a A) GA
- func MonadTraverseArray[GB ~func() B, GBS ~func() BBS, AAS ~[]A, BBS ~[]B, A, B any](tas AAS, f func(A) GB) GBS
- func MonadTraverseArrayPar[GB ~func() B, GBS ~func() BBS, AAS ~[]A, BBS ~[]B, A, B any](tas AAS, f func(A) GB) GBS
- func MonadTraverseArraySeq[GB ~func() B, GBS ~func() BBS, AAS ~[]A, BBS ~[]B, A, B any](tas AAS, f func(A) GB) GBS
- func MonadTraverseRecord[GBS ~func() MB, MA ~map[K]A, GB ~func() B, MB ~map[K]B, K comparable, A, B any](ma MA, f func(A) GB) GBS
- func MonadTraverseRecordPar[GBS ~func() MB, MA ~map[K]A, GB ~func() B, MB ~map[K]B, K comparable, A, B any](ma MA, f func(A) GB) GBS
- func MonadTraverseRecordSeq[GBS ~func() MB, MA ~map[K]A, GB ~func() B, MB ~map[K]B, K comparable, A, B any](ma MA, f func(A) GB) GBS
- func Now[GA ~func() time.Time]() GA
- func Of[GA ~func() A, A any](a A) GA
- func Pointed[A any, GA ~func() A]() pointed.Pointed[A, GA]
- func Printf[GA ~func() any, A any](prefix string) func(A) GA
- func Retrying[GA ~func() A, A any](policy R.RetryPolicy, action func(R.RetryStatus) GA, check func(A) bool) GA
- func SequenceArray[GA ~func() A, GAS ~func() AAS, AAS ~[]A, GAAS ~[]GA, A any](tas GAAS) GAS
- func SequenceArrayPar[GA ~func() A, GAS ~func() AAS, AAS ~[]A, GAAS ~[]GA, A any](tas GAAS) GAS
- func SequenceArraySeq[GA ~func() A, GAS ~func() AAS, AAS ~[]A, GAAS ~[]GA, A any](tas GAAS) GAS
- func SequenceRecord[GA ~func() A, GAS ~func() AAS, AAS ~map[K]A, GAAS ~map[K]GA, K comparable, ...](tas GAAS) GAS
- func SequenceRecordPar[GA ~func() A, GAS ~func() AAS, AAS ~map[K]A, GAAS ~map[K]GA, K comparable, ...](tas GAAS) GAS
- func SequenceRecordSeq[GA ~func() A, GAS ~func() AAS, AAS ~map[K]A, GAAS ~map[K]GA, K comparable, ...](tas GAAS) GAS
- func SequenceT1[G_TUPLE1 ~func() T.Tuple1[T1], G_T1 ~func() T1, T1 any](t1 G_T1) G_TUPLE1
- func SequenceT10[G_TUPLE10 ~func() T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], ...](t1 G_T1, t2 G_T2, t3 G_T3, t4 G_T4, t5 G_T5, t6 G_T6, t7 G_T7, t8 G_T8, ...) G_TUPLE10
- func SequenceT2[G_TUPLE2 ~func() T.Tuple2[T1, T2], G_T1 ~func() T1, G_T2 ~func() T2, ...](t1 G_T1, t2 G_T2) G_TUPLE2
- func SequenceT3[G_TUPLE3 ~func() T.Tuple3[T1, T2, T3], G_T1 ~func() T1, G_T2 ~func() T2, ...](t1 G_T1, t2 G_T2, t3 G_T3) G_TUPLE3
- func SequenceT4[G_TUPLE4 ~func() T.Tuple4[T1, T2, T3, T4], G_T1 ~func() T1, G_T2 ~func() T2, ...](t1 G_T1, t2 G_T2, t3 G_T3, t4 G_T4) G_TUPLE4
- func SequenceT5[G_TUPLE5 ~func() T.Tuple5[T1, T2, T3, T4, T5], G_T1 ~func() T1, ...](t1 G_T1, t2 G_T2, t3 G_T3, t4 G_T4, t5 G_T5) G_TUPLE5
- func SequenceT6[G_TUPLE6 ~func() T.Tuple6[T1, T2, T3, T4, T5, T6], G_T1 ~func() T1, ...](t1 G_T1, t2 G_T2, t3 G_T3, t4 G_T4, t5 G_T5, t6 G_T6) G_TUPLE6
- func SequenceT7[G_TUPLE7 ~func() T.Tuple7[T1, T2, T3, T4, T5, T6, T7], G_T1 ~func() T1, ...](t1 G_T1, t2 G_T2, t3 G_T3, t4 G_T4, t5 G_T5, t6 G_T6, t7 G_T7) G_TUPLE7
- func SequenceT8[G_TUPLE8 ~func() T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T1 ~func() T1, ...](t1 G_T1, t2 G_T2, t3 G_T3, t4 G_T4, t5 G_T5, t6 G_T6, t7 G_T7, t8 G_T8) G_TUPLE8
- func SequenceT9[G_TUPLE9 ~func() T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T1 ~func() T1, ...](t1 G_T1, t2 G_T2, t3 G_T3, t4 G_T4, t5 G_T5, t6 G_T6, t7 G_T7, t8 G_T8, ...) G_TUPLE9
- func SequenceTuple1[G_TUPLE1 ~func() T.Tuple1[T1], G_T1 ~func() T1, T1 any](t T.Tuple1[G_T1]) G_TUPLE1
- func SequenceTuple10[G_TUPLE10 ~func() T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], ...](t T.Tuple10[G_T1, G_T2, G_T3, G_T4, G_T5, G_T6, G_T7, G_T8, G_T9, G_T10]) G_TUPLE10
- func SequenceTuple2[G_TUPLE2 ~func() T.Tuple2[T1, T2], G_T1 ~func() T1, G_T2 ~func() T2, ...](t T.Tuple2[G_T1, G_T2]) G_TUPLE2
- func SequenceTuple3[G_TUPLE3 ~func() T.Tuple3[T1, T2, T3], G_T1 ~func() T1, G_T2 ~func() T2, ...](t T.Tuple3[G_T1, G_T2, G_T3]) G_TUPLE3
- func SequenceTuple4[G_TUPLE4 ~func() T.Tuple4[T1, T2, T3, T4], G_T1 ~func() T1, G_T2 ~func() T2, ...](t T.Tuple4[G_T1, G_T2, G_T3, G_T4]) G_TUPLE4
- func SequenceTuple5[G_TUPLE5 ~func() T.Tuple5[T1, T2, T3, T4, T5], G_T1 ~func() T1, ...](t T.Tuple5[G_T1, G_T2, G_T3, G_T4, G_T5]) G_TUPLE5
- func SequenceTuple6[G_TUPLE6 ~func() T.Tuple6[T1, T2, T3, T4, T5, T6], G_T1 ~func() T1, ...](t T.Tuple6[G_T1, G_T2, G_T3, G_T4, G_T5, G_T6]) G_TUPLE6
- func SequenceTuple7[G_TUPLE7 ~func() T.Tuple7[T1, T2, T3, T4, T5, T6, T7], G_T1 ~func() T1, ...](t T.Tuple7[G_T1, G_T2, G_T3, G_T4, G_T5, G_T6, G_T7]) G_TUPLE7
- func SequenceTuple8[G_TUPLE8 ~func() T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T1 ~func() T1, ...](t T.Tuple8[G_T1, G_T2, G_T3, G_T4, G_T5, G_T6, G_T7, G_T8]) G_TUPLE8
- func SequenceTuple9[G_TUPLE9 ~func() T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T1 ~func() T1, ...](t T.Tuple9[G_T1, G_T2, G_T3, G_T4, G_T5, G_T6, G_T7, G_T8, G_T9]) G_TUPLE9
- func TraverseArray[GB ~func() B, GBS ~func() BBS, AAS ~[]A, BBS ~[]B, A, B any](f func(A) GB) func(AAS) GBS
- func TraverseArrayPar[GB ~func() B, GBS ~func() BBS, AAS ~[]A, BBS ~[]B, A, B any](f func(A) GB) func(AAS) GBS
- func TraverseArraySeq[GB ~func() B, GBS ~func() BBS, AAS ~[]A, BBS ~[]B, A, B any](f func(A) GB) func(AAS) GBS
- func TraverseArrayWithIndex[GB ~func() B, GBS ~func() BBS, AAS ~[]A, BBS ~[]B, A, B any](f func(int, A) GB) func(AAS) GBS
- func TraverseArrayWithIndexPar[GB ~func() B, GBS ~func() BBS, AAS ~[]A, BBS ~[]B, A, B any](f func(int, A) GB) func(AAS) GBS
- func TraverseArrayWithIndexSeq[GB ~func() B, GBS ~func() BBS, AAS ~[]A, BBS ~[]B, A, B any](f func(int, A) GB) func(AAS) GBS
- func TraverseRecord[GBS ~func() MB, MA ~map[K]A, GB ~func() B, MB ~map[K]B, K comparable, A, B any](f func(A) GB) func(MA) GBS
- func TraverseRecordPar[GBS ~func() MB, MA ~map[K]A, GB ~func() B, MB ~map[K]B, K comparable, A, B any](f func(A) GB) func(MA) GBS
- func TraverseRecordSeq[GBS ~func() MB, MA ~map[K]A, GB ~func() B, MB ~map[K]B, K comparable, A, B any](f func(A) GB) func(MA) GBS
- func TraverseRecordWithIndex[GB ~func() B, GBS ~func() MB, MA ~map[K]A, MB ~map[K]B, K comparable, A, B any](f func(K, A) GB) func(MA) GBS
- func TraverseRecordWithIndexPar[GB ~func() B, GBS ~func() MB, MA ~map[K]A, MB ~map[K]B, K comparable, A, B any](f func(K, A) GB) func(MA) GBS
- func TraverseRecordWithIndexSeq[GB ~func() B, GBS ~func() MB, MA ~map[K]A, MB ~map[K]B, K comparable, A, B any](f func(K, A) GB) func(MA) GBS
- func TraverseTuple1[G_TUPLE1 ~func() T.Tuple1[T1], F1 ~func(A1) G_T1, G_T1 ~func() T1, A1, T1 any](f1 F1) func(T.Tuple1[A1]) G_TUPLE1
- func TraverseTuple10[G_TUPLE10 ~func() T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9, f10 F10) func(T.Tuple10[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10]) G_TUPLE10
- func TraverseTuple2[G_TUPLE2 ~func() T.Tuple2[T1, T2], F1 ~func(A1) G_T1, F2 ~func(A2) G_T2, ...](f1 F1, f2 F2) func(T.Tuple2[A1, A2]) G_TUPLE2
- func TraverseTuple3[G_TUPLE3 ~func() T.Tuple3[T1, T2, T3], F1 ~func(A1) G_T1, F2 ~func(A2) G_T2, ...](f1 F1, f2 F2, f3 F3) func(T.Tuple3[A1, A2, A3]) G_TUPLE3
- func TraverseTuple4[G_TUPLE4 ~func() T.Tuple4[T1, T2, T3, T4], F1 ~func(A1) G_T1, ...](f1 F1, f2 F2, f3 F3, f4 F4) func(T.Tuple4[A1, A2, A3, A4]) G_TUPLE4
- func TraverseTuple5[G_TUPLE5 ~func() T.Tuple5[T1, T2, T3, T4, T5], F1 ~func(A1) G_T1, ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5) func(T.Tuple5[A1, A2, A3, A4, A5]) G_TUPLE5
- func TraverseTuple6[G_TUPLE6 ~func() T.Tuple6[T1, T2, T3, T4, T5, T6], F1 ~func(A1) G_T1, ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6) func(T.Tuple6[A1, A2, A3, A4, A5, A6]) G_TUPLE6
- func TraverseTuple7[G_TUPLE7 ~func() T.Tuple7[T1, T2, T3, T4, T5, T6, T7], F1 ~func(A1) G_T1, ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7) func(T.Tuple7[A1, A2, A3, A4, A5, A6, A7]) G_TUPLE7
- func TraverseTuple8[G_TUPLE8 ~func() T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], F1 ~func(A1) G_T1, ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8) func(T.Tuple8[A1, A2, A3, A4, A5, A6, A7, A8]) G_TUPLE8
- func TraverseTuple9[G_TUPLE9 ~func() T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], ...](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9) func(T.Tuple9[A1, A2, A3, A4, A5, A6, A7, A8, A9]) G_TUPLE9
- func WithDuration[GTA ~func() T.Tuple2[A, time.Duration], GA ~func() A, A any](a GA) GTA
- func WithLock[GA ~func() A, A any](lock func() context.CancelFunc) func(fa GA) GA
- func WithResource[GA ~func() A, GR ~func() R, GANY ~func() ANY, R, A, ANY any](onCreate GR, onRelease func(R) GANY) func(func(R) GA) GA
- func WithTime[GTA ~func() T.Tuple3[A, time.Time, time.Time], GA ~func() A, A any](a GA) GTA
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ApFirst ¶
func ApFirst[GA ~func() A, GB ~func() B, GBA ~func() func(B) A, A, B any](second GB) func(GA) GA
ApFirst combines two effectful actions, keeping only the result of the first.
func ApFirstPar ¶ added in v1.0.20
func ApFirstPar[GA ~func() A, GB ~func() B, GBA ~func() func(B) A, A, B any](second GB) func(GA) GA
ApFirstPar combines two effectful actions, keeping only the result of the first.
func ApFirstSeq ¶ added in v1.0.20
func ApFirstSeq[GA ~func() A, GB ~func() B, GBA ~func() func(B) A, A, B any](second GB) func(GA) GA
ApFirstSeq combines two effectful actions, keeping only the result of the first.
func ApPar ¶ added in v1.0.4
func ApPar[GB ~func() B, GAB ~func() func(A) B, GA ~func() A, B, A any](ma GA) func(GAB) GB
func ApS ¶ added in v1.0.107
func ApS[GS1 ~func() S1, GS2 ~func() S2, GT ~func() T, S1, S2, T any]( setter func(T) func(S1) S2, fa GT, ) func(GS1) GS2
ApS attaches a value to a context [S1] to produce a context [S2] by considering the context and the value concurrently
func ApSecond ¶
func ApSecond[GA ~func() A, GB ~func() B, GBB ~func() func(B) B, A, B any](second GB) func(GA) GB
ApSecond combines two effectful actions, keeping only the result of the second.
func ApSeq ¶ added in v1.0.4
func ApSeq[GB ~func() B, GAB ~func() func(A) B, GA ~func() A, B, A any](ma GA) func(GAB) GB
func Bind ¶ added in v1.0.107
func Bind[GS1 ~func() S1, GS2 ~func() S2, GT ~func() T, S1, S2, T any]( setter func(T) func(S1) S2, f func(S1) GT, ) func(GS1) GS2
Bind attaches the result of a computation to a context [S1] to produce a context [S2]
func BindTo ¶ added in v1.0.107
func BindTo[GS1 ~func() S1, GT ~func() T, S1, T any]( setter func(T) S1, ) func(GT) GS1
BindTo initializes a new state [S1] from a value [T]
func Bracket ¶ added in v1.0.50
func Bracket[ GA ~func() A, GB ~func() B, GANY ~func() ANY, A, B, ANY any]( acquire GA, use func(A) GB, release func(A, B) GANY, ) GB
Bracket makes sure that a resource is cleaned up in the event of an error. The release action is called regardless of whether the body action returns and error or not.
func Chain ¶
func Chain[GA ~func() A, GB ~func() B, A, B any](f func(A) GB) func(GA) GB
Chain composes computations in sequence, using the return value of one computation to determine the next computation.
func ChainFirst ¶
func ChainFirst[GA ~func() A, GB ~func() B, A, B any](f func(A) GB) func(GA) GA
ChainFirst composes computations in sequence, using the return value of one computation to determine the next computation and keeping only the result of the first.
func ChainTo ¶
func ChainTo[GA ~func() A, GB ~func() B, A, B any](fb GB) func(GA) GB
ChainTo composes computations in sequence, ignoring the return value of the first computation
func Defer ¶
func Defer[GA ~func() A, A any](gen func() GA) GA
Defer creates an IO by creating a brand new IO via a generator function, each time
func Do ¶ added in v1.0.107
func Do[GS ~func() S, S any]( empty S, ) GS
Bind creates an empty context of type [S] to be used with the Bind operation
func Flap ¶ added in v1.0.39
func Flap[FAB ~func(A) B, GFAB ~func() FAB, GB ~func() B, A, B any](a A) func(GFAB) GB
func FromImpure ¶
func FromImpure[GA ~func() any, IMP ~func()](f IMP) GA
FromImpure converts a side effect without a return value into a side effect that returns any
func FromStrictEquals ¶ added in v1.0.145
func FromStrictEquals[GA ~func() A, A comparable]() EQ.Eq[GA]
FromStrictEquals constructs an [EQ.Eq] from the canonical comparison function
func Let ¶ added in v1.0.107
func Let[GS1 ~func() S1, GS2 ~func() S2, S1, S2, T any]( key func(T) func(S1) S2, f func(S1) T, ) func(GS1) GS2
Let attaches the result of a computation to a context [S1] to produce a context [S2]
func LetTo ¶ added in v1.0.107
func LetTo[GS1 ~func() S1, GS2 ~func() S2, S1, S2, B any]( key func(B) func(S1) S2, b B, ) func(GS1) GS2
LetTo attaches the a value to a context [S1] to produce a context [S2]
func Memoize ¶
func Memoize[GA ~func() A, A any](ma GA) GA
Memoize computes the value of the provided IO monad lazily but exactly once
func Monad ¶ added in v1.0.113
func Monad[A, B any, GA ~func() A, GB ~func() B, GAB ~func() func(A) B]() monad.Monad[A, B, GA, GB, GAB]
Monad implements the monadic operations for [Option]
func MonadAp ¶
func MonadAp[GA ~func() A, GB ~func() B, GAB ~func() func(A) B, A, B any](mab GAB, ma GA) GB
MonadAp implements the `ap` operation. Depending on a feature flag this will be sequential or parallel, the preferred implementation is parallel
func MonadApFirst ¶
func MonadApFirst[GA ~func() A, GB ~func() B, GBA ~func() func(B) A, A, B any](first GA, second GB) GA
MonadApFirst combines two effectful actions, keeping only the result of the first.
func MonadApFirstPar ¶ added in v1.0.20
func MonadApFirstPar[GA ~func() A, GB ~func() B, GBA ~func() func(B) A, A, B any](first GA, second GB) GA
MonadApFirstPar combines two effectful actions, keeping only the result of the first.
func MonadApFirstSeq ¶ added in v1.0.20
func MonadApFirstSeq[GA ~func() A, GB ~func() B, GBA ~func() func(B) A, A, B any](first GA, second GB) GA
MonadApFirstSeq combines two effectful actions, keeping only the result of the first.
func MonadApPar ¶ added in v1.0.4
func MonadApPar[GA ~func() A, GB ~func() B, GAB ~func() func(A) B, A, B any](mab GAB, ma GA) GB
MonadApPar implements the applicative on two threads, the main thread executes mab and the actuall apply operation and the second thread computes ma. Communication between the threads happens via a channel
func MonadApSecond ¶
func MonadApSecond[GA ~func() A, GB ~func() B, GBB ~func() func(B) B, A, B any](first GA, second GB) GB
MonadApSecond combines two effectful actions, keeping only the result of the second.
func MonadApSeq ¶ added in v1.0.4
func MonadApSeq[GA ~func() A, GB ~func() B, GAB ~func() func(A) B, A, B any](mab GAB, ma GA) GB
MonadApSeq implements the applicative on a single thread by first executing mab and the ma
func MonadChain ¶
func MonadChain[GA ~func() A, GB ~func() B, A, B any](fa GA, f func(A) GB) GB
MonadChain composes computations in sequence, using the return value of one computation to determine the next computation.
func MonadChainFirst ¶
func MonadChainFirst[GA ~func() A, GB ~func() B, A, B any](fa GA, f func(A) GB) GA
MonadChainFirst composes computations in sequence, using the return value of one computation to determine the next computation and keeping only the result of the first.
func MonadChainTo ¶
func MonadChainTo[GA ~func() A, GB ~func() B, A, B any](fa GA, fb GB) GB
MonadChainTo composes computations in sequence, ignoring the return value of the first computation
func MonadFlap ¶ added in v1.0.39
func MonadFlap[FAB ~func(A) B, GFAB ~func() FAB, GB ~func() B, A, B any](fab GFAB, a A) GB
func MonadMapTo ¶
func MonadMapTo[GA ~func() A, GB ~func() B, A, B any](fa GA, b B) GB
func MonadTraverseArray ¶
func MonadTraverseArray[GB ~func() B, GBS ~func() BBS, AAS ~[]A, BBS ~[]B, A, B any](tas AAS, f func(A) GB) GBS
func MonadTraverseArrayPar ¶ added in v1.0.132
func MonadTraverseArrayPar[GB ~func() B, GBS ~func() BBS, AAS ~[]A, BBS ~[]B, A, B any](tas AAS, f func(A) GB) GBS
func MonadTraverseArraySeq ¶ added in v1.0.132
func MonadTraverseArraySeq[GB ~func() B, GBS ~func() BBS, AAS ~[]A, BBS ~[]B, A, B any](tas AAS, f func(A) GB) GBS
func MonadTraverseRecord ¶
func MonadTraverseRecord[GBS ~func() MB, MA ~map[K]A, GB ~func() B, MB ~map[K]B, K comparable, A, B any](ma MA, f func(A) GB) GBS
MonadTraverseRecord transforms a record using an IO transform an IO of a record
func MonadTraverseRecordPar ¶ added in v1.0.132
func MonadTraverseRecordPar[GBS ~func() MB, MA ~map[K]A, GB ~func() B, MB ~map[K]B, K comparable, A, B any](ma MA, f func(A) GB) GBS
MonadTraverseRecordPar transforms a record using an IO transform an IO of a record
func MonadTraverseRecordSeq ¶ added in v1.0.132
func MonadTraverseRecordSeq[GBS ~func() MB, MA ~map[K]A, GB ~func() B, MB ~map[K]B, K comparable, A, B any](ma MA, f func(A) GB) GBS
MonadTraverseRecordSeq transforms a record using an IO transform an IO of a record
func Retrying ¶
func Retrying[GA ~func() A, A any]( policy R.RetryPolicy, action func(R.RetryStatus) GA, check func(A) bool, ) GA
Retry combinator for actions that don't raise exceptions, but signal in their type the outcome has failed. Examples are the `Option`, `Either` and `EitherT` monads.
policy - refers to the retry policy action - converts a status into an operation to be executed check - checks if the result of the action needs to be retried
func SequenceArray ¶
func SequenceArray[GA ~func() A, GAS ~func() AAS, AAS ~[]A, GAAS ~[]GA, A any](tas GAAS) GAS
func SequenceArrayPar ¶ added in v1.0.132
func SequenceArrayPar[GA ~func() A, GAS ~func() AAS, AAS ~[]A, GAAS ~[]GA, A any](tas GAAS) GAS
func SequenceArraySeq ¶ added in v1.0.132
func SequenceArraySeq[GA ~func() A, GAS ~func() AAS, AAS ~[]A, GAAS ~[]GA, A any](tas GAAS) GAS
func SequenceRecord ¶
func SequenceRecord[GA ~func() A, GAS ~func() AAS, AAS ~map[K]A, GAAS ~map[K]GA, K comparable, A any](tas GAAS) GAS
func SequenceRecordPar ¶ added in v1.0.132
func SequenceRecordPar[GA ~func() A, GAS ~func() AAS, AAS ~map[K]A, GAAS ~map[K]GA, K comparable, A any](tas GAAS) GAS
func SequenceRecordSeq ¶ added in v1.0.132
func SequenceRecordSeq[GA ~func() A, GAS ~func() AAS, AAS ~map[K]A, GAAS ~map[K]GA, K comparable, A any](tas GAAS) GAS
func SequenceT1 ¶
SequenceT1 converts 1 [func() T] into a [func() T.Tuple1[T1]]
func SequenceT10 ¶ added in v1.0.7
func SequenceT10[ G_TUPLE10 ~func() T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, G_T4 ~func() T4, G_T5 ~func() T5, G_T6 ~func() T6, G_T7 ~func() T7, G_T8 ~func() T8, G_T9 ~func() T9, G_T10 ~func() T10, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any]( t1 G_T1, t2 G_T2, t3 G_T3, t4 G_T4, t5 G_T5, t6 G_T6, t7 G_T7, t8 G_T8, t9 G_T9, t10 G_T10, ) G_TUPLE10
SequenceT10 converts 10 [func() T] into a [func() T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
func SequenceT2 ¶
func SequenceT2[ G_TUPLE2 ~func() T.Tuple2[T1, T2], G_T1 ~func() T1, G_T2 ~func() T2, T1, T2 any]( t1 G_T1, t2 G_T2, ) G_TUPLE2
SequenceT2 converts 2 [func() T] into a [func() T.Tuple2[T1, T2]]
func SequenceT3 ¶
func SequenceT3[ G_TUPLE3 ~func() T.Tuple3[T1, T2, T3], G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, T1, T2, T3 any]( t1 G_T1, t2 G_T2, t3 G_T3, ) G_TUPLE3
SequenceT3 converts 3 [func() T] into a [func() T.Tuple3[T1, T2, T3]]
func SequenceT4 ¶
func SequenceT4[ G_TUPLE4 ~func() T.Tuple4[T1, T2, T3, T4], G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, G_T4 ~func() T4, T1, T2, T3, T4 any]( t1 G_T1, t2 G_T2, t3 G_T3, t4 G_T4, ) G_TUPLE4
SequenceT4 converts 4 [func() T] into a [func() T.Tuple4[T1, T2, T3, T4]]
func SequenceT5 ¶ added in v1.0.7
func SequenceT5[ G_TUPLE5 ~func() T.Tuple5[T1, T2, T3, T4, T5], G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, G_T4 ~func() T4, G_T5 ~func() T5, T1, T2, T3, T4, T5 any]( t1 G_T1, t2 G_T2, t3 G_T3, t4 G_T4, t5 G_T5, ) G_TUPLE5
SequenceT5 converts 5 [func() T] into a [func() T.Tuple5[T1, T2, T3, T4, T5]]
func SequenceT6 ¶ added in v1.0.7
func SequenceT6[ G_TUPLE6 ~func() T.Tuple6[T1, T2, T3, T4, T5, T6], G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, G_T4 ~func() T4, G_T5 ~func() T5, G_T6 ~func() T6, T1, T2, T3, T4, T5, T6 any]( t1 G_T1, t2 G_T2, t3 G_T3, t4 G_T4, t5 G_T5, t6 G_T6, ) G_TUPLE6
SequenceT6 converts 6 [func() T] into a [func() T.Tuple6[T1, T2, T3, T4, T5, T6]]
func SequenceT7 ¶ added in v1.0.7
func SequenceT7[ G_TUPLE7 ~func() T.Tuple7[T1, T2, T3, T4, T5, T6, T7], G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, G_T4 ~func() T4, G_T5 ~func() T5, G_T6 ~func() T6, G_T7 ~func() T7, T1, T2, T3, T4, T5, T6, T7 any]( t1 G_T1, t2 G_T2, t3 G_T3, t4 G_T4, t5 G_T5, t6 G_T6, t7 G_T7, ) G_TUPLE7
SequenceT7 converts 7 [func() T] into a [func() T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]
func SequenceT8 ¶ added in v1.0.7
func SequenceT8[ G_TUPLE8 ~func() T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, G_T4 ~func() T4, G_T5 ~func() T5, G_T6 ~func() T6, G_T7 ~func() T7, G_T8 ~func() T8, T1, T2, T3, T4, T5, T6, T7, T8 any]( t1 G_T1, t2 G_T2, t3 G_T3, t4 G_T4, t5 G_T5, t6 G_T6, t7 G_T7, t8 G_T8, ) G_TUPLE8
SequenceT8 converts 8 [func() T] into a [func() T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
func SequenceT9 ¶ added in v1.0.7
func SequenceT9[ G_TUPLE9 ~func() T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, G_T4 ~func() T4, G_T5 ~func() T5, G_T6 ~func() T6, G_T7 ~func() T7, G_T8 ~func() T8, G_T9 ~func() T9, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( t1 G_T1, t2 G_T2, t3 G_T3, t4 G_T4, t5 G_T5, t6 G_T6, t7 G_T7, t8 G_T8, t9 G_T9, ) G_TUPLE9
SequenceT9 converts 9 [func() T] into a [func() T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
func SequenceTuple1 ¶ added in v1.0.7
func SequenceTuple1[ G_TUPLE1 ~func() T.Tuple1[T1], G_T1 ~func() T1, T1 any](t T.Tuple1[G_T1]) G_TUPLE1
SequenceTuple1 converts a [T.Tuple1[func() T]] into a [func() T.Tuple1[T1]]
func SequenceTuple10 ¶ added in v1.0.7
func SequenceTuple10[ G_TUPLE10 ~func() T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, G_T4 ~func() T4, G_T5 ~func() T5, G_T6 ~func() T6, G_T7 ~func() T7, G_T8 ~func() T8, G_T9 ~func() T9, G_T10 ~func() T10, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](t T.Tuple10[G_T1, G_T2, G_T3, G_T4, G_T5, G_T6, G_T7, G_T8, G_T9, G_T10]) G_TUPLE10
SequenceTuple10 converts a [T.Tuple10[func() T]] into a [func() T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
func SequenceTuple2 ¶ added in v1.0.7
func SequenceTuple2[ G_TUPLE2 ~func() T.Tuple2[T1, T2], G_T1 ~func() T1, G_T2 ~func() T2, T1, T2 any](t T.Tuple2[G_T1, G_T2]) G_TUPLE2
SequenceTuple2 converts a [T.Tuple2[func() T]] into a [func() T.Tuple2[T1, T2]]
func SequenceTuple3 ¶ added in v1.0.7
func SequenceTuple3[ G_TUPLE3 ~func() T.Tuple3[T1, T2, T3], G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, T1, T2, T3 any](t T.Tuple3[G_T1, G_T2, G_T3]) G_TUPLE3
SequenceTuple3 converts a [T.Tuple3[func() T]] into a [func() T.Tuple3[T1, T2, T3]]
func SequenceTuple4 ¶ added in v1.0.7
func SequenceTuple4[ G_TUPLE4 ~func() T.Tuple4[T1, T2, T3, T4], G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, G_T4 ~func() T4, T1, T2, T3, T4 any](t T.Tuple4[G_T1, G_T2, G_T3, G_T4]) G_TUPLE4
SequenceTuple4 converts a [T.Tuple4[func() T]] into a [func() T.Tuple4[T1, T2, T3, T4]]
func SequenceTuple5 ¶ added in v1.0.7
func SequenceTuple5[ G_TUPLE5 ~func() T.Tuple5[T1, T2, T3, T4, T5], G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, G_T4 ~func() T4, G_T5 ~func() T5, T1, T2, T3, T4, T5 any](t T.Tuple5[G_T1, G_T2, G_T3, G_T4, G_T5]) G_TUPLE5
SequenceTuple5 converts a [T.Tuple5[func() T]] into a [func() T.Tuple5[T1, T2, T3, T4, T5]]
func SequenceTuple6 ¶ added in v1.0.7
func SequenceTuple6[ G_TUPLE6 ~func() T.Tuple6[T1, T2, T3, T4, T5, T6], G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, G_T4 ~func() T4, G_T5 ~func() T5, G_T6 ~func() T6, T1, T2, T3, T4, T5, T6 any](t T.Tuple6[G_T1, G_T2, G_T3, G_T4, G_T5, G_T6]) G_TUPLE6
SequenceTuple6 converts a [T.Tuple6[func() T]] into a [func() T.Tuple6[T1, T2, T3, T4, T5, T6]]
func SequenceTuple7 ¶ added in v1.0.7
func SequenceTuple7[ G_TUPLE7 ~func() T.Tuple7[T1, T2, T3, T4, T5, T6, T7], G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, G_T4 ~func() T4, G_T5 ~func() T5, G_T6 ~func() T6, G_T7 ~func() T7, T1, T2, T3, T4, T5, T6, T7 any](t T.Tuple7[G_T1, G_T2, G_T3, G_T4, G_T5, G_T6, G_T7]) G_TUPLE7
SequenceTuple7 converts a [T.Tuple7[func() T]] into a [func() T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]
func SequenceTuple8 ¶ added in v1.0.7
func SequenceTuple8[ G_TUPLE8 ~func() T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, G_T4 ~func() T4, G_T5 ~func() T5, G_T6 ~func() T6, G_T7 ~func() T7, G_T8 ~func() T8, T1, T2, T3, T4, T5, T6, T7, T8 any](t T.Tuple8[G_T1, G_T2, G_T3, G_T4, G_T5, G_T6, G_T7, G_T8]) G_TUPLE8
SequenceTuple8 converts a [T.Tuple8[func() T]] into a [func() T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
func SequenceTuple9 ¶ added in v1.0.7
func SequenceTuple9[ G_TUPLE9 ~func() T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, G_T4 ~func() T4, G_T5 ~func() T5, G_T6 ~func() T6, G_T7 ~func() T7, G_T8 ~func() T8, G_T9 ~func() T9, T1, T2, T3, T4, T5, T6, T7, T8, T9 any](t T.Tuple9[G_T1, G_T2, G_T3, G_T4, G_T5, G_T6, G_T7, G_T8, G_T9]) G_TUPLE9
SequenceTuple9 converts a [T.Tuple9[func() T]] into a [func() T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
func TraverseArray ¶
func TraverseArray[GB ~func() B, GBS ~func() BBS, AAS ~[]A, BBS ~[]B, A, B any](f func(A) GB) func(AAS) GBS
func TraverseArrayPar ¶ added in v1.0.132
func TraverseArrayPar[GB ~func() B, GBS ~func() BBS, AAS ~[]A, BBS ~[]B, A, B any](f func(A) GB) func(AAS) GBS
func TraverseArraySeq ¶ added in v1.0.132
func TraverseArraySeq[GB ~func() B, GBS ~func() BBS, AAS ~[]A, BBS ~[]B, A, B any](f func(A) GB) func(AAS) GBS
func TraverseArrayWithIndex ¶ added in v1.0.29
func TraverseArrayWithIndexPar ¶ added in v1.0.132
func TraverseArrayWithIndexSeq ¶ added in v1.0.132
func TraverseRecord ¶
func TraverseRecord[GBS ~func() MB, MA ~map[K]A, GB ~func() B, MB ~map[K]B, K comparable, A, B any](f func(A) GB) func(MA) GBS
TraverseRecord transforms a record using an IO transform an IO of a record
func TraverseRecordPar ¶ added in v1.0.132
func TraverseRecordPar[GBS ~func() MB, MA ~map[K]A, GB ~func() B, MB ~map[K]B, K comparable, A, B any](f func(A) GB) func(MA) GBS
TraverseRecordPar transforms a record using an IO transform an IO of a record
func TraverseRecordSeq ¶ added in v1.0.132
func TraverseRecordSeq[GBS ~func() MB, MA ~map[K]A, GB ~func() B, MB ~map[K]B, K comparable, A, B any](f func(A) GB) func(MA) GBS
TraverseRecordSeq transforms a record using an IO transform an IO of a record
func TraverseRecordWithIndex ¶ added in v1.0.29
func TraverseRecordWithIndex[GB ~func() B, GBS ~func() MB, MA ~map[K]A, MB ~map[K]B, K comparable, A, B any](f func(K, A) GB) func(MA) GBS
TraverseRecordWithIndex transforms a record using an IO transform an IO of a record
func TraverseRecordWithIndexPar ¶ added in v1.0.132
func TraverseRecordWithIndexPar[GB ~func() B, GBS ~func() MB, MA ~map[K]A, MB ~map[K]B, K comparable, A, B any](f func(K, A) GB) func(MA) GBS
TraverseRecordWithIndexPar transforms a record using an IO transform an IO of a record
func TraverseRecordWithIndexSeq ¶ added in v1.0.132
func TraverseRecordWithIndexSeq[GB ~func() B, GBS ~func() MB, MA ~map[K]A, MB ~map[K]B, K comparable, A, B any](f func(K, A) GB) func(MA) GBS
TraverseRecordWithIndexSeq transforms a record using an IO transform an IO of a record
func TraverseTuple1 ¶ added in v1.0.7
func TraverseTuple1[ G_TUPLE1 ~func() T.Tuple1[T1], F1 ~func(A1) G_T1, G_T1 ~func() T1, A1, T1 any](f1 F1) func(T.Tuple1[A1]) G_TUPLE1
TraverseTuple1 converts a [T.Tuple1[func() T]] into a [func() T.Tuple1[T1]]
func TraverseTuple10 ¶ added in v1.0.7
func TraverseTuple10[ G_TUPLE10 ~func() T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10], F1 ~func(A1) G_T1, F2 ~func(A2) G_T2, F3 ~func(A3) G_T3, F4 ~func(A4) G_T4, F5 ~func(A5) G_T5, F6 ~func(A6) G_T6, F7 ~func(A7) G_T7, F8 ~func(A8) G_T8, F9 ~func(A9) G_T9, F10 ~func(A10) G_T10, G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, G_T4 ~func() T4, G_T5 ~func() T5, G_T6 ~func() T6, G_T7 ~func() T7, G_T8 ~func() T8, G_T9 ~func() T9, G_T10 ~func() T10, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9, f10 F10) func(T.Tuple10[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10]) G_TUPLE10
TraverseTuple10 converts a [T.Tuple10[func() T]] into a [func() T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]
func TraverseTuple2 ¶ added in v1.0.7
func TraverseTuple2[ G_TUPLE2 ~func() T.Tuple2[T1, T2], F1 ~func(A1) G_T1, F2 ~func(A2) G_T2, G_T1 ~func() T1, G_T2 ~func() T2, A1, A2, T1, T2 any](f1 F1, f2 F2) func(T.Tuple2[A1, A2]) G_TUPLE2
TraverseTuple2 converts a [T.Tuple2[func() T]] into a [func() T.Tuple2[T1, T2]]
func TraverseTuple3 ¶ added in v1.0.7
func TraverseTuple3[ G_TUPLE3 ~func() T.Tuple3[T1, T2, T3], F1 ~func(A1) G_T1, F2 ~func(A2) G_T2, F3 ~func(A3) G_T3, G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, A1, A2, A3, T1, T2, T3 any](f1 F1, f2 F2, f3 F3) func(T.Tuple3[A1, A2, A3]) G_TUPLE3
TraverseTuple3 converts a [T.Tuple3[func() T]] into a [func() T.Tuple3[T1, T2, T3]]
func TraverseTuple4 ¶ added in v1.0.7
func TraverseTuple4[ G_TUPLE4 ~func() T.Tuple4[T1, T2, T3, T4], F1 ~func(A1) G_T1, F2 ~func(A2) G_T2, F3 ~func(A3) G_T3, F4 ~func(A4) G_T4, G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, G_T4 ~func() T4, A1, A2, A3, A4, T1, T2, T3, T4 any](f1 F1, f2 F2, f3 F3, f4 F4) func(T.Tuple4[A1, A2, A3, A4]) G_TUPLE4
TraverseTuple4 converts a [T.Tuple4[func() T]] into a [func() T.Tuple4[T1, T2, T3, T4]]
func TraverseTuple5 ¶ added in v1.0.7
func TraverseTuple5[ G_TUPLE5 ~func() T.Tuple5[T1, T2, T3, T4, T5], F1 ~func(A1) G_T1, F2 ~func(A2) G_T2, F3 ~func(A3) G_T3, F4 ~func(A4) G_T4, F5 ~func(A5) G_T5, G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, G_T4 ~func() T4, G_T5 ~func() T5, A1, A2, A3, A4, A5, T1, T2, T3, T4, T5 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5) func(T.Tuple5[A1, A2, A3, A4, A5]) G_TUPLE5
TraverseTuple5 converts a [T.Tuple5[func() T]] into a [func() T.Tuple5[T1, T2, T3, T4, T5]]
func TraverseTuple6 ¶ added in v1.0.7
func TraverseTuple6[ G_TUPLE6 ~func() T.Tuple6[T1, T2, T3, T4, T5, T6], F1 ~func(A1) G_T1, F2 ~func(A2) G_T2, F3 ~func(A3) G_T3, F4 ~func(A4) G_T4, F5 ~func(A5) G_T5, F6 ~func(A6) G_T6, G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, G_T4 ~func() T4, G_T5 ~func() T5, G_T6 ~func() T6, A1, A2, A3, A4, A5, A6, T1, T2, T3, T4, T5, T6 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6) func(T.Tuple6[A1, A2, A3, A4, A5, A6]) G_TUPLE6
TraverseTuple6 converts a [T.Tuple6[func() T]] into a [func() T.Tuple6[T1, T2, T3, T4, T5, T6]]
func TraverseTuple7 ¶ added in v1.0.7
func TraverseTuple7[ G_TUPLE7 ~func() T.Tuple7[T1, T2, T3, T4, T5, T6, T7], F1 ~func(A1) G_T1, F2 ~func(A2) G_T2, F3 ~func(A3) G_T3, F4 ~func(A4) G_T4, F5 ~func(A5) G_T5, F6 ~func(A6) G_T6, F7 ~func(A7) G_T7, G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, G_T4 ~func() T4, G_T5 ~func() T5, G_T6 ~func() T6, G_T7 ~func() T7, A1, A2, A3, A4, A5, A6, A7, T1, T2, T3, T4, T5, T6, T7 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7) func(T.Tuple7[A1, A2, A3, A4, A5, A6, A7]) G_TUPLE7
TraverseTuple7 converts a [T.Tuple7[func() T]] into a [func() T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]
func TraverseTuple8 ¶ added in v1.0.7
func TraverseTuple8[ G_TUPLE8 ~func() T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], F1 ~func(A1) G_T1, F2 ~func(A2) G_T2, F3 ~func(A3) G_T3, F4 ~func(A4) G_T4, F5 ~func(A5) G_T5, F6 ~func(A6) G_T6, F7 ~func(A7) G_T7, F8 ~func(A8) G_T8, G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, G_T4 ~func() T4, G_T5 ~func() T5, G_T6 ~func() T6, G_T7 ~func() T7, G_T8 ~func() T8, A1, A2, A3, A4, A5, A6, A7, A8, T1, T2, T3, T4, T5, T6, T7, T8 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8) func(T.Tuple8[A1, A2, A3, A4, A5, A6, A7, A8]) G_TUPLE8
TraverseTuple8 converts a [T.Tuple8[func() T]] into a [func() T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]
func TraverseTuple9 ¶ added in v1.0.7
func TraverseTuple9[ G_TUPLE9 ~func() T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], F1 ~func(A1) G_T1, F2 ~func(A2) G_T2, F3 ~func(A3) G_T3, F4 ~func(A4) G_T4, F5 ~func(A5) G_T5, F6 ~func(A6) G_T6, F7 ~func(A7) G_T7, F8 ~func(A8) G_T8, F9 ~func(A9) G_T9, G_T1 ~func() T1, G_T2 ~func() T2, G_T3 ~func() T3, G_T4 ~func() T4, G_T5 ~func() T5, G_T6 ~func() T6, G_T7 ~func() T7, G_T8 ~func() T8, G_T9 ~func() T9, A1, A2, A3, A4, A5, A6, A7, A8, A9, T1, T2, T3, T4, T5, T6, T7, T8, T9 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9) func(T.Tuple9[A1, A2, A3, A4, A5, A6, A7, A8, A9]) G_TUPLE9
TraverseTuple9 converts a [T.Tuple9[func() T]] into a [func() T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]
func WithDuration ¶ added in v1.0.106
WithDuration returns an operation that measures the duration of the operation
func WithLock ¶ added in v1.0.50
func WithLock[GA ~func() A, A any](lock func() context.CancelFunc) func(fa GA) GA
WithLock executes the provided IO operation in the scope of a lock
func WithResource ¶ added in v1.0.66
func WithResource[ GA ~func() A, GR ~func() R, GANY ~func() ANY, R, A, ANY any](onCreate GR, onRelease func(R) GANY) func(func(R) GA) GA
WithResource constructs a function that creates a resource, then operates on it and then releases the resource
Types ¶
This section is empty.