surrogate
Version:
Object method hooks made easy
19 lines (18 loc) • 891 B
TypeScript
import { HandlerConstructor } from './rules';
import type { OptionsHandler } from '../options';
import { NextProvider } from '../provider';
import type { NextNode } from '../next';
export interface SurrogateHandlerRunner {
run(args: any[], error?: Error): void;
}
export declare abstract class HandlerRunner<T extends object> implements SurrogateHandlerRunner {
protected node: NextNode<T>;
protected argsHandlers: HandlerConstructor<T>[];
constructor(node: NextNode<T>);
static for<T extends object>(node: NextNode<T>, options: OptionsHandler<T>): SurrogateHandlerRunner;
run(args: any[], error?: Error): void;
protected findRule(): import("./rules").HandlerRule<T>;
protected abstract runWithoutNext(nextProvider: NextProvider<T>): void;
protected abstract runWithNext(nextProvider: NextProvider<T>): void;
protected shouldRunWithNext(): boolean;
}