surrogate
Version:
Object method hooks made easy
27 lines (26 loc) • 1.62 kB
TypeScript
import { SurrogateHandlerContainer } from '../containers';
import { Which } from '../which';
import type { EventMap, WhichContainers, SurrogateOptions, SurrogateHandlers, SurrogateEventManager, SurrogateHandlerOptions } from '../interfaces';
export declare class EventManager<T extends object = any> implements SurrogateEventManager<T> {
globalOptions: SurrogateOptions;
private readonly events;
constructor(globalOptions?: SurrogateOptions);
getEventMap(): EventMap<T>;
getEventHandlers(event: string): WhichContainers<T>;
getPreEventHandlers(event: string): SurrogateHandlerContainer<T>[];
getPostEventHandlers(event: string): SurrogateHandlerContainer<T>[];
eventIsHandled(event: string): boolean;
registerHook(event: string, type: Which, handler: SurrogateHandlers<T>, options: SurrogateHandlerOptions<T>): EventManager<T>;
registerPreHook(event: string, handler: SurrogateHandlers<T>, options?: SurrogateHandlerOptions<T>): EventManager<T>;
registerPostHook(event: string, handler: SurrogateHandlers<T>, options?: SurrogateHandlerOptions<T>): EventManager<T>;
private setEventHandlers;
private getEventHandlersFor;
private setEventHandlersFor;
deregisterHooks(): EventManager<T>;
deregisterHooksFor(event: string): EventManager<T>;
deregisterPreHook(event: string, handler: SurrogateHandlers<T>): EventManager<T>;
deregisterPostHook(event: string, handler: SurrogateHandlers<T>): EventManager<T>;
private deregisterHookType;
deregisterPostHooks(event: string): EventManager<T>;
deregisterPreHooks(event: string): EventManager<T>;
}