@skyslit/ark-express
Version:
A Framework for building modular business application using NodeJS Express
43 lines • 1.7 kB
TypeScript
/// <reference types="node" />
import { Connection, Mongoose } from 'mongoose';
import http from 'http';
import https from 'https';
import { ModuleOptions, Database } from './types';
import { ArkExpressModule } from './module';
export declare type ExpressModuleMap = {
[key: string]: ArkExpressModule;
};
export declare class ArkExpressPackage<T extends ExpressModuleMap = any> {
static instance: any;
static getInstance<T extends ExpressModuleMap>(): ArkExpressPackage<T>;
private app;
private utils;
private mongoose;
modules: T;
databases: Database[];
httpServer: http.Server;
httpsServer: https.Server;
httpsOptions: https.ServerOptions;
httpOption: http.ServerOptions;
httpPort: number;
httpsPort: number;
enableExpressSession: boolean;
constructor();
private _normalizeModuleOptions;
useModule(id: string, module: ArkExpressModule, options?: ModuleOptions): ArkExpressPackage<T>;
useDatabase(dbConfig: Database): ArkExpressPackage<T>;
useMongoose(mongoose: Mongoose): ArkExpressPackage<T>;
getDatabase(name?: string): Connection;
resolveDatabaseModuleMap(moduleId: string, databaseName: string): string;
configure(opts: http.ServerOptions): ArkExpressPackage<T>;
configureHttps(opts: https.ServerOptions): ArkExpressPackage<T>;
useMongoSession(value: boolean): ArkExpressPackage<T>;
usePort(port?: number, securePort?: number): void;
private _initializeModules;
private _connectDatabases;
private _connectUtilityMiddlewares;
private _connectModuleMiddlewares;
private _connectModuleRoutes;
start(cb?: (err: Error) => void): void;
}
//# sourceMappingURL=package.d.ts.map