@rs-box/ez-flow
Version:
Library for a workflow engine
32 lines (31 loc) • 1.14 kB
TypeScript
import { Predicate } from '../work/predicate';
import { Work } from '../work/work';
import { WorkContext } from '../work/work-context';
import { WorkReport } from '../work/work-report';
import { AbstractWorkFlow } from './abstract-work-flow';
export declare class RepeatFlow extends AbstractWorkFlow {
private work;
private times;
private predicate?;
constructor(name: string, work: Work, times: number, predicate?: Predicate | undefined);
call(workContext: WorkContext): Promise<WorkReport>;
private doFor;
private doLoop;
static Builder: {
new (): {
name: string;
work: Work | undefined;
times: number;
predicate: Predicate | undefined;
withName(name: string): RepeatFlow.Builder;
withWork(work: Work): RepeatFlow.Builder;
withTimes(times: number): RepeatFlow.Builder;
until(predicate: Predicate): RepeatFlow.Builder;
build(): RepeatFlow;
};
newFlow(): RepeatFlow.Builder;
};
}
export declare namespace RepeatFlow {
type Builder = typeof RepeatFlow.Builder.prototype;
}