@opengg/status-es
v1.0.1
Published
A lightweight, tree-shakable utility for HTTP status codes and reason phrases in TypeScript/JavaScript. Auto-generated and ESM-compatible.
Maintainers
Readme
@opengg/status-es
A lightweight, efficient, and tree-shakable utility for working with HTTP status codes in TypeScript/JavaScript projects. Inspired by the popular http-status-codes package, this utility offers optimized features for modern development practices.
Features
- Complete HTTP Status Code Coverage: Includes all standard HTTP status codes and their corresponding reason phrases.
- Auto-generated Code: All code is automatically generated from a single source of truth, ensuring consistency and ease of maintenance.
- ESM Support: Fully supports ECMAScript modules (ESM) for modern JavaScript environments.
- Highly Tree-Shakable: Uses plain objects instead of enums, allowing for superior tree-shaking capabilities.
- TypeScript Ready: Written in TypeScript, providing excellent type support out of the box.
Installation
npm install @opengg/status-esUsage
import { HttpStatusCodes, ReasonPhrases } from '@opengg/status-es';
console.log(HttpStatusCodes.OK); // 200
console.log(ReasonPhrases[HttpStatusCodes.OK]); // "OK"API
HttpStatusCodes: An object containing all HTTP status codes as constants.ReasonPhrases: An object mapping status codes to their corresponding reason phrases.
Development
This project uses an automated script to generate its core files. To regenerate the files after making changes to the source data:
Setup
Install the dependencies:
pnpm installGet started
Build the library:
# build from status.json to src/
pnpm run build:sources
# build lib
pnpm buildBuild the library in watch mode:
pnpm devFormat code:
pnpm run formatInspiration
This project draws inspiration from the http-status-codes package, aiming to provide a similar utility with enhanced features and modern JavaScript support.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
