Skip to content
Effect Days 2026 Get your ticket

ExecutionStrategy

11 exports Added in v2.0.0 Source

Constructors

parallel

Added in v2.0.0 Source

Execute effects in parallel.

Signature

declare const parallel: ExecutionStrategy

parallelN

Added in v2.0.0 Source

Execute effects in parallel, up to the specified number of concurrent fibers.

Signature

declare const parallelN: (parallelism: number) => ExecutionStrategy

sequential

Added in v2.0.0 Source

Execute effects sequentially.

Signature

declare const sequential: ExecutionStrategy

Folding

match

Added in v2.0.0 Source

Folds over the specified ExecutionStrategy using the provided case functions.

Signature

declare const match: {
<A>(options: {
readonly onParallel: LazyArg<A>;
readonly onParallelN: (n: number) => A;
readonly onSequential: LazyArg<A>;
}): (self: ExecutionStrategy) => A;
<A>(self: ExecutionStrategy, options: {
readonly onParallel: LazyArg<A>;
readonly onParallelN: (n: number) => A;
readonly onSequential: LazyArg<A>;
}): A;
}

Models

ExecutionStrategy type

Added in v2.0.0 Source

Describes a strategy for evaluating multiple effects, potentially in parallel.

There are 3 possible execution strategies: Sequential, Parallel, ParallelN.

Signature

type ExecutionStrategy = Sequential | Parallel | ParallelN

Parallel interface

Added in v2.0.0 Source

Execute effects in parallel.

Signature

interface Parallel {
readonly _tag: "Parallel";
}

ParallelN interface

Added in v2.0.0 Source

Execute effects in parallel, up to the specified number of concurrent fibers.

Signature

interface ParallelN {
readonly _tag: "ParallelN";
readonly parallelism: number;
}

Sequential interface

Added in v2.0.0 Source

Execute effects sequentially.

Signature

interface Sequential {
readonly _tag: "Sequential";
}

Refinements

isParallel

Added in v2.0.0 Source

Returns true if the specified ExecutionStrategy is an instance of Sequential, false otherwise.

Signature

declare const isParallel: (self: ExecutionStrategy) => self is Parallel

isParallelN

Added in v2.0.0 Source

Returns true if the specified ExecutionStrategy is an instance of Sequential, false otherwise.

Signature

declare const isParallelN: (self: ExecutionStrategy) => self is ParallelN

isSequential

Added in v2.0.0 Source

Returns true if the specified ExecutionStrategy is an instance of Sequential, false otherwise.

Signature

declare const isSequential: (self: ExecutionStrategy) => self is Sequential