UNPKG

surrogate

Version:

Object method hooks made easy

27 lines (26 loc) 1.62 kB
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>; }