UNPKG

@skyslit/ark-express

Version:

A Framework for building modular business application using NodeJS Express

37 lines 1.32 kB
import { Router, RequestHandler } from 'express'; import { PathParams } from 'express-serve-static-core'; import { Schema, Connection, Model, Document } from 'mongoose'; import { ModuleOptions } from './types'; import { ArkExpressPackage } from './package'; import { Utils } from './utils'; declare type ModelMap<DBT> = { name: string; schema: Schema; instance?: Model<any>; dbName?: DBT; }; declare type MiddlewareMatcher = { path?: PathParams; handler: RequestHandler | RequestHandler[]; }; export declare class ArkExpressModule<DBT = any> { id: string; options: ModuleOptions; router: Router; package: ArkExpressPackage; modelMapping: ModelMap<DBT>[]; utils: Utils; private middlewares; constructor(); registerModel(name: string, schema: Schema, dbName?: DBT): ArkExpressModule<DBT>; getModel<T extends Document = Document>(name: string): Model<T>; getDatabase(name?: string): Connection; getRouter(): RequestHandler; __normalizeModelName(modelName: string): string; __getMiddlewares(): MiddlewareMatcher[]; use(middleware: RequestHandler): ArkExpressModule<DBT>; useWithPath(path: PathParams, middleware: RequestHandler | RequestHandler[]): ArkExpressModule<DBT>; main(): void; } export {}; //# sourceMappingURL=module.d.ts.map