import { Polka, Middleware } from '../types'; import { default as bodyParser } from './builtin/body-parser'; import { default as morgan, MorganFormat, Options as MorganOptions } from './builtin/morgan'; export class MiddlewareLoader { constructor(private app: Polka) {} public useBodyParser(): this { this.app.use(bodyParser()); return this; } public useMorgan(format: MorganFormat = 'combined', options?: MorganOptions): this { this.app.use(morgan(format, options)); return this; } public use(base: string | Middleware, ...mw: Middleware[]): this { this.app.use(base, ...mw); return this; } }