@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
TypeScript
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);
}