neura-express-app
Version:
Basic express application starter with some common utilities.
26 lines (25 loc) • 1.07 kB
TypeScript
/// <reference types="node" />
import http from "http";
import express, { RequestHandler } from "express";
import { HttpTerminator } from "http-terminator";
import { INeuraAppConfig } from "./config/app.config";
import { INeuraLogger } from "./utils/logger.util";
import { INeuraContainer } from "./utils/container.util";
import { NeuraController } from "./controllers/neura.controller";
export declare class NeuraApp {
protected readonly config: INeuraAppConfig;
protected readonly container: INeuraContainer;
protected app: express.Application;
protected httpServer: http.Server;
protected httpTerminator: HttpTerminator;
protected started: boolean;
protected logger: INeuraLogger;
private middlewaresInitialized;
constructor(config: INeuraAppConfig, container: INeuraContainer);
get HttpServer(): http.Server;
get ExpressApp(): express.Application;
addController<T extends NeuraController>(instance: T): void;
addMiddleware(handler: RequestHandler): void;
listen(): Promise<void>;
close(): Promise<void>;
}