@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
Markdown
# @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.