UNPKG

@elium/mighty

Version:

Context agnostic TS & JS ORM

25 lines (24 loc) 866 B
import { Observable } from 'rxjs/Observable'; import 'rxjs/add/observable/of'; import 'rxjs/add/operator/mergeMap'; export interface IHook { name: string; map: <I, O>(input: I) => Observable<I | O>; } export declare class Hook implements IHook { name: string; map: <I, O>(input: I) => Observable<O>; constructor(name: string, action: <I, O>(input: I) => Observable<I | O>); } export interface IHookable { addHook(hook: IHook): any; removeHook(hook: IHook): any; applyHook<I, O>(name: string, input: I): Observable<I | O>; } export declare function hookable(constructor: Function): void; export declare class Hookable implements IHookable { hooks: Array<IHook>; addHook: (hook: IHook) => void; removeHook: (hook: IHook) => void; applyHook: <I, O>(name: string, input: I) => Observable<I | O>; }