UNPKG

han-prev-core

Version:

Core framework for Han - A powerful Node.js framework inspired by NestJS

70 lines (69 loc) 2.69 kB
import "reflect-metadata"; import { Express } from "express"; import type { CorsOptions } from "cors"; import type { HelmetOptions } from "helmet"; export interface HanApplicationOptions { cors?: boolean | CorsOptions; helmet?: boolean | HelmetOptions; bodyParser?: boolean; globalPrefix?: string; microservice?: boolean; logger?: boolean | any; shutdownHooks?: { enabled?: boolean; signals?: Array<keyof HanApplicationShutdownSignal>; gracefulTimeout?: number; }; } export interface HanApplicationShutdownSignal { SIGINT: string; SIGTERM: string; SIGKILL: string; } export interface HanApplication { app: Express; listen(port: number | string, callback?: () => void): Promise<any>; listen(port: number | string, hostname: string, callback?: () => void): Promise<any>; enableCors(): HanApplication; useGlobalPrefix(prefix: string): HanApplication; getUrl(): Promise<string>; close(): Promise<void>; getRoutes(): any[]; get<T>(token: string | (new (...args: any[]) => T)): T; getHttpServer(): any; getHttpAdapter(): any; startAllMicroservices(): Promise<HanApplication>; useGlobalFilters(...filters: any[]): HanApplication; useGlobalPipes(...pipes: any[]): HanApplication; useGlobalInterceptors(...interceptors: any[]): HanApplication; useGlobalGuards(...guards: any[]): HanApplication; use(...args: any[]): HanApplication; init(): Promise<void>; onApplicationShutdown(callback: () => Promise<void> | void): void; } export declare class HanFactory { private moduleClass; private options; private app; private controllers; private server; private isShuttingDown; private shutdownCallbacks; constructor(moduleClass: any, options?: HanApplicationOptions); static create(moduleClass: any, options?: HanApplicationOptions): Promise<HanApplication>; static createMicroservice(moduleClass: any, options?: HanApplicationOptions): Promise<HanApplication>; bootstrap(): Promise<HanApplication>; private setupCriticalMiddleware; private setupOptionalMiddleware; private bootstrapModule; private configureModuleMiddleware; private createModuleInstance; private setupRoutes; private setupGlobalPrefix; private setupErrorHandling; private setupShutdownHooks; private extractControllersFromModule; private createApplicationInstance; } export declare function createHanApp(moduleClass: any, options?: HanApplicationOptions): Promise<HanApplication>; export declare function createHanMicroservice(moduleClass: any, options?: HanApplicationOptions): Promise<HanApplication>;