8 repositorios
Utilities for manipulating and aggregating properties across union types.
Distinct from Union Types: Candidates focus on GraphQL unions or runtime validation, not type-level aggregation of keys.
Explore 8 awesome GitHub repositories matching programming languages & runtimes · Union Type Transformations. Refine with filters or upvote what's useful.
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
Creates a single object type containing every possible key found across a union of object types.
Arktype is a TypeScript runtime validation library and schema orchestrator. It synchronizes TypeScript types with runtime data validation, allowing users to define type-safe schemas that ensure unknown data adheres to specific structures during application execution. The project distinguishes itself by using set-theory type analysis to determine intersections and subtype compatibility, alongside JIT-compiled validation functions for optimized performance. It supports advanced type modeling through branded type constraints, recursive alias resolution, and the ability to generate runtime valida
Extracts or excludes specific members from a union type based on matching criteria.
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.
Filters, excludes, or extracts members from a union type based on a specific condition.
collect.js is a dependency-free JavaScript library that provides a fluent, chainable interface for manipulating arrays and objects. It mirrors the Laravel Collection API, offering a consistent set of methods for data transformation across JavaScript and Laravel backend environments. The library stores collection data as plain arrays internally and supports fluent method chaining, where each method returns a new collection instance. The library distinguishes itself by closely replicating the Laravel Collection API in JavaScript, mapping each PHP method to an equivalent JavaScript implementatio
Provides a flatMap operation that maps and flattens nested arrays into a single sequence.
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.
Provides utilities for manipulating, filtering, and aggregating properties across union types.
Octosql es un motor de consultas SQL federado, transformador de datos y procesador de SQL en streaming. Permite a los usuarios ejecutar sentencias SQL únicas a través de múltiples fuentes de datos dispares, incluyendo diferentes tipos de bases de datos y formatos de archivo, para combinar y transformar resultados en un conjunto unificado. El sistema se distingue por tratar archivos CSV, JSONLines y Parquet como tablas virtuales y utilizar una arquitectura basada en plugins para extender la conectividad a motores de almacenamiento externos. Funciona como un procesador de streaming para flujos de datos infinitos, utilizando marcas de agua (watermarks), retracciones y ventanas deslizantes (tumbling windows) para mantener la consistencia en eventos fuera de orden. Además, sirve como generador de datos SQL capaz de producir conjuntos de datos sintéticos y flujos de registros mediante funciones con valores de tabla. El motor incluye capacidades para realizar joins entre fuentes de datos y análisis multi-fuente, optimizado mediante el push-down de predicados en el lado de la fuente para reducir la transferencia de datos. Gestiona datos complejos a través de un sistema de tipos estáticos con tipos unión y proporciona observabilidad mediante la visualización de planes de ejecución de consultas.
Employs a flexible type system to handle columns containing multiple possible types via assertions.
Este proyecto es una guía completa y recurso educativo para el lenguaje TypeScript. Cubre los principios fundamentales del lenguaje, incluyendo su sistema de tipos estructural, análisis de tipos estáticos y el proceso de transpilación de archivos fuente tipados a JavaScript. El material detalla cómo modelar datos complejos y lógica de tipos reutilizable utilizando genéricos, tipos condicionales y tipos mapeados. También explica el uso de archivos de declaración para proporcionar seguridad de tipos para librerías externas de JavaScript y la integración de verificación de tipos en proyectos de JavaScript existentes mediante anotaciones JSDoc. El alcance del contenido se extiende a patrones de programación orientada a objetos, manipulación del DOM y la configuración de comportamientos del compilador. Incluye orientación sobre la gestión de interoperabilidad de módulos, configuración de pipelines de construcción y utilización de inteligencia de editor para una mejor productividad del desarrollador.
Covers how conditional types distribute over unions to enable advanced type mapping.
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
Transforms union types into intersection types to facilitate complex function signatures.