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