UNPKG

lemon-core

Version:
47 lines (46 loc) 1.35 kB
import { LemonEngine } from '../engine/types'; import { LambdaWEBHandler } from '../cores/lambda/lambda-web-handler'; /** * type: `ExpressFactory` * - factory to create express server. */ export interface ExpressFactory { ($engine: LemonEngine, $web: LambdaWEBHandler, options?: { argv?: string[]; prefix?: string; genRequestId?: () => string; }): ExpressFactoryResult; } /** * type: `ExpressFactoryResult` * - result of factory. */ export interface ExpressFactoryResult { /** function of `express()` from `npm/express` */ express: () => any; /** instance of `express()` */ app: any; /** create server listener */ createServer: (...args: any[]) => any; } /** * type: `BuildExpressOptions` * - options for `buildExpress()` */ export interface BuildExpressOptions { /** run arguments */ argv?: string[]; /** prefix as ROUTE_PREFIX */ prefix?: string; /** request-id generator */ genRequestId?: () => string; /** (optional) loader of module */ loadModule?: <T = any>(mod: string) => T; } /** * create Server Instance. * * @param $engine - LemonEngine by `buildEngine()` * @param $web - LambdaWEBHandler in `$cores` */ export declare const buildExpress: ($engine: LemonEngine, $web: LambdaWEBHandler, options?: BuildExpressOptions) => ExpressFactoryResult;