feat: added response wrapper util

This commit is contained in:
원더 2021-01-04 22:11:13 +09:00
parent be9fc5a918
commit dcc7a90515
2 changed files with 24 additions and 0 deletions

21
utils/ResponseWrapper.ts Normal file
View File

@ -0,0 +1,21 @@
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
}

3
utils/index.ts Normal file
View File

@ -0,0 +1,3 @@
import ResponseWrapper from './ResponseWrapper'
export { ResponseWrapper }