Skip to content

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;