UNPKG

@hapiness/core

Version:

Project to have a HapiJS (https://hapijs.com/) based framework to create easier NodeJS back-end with some awesome features

48 lines (47 loc) 1.12 kB
import { Type } from '../decorators'; import { Observable } from 'rxjs'; import { CoreModule } from './module'; import { ExtensionShutdownPriority } from '../enums'; export interface ExtensionWithConfig { token: Type<any>; config: any; } export interface Extension { value: any; instance: any; token: Type<any>; } export interface ExtensionShutdown { priority: ExtensionShutdownPriority; resolver: Observable<any>; } /** * OnExtensionLoad Hook * * @param {CoreModule} module * @param {any} config * @returns Observable */ export interface OnExtensionLoad { onExtensionLoad(module: CoreModule, config: any): Observable<Extension>; } /** * OnModuleInstantiated Hook * * @param {CoreModule} module * @param {any} server * @returns Observable */ export interface OnModuleInstantiated { onModuleInstantiated(module: CoreModule, server: any): Observable<void>; } /** * OnShutdown Hook * * @param {CoreModule} module * @param {any} server * @returns Observable */ export interface OnShutdown { onShutdown(module: CoreModule, server: any): ExtensionShutdown; }