gridjs
Version:
Advanced table plugin
29 lines (28 loc) • 1.14 kB
TypeScript
import { PipelineProcessor, ProcessorType } from './processor';
import { EventEmitter } from '../util/eventEmitter';
interface PipelineEvents<T> {
updated: (processor: PipelineProcessor<any, any>) => void;
afterRegister: () => void;
propsUpdated: () => void;
afterProcess: (prev: T) => void;
error: (prev: T) => void;
}
declare class Pipeline<T, P = unknown> extends EventEmitter<PipelineEvents<T>> {
private readonly _steps;
private cache;
private lastProcessorIndexUpdated;
constructor(steps?: PipelineProcessor<any, any>[]);
clearCache(): void;
register(processor: PipelineProcessor<any, any>, priority?: number): void;
unregister(processor: PipelineProcessor<any, any>): void;
private addProcessorByPriority;
get steps(): PipelineProcessor<T, P>[];
getStepsByType(type: ProcessorType): PipelineProcessor<T, P>[];
private getSortedProcessorTypes;
process(data?: T): Promise<T>;
private findProcessorIndexByID;
private setLastProcessorIndex;
private processorPropsUpdated;
private afterRegistered;
}
export default Pipeline;