ExecutionStrategy
Constructors
Signature
declare const parallel: ExecutionStrategy;Execute effects in parallel, up to the specified number of concurrent fibers.
Signature
declare const parallelN: (parallelism: number) => ExecutionStrategy;sequential
Execute effects sequentially.
Signature
declare const sequential: ExecutionStrategy;Folding
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
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;Execute effects in parallel.
Signature
interface Parallel {
readonly _tag: "Parallel";
}Execute effects in parallel, up to the specified number of concurrent fibers.
Signature
interface ParallelN {
readonly _tag: "ParallelN";
readonly parallelism: number;
}Sequential interface
Execute effects sequentially.
Signature
interface Sequential {
readonly _tag: "Sequential";
}Refinements
isParallel
Returns true if the specified ExecutionStrategy is an instance of Sequential, false otherwise.
Signature
declare const isParallel: (self: ExecutionStrategy) => self is Parallel;isParallelN
Returns true if the specified ExecutionStrategy is an instance of Sequential, false otherwise.
Signature
declare const isParallelN: (self: ExecutionStrategy) => self is ParallelN;isSequential
Returns true if the specified ExecutionStrategy is an instance of Sequential, false otherwise.
Signature
declare const isSequential: (self: ExecutionStrategy) => self is Sequential;
Execute effects in parallel.