@skyslit/ark-express
Version:
A Framework for building modular business application using NodeJS Express
37 lines • 1.32 kB
TypeScript
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