@krauters/structures
v1.1.0
Published
Common TypeScript types, enums, and interfaces to standardize structures across projects.
Downloads
568
Maintainers
Readme
@krauters/structures
@krauters/structures
is a TypeScript library providing robust and well-defined enums, interfaces, and types for common structures in modern applications. It’s built to simplify shared data modeling, enhance type safety, and support consistent code standards across projects.
Usage
This library is particularly useful for projects needing a shared set of structures, enums, and data models. For instance:
import { HttpStatus, LanguageCode, Env } from '@krauters/structures'
// Example usage
const currentEnv: Env = Env.Production
if (currentEnv === Env.Development) {
console.log('Running in development mode')
}
function handleResponse(status: HttpStatus) {
if (status === HttpStatus.Ok) {
console.log('Request succeeded!')
} else if (status === HttpStatus.NotFound) {
console.error('Resource not found')
}
}
Installation
Add @krauters/structures
to your project:
npm install @krauters/structures@latest
Overview
@krauters/structures
provides various enums and types for structuring application data. The core elements include:
- Environment (Env): Enums for standard environment types like
Development
,Production
, andPipeline
. - HTTP Status Codes (HttpStatus): Enums for common HTTP statuses (e.g.,
Ok
,NotFound
,InternalServerError
). - Language Codes (LanguageCode): ISO language codes for major languages, making localization simple.
- File Metadata (FileExtension, FileEncoding): Standard file extensions and encoding types for easier file handling.
- Response Types (ResponseType): Defines response formats such as
json
,blob
, andtext
.
These structures help keep code clean and predictable, while TypeScript’s type-checking reduces errors.
Contributing
We’re always looking to improve this library. Contributions are welcome, whether it’s adding new structures, improving existing ones, or updating documentation. Please open an issue or pull request if you’d like to contribute!
License
Licensed under the ISC License. For more information, see the LICENSE file.
🥂 Thanks, Contributors!
Special thanks to all who’ve helped improve this project.