Skip to content

A collection of shared TypeScript structures — including enums, interfaces, and types — to ensure consistency across projects.

License

Notifications You must be signed in to change notification settings

krauters/structures

Repository files navigation

LinkedIn License Visitors

Version npm version GitHub Stars Forks

GitHub Issues Open PRs Commits per Month Contributors Last Commit

Install Size Code Size Repo Size

@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, and Pipeline.
  • 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, and text.

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.



About

A collection of shared TypeScript structures — including enums, interfaces, and types — to ensure consistency across projects.

Resources

License

Stars

Watchers

Forks

Packages

No packages published