import {ResponseFactory} from './ResponseFactory' import {Request} from '../lifecycle/Request' /** * Helper function to create a new JSONResponseFactory of the given value. * @param value */ export function json(value: unknown): JSONResponseFactory { return new JSONResponseFactory(value) } /** * Response factory that writes the given object as JSON to the response. */ export class JSONResponseFactory extends ResponseFactory { constructor( public readonly value: unknown, ) { super() } public async write(request: Request): Promise { request = await super.write(request) request.response.setHeader('Content-Type', 'application/json') request.response.body = JSON.stringify(this.value) return request } }