HTTP Status Code Enum
status-code-enum is a TypeScript enum that provides a comprehensive collection of standard HTTP status codes. It is currently at version 1.0.0, indicating a stable API suitable for production use. The package utilizes `semantic-release`, suggesting a consistent, automated release cadence driven by commit messages; new versions are published as features or fixes are introduced rather than on a fixed calendar schedule. Its primary differentiation is its direct provision of these codes as a robust TypeScript enum, offering strong type safety and auto-completion benefits within TypeScript projects. This makes it a reliable and convenient alternative to using magic numbers or manually defining constants for HTTP responses. This approach significantly enhances code readability and maintainability by eliminating the need for developers to remember specific numeric codes or to repeatedly define them across various projects. The enum covers informational, success, redirection, client error, and server error codes as defined by HTTP standards.
Common errors
-
ReferenceError: StatusCode is not defined
cause The `StatusCode` enum was not correctly imported before use in an ESM or CommonJS module.fixEnsure you are using `import { StatusCode } from 'status-code-enum';` for ESM/TypeScript or `const { StatusCode } = require('status-code-enum');` for CommonJS. -
Property 'ClientErrorBadRequestt' does not exist on type 'typeof StatusCode'. Did you mean 'ClientErrorBadRequest'?
cause Attempted to access a non-existent or misspelled member of the `StatusCode` enum. TypeScript's strict type checking prevents this.fixCorrect the spelling of the enum member. Use IDE auto-completion to ensure the correct member name is used (e.g., `StatusCode.ClientErrorBadRequest`).
Warnings
- gotcha This library strictly provides standard HTTP status codes. It does not include non-standard, experimental, or deprecated codes unless they are officially adopted. Developers should consult HTTP specifications if looking for highly specialized or provisional codes.
- gotcha Attempting to modify the `StatusCode` enum at runtime will not work as TypeScript enums are typically compiled to objects with read-only properties, or are tree-shaken as type-only constructs if used only for type information.
Install
-
npm install status-code-enum -
yarn add status-code-enum -
pnpm add status-code-enum
Imports
- StatusCode
import StatusCode from 'status-code-enum'
import { StatusCode } from 'status-code-enum' - StatusCode
const StatusCode = require('status-code-enum')const { StatusCode } = require('status-code-enum') - StatusCode.ClientErrorBadRequest
import { ClientErrorBadRequest } from 'status-code-enum'import { StatusCode } from 'status-code-enum'; /* ... */ res.statusCode = StatusCode.ClientErrorBadRequest;
Quickstart
import { StatusCode } from 'status-code-enum';
// Example in a hypothetical HTTP response context (e.g., Node.js http module or framework)
interface HttpResponse {
statusCode: number;
send: (message: string) => void;
}
const mockResponse: HttpResponse = {
statusCode: 200, // Default or initial status
send: (message: string) => console.log(`Sending response: ${message} (Status: ${mockResponse.statusCode})`)
};
// Setting a 400 Bad Request status
mockResponse.statusCode = StatusCode.ClientErrorBadRequest;
mockResponse.send("Your request was malformed.");
// Setting a 200 OK status
mockResponse.statusCode = StatusCode.SuccessOK;
mockResponse.send("Request processed successfully.");
// Setting a 404 Not Found status
mockResponse.statusCode = StatusCode.ClientErrorNotFound;
mockResponse.send("The requested resource could not be found.");
// Accessing the enum member directly
const unauthorizedCode: number = StatusCode.ClientErrorUnauthorized;
console.log(`Unauthorized status code is: ${unauthorizedCode}`);