import ResponseFactory from './ResponseFactory.ts' import ViewEngine from '../../unit/ViewEngine.ts' import {Request} from '../Request.ts' export default class ViewResponseFactory extends ResponseFactory { constructor( public readonly view: string, public readonly context?: any, public readonly layout?: string, ) { super() } public async write(request: Request) { const views: ViewEngine = this.make(ViewEngine) request.response.body = await views.render(this.view, this.context, this.layout) return request } }