http-status-codes.ts 743 B

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