import http from 'http' import { NextApiResponse } from 'next' export default function ResponseWrapper( res: NextApiResponse, { code, message, version = 2, data, errors }: ResponseProps ) { if (!code) throw new Error('`code` is required.') if (!http.STATUS_CODES[code]) throw new Error('Invalid http code.') res.statusCode = code return { code, message: message || http.STATUS_CODES[code], data, errors, version } } interface ResponseProps { code: number message?: string version?: number data?: Data errors?: string[] } interface Data { [key: string]: unknown }