ScopedRaiseAccumulate

class ScopedRaiseAccumulate<Error>(raise: Raise<NonEmptyList<Error>>, scope: CoroutineScope) : CoroutineScope, RaiseAccumulate<Error>

Temporary intersection type, until we have context receivers

Constructors

Link copied to clipboard
constructor(raise: Raise<NonEmptyList<Error>>, scope: CoroutineScope)

Properties

Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
Link copied to clipboard
suspend fun <A> CoroutineScope.awaitAll(block: suspend AwaitAllScope.() -> A): A
Link copied to clipboard
open fun <A> Either<Error, A>.bind(): A
open fun <A> EagerEffect<Error, A>.bind(): A
open suspend fun <A> Effect<Error, A>.bind(): A
Link copied to clipboard
open fun <A> Iterable<Either<Error, A>>.bindAll(): List<A>
open fun <K, A> Map<K, Either<Error, A>>.bindAll(): Map<K, A>
Link copied to clipboard
fun <A> EitherNel<Error, A>.bindNel(): A
Link copied to clipboard
Link copied to clipboard
inline fun <B : Any> ensureNotNullOrAccumulate(value: B?, raise: () -> Error)
Link copied to clipboard
inline fun ensureOrAccumulate(condition: Boolean, raise: () -> Error)
Link copied to clipboard
inline operator fun <A> RaiseAccumulate.Value<A>.getValue(thisRef: Nothing?, property: KProperty<*>): A
Link copied to clipboard
open operator fun <A> EagerEffect<Error, A>.invoke(): A
open suspend operator fun <A> Effect<Error, A>.invoke(): A
Link copied to clipboard
inline fun <A, B> NonEmptyList<A>.mapOrAccumulate(transform: RaiseAccumulate<Error>.(A) -> B): NonEmptyList<B>
inline fun <A, B> NonEmptySet<A>.mapOrAccumulate(transform: RaiseAccumulate<Error>.(A) -> B): NonEmptySet<B>
inline fun <A, B> Iterable<A>.mapOrAccumulate(transform: RaiseAccumulate<Error>.(A) -> B): List<B>
inline fun <K, A, B> Map<K, A>.mapOrAccumulate(transform: RaiseAccumulate<Error>.(Map.Entry<K, A>) -> B): List<B>
@JvmName(name = "_mapOrAccumulate")
inline fun <A, B> mapOrAccumulate(list: NonEmptyList<A>, transform: RaiseAccumulate<Error>.(A) -> B): NonEmptyList<B>
@JvmName(name = "_mapOrAccumulate")
inline fun <A, B> mapOrAccumulate(set: NonEmptySet<A>, transform: RaiseAccumulate<Error>.(A) -> B): NonEmptySet<B>
@JvmName(name = "_mapOrAccumulate")
inline fun <A, B> mapOrAccumulate(iterable: Iterable<A>, transform: RaiseAccumulate<Error>.(A) -> B): List<B>
Link copied to clipboard
inline fun <K, A, B> Map<K, A>.mapValuesOrAccumulate(transform: RaiseAccumulate<Error>.(Map.Entry<K, A>) -> B): Map<K, B>
Link copied to clipboard
inline suspend fun <E, A, B, C> Raise<NonEmptyList<E>>.parZipOrAccumulate(crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline transform: suspend CoroutineScope.(A, B) -> C): C
inline suspend fun <E, A, B, C> Raise<E>.parZipOrAccumulate(crossinline combine: (E, E) -> E, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline transform: suspend CoroutineScope.(A, B) -> C): C
inline suspend fun <E, A, B, C> Raise<NonEmptyList<E>>.parZipOrAccumulate(context: CoroutineContext, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline transform: suspend CoroutineScope.(A, B) -> C): C
inline suspend fun <E, A, B, C, D> Raise<NonEmptyList<E>>.parZipOrAccumulate(crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline transform: suspend CoroutineScope.(A, B, C) -> D): D
inline suspend fun <E, A, B, C, D> Raise<E>.parZipOrAccumulate(crossinline combine: (E, E) -> E, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline transform: suspend CoroutineScope.(A, B, C) -> D): D
inline suspend fun <E, A, B, C> Raise<E>.parZipOrAccumulate(context: CoroutineContext, crossinline combine: (E, E) -> E, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline transform: suspend CoroutineScope.(A, B) -> C): C
inline suspend fun <E, A, B, C, D> Raise<NonEmptyList<E>>.parZipOrAccumulate(context: CoroutineContext, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline transform: suspend CoroutineScope.(A, B, C) -> D): D
inline suspend fun <E, A, B, C, D, F> Raise<NonEmptyList<E>>.parZipOrAccumulate(crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline transform: suspend CoroutineScope.(A, B, C, D) -> F): F
inline suspend fun <E, A, B, C, D, F> Raise<E>.parZipOrAccumulate(crossinline combine: (E, E) -> E, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline transform: suspend CoroutineScope.(A, B, C, D) -> F): F
inline suspend fun <E, A, B, C, D> Raise<E>.parZipOrAccumulate(context: CoroutineContext, crossinline combine: (E, E) -> E, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline transform: suspend CoroutineScope.(A, B, C) -> D): D
inline suspend fun <E, A, B, C, D, F> Raise<NonEmptyList<E>>.parZipOrAccumulate(context: CoroutineContext, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline transform: suspend CoroutineScope.(A, B, C, D) -> F): F
inline suspend fun <E, A, B, C, D, F, G> Raise<NonEmptyList<E>>.parZipOrAccumulate(crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline ff: suspend ScopedRaiseAccumulate<E>.() -> F, crossinline transform: suspend CoroutineScope.(A, B, C, D, F) -> G): G
inline suspend fun <E, A, B, C, D, F, G> Raise<E>.parZipOrAccumulate(crossinline combine: (E, E) -> E, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline ff: suspend ScopedRaiseAccumulate<E>.() -> F, crossinline transform: suspend CoroutineScope.(A, B, C, D, F) -> G): G
inline suspend fun <E, A, B, C, D, F> Raise<E>.parZipOrAccumulate(context: CoroutineContext, crossinline combine: (E, E) -> E, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline transform: suspend CoroutineScope.(A, B, C, D) -> F): F
inline suspend fun <E, A, B, C, D, F, G> Raise<NonEmptyList<E>>.parZipOrAccumulate(context: CoroutineContext, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline ff: suspend ScopedRaiseAccumulate<E>.() -> F, crossinline transform: suspend CoroutineScope.(A, B, C, D, F) -> G): G
inline suspend fun <E, A, B, C, D, F, G, H> Raise<NonEmptyList<E>>.parZipOrAccumulate(crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline ff: suspend ScopedRaiseAccumulate<E>.() -> F, crossinline fg: suspend ScopedRaiseAccumulate<E>.() -> G, crossinline transform: suspend CoroutineScope.(A, B, C, D, F, G) -> H): H
inline suspend fun <E, A, B, C, D, F, G, H> Raise<E>.parZipOrAccumulate(crossinline combine: (E, E) -> E, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline ff: suspend ScopedRaiseAccumulate<E>.() -> F, crossinline fg: suspend ScopedRaiseAccumulate<E>.() -> G, crossinline transform: suspend CoroutineScope.(A, B, C, D, F, G) -> H): H
inline suspend fun <E, A, B, C, D, F, G> Raise<E>.parZipOrAccumulate(context: CoroutineContext, crossinline combine: (E, E) -> E, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline ff: suspend ScopedRaiseAccumulate<E>.() -> F, crossinline transform: suspend CoroutineScope.(A, B, C, D, F) -> G): G
inline suspend fun <E, A, B, C, D, F, G, H> Raise<NonEmptyList<E>>.parZipOrAccumulate(context: CoroutineContext, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline ff: suspend ScopedRaiseAccumulate<E>.() -> F, crossinline fg: suspend ScopedRaiseAccumulate<E>.() -> G, crossinline transform: suspend CoroutineScope.(A, B, C, D, F, G) -> H): H
inline suspend fun <E, A, B, C, D, F, G, H, I> Raise<NonEmptyList<E>>.parZipOrAccumulate(crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline ff: suspend ScopedRaiseAccumulate<E>.() -> F, crossinline fg: suspend ScopedRaiseAccumulate<E>.() -> G, crossinline fh: suspend ScopedRaiseAccumulate<E>.() -> H, crossinline transform: suspend CoroutineScope.(A, B, C, D, F, G, H) -> I): I
inline suspend fun <E, A, B, C, D, F, G, H, I> Raise<E>.parZipOrAccumulate(crossinline combine: (E, E) -> E, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline ff: suspend ScopedRaiseAccumulate<E>.() -> F, crossinline fg: suspend ScopedRaiseAccumulate<E>.() -> G, crossinline fh: suspend ScopedRaiseAccumulate<E>.() -> H, crossinline transform: suspend CoroutineScope.(A, B, C, D, F, G, H) -> I): I
inline suspend fun <E, A, B, C, D, F, G, H> Raise<E>.parZipOrAccumulate(context: CoroutineContext, crossinline combine: (E, E) -> E, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline ff: suspend ScopedRaiseAccumulate<E>.() -> F, crossinline fg: suspend ScopedRaiseAccumulate<E>.() -> G, crossinline transform: suspend CoroutineScope.(A, B, C, D, F, G) -> H): H
inline suspend fun <E, A, B, C, D, F, G, H, I> Raise<NonEmptyList<E>>.parZipOrAccumulate(context: CoroutineContext, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline ff: suspend ScopedRaiseAccumulate<E>.() -> F, crossinline fg: suspend ScopedRaiseAccumulate<E>.() -> G, crossinline fh: suspend ScopedRaiseAccumulate<E>.() -> H, crossinline transform: suspend CoroutineScope.(A, B, C, D, F, G, H) -> I): I
inline suspend fun <E, A, B, C, D, F, G, H, I, J> Raise<NonEmptyList<E>>.parZipOrAccumulate(crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline ff: suspend ScopedRaiseAccumulate<E>.() -> F, crossinline fg: suspend ScopedRaiseAccumulate<E>.() -> G, crossinline fh: suspend ScopedRaiseAccumulate<E>.() -> H, crossinline fi: suspend ScopedRaiseAccumulate<E>.() -> I, crossinline transform: suspend CoroutineScope.(A, B, C, D, F, G, H, I) -> J): J
inline suspend fun <E, A, B, C, D, F, G, H, I, J> Raise<E>.parZipOrAccumulate(crossinline combine: (E, E) -> E, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline ff: suspend ScopedRaiseAccumulate<E>.() -> F, crossinline fg: suspend ScopedRaiseAccumulate<E>.() -> G, crossinline fh: suspend ScopedRaiseAccumulate<E>.() -> H, crossinline fi: suspend ScopedRaiseAccumulate<E>.() -> I, crossinline transform: suspend CoroutineScope.(A, B, C, D, F, G, H, I) -> J): J
inline suspend fun <E, A, B, C, D, F, G, H, I> Raise<E>.parZipOrAccumulate(context: CoroutineContext, crossinline combine: (E, E) -> E, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline ff: suspend ScopedRaiseAccumulate<E>.() -> F, crossinline fg: suspend ScopedRaiseAccumulate<E>.() -> G, crossinline fh: suspend ScopedRaiseAccumulate<E>.() -> H, crossinline transform: suspend CoroutineScope.(A, B, C, D, F, G, H) -> I): I
inline suspend fun <E, A, B, C, D, F, G, H, I, J> Raise<NonEmptyList<E>>.parZipOrAccumulate(context: CoroutineContext, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline ff: suspend ScopedRaiseAccumulate<E>.() -> F, crossinline fg: suspend ScopedRaiseAccumulate<E>.() -> G, crossinline fh: suspend ScopedRaiseAccumulate<E>.() -> H, crossinline fi: suspend ScopedRaiseAccumulate<E>.() -> I, crossinline transform: suspend CoroutineScope.(A, B, C, D, F, G, H, I) -> J): J
inline suspend fun <E, A, B, C, D, F, G, H, I, J, K> Raise<NonEmptyList<E>>.parZipOrAccumulate(crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline ff: suspend ScopedRaiseAccumulate<E>.() -> F, crossinline fg: suspend ScopedRaiseAccumulate<E>.() -> G, crossinline fh: suspend ScopedRaiseAccumulate<E>.() -> H, crossinline fi: suspend ScopedRaiseAccumulate<E>.() -> I, crossinline fj: suspend ScopedRaiseAccumulate<E>.() -> J, crossinline transform: suspend CoroutineScope.(A, B, C, D, F, G, H, I, J) -> K): K
inline suspend fun <E, A, B, C, D, F, G, H, I, J, K> Raise<E>.parZipOrAccumulate(crossinline combine: (E, E) -> E, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline ff: suspend ScopedRaiseAccumulate<E>.() -> F, crossinline fg: suspend ScopedRaiseAccumulate<E>.() -> G, crossinline fh: suspend ScopedRaiseAccumulate<E>.() -> H, crossinline fi: suspend ScopedRaiseAccumulate<E>.() -> I, crossinline fj: suspend ScopedRaiseAccumulate<E>.() -> J, crossinline transform: suspend CoroutineScope.(A, B, C, D, F, G, H, I, J) -> K): K
inline suspend fun <E, A, B, C, D, F, G, H, I, J> Raise<E>.parZipOrAccumulate(context: CoroutineContext, crossinline combine: (E, E) -> E, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline ff: suspend ScopedRaiseAccumulate<E>.() -> F, crossinline fg: suspend ScopedRaiseAccumulate<E>.() -> G, crossinline fh: suspend ScopedRaiseAccumulate<E>.() -> H, crossinline fi: suspend ScopedRaiseAccumulate<E>.() -> I, crossinline transform: suspend CoroutineScope.(A, B, C, D, F, G, H, I) -> J): J
inline suspend fun <E, A, B, C, D, F, G, H, I, J, K> Raise<NonEmptyList<E>>.parZipOrAccumulate(context: CoroutineContext, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline ff: suspend ScopedRaiseAccumulate<E>.() -> F, crossinline fg: suspend ScopedRaiseAccumulate<E>.() -> G, crossinline fh: suspend ScopedRaiseAccumulate<E>.() -> H, crossinline fi: suspend ScopedRaiseAccumulate<E>.() -> I, crossinline fj: suspend ScopedRaiseAccumulate<E>.() -> J, crossinline transform: suspend CoroutineScope.(A, B, C, D, F, G, H, I, J) -> K): K
inline suspend fun <E, A, B, C, D, F, G, H, I, J, K> Raise<E>.parZipOrAccumulate(context: CoroutineContext, crossinline combine: (E, E) -> E, crossinline fa: suspend ScopedRaiseAccumulate<E>.() -> A, crossinline fb: suspend ScopedRaiseAccumulate<E>.() -> B, crossinline fc: suspend ScopedRaiseAccumulate<E>.() -> C, crossinline fd: suspend ScopedRaiseAccumulate<E>.() -> D, crossinline ff: suspend ScopedRaiseAccumulate<E>.() -> F, crossinline fg: suspend ScopedRaiseAccumulate<E>.() -> G, crossinline fh: suspend ScopedRaiseAccumulate<E>.() -> H, crossinline fi: suspend ScopedRaiseAccumulate<E>.() -> I, crossinline fj: suspend ScopedRaiseAccumulate<E>.() -> J, crossinline transform: suspend CoroutineScope.(A, B, C, D, F, G, H, I, J) -> K): K
Link copied to clipboard
open fun raise(r: Error): Nothing
Link copied to clipboard
inline fun <A> withNel(block: Raise<NonEmptyList<Error>>.() -> A): A