classy-pay-core
Version:
Shared tools used in ClassyPay-related projects
14 lines (13 loc) • 925 B
TypeScript
import { Readable, Writable, Duplex } from 'stream';
import Config from '../Config';
export type ValidateArgsFunction = (args: Array<string>, dryRun: boolean) => string | undefined;
export type ScriptFunction = (config: Config, args: Array<string>) => Promise<void>;
export declare const runScript: (f: ScriptFunction, argDescription?: string, argValidator?: ValidateArgsFunction) => void;
export interface Pipeline {
source?: Readable;
transforms?: Array<Duplex>;
sink?: Writable;
}
export type PipeLifecycleFunction = (config: Config, args: Array<string>, context: object, pipeline: Pipeline) => Promise<void>;
export type PipelineFactory = (config: Config, args: Array<string>, context: object) => Promise<Pipeline>;
export declare const runPipes: (setup: PipeLifecycleFunction, factory: PipelineFactory, teardown?: PipeLifecycleFunction, argDescription?: string, argValidator?: ValidateArgsFunction) => void;