UNPKG

@opengg/status-es

Version:

A lightweight, tree-shakable utility for HTTP status codes and reason phrases in TypeScript/JavaScript. Auto-generated and ESM-compatible.

80 lines (50 loc) 2.18 kB
# @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](https://github.com/prettymuchbryce/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 ```bash npm install @opengg/status-es ``` ## Usage ```ts 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: ```bash pnpm install ``` ### Get started Build the library: ```bash # build from status.json to src/ pnpm run build:sources # build lib pnpm build ``` Build the library in watch mode: ```bash pnpm dev ``` Format code: ```bash pnpm run format ``` ## Inspiration This project draws inspiration from the [http-status-codes](https://github.com/prettymuchbryce/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.