UNPKG

@hapiness/core

Version:

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

63 lines (62 loc) 1.64 kB
import { CoreModule } from '../../core/interfaces'; import { CoreRoute } from './interfaces'; import { Observable } from 'rxjs'; import { InjectionToken } from '../../core/decorators'; import { Request } from 'hapi'; export declare class HttpRequestInfo { query: { [key: string]: any; }; params: { [key: string]: string; }; headers: { [key: string]: string; }; payload: any; credentials: { [key: string]: any; }; id: string; } export declare const requestKey: InjectionToken<{}>; export declare class RouteBuilder { /** * Helper to extract metadata * @property {string} decoratorName */ private static decoratorName; /** * Entrypoint to build a CoreRoute * Get the metadata and build the * route instance * * @param {CoreModule} module * @returns CoreRoute */ static buildRoutes(module: CoreModule): Observable<CoreRoute>; /** * Instantiate a new Route * with its own DI/request * * @param {CoreRoute} route * @param {Request} request * @returns Observable */ static instantiateRouteAndDI<T>(route: CoreRoute, request: Request): Observable<T>; /** * Transform metadata to instance CoreRoute * * @param {Route} data * @returns CoreRoute */ private static coreRouteFromMetadata(data, token, module); /** * Extract metadata filtered by route * from the declarations provided * * @param {Type<any>} declarations * @returns Route */ private static metadataFromDeclarations(declarations); }