UNPKG

@botol/dipo

Version:

## Simple Composite controller

21 lines (20 loc) 743 B
import { Context } from './context'; import { DipoEvent } from './event'; import { Handler, HandlerReturn } from './handler'; export declare class Dipo<E extends { [key: string]: Context; }, D extends Context> { private events; private handlers; constructor(events: { [P in keyof E]: DipoEvent<E[P], D>; }); addEvent<T extends keyof E>(event: T, handler: DipoEvent<E[T], D>): void; middleware<T extends Context = Context>(handler: Handler<Partial<T> & D>): Dipo<{ [P in keyof E]: T & E[P]; }, T & D>; on<T extends keyof E>(event: T, handler: Handler<E[T]>): Dipo<E, D>; use(handler: Handler<D>): Dipo<E, D>; handle(context: D): HandlerReturn; private next; }