Package: effect
Module: Effect
Performs this effect n times and collects results with Effect.all semantics.
When to use
Use when you want to run the repeated effects immediately, with optional concurrency control or result discarding.
Details
Use concurrency to control parallelism and discard: true to ignore results.
Example (Replicating an effect)
import { Console, Effect } from "effect"
const program = Effect.gen(function*() {
const results = yield* Effect.replicateEffect(3)(Effect.succeed(1))
yield* Console.log(results)
})
Signature
declare const replicateEffect: { (n: number, options?: { readonly concurrency?: Concurrency | undefined; readonly discard?: false | undefined; }): <A, E, R>(self: Effect<A, E, R>) => Effect<Array<A>, E, R>; (n: number, options: { readonly concurrency?: Concurrency | undefined; readonly discard: true; }): <A, E, R>(self: Effect<A, E, R>) => Effect<void, E, R>; <A, E, R>(self: Effect<A, E, R>, n: number, options?: { readonly concurrency?: Concurrency | undefined; readonly discard?: false | undefined; }): Effect<Array<A>, E, R>; <A, E, R>(self: Effect<A, E, R>, n: number, options: { readonly concurrency?: Concurrency | undefined; readonly discard: true; }): Effect<void, E, R>; }
Since v2.0.0