awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
piotrwitek avatar

piotrwitek/utility-types

0
View on GitHub↗
5,759 estrellas·235 forks·TypeScript·MIT·11 vistas

Utility Types

Esta es una librería de tipos de utilidad de TypeScript que proporciona alias de tipo avanzados y tipos mapeados para transformaciones complejas de objetos y uniones. Implementa herramientas especializadas para crear tipos nominales marcados, extraer metadatos de tipo y realizar operaciones de conjuntos en tipos de unión.

El proyecto destaca por un kit de herramientas para transformaciones de objetos recursivas, permitiendo la aplicación de restricciones de propiedad como estado de solo lectura u opcional a través de estructuras profundamente anidadas. También proporciona un sistema para calcular intersecciones, diferencias y complementos entre tipos de unión para simular la lógica de conjuntos matemática.

La librería cubre una amplia gama de capacidades del sistema de tipos, incluyendo filtrado de propiedades de objeto, comparación de formas y la extracción de constructores de clases y tipos de resolución de promesas. Adicionalmente incluye utilidades para la validación de valores, como la detección de valores falsy o nullish y la identificación de tipos primitivos.

Features

  • Recursive Mapped Types - Provides a toolkit for recursively applying property constraints across deeply nested object structures.
  • Recursive Property Transformations - Enables recursive modification of properties in deep object structures to change mutability or requirement status.
  • Object Type Transformations - Recursively applies property constraints like read-only or required status to nested object structures.
  • Recursive Object Type Transformers - Provides a toolkit for applying property constraints like read-only or optional status to deeply nested object structures.
  • Conditional Types - Provides type-level decision systems to select types based on evaluated conditions.
  • Static Type Metadata Extractors - Retrieves constructor, return, and promise resolution types from classes and functions.
  • Union Type Transformations - Provides utilities for manipulating, filtering, and aggregating properties across union types.
  • Union Member Filtering - Includes utilities for filtering and transforming individual members of union types.
  • Union Set Operations - Computes mathematical set-like operations such as differences and intersections between union types.
  • TypeScript Advanced Type Features - Implements advanced TypeScript features including generics, conditional types, and mapped types for strong type safety.
  • Mapped Type Transformations - Implements mapped type transformations for iterating over keys to reconstruct type structures.
  • Type Intersection and Merging - Provides capabilities for combining multiple type definitions into a single composite structure.
  • Branded Types - Implements branded types to distinguish between identical object structures using unique labels.
  • Type-Level - Changes properties or nested structures to be either read-only or mutable via utility types.
  • Asynchronous Type Extraction - Extracts the resolution type of a Promise at the type level.
  • Constructor Extraction - Retrieves the constructor type of a class by analyzing the type of its instances.
  • Object Key Extractors - Retrieves a union of object keys based on criteria like value type or mutability.
  • Object Property Transformers - Provides utilities for filtering specific properties from objects at the type level.
  • Shape Comparisons - Computes intersections and differences between two object types to identify shared or unique properties.
  • Template Literal Types - Uses template literal types to generate and transform property keys at the type level.
  • Union to Intersection Converters - Transforms a union type into an intersection type composed of all its constituent members.
  • Element Type Extraction - Derives a union of all value types contained within an object, tuple, or array.
  • Type Utilities - Collection of utility types for common development patterns.

Historial de estrellas

Gráfico del historial de estrellas de piotrwitek/utility-typesGráfico del historial de estrellas de piotrwitek/utility-types

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a Utility Types

Proyectos open-source similares, clasificados según cuántas características comparten con Utility Types.
  • millsp/ts-toolbeltAvatar de millsp

    millsp/ts-toolbelt

    7,145Ver en GitHub↗

    ts-toolbelt is a collection of specialized utilities for manipulating and validating TypeScript types. It provides a toolkit for performing complex transformations on objects, unions, and functions to enforce strict data consistency at compile time. The library features dedicated transformers for function types, including utilities for currying, composition, and signature extraction. It also includes an object type manipulator for deep merging, patching, and reshaping complex structures. The capability surface extends to literal string processing, type-level arithmetic, and tuple operations.

    TypeScriptdynamic-typessafetytype-checking
    Ver en GitHub↗7,145
  • sindresorhus/type-festAvatar de sindresorhus

    sindresorhus/type-fest

    17,233Ver en GitHub↗

    type-fest is a library of reusable utility types for performing complex transformations and validations on objects, arrays, strings, and numeric ranges in TypeScript. It provides a collection of type definitions designed to handle advanced structural changes and constraints. The project distinguishes itself by offering specialized logic for string literal processing, such as casing transformations and pattern-based modifications, and type-level arithmetic for calculating numeric ranges and absolute values. It also includes utilities for enforcing deep immutability, ensuring union mutual exclu

    TypeScriptnpm-packagetypestypescript
    Ver en GitHub↗17,233
  • ts-essentials/ts-essentialsAvatar de ts-essentials

    ts-essentials/ts-essentials

    4,068Ver en GitHub↗

    ts-essentials is a comprehensive toolkit of utility types and libraries for TypeScript, providing advanced primitives for recursive structural transformations, runtime assertions, and type guards. It serves as a utility library for performing complex type-level programming to ensure stronger type safety and reduce boilerplate. The project distinguishes itself through a specialized set of tools for deep object manipulation, such as recursively applying read-only or optional modifiers across nested hierarchies. It also provides a dedicated set of strict type constraints to ensure data structure

    TypeScriptessentialstoolboxtype-level-programming
    Ver en GitHub↗4,068
  • microsoft/typescript-handbookAvatar de microsoft

    microsoft/TypeScript-Handbook

    4,855Ver en GitHub↗

    This project is a comprehensive guide and educational resource for the TypeScript language. It covers the fundamental principles of the language, including its structural type system, static type analysis, and the process of transpiling typed source files into JavaScript. The material details how to model complex data and reusable type logic using generics, conditional types, and mapped types. It also explains the use of declaration files to provide type safety for external JavaScript libraries and the integration of type checking into existing JavaScript projects via JSDoc annotations. The

    JavaScriptdocumentationlearntypescript
    Ver en GitHub↗4,855
Ver las 30 alternativas a Utility Types→

Preguntas frecuentes

¿Qué hace piotrwitek/utility-types?

Esta es una librería de tipos de utilidad de TypeScript que proporciona alias de tipo avanzados y tipos mapeados para transformaciones complejas de objetos y uniones. Implementa herramientas especializadas para crear tipos nominales marcados, extraer metadatos de tipo y realizar operaciones de conjuntos en tipos de unión.

¿Cuáles son las características principales de piotrwitek/utility-types?

Las características principales de piotrwitek/utility-types son: Recursive Mapped Types, Recursive Property Transformations, Object Type Transformations, Recursive Object Type Transformers, Conditional Types, Static Type Metadata Extractors, Union Type Transformations, Union Member Filtering.

¿Qué alternativas de código abierto existen para piotrwitek/utility-types?

Las alternativas de código abierto para piotrwitek/utility-types incluyen: millsp/ts-toolbelt — ts-toolbelt is a collection of specialized utilities for manipulating and validating TypeScript types. It provides a… sindresorhus/type-fest — type-fest is a library of reusable utility types for performing complex transformations and validations on objects,… ts-essentials/ts-essentials — ts-essentials is a comprehensive toolkit of utility types and libraries for TypeScript, providing advanced primitives… microsoft/typescript-handbook — This project is a comprehensive guide and educational resource for the TypeScript language. It covers the fundamental… gvergnaud/hotscript — Hotscript is a comprehensive suite of composable utilities designed for performing structural transformations and… arktypeio/arktype — Arktype is a TypeScript runtime validation library and schema orchestrator. It synchronizes TypeScript types with…