http-status-codes.ts30 lines · main
1import { status } from 'http-status'
2
3export function getHttpStatusCodeInfo(codeNumber: number): {
4 code: number
5 name: string
6 message: string
7 label: string
8} {
9 type StatusCodeKey = keyof typeof status
10
11 if (!(codeNumber in status)) {
12 return {
13 code: codeNumber,
14 name: 'UNKNOWN',
15 message: 'Unknown status code',
16 label: 'Unknown',
17 }
18 }
19
20 const statusCodeLabel = status[codeNumber as StatusCodeKey]
21 const statusCodeMessage = status[`${codeNumber}_MESSAGE` as StatusCodeKey]
22 const statusCodeName = status[`${codeNumber}_NAME` as StatusCodeKey]
23
24 return {
25 code: codeNumber,
26 name: statusCodeName as string,
27 label: statusCodeLabel as string,
28 message: statusCodeMessage as string,
29 }
30}