generic

package
v1.0.94 Latest Latest
Warning

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

Go to latest
Published: Jan 9, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Code generated by go generate; DO NOT EDIT. This file was generated by robots at 2023-10-23 08:31:01.9227118 +0200 CEST m=+0.009977901

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Alt added in v1.0.60

func Alt[LAZY ~func() GIOA, GIOA ~func() O.Option[A], A any](second LAZY) func(GIOA) GIOA

func Ap

func Ap[GB ~func() O.Option[B], GAB ~func() O.Option[func(A) B], GA ~func() O.Option[A], A, B any](ma GA) func(GAB) GB

func Bracket added in v1.0.50

func Bracket[
	GA ~func() O.Option[A],
	GB ~func() O.Option[B],
	GANY ~func() O.Option[ANY],
	A, B, ANY any](

	acquire GA,
	use func(A) GB,
	release func(A, O.Option[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() O.Option[A], GB ~func() O.Option[B], A, B any](f func(A) GB) func(GA) GB

func ChainFirst added in v1.0.65

func ChainFirst[GA ~func() O.Option[A], GB ~func() O.Option[B], A, B any](f func(A) GB) func(GA) GA

ChainFirst runs the monad returned by the function but returns the result of the original monad

func ChainFirstIOK added in v1.0.65

func ChainFirstIOK[GA ~func() O.Option[A], GIOB ~func() B, A, B any](f func(A) GIOB) func(GA) GA

ChainFirstIOK runs the monad returned by the function but returns the result of the original monad

func ChainIOK

func ChainIOK[GA ~func() O.Option[A], GB ~func() O.Option[B], GR ~func() B, A, B any](f func(A) GR) func(GA) GB

func ChainOptionK

func ChainOptionK[GA ~func() O.Option[A], GB ~func() O.Option[B], A, B any](f func(A) O.Option[B]) func(GA) GB

func Defer

func Defer[GA ~func() O.Option[A], A any](gen func() GA) GA

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

func Delay

func Delay[GA ~func() O.Option[A], A any](delay time.Duration) func(GA) GA

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

func Flatten

func Flatten[GA ~func() O.Option[A], GAA ~func() O.Option[GA], A any](mma GAA) GA

func Fold

func Fold[GA ~func() O.Option[A], GB ~func() B, A, B any](onNone func() GB, onSome func(A) GB) func(GA) GB

Fold convers an IOOption into an IO

func FromEither added in v1.0.33

func FromEither[GA ~func() O.Option[A], E, A any](e ET.Either[E, A]) GA

func FromIO

func FromIO[GA ~func() O.Option[A], GR ~func() A, A any](mr GR) GA

func FromOption

func FromOption[GA ~func() O.Option[A], A any](o O.Option[A]) GA

func MakeIO

func MakeIO[GA ~func() O.Option[A], A any](f GA) GA

func Map

func Map[GA ~func() O.Option[A], GB ~func() O.Option[B], A, B any](f func(A) B) func(GA) GB

func Memoize

func Memoize[GA ~func() O.Option[A], A any](ma GA) GA

Memoize computes the value of the provided IO monad lazily but exactly once

func MonadAlt added in v1.0.60

func MonadAlt[LAZY ~func() GIOA, GIOA ~func() O.Option[A], A any](first GIOA, second LAZY) GIOA

func MonadAp

func MonadAp[GB ~func() O.Option[B], GAB ~func() O.Option[func(A) B], GA ~func() O.Option[A], A, B any](mab GAB, ma GA) GB

func MonadChain

func MonadChain[GA ~func() O.Option[A], GB ~func() O.Option[B], A, B any](fa GA, f func(A) GB) GB

func MonadChainFirst added in v1.0.65

func MonadChainFirst[GA ~func() O.Option[A], GB ~func() O.Option[B], A, B any](ma GA, f func(A) GB) GA

MonadChainFirst runs the monad returned by the function but returns the result of the original monad

func MonadChainFirstIOK added in v1.0.65

func MonadChainFirstIOK[GA ~func() O.Option[A], GIOB ~func() B, A, B any](first GA, f func(A) GIOB) GA

MonadChainFirstIOK runs the monad returned by the function but returns the result of the original monad

func MonadChainIOK

func MonadChainIOK[GA ~func() O.Option[A], GB ~func() O.Option[B], GR ~func() B, A, B any](ma GA, f func(A) GR) GB

func MonadChainOptionK

func MonadChainOptionK[GA ~func() O.Option[A], GB ~func() O.Option[B], A, B any](ma GA, f func(A) O.Option[B]) GB

func MonadMap

func MonadMap[GA ~func() O.Option[A], GB ~func() O.Option[B], A, B any](fa GA, f func(A) B) GB

func MonadOf

func MonadOf[GA ~func() O.Option[A], A any](r A) GA

func None

func None[GA ~func() O.Option[A], A any]() GA

func Of

func Of[GA ~func() O.Option[A], A any](r A) GA

func Optionize0

func Optionize0[GA ~func() O.Option[A], A any](f func() (A, bool)) func() GA

func Optionize1

func Optionize1[GA ~func() O.Option[A], T1, A any](f func(t1 T1) (A, bool)) func(T1) GA

func Optionize2

func Optionize2[GA ~func() O.Option[A], T1, T2, A any](f func(t1 T1, t2 T2) (A, bool)) func(T1, T2) GA

func Optionize3

func Optionize3[GA ~func() O.Option[A], T1, T2, T3, A any](f func(t1 T1, t2 T2, t3 T3) (A, bool)) func(T1, T2, T3) GA

func Optionize4

func Optionize4[GA ~func() O.Option[A], T1, T2, T3, T4, A any](f func(t1 T1, t2 T2, t3 T3, t4 T4) (A, bool)) func(T1, T2, T3, T4) GA

func Retrying

func Retrying[GA ~func() O.Option[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.

func SequenceArray

func SequenceArray[TB ~func() O.Option[B], TBS ~func() O.Option[GB], GA ~[]TB, GB ~[]B, A, B any](ma GA) TBS

func SequenceT1

func SequenceT1[
	G_TUPLE1 ~func() O.Option[T.Tuple1[T1]],
	G_T1 ~func() O.Option[T1],
	T1 any](
	t1 G_T1,
) G_TUPLE1

SequenceT1 converts 1 [func() O.Option[T]] into a [func() O.Option[T.Tuple1[T1]]]

func SequenceT10 added in v1.0.7

func SequenceT10[
	G_TUPLE10 ~func() O.Option[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
	G_T1 ~func() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[T3],
	G_T4 ~func() O.Option[T4],
	G_T5 ~func() O.Option[T5],
	G_T6 ~func() O.Option[T6],
	G_T7 ~func() O.Option[T7],
	G_T8 ~func() O.Option[T8],
	G_T9 ~func() O.Option[T9],
	G_T10 ~func() O.Option[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() O.Option[T]] into a [func() O.Option[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]]

func SequenceT2

func SequenceT2[
	G_TUPLE2 ~func() O.Option[T.Tuple2[T1, T2]],
	G_T1 ~func() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	T1, T2 any](
	t1 G_T1,
	t2 G_T2,
) G_TUPLE2

SequenceT2 converts 2 [func() O.Option[T]] into a [func() O.Option[T.Tuple2[T1, T2]]]

func SequenceT3

func SequenceT3[
	G_TUPLE3 ~func() O.Option[T.Tuple3[T1, T2, T3]],
	G_T1 ~func() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[T3],
	T1, T2, T3 any](
	t1 G_T1,
	t2 G_T2,
	t3 G_T3,
) G_TUPLE3

SequenceT3 converts 3 [func() O.Option[T]] into a [func() O.Option[T.Tuple3[T1, T2, T3]]]

func SequenceT4

func SequenceT4[
	G_TUPLE4 ~func() O.Option[T.Tuple4[T1, T2, T3, T4]],
	G_T1 ~func() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[T3],
	G_T4 ~func() O.Option[T4],
	T1, T2, T3, T4 any](
	t1 G_T1,
	t2 G_T2,
	t3 G_T3,
	t4 G_T4,
) G_TUPLE4

SequenceT4 converts 4 [func() O.Option[T]] into a [func() O.Option[T.Tuple4[T1, T2, T3, T4]]]

func SequenceT5 added in v1.0.7

func SequenceT5[
	G_TUPLE5 ~func() O.Option[T.Tuple5[T1, T2, T3, T4, T5]],
	G_T1 ~func() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[T3],
	G_T4 ~func() O.Option[T4],
	G_T5 ~func() O.Option[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() O.Option[T]] into a [func() O.Option[T.Tuple5[T1, T2, T3, T4, T5]]]

func SequenceT6 added in v1.0.7

func SequenceT6[
	G_TUPLE6 ~func() O.Option[T.Tuple6[T1, T2, T3, T4, T5, T6]],
	G_T1 ~func() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[T3],
	G_T4 ~func() O.Option[T4],
	G_T5 ~func() O.Option[T5],
	G_T6 ~func() O.Option[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() O.Option[T]] into a [func() O.Option[T.Tuple6[T1, T2, T3, T4, T5, T6]]]

func SequenceT7 added in v1.0.7

func SequenceT7[
	G_TUPLE7 ~func() O.Option[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
	G_T1 ~func() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[T3],
	G_T4 ~func() O.Option[T4],
	G_T5 ~func() O.Option[T5],
	G_T6 ~func() O.Option[T6],
	G_T7 ~func() O.Option[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() O.Option[T]] into a [func() O.Option[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]]

func SequenceT8 added in v1.0.7

func SequenceT8[
	G_TUPLE8 ~func() O.Option[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
	G_T1 ~func() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[T3],
	G_T4 ~func() O.Option[T4],
	G_T5 ~func() O.Option[T5],
	G_T6 ~func() O.Option[T6],
	G_T7 ~func() O.Option[T7],
	G_T8 ~func() O.Option[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() O.Option[T]] into a [func() O.Option[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]]

func SequenceT9 added in v1.0.7

func SequenceT9[
	G_TUPLE9 ~func() O.Option[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
	G_T1 ~func() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[T3],
	G_T4 ~func() O.Option[T4],
	G_T5 ~func() O.Option[T5],
	G_T6 ~func() O.Option[T6],
	G_T7 ~func() O.Option[T7],
	G_T8 ~func() O.Option[T8],
	G_T9 ~func() O.Option[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() O.Option[T]] into a [func() O.Option[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]]

func SequenceTuple1 added in v1.0.7

func SequenceTuple1[
	G_TUPLE1 ~func() O.Option[T.Tuple1[T1]],
	G_T1 ~func() O.Option[T1],
	T1 any](t T.Tuple1[G_T1]) G_TUPLE1

SequenceTuple1 converts a [T.Tuple1[func() O.Option[T]]] into a [func() O.Option[T.Tuple1[T1]]]

func SequenceTuple10 added in v1.0.7

func SequenceTuple10[
	G_TUPLE10 ~func() O.Option[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
	G_T1 ~func() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[T3],
	G_T4 ~func() O.Option[T4],
	G_T5 ~func() O.Option[T5],
	G_T6 ~func() O.Option[T6],
	G_T7 ~func() O.Option[T7],
	G_T8 ~func() O.Option[T8],
	G_T9 ~func() O.Option[T9],
	G_T10 ~func() O.Option[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() O.Option[T]]] into a [func() O.Option[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]]

func SequenceTuple2 added in v1.0.7

func SequenceTuple2[
	G_TUPLE2 ~func() O.Option[T.Tuple2[T1, T2]],
	G_T1 ~func() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	T1, T2 any](t T.Tuple2[G_T1, G_T2]) G_TUPLE2

SequenceTuple2 converts a [T.Tuple2[func() O.Option[T]]] into a [func() O.Option[T.Tuple2[T1, T2]]]

func SequenceTuple3 added in v1.0.7

func SequenceTuple3[
	G_TUPLE3 ~func() O.Option[T.Tuple3[T1, T2, T3]],
	G_T1 ~func() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[T3],
	T1, T2, T3 any](t T.Tuple3[G_T1, G_T2, G_T3]) G_TUPLE3

SequenceTuple3 converts a [T.Tuple3[func() O.Option[T]]] into a [func() O.Option[T.Tuple3[T1, T2, T3]]]

func SequenceTuple4 added in v1.0.7

func SequenceTuple4[
	G_TUPLE4 ~func() O.Option[T.Tuple4[T1, T2, T3, T4]],
	G_T1 ~func() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[T3],
	G_T4 ~func() O.Option[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() O.Option[T]]] into a [func() O.Option[T.Tuple4[T1, T2, T3, T4]]]

func SequenceTuple5 added in v1.0.7

func SequenceTuple5[
	G_TUPLE5 ~func() O.Option[T.Tuple5[T1, T2, T3, T4, T5]],
	G_T1 ~func() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[T3],
	G_T4 ~func() O.Option[T4],
	G_T5 ~func() O.Option[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() O.Option[T]]] into a [func() O.Option[T.Tuple5[T1, T2, T3, T4, T5]]]

func SequenceTuple6 added in v1.0.7

func SequenceTuple6[
	G_TUPLE6 ~func() O.Option[T.Tuple6[T1, T2, T3, T4, T5, T6]],
	G_T1 ~func() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[T3],
	G_T4 ~func() O.Option[T4],
	G_T5 ~func() O.Option[T5],
	G_T6 ~func() O.Option[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() O.Option[T]]] into a [func() O.Option[T.Tuple6[T1, T2, T3, T4, T5, T6]]]

func SequenceTuple7 added in v1.0.7

func SequenceTuple7[
	G_TUPLE7 ~func() O.Option[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
	G_T1 ~func() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[T3],
	G_T4 ~func() O.Option[T4],
	G_T5 ~func() O.Option[T5],
	G_T6 ~func() O.Option[T6],
	G_T7 ~func() O.Option[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() O.Option[T]]] into a [func() O.Option[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]]

func SequenceTuple8 added in v1.0.7

func SequenceTuple8[
	G_TUPLE8 ~func() O.Option[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
	G_T1 ~func() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[T3],
	G_T4 ~func() O.Option[T4],
	G_T5 ~func() O.Option[T5],
	G_T6 ~func() O.Option[T6],
	G_T7 ~func() O.Option[T7],
	G_T8 ~func() O.Option[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() O.Option[T]]] into a [func() O.Option[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]]

func SequenceTuple9 added in v1.0.7

func SequenceTuple9[
	G_TUPLE9 ~func() O.Option[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
	G_T1 ~func() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[T3],
	G_T4 ~func() O.Option[T4],
	G_T5 ~func() O.Option[T5],
	G_T6 ~func() O.Option[T6],
	G_T7 ~func() O.Option[T7],
	G_T8 ~func() O.Option[T8],
	G_T9 ~func() O.Option[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() O.Option[T]]] into a [func() O.Option[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]]

func Some

func Some[GA ~func() O.Option[A], A any](r A) GA

func TraverseArray

func TraverseArray[TB ~func() O.Option[B], TBS ~func() O.Option[GB], GA ~[]A, GB ~[]B, A, B any](f func(A) TB) func(GA) TBS

func TraverseArrayWithIndex added in v1.0.29

func TraverseArrayWithIndex[TB ~func() O.Option[B], TBS ~func() O.Option[GB], GA ~[]A, GB ~[]B, A, B any](f func(int, A) TB) func(GA) TBS

func TraverseTuple1 added in v1.0.7

func TraverseTuple1[
	G_TUPLE1 ~func() O.Option[T.Tuple1[T1]],
	F1 ~func(A1) G_T1,
	G_T1 ~func() O.Option[T1],
	A1, T1 any](f1 F1) func(T.Tuple1[A1]) G_TUPLE1

TraverseTuple1 converts a [T.Tuple1[func() O.Option[T]]] into a [func() O.Option[T.Tuple1[T1]]]

func TraverseTuple10 added in v1.0.7

func TraverseTuple10[
	G_TUPLE10 ~func() O.Option[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() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[T3],
	G_T4 ~func() O.Option[T4],
	G_T5 ~func() O.Option[T5],
	G_T6 ~func() O.Option[T6],
	G_T7 ~func() O.Option[T7],
	G_T8 ~func() O.Option[T8],
	G_T9 ~func() O.Option[T9],
	G_T10 ~func() O.Option[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() O.Option[T]]] into a [func() O.Option[T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]]]

func TraverseTuple2 added in v1.0.7

func TraverseTuple2[
	G_TUPLE2 ~func() O.Option[T.Tuple2[T1, T2]],
	F1 ~func(A1) G_T1,
	F2 ~func(A2) G_T2,
	G_T1 ~func() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	A1, A2, T1, T2 any](f1 F1, f2 F2) func(T.Tuple2[A1, A2]) G_TUPLE2

TraverseTuple2 converts a [T.Tuple2[func() O.Option[T]]] into a [func() O.Option[T.Tuple2[T1, T2]]]

func TraverseTuple3 added in v1.0.7

func TraverseTuple3[
	G_TUPLE3 ~func() O.Option[T.Tuple3[T1, T2, T3]],
	F1 ~func(A1) G_T1,
	F2 ~func(A2) G_T2,
	F3 ~func(A3) G_T3,
	G_T1 ~func() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[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() O.Option[T]]] into a [func() O.Option[T.Tuple3[T1, T2, T3]]]

func TraverseTuple4 added in v1.0.7

func TraverseTuple4[
	G_TUPLE4 ~func() O.Option[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() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[T3],
	G_T4 ~func() O.Option[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() O.Option[T]]] into a [func() O.Option[T.Tuple4[T1, T2, T3, T4]]]

func TraverseTuple5 added in v1.0.7

func TraverseTuple5[
	G_TUPLE5 ~func() O.Option[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() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[T3],
	G_T4 ~func() O.Option[T4],
	G_T5 ~func() O.Option[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() O.Option[T]]] into a [func() O.Option[T.Tuple5[T1, T2, T3, T4, T5]]]

func TraverseTuple6 added in v1.0.7

func TraverseTuple6[
	G_TUPLE6 ~func() O.Option[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() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[T3],
	G_T4 ~func() O.Option[T4],
	G_T5 ~func() O.Option[T5],
	G_T6 ~func() O.Option[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() O.Option[T]]] into a [func() O.Option[T.Tuple6[T1, T2, T3, T4, T5, T6]]]

func TraverseTuple7 added in v1.0.7

func TraverseTuple7[
	G_TUPLE7 ~func() O.Option[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() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[T3],
	G_T4 ~func() O.Option[T4],
	G_T5 ~func() O.Option[T5],
	G_T6 ~func() O.Option[T6],
	G_T7 ~func() O.Option[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() O.Option[T]]] into a [func() O.Option[T.Tuple7[T1, T2, T3, T4, T5, T6, T7]]]

func TraverseTuple8 added in v1.0.7

func TraverseTuple8[
	G_TUPLE8 ~func() O.Option[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() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[T3],
	G_T4 ~func() O.Option[T4],
	G_T5 ~func() O.Option[T5],
	G_T6 ~func() O.Option[T6],
	G_T7 ~func() O.Option[T7],
	G_T8 ~func() O.Option[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() O.Option[T]]] into a [func() O.Option[T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]]]

func TraverseTuple9 added in v1.0.7

func TraverseTuple9[
	G_TUPLE9 ~func() O.Option[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() O.Option[T1],
	G_T2 ~func() O.Option[T2],
	G_T3 ~func() O.Option[T3],
	G_T4 ~func() O.Option[T4],
	G_T5 ~func() O.Option[T5],
	G_T6 ~func() O.Option[T6],
	G_T7 ~func() O.Option[T7],
	G_T8 ~func() O.Option[T8],
	G_T9 ~func() O.Option[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() O.Option[T]]] into a [func() O.Option[T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]]]

func WithLock added in v1.0.50

func WithLock[GA ~func() O.Option[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() O.Option[A],
	GR ~func() O.Option[R],
	GANY ~func() O.Option[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.

Jump to

Keyboard shortcuts

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