//arrow-fx-coroutines/arrow.fx.coroutines
Name | Summary |
---|---|
Atomic | common interface Atomic<A> An Atomic with an initial value of A. |
CircuitBreaker | common class CircuitBreaker A CircuitBreaker is used to protect resources or services from being overloaded When a service is being overloaded, interacting with it more will only worsen its overloaded state. Especially when combined with retry mechanisms such as Schedule, in some cases simply using a back-off retry policy might not be sufficient during peak traffics. |
ExitCase | common sealed class ExitCase |
Platform | common object Platform |
Race3 | common sealed class Race3<out A, out B, out C> |
Resource | common sealed class Resource<out A> Resource models resource allocation and releasing. It is especially useful when multiple resources that depend on each other need to be acquired and later released in reverse order. Or when you want to load independent resources in parallel. |
Schedule | common sealed class Schedule<Input, Output> A common demand when working with effects is to retry or repeat them when certain circumstances happen. Usually, the retrial or repetition does not happen right away; rather, it is done based on a policy. For instance, when fetching content from a network request, we may want to retry it when it fails, using an exponential backoff algorithm, for a maximum of 15 seconds or 5 attempts, whatever happens first. |
Use | common Marker for suspend () -> A to be marked as the Use action of a Resource. Offers a convenient DSL to use Resource for simple resources. |
Name | Summary |
---|---|
asFlow | common fun <A> Resource<A>.asFlow(): runs [Resource.use](-resource/use.html) and emits [A](as-flow.html) of the resource |
bracket | common inline suspend fun <A, B> bracket(crossinline acquire: suspend () -> A, use: suspend (A) -> B, crossinline release: suspend (A) -> Unit): B Describes a task with safe resource acquisition and release in the face of errors and interruption. It would be the equivalent of an async capable try/catch/finally statements in mainstream imperative languages for resource acquisition and release. |
bracketCase | common inline suspend fun <A, B> bracketCase(crossinline acquire: suspend () -> A, use: suspend (A) -> B, crossinline release: suspend (A, ExitCase) -> Unit): B A way to safely acquire a resource and release in the face of errors and cancellation. It uses ExitCase to distinguish between different exit cases when releasing the acquired resource. |
fixedRate | common fun fixedRate(period: Long, dampen: Boolean = true, timeStampInMillis: () -> Long = { timeInMillis() }): Flow that emits [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) every [period](fixed-rate.html) while taking into account how much time it takes downstream to consume the emission. If downstream takes longer to process than [period](fixed-rate.html) than it immediately emits another [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html), if you set [dampen](fixed-rate.html) to false it will send `n = downstreamTime / period`[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) elements immediately. common @[ExperimentalTime](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.time/-experimental-time/index.html) fun [fixedRate](fixed-rate.html)(period: [Duration](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.time/-duration/index.html), dampen: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true, timeStampInMillis: () -> [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html) = { timeInMillis() }): |
fromAutoCloseable | jvm fun <A : AutoCloseable> Resource.Companion.fromAutoCloseable(f: suspend () -> A): Resource<A> Creates a Resource from an AutoCloseable, which uses AutoCloseable.close for releasing. |
fromCloseable | jvm fun <A : Closeable> Resource.Companion.fromCloseable(f: suspend () -> A): Resource<A> Creates a Resource from an Closeable, which uses Closeable.close for releasing. |
fromExecutor | jvm fun Resource.Companion.fromExecutor(f: suspend () -> ExecutorService): Resource<CoroutineContext> Creates a single threaded CoroutineContext as a Resource. Upon release an orderly shutdown of the ExecutorService takes place in which previously submitted tasks are executed, but no new tasks will be accepted. |
guarantee | common inline suspend fun <A> guarantee(fa: suspend () -> A, crossinline finalizer: suspend () -> Unit): A Guarantees execution of a given finalizer after fa regardless of success, error or cancellation. |
guaranteeCase | common inline suspend fun <A> guaranteeCase(fa: suspend () -> A, crossinline finalizer: suspend (ExitCase) -> Unit): A Guarantees execution of a given finalizer after fa regardless of success, error or cancellation, allowing for differentiating between exit conditions with the ExitCase argument of the finalizer. |
mapIndexed | common inline fun <A, B> |
metered | common fun <A> common @[ExperimentalTime](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.time/-experimental-time/index.html) fun <[A](metered.html)> Flow that emits [A](metered.html) every [period](metered.html) while taking into account how much time it takes downstream to consume the emission. If downstream takes longer to process than [period](metered.html) than it immediately emits another [A](metered.html). |
never | common suspend fun <A> never(): A |
onCancel | common inline suspend fun <A> onCancel(fa: suspend () -> A, crossinline onCancel: suspend () -> Unit): A Registers an onCancel handler after fa. onCancel is guaranteed to be called in case of cancellation, otherwise it’s ignored. |
parMap | common inline fun <A, B> Like [map](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/index.html), but will evaluate [transform](par-map.html) in parallel, emitting the results downstream in **the same order as the input stream**. The number of concurrent effects is limited by [concurrency](par-map.html). |
parMapUnordered | common inline fun <A, B> Like [map](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/index.html), but will evaluate effects in parallel, emitting the results downstream. The number of concurrent effects is limited by [concurrency](par-map-unordered.html). |
parSequence | common suspend fun <A> Iterable<suspend () -> A>.parSequence(): List<A> suspend fun <A> Iterable<suspend () -> A>.parSequence(ctx: CoroutineContext = EmptyCoroutineContext): List<A> common @JvmName(name = “parSequenceScoped”) suspend fun <A> Iterable<suspend Sequences all tasks in parallel on Dispatchers.Default and return the result common @[JvmName](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-name/index.html)(name = "parSequenceScoped") suspend fun <[A](par-sequence.html)> [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)<suspend Sequences all tasks in parallel and return the result |
parSequenceEither | common suspend fun <A, B> Iterable<suspend () -> Sequences all tasks in parallel on Dispatchers.Default and return the result. If one of the tasks returns Either.Left, then it will short-circuit the operation and cancelling all this running tasks, and returning the first encountered Either.Left. common @[JvmName](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-name/index.html)(name = "parSequenceEitherScoped") suspend fun <[A](par-sequence-either.html), [B](par-sequence-either.html)> [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)<suspend suspend fun <[A](par-sequence-either.html), [B](par-sequence-either.html)> [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)<suspend () -> common @[JvmName](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-name/index.html)(name = "parSequenceEitherScoped") suspend fun <[A](par-sequence-either.html), [B](par-sequence-either.html)> [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)<suspend Sequences all tasks in parallel on [ctx](par-sequence-either.html) and return the result. If one of the tasks returns Either.Left, then it will short-circuit the operation and cancelling all this running tasks, and returning the first encountered Either.Left. |
parSequenceEitherN | common suspend fun <A, B> Iterable<suspend () -> Sequences all tasks in [n](par-sequence-either-n.html) parallel processes on Dispatchers.Default and return the result. common @[JvmName](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-name/index.html)(name = "parSequenceEitherNScoped") suspend fun <[A](par-sequence-either-n.html), [B](par-sequence-either-n.html)> [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)<suspend suspend fun <[A](par-sequence-either-n.html), [B](par-sequence-either-n.html)> [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)<suspend () -> common @[JvmName](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-name/index.html)(name = "parSequenceEitherNScoped") suspend fun <[A](par-sequence-either-n.html), [B](par-sequence-either-n.html)> [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)<suspend Sequences all tasks in [n](par-sequence-either-n.html) parallel processes on [ctx](par-sequence-either-n.html) and return the result. |
parSequenceN | common suspend fun <A> Iterable<suspend () -> A>.parSequenceN(n: Int): List<A> suspend fun <A> Iterable<suspend () -> A>.parSequenceN(ctx: CoroutineContext = EmptyCoroutineContext, n: Int): List<A> common @JvmName(name = “parSequenceNScoped”) suspend fun <A> Iterable<suspend Sequences all tasks in [n](par-sequence-n.html) parallel processes on Dispatchers.Default and return the result. common @[JvmName](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-name/index.html)(name = "parSequenceNScoped") suspend fun <[A](par-sequence-n.html)> [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)<suspend Sequences all tasks in [n](par-sequence-n.html) parallel processes and return the result. |
parSequenceResult | common suspend fun <A> Iterable<suspend () -> Result<A».parSequenceResult(ctx: CoroutineContext = EmptyCoroutineContext): Result<List<A» common @JvmName(name = “parSequenceResultScoped”) suspend fun <A> Iterable<suspend Sequences all tasks in parallel on [ctx](par-sequence-result.html) and returns the result. If one or more of the tasks returns [Result.failure](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-result/failure.html) then all the [Result.failure](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-result/failure.html) results will be combined using [addSuppressed](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/index.html). |
parSequenceResultN | common suspend fun <A> Iterable<suspend () -> Result<A».parSequenceResultN(n: Int): Result<List<A» suspend fun <A> Iterable<suspend () -> Result<A».parSequenceResultN(ctx: CoroutineContext = EmptyCoroutineContext, n: Int): Result<List<A» common @JvmName(name = “parSequenceResultNScoped”) suspend fun <A> Iterable<suspend @[JvmName](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-name/index.html)(name = "parSequenceResultNScoped") suspend fun <[A](par-sequence-result-n.html)> [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)<suspend Traverses this [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html) and runs `suspend CoroutineScope.() -> Result` in [n](par-sequence-result-n.html) parallel operations on [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html). If one or more of the tasks returns [Result.failure](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-result/failure.html) then all the [Result.failure](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-result/failure.html) results will be combined using [addSuppressed](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/index.html). |
parSequenceValidated | common suspend fun <E, A> Iterable<suspend () -> suspend fun <[E](par-sequence-validated.html), [A](par-sequence-validated.html)> [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)<suspend () -> common @[JvmName](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-name/index.html)(name = "parSequenceValidatedScoped") suspend fun <[E](par-sequence-validated.html), [A](par-sequence-validated.html)> [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)<suspend Sequences all tasks in parallel on Dispatchers.Default and returns the result. If one or more of the tasks returns Validated.Invalid then all the Validated.Invalid results will be combined using [semigroup](par-sequence-validated.html). common @[JvmName](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-name/index.html)(name = "parSequenceValidatedScoped") suspend fun <[E](par-sequence-validated.html), [A](par-sequence-validated.html)> [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)<suspend Sequences all tasks in parallel on [ctx](par-sequence-validated.html) and returns the result. If one or more of the tasks returns Validated.Invalid then all the Validated.Invalid results will be combined using [semigroup](par-sequence-validated.html). |
parSequenceValidatedN | common suspend fun <E, A> Iterable<suspend () -> suspend fun <[E](par-sequence-validated-n.html), [A](par-sequence-validated-n.html)> [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)<suspend () -> common @[JvmName](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-name/index.html)(name = "parSequenceValidatedNScoped") suspend fun <[E](par-sequence-validated-n.html), [A](par-sequence-validated-n.html)> [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)<suspend @[JvmName](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-name/index.html)(name = "parSequenceValidatedNScoped") suspend fun <[E](par-sequence-validated-n.html), [A](par-sequence-validated-n.html)> [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)<suspend Traverses this [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html) and runs f in [n](par-sequence-validated-n.html) parallel operations on [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html). If one or more of the tasks returns Validated.Invalid then all the Validated.Invalid results will be combined using [semigroup](par-sequence-validated-n.html). |
parTraverse | common suspend fun <A, B> Iterable<A>.parTraverse(f: suspend Traverses this [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html) and runs all mappers [f](par-traverse.html) on Dispatchers.Default. Cancelling this operation cancels all running tasks. common suspend fun <[A](par-traverse.html), [B](par-traverse.html)> [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)<[A](par-traverse.html)>.[parTraverse](par-traverse.html)(ctx: [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html) = EmptyCoroutineContext, f: suspend Traverses this [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html) and runs all mappers [f](par-traverse.html) on [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html). |
parTraverseEither | common suspend fun <A, B, E> Iterable<A>.parTraverseEither(f: suspend Traverses this [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html) and runs all mappers [f](par-traverse-either.html) on Dispatchers.Default. If one of the [f](par-traverse-either.html) returns Either.Left, then it will short-circuit the operation and cancelling all this running [f](par-traverse-either.html), and returning the first encountered Either.Left. common suspend fun <[A](par-traverse-either.html), [B](par-traverse-either.html), [E](par-traverse-either.html)> [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)<[A](par-traverse-either.html)>.[parTraverseEither](par-traverse-either.html)(ctx: [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html) = EmptyCoroutineContext, f: suspend Traverses this [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html) and runs all mappers [f](par-traverse-either.html) on [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html). If one of the [f](par-traverse-either.html) returns Either.Left, then it will short-circuit the operation and cancelling all this running [f](par-traverse-either.html), and returning the first encountered Either.Left. |
parTraverseEitherN | common suspend fun <A, B, E> Iterable<A>.parTraverseEitherN(n: Int, f: suspend suspend fun <[A](par-traverse-either-n.html), [B](par-traverse-either-n.html), [E](par-traverse-either-n.html)> [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)<[A](par-traverse-either-n.html)>.[parTraverseEitherN](par-traverse-either-n.html)(ctx: [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html) = EmptyCoroutineContext, n: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), f: suspend Traverses this [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html) and runs [f](par-traverse-either-n.html) in [n](par-traverse-either-n.html) parallel operations on Dispatchers.Default. If one of the [f](par-traverse-either-n.html) returns Either.Left, then it will short-circuit the operation and cancelling all this running [f](par-traverse-either-n.html), and returning the first encountered Either.Left. |
parTraverseN | common suspend fun <A, B> Iterable<A>.parTraverseN(n: Int, f: suspend Traverses this [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html) and runs [f](par-traverse-n.html) in [n](par-traverse-n.html) parallel operations on Dispatchers.Default. Cancelling this operation cancels all running tasks. common suspend fun <[A](par-traverse-n.html), [B](par-traverse-n.html)> [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)<[A](par-traverse-n.html)>.[parTraverseN](par-traverse-n.html)(ctx: [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html) = EmptyCoroutineContext, n: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), f: suspend Traverses this [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html) and runs [f](par-traverse-n.html) in [n](par-traverse-n.html) parallel operations on [ctx](par-traverse-n.html). |
parTraverseResult | common suspend fun <A, B> Iterable<A>.parTraverseResult(f: suspend Traverses this [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html) and runs all mappers [f](par-traverse-result.html) on Dispatchers.Default. If one or more of the [f](par-traverse-result.html) returns [Result.failure](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-result/failure.html) then all the [Result.failure](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-result/failure.html) results will be combined using [addSuppressed](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/index.html). common suspend fun <[A](par-traverse-result.html), [B](par-traverse-result.html)> [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)<[A](par-traverse-result.html)>.[parTraverseResult](par-traverse-result.html)(ctx: [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html) = EmptyCoroutineContext, f: suspend Traverses this [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html) and runs all mappers [f](par-traverse-result.html) on [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html). If one or more of the [f](par-traverse-result.html) returns [Result.failure](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-result/failure.html) then all the [Result.failure](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-result/failure.html) results will be combined using [addSuppressed](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/index.html). |
parTraverseResultN | common suspend fun <A, B> Iterable<A>.parTraverseResultN(n: Int, f: suspend Traverses this [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html) and runs [f](par-traverse-result-n.html) in [n](par-traverse-result-n.html) parallel operations on Dispatchers.Default. If one or more of the [f](par-traverse-result-n.html) returns [Result.failure](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-result/failure.html) then all the [Result.failure](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-result/failure.html) results will be combined using [addSuppressed](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/index.html). common suspend fun <[A](par-traverse-result-n.html), [B](par-traverse-result-n.html)> [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)<[A](par-traverse-result-n.html)>.[parTraverseResultN](par-traverse-result-n.html)(ctx: [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html) = EmptyCoroutineContext, n: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html), f: suspend Traverses this [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html) and runs [f](par-traverse-result-n.html) in [n](par-traverse-result-n.html) parallel operations on [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html). If one or more of the [f](par-traverse-result-n.html) returns [Result.failure](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-result/failure.html) then all the [Result.failure](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-result/failure.html) results will be combined using [addSuppressed](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/index.html). |
parTraverseValidated | common suspend fun <E, A, B> Iterable<A>.parTraverseValidated(semigroup: Traverses this [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html) and runs all mappers [f](par-traverse-validated.html) on Dispatchers.Default. If one or more of the [f](par-traverse-validated.html) returns Validated.Invalid then all the Validated.Invalid results will be combined using [semigroup](par-traverse-validated.html). common suspend fun <[E](par-traverse-validated.html), [A](par-traverse-validated.html), [B](par-traverse-validated.html)> [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)<[A](par-traverse-validated.html)>.[parTraverseValidated](par-traverse-validated.html)(ctx: [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html) = EmptyCoroutineContext, semigroup: Traverses this [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html) and runs all mappers [f](par-traverse-validated.html) on [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html). If one or more of the [f](par-traverse-validated.html) returns Validated.Invalid then all the Validated.Invalid results will be combined using [semigroup](par-traverse-validated.html). |
parTraverseValidatedN | common suspend fun <E, A, B> Iterable<A>.parTraverseValidatedN(semigroup: Traverses this [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html) and runs [f](par-traverse-validated-n.html) in [n](par-traverse-validated-n.html) parallel operations on Dispatchers.Default. If one or more of the [f](par-traverse-validated-n.html) returns Validated.Invalid then all the Validated.Invalid results will be combined using [semigroup](par-traverse-validated-n.html). common suspend fun <[E](par-traverse-validated-n.html), [A](par-traverse-validated-n.html), [B](par-traverse-validated-n.html)> [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html)<[A](par-traverse-validated-n.html)>.[parTraverseValidatedN](par-traverse-validated-n.html)(ctx: [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html) = EmptyCoroutineContext, semigroup: Traverses this [Iterable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-iterable/index.html) and runs [f](par-traverse-validated-n.html) in [n](par-traverse-validated-n.html) parallel operations on [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html). If one or more of the [f](par-traverse-validated-n.html) returns Validated.Invalid then all the Validated.Invalid results will be combined using [semigroup](par-traverse-validated-n.html). |
parZip | common inline suspend fun <A, B, C> parZip(crossinline fa: suspend Runs [fa](par-zip.html), [fb](par-zip.html) in parallel on Dispatchers.Default and combines their results using the provided function. common inline suspend fun <[A](par-zip.html), [B](par-zip.html), [C](par-zip.html)> [parZip](par-zip.html)(ctx: [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html) = EmptyCoroutineContext, crossinline fa: suspend Runs [fa](par-zip.html), [fb](par-zip.html) in parallel on [ctx](par-zip.html) and combines their results using the provided function. common inline suspend fun <[A](par-zip.html), [B](par-zip.html), [C](par-zip.html), [D](par-zip.html)> [parZip](par-zip.html)(crossinline fa: suspend Runs [fa](par-zip.html), [fb](par-zip.html), [fc](par-zip.html) in parallel on Dispatchers.Default and combines their results using the provided function. common inline suspend fun <[A](par-zip.html), [B](par-zip.html), [C](par-zip.html), [D](par-zip.html)> [parZip](par-zip.html)(ctx: [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html) = EmptyCoroutineContext, crossinline fa: suspend Runs [fa](par-zip.html), [fb](par-zip.html), [fc](par-zip.html) in parallel on [ctx](par-zip.html) and combines their results using the provided function. common inline suspend fun <[A](par-zip.html), [B](par-zip.html), [C](par-zip.html), [D](par-zip.html), [E](par-zip.html)> [parZip](par-zip.html)(crossinline fa: suspend Runs [fa](par-zip.html), [fb](par-zip.html), [fc](par-zip.html), [fd](par-zip.html) in parallel on Dispatchers.Default and combines their results using the provided function. common inline suspend fun <[A](par-zip.html), [B](par-zip.html), [C](par-zip.html), [D](par-zip.html), [E](par-zip.html)> [parZip](par-zip.html)(ctx: [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html) = EmptyCoroutineContext, crossinline fa: suspend Runs [fa](par-zip.html), [fb](par-zip.html), [fc](par-zip.html), [fd](par-zip.html) in parallel on [ctx](par-zip.html) and combines their results using the provided function. common inline suspend fun <[A](par-zip.html), [B](par-zip.html), [C](par-zip.html), [D](par-zip.html), [E](par-zip.html), [F](par-zip.html)> [parZip](par-zip.html)(crossinline fa: suspend Runs [fa](par-zip.html), [fb](par-zip.html), [fc](par-zip.html), [fd](par-zip.html), [fe](par-zip.html) in parallel on Dispatchers.Default and combines their results using the provided function. common inline suspend fun <[A](par-zip.html), [B](par-zip.html), [C](par-zip.html), [D](par-zip.html), [E](par-zip.html), [F](par-zip.html)> [parZip](par-zip.html)(ctx: [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html) = EmptyCoroutineContext, crossinline fa: suspend Runs [fa](par-zip.html), [fb](par-zip.html), [fc](par-zip.html), [fd](par-zip.html), [fe](par-zip.html) in parallel on [ctx](par-zip.html) and combines their results using the provided function. common inline suspend fun <[A](par-zip.html), [B](par-zip.html), [C](par-zip.html), [D](par-zip.html), [E](par-zip.html), [F](par-zip.html), [G](par-zip.html)> [parZip](par-zip.html)(crossinline fa: suspend Runs [fa](par-zip.html), [fb](par-zip.html), [fc](par-zip.html), [fd](par-zip.html), [fe](par-zip.html), [ff](par-zip.html) in parallel on Dispatchers.Default and combines their results using the provided function. common inline suspend fun <[A](par-zip.html), [B](par-zip.html), [C](par-zip.html), [D](par-zip.html), [E](par-zip.html), [F](par-zip.html), [G](par-zip.html)> [parZip](par-zip.html)(ctx: [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html) = EmptyCoroutineContext, crossinline fa: suspend Runs [fa](par-zip.html), [fb](par-zip.html), [fc](par-zip.html), [fd](par-zip.html), [fe](par-zip.html), [ff](par-zip.html) in parallel on [ctx](par-zip.html) and combines their results using the provided function. common inline suspend fun <[A](par-zip.html), [B](par-zip.html), [C](par-zip.html), [D](par-zip.html), [E](par-zip.html), [F](par-zip.html), [G](par-zip.html), [H](par-zip.html)> [parZip](par-zip.html)(crossinline fa: suspend Runs [fa](par-zip.html), [fb](par-zip.html), [fc](par-zip.html), [fd](par-zip.html), [fe](par-zip.html), [ff](par-zip.html), [fg](par-zip.html) in parallel on Dispatchers.Default and combines their results using the provided function. common inline suspend fun <[A](par-zip.html), [B](par-zip.html), [C](par-zip.html), [D](par-zip.html), [E](par-zip.html), [F](par-zip.html), [G](par-zip.html), [H](par-zip.html)> [parZip](par-zip.html)(ctx: [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html) = EmptyCoroutineContext, crossinline fa: suspend Runs [fa](par-zip.html), [fb](par-zip.html), [fc](par-zip.html), [fd](par-zip.html), [fe](par-zip.html), [ff](par-zip.html), [fg](par-zip.html) in parallel on [ctx](par-zip.html) and combines their results using the provided function. common inline suspend fun <[A](par-zip.html), [B](par-zip.html), [C](par-zip.html), [D](par-zip.html), [E](par-zip.html), [F](par-zip.html), [G](par-zip.html), [H](par-zip.html), [I](par-zip.html)> [parZip](par-zip.html)(crossinline fa: suspend Runs [fa](par-zip.html), [fb](par-zip.html), [fc](par-zip.html), [fd](par-zip.html), [fe](par-zip.html), [ff](par-zip.html), [fg](par-zip.html), [fh](par-zip.html) in parallel on Dispatchers.Default and combines their results using the provided function. common inline suspend fun <[A](par-zip.html), [B](par-zip.html), [C](par-zip.html), [D](par-zip.html), [E](par-zip.html), [F](par-zip.html), [G](par-zip.html), [H](par-zip.html), [I](par-zip.html)> [parZip](par-zip.html)(ctx: [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html) = EmptyCoroutineContext, crossinline fa: suspend Runs [fa](par-zip.html), [fb](par-zip.html), [fc](par-zip.html), [fd](par-zip.html), [fe](par-zip.html), [ff](par-zip.html), [fg](par-zip.html), [fh](par-zip.html) in parallel on [ctx](par-zip.html) and combines their results using the provided function. |
raceN | common inline suspend fun <A, B> raceN(crossinline fa: suspend Races the participants [fa](race-n.html), [fb](race-n.html) in parallel on the Dispatchers.Default. The winner of the race cancels the other participants. Cancelling the operation cancels all participants. An uncancellable participant will back-pressure the result of [raceN](race-n.html). common inline suspend fun <[A](race-n.html), [B](race-n.html)> [raceN](race-n.html)(ctx: [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html) = EmptyCoroutineContext, crossinline fa: suspend Races the participants [fa](race-n.html), [fb](race-n.html) on the provided [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html). The winner of the race cancels the other participants. Cancelling the operation cancels all participants. common inline suspend fun <[A](race-n.html), [B](race-n.html), [C](race-n.html)> [raceN](race-n.html)(crossinline fa: suspend Races the participants [fa](race-n.html), [fb](race-n.html)&[fc](race-n.html) in parallel on the Dispatchers.Default. The winner of the race cancels the other participants. Cancelling the operation cancels all participants. common inline suspend fun <[A](race-n.html), [B](race-n.html), [C](race-n.html)> [raceN](race-n.html)(ctx: [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html) = EmptyCoroutineContext, crossinline fa: suspend Races the participants [fa](race-n.html), [fb](race-n.html)&[fc](race-n.html) on the provided [CoroutineContext](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html). The winner of the race cancels the other participants. Cancelling the operation cancels all participants. |
release | common infix fun <A> Resource<A>.release(release: suspend (A) -> Unit): Resource<A> Composes a release action to a Resource.use action creating a Resource. common |
releaseCase | common infix fun <A> Resource<A>.releaseCase(release: suspend (A, ExitCase) -> Unit): Resource<A> Composes a releaseCase action to a Resource.use action creating a Resource. common |
repeat | common fun <A> Repeats the Flow forever |
resource | common Marks an acquire operation as the Resource.use step of a Resource. |
retry | common fun <A, B> Retries collection of the given flow when an exception occurs in the upstream flow based on a decision by the [schedule](retry.html). This operator is *transparent* to exceptions that occur in downstream flow and does not retry on exceptions that are thrown to cancel the flow. common suspend fun <[A](retry.html), [B](retry.html)> [Schedule](-schedule/index.html)<[Throwable](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html), [B](retry.html)>.[retry](retry.html)(fa: suspend () -> [A](retry.html)): [A](retry.html) Runs an effect and, if it fails, decide using the provided policy if the effect should be retried and if so, with how much delay. Returns the result of the effect if if it was successful or re-raises the last error encountered when the schedule ends. |
retryOrElse | common suspend fun <A, B> Schedule<Throwable, B>.retryOrElse(fa: suspend () -> A, orElse: suspend (Throwable, B) -> A): A Runs an effect and, if it fails, decide using the provided policy if the effect should be retried and if so, with how much delay. Also offers a function to handle errors if they are encountered during retrial. |
retryOrElseEither | common suspend fun <A, B, C> Schedule<Throwable, B>.retryOrElseEither(fa: suspend () -> A, orElse: suspend (Throwable, B) -> C): Runs an effect and, if it fails, decide using the provided policy if the effect should be retried and if so, with how much delay. Also offers a function to handle errors if they are encountered during retrial. |
sequence | common inline fun <A> Iterable<Resource<A».sequence(): Resource<List<A» Sequences this Iterable of Resources. Iterable.map and sequence is equivalent to traverseResource. |
singleThreadContext | jvm fun Resource.Companion.singleThreadContext(name: String): Resource<CoroutineContext> Creates a single threaded CoroutineContext as a Resource. Upon release an orderly shutdown of the ExecutorService takes place in which previously submitted tasks are executed, but no new tasks will be accepted. |
timeInMillis | commonjsjvmnative common expect fun timeInMillis(): Long jsjvmnative actual fun timeInMillis(): Long |
traverseResource | common inline fun <A, B> Iterable<A>.traverseResource(crossinline f: (A) -> Resource<B>): Resource<List<B» Traverse this Iterable and collects the resulting Resource<B> of f into a Resource<List<B>> . |
unit | common suspend fun unit() |
Do you like Arrow?
✖