parallel-es
Version:
Simple parallelization for EcmaScript
31 lines (30 loc) • 1.75 kB
TypeScript
import { IParallelChainState, IScheduledParallelChainState, IParallelChainEnvironment } from "./parallel-chain-state";
import { IParallelOperation, IDefaultInitializedParallelOptions } from "../";
import { IParallelStream } from "../stream/parallel-stream";
import { ParallelEnvironmentDefinition } from "../parallel-environment-definition";
/**
* The state of a parallel chain if additional operations should be performed on an already scheduled parallel chain.
*
* The state needs to wait for the previous parallel job to complete and then take that result to continue the additional
* computations.
*
* @param TPrevious Type of the array elements of the dependent stream
* @param TElement Type of the array elements of the resulting array
*/
export declare class DependentParallelChainState<TPrevious, TElement> implements IParallelChainState<TElement> {
private previousStream;
private options;
private environment;
private operations;
/**
* Creates a new dependent stream
* @param previousStream the stream upon which the new stream depends on
* @param options the options used by this parallel job
* @param environment the environment used by the job
* @param operations the operations to performed when the previous stream has completed
*/
constructor(previousStream: IParallelStream<TPrevious[], TPrevious[]>, options: IDefaultInitializedParallelOptions, environment: ParallelEnvironmentDefinition, operations?: IParallelOperation[]);
resolve(): IScheduledParallelChainState<TElement>;
chainOperation<TElementNew>(operation: IParallelOperation): IParallelChainState<TElementNew>;
addEnvironment(environment: IParallelChainEnvironment): IParallelChainState<TElement>;
}