ScopedRaiseAccumulate

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
open fun <A> Either<Error, A>.bind(): A
open suspend fun <A> EagerEffect<Error, A>.bind(): A
open suspend fun <A> Effect<Error, A>.bind(): A
open fun <A> EagerEffect<Error, A>.bind(): A
open suspend fun <A> suspend Raise<Error>.() -> A.bind(): A
Link copied to clipboard
open override fun <A> NonEmptyList<Either<Error, A>>.bindAll(): NonEmptyList<A>
open override fun <A> NonEmptySet<Either<Error, A>>.bindAll(): NonEmptySet<A>
open override fun <A> Iterable<Either<Error, A>>.bindAll(): List<A>
open override 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
open operator fun <A> EagerEffect<Error, A>.invoke(): A
open suspend operator fun <A> suspend Raise<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 <A, B> mapOrAccumulate(list: NonEmptyList<A>, transform: RaiseAccumulate<Error>.(A) -> B): NonEmptyList<B>
inline fun <A, B> mapOrAccumulate(set: NonEmptySet<A>, transform: RaiseAccumulate<Error>.(A) -> B): NonEmptySet<B>
inline fun <A, B> mapOrAccumulate(iterable: Iterable<A>, transform: RaiseAccumulate<Error>.(A) -> B): List<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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: 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 f: suspend CoroutineScope.(A, B, C, D, F, G, H, I, J) -> K): K
Link copied to clipboard
open override fun raise(r: Error): Nothing
Link copied to clipboard
inline fun <A> withNel(block: Raise<NonEmptyList<Error>>.() -> A): A