8 dépôts
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.
Il s'agit d'une bibliothèque de types utilitaires TypeScript fournissant des alias de type avancés et des types mappés pour des transformations complexes d'objets et d'unions. Elle implémente des outils spécialisés pour créer des types nominaux marqués, extraire des métadonnées de type et effectuer des opérations d'ensemble sur des types d'union. Le projet se distingue par une boîte à outils pour les transformations d'objets récursives, permettant l'application de contraintes de propriété comme le statut en lecture seule ou optionnel à travers des structures profondément imbriquées. Il fournit également un système pour calculer les intersections, les différences et les compléments entre les types d'union pour simuler la logique d'ensemble mathématique. La bibliothèque couvre un large éventail de fonctionnalités du système de types, y compris le filtrage des propriétés d'objet, la comparaison de formes et l'extraction de constructeurs de classe et de types de résolution de promesse. Elle inclut en outre des utilitaires pour la validation de valeur, tels que la détection de valeurs falsy ou nullish et l'identification de types primitifs.
Provides utilities for manipulating, filtering, and aggregating properties across union types.
Octosql est un moteur de requête SQL fédéré, un transformateur de données et un processeur SQL de flux. Il permet aux utilisateurs d'exécuter des instructions SQL uniques sur plusieurs sources de données disparates, y compris différents types de bases de données et formats de fichiers, afin de fusionner et transformer les résultats en un ensemble unifié. Le système se distingue en traitant les fichiers CSV, JSONLines et Parquet comme des tables virtuelles et en utilisant une architecture basée sur des plugins pour étendre la connectivité aux moteurs de stockage externes. Il fonctionne comme un processeur de flux pour les flux de données infinis, utilisant des filigranes (watermarks), des rétractions et des fenêtres glissantes pour maintenir la cohérence des événements hors séquence. De plus, il sert de générateur de données SQL capable de produire des jeux de données synthétiques et des flux d'enregistrements via des fonctions table. Le moteur inclut des capacités de jointure de données inter-sources et d'analyse multi-sources, optimisées par le push-down de prédicats côté source pour réduire le transfert de données. Il gère des données complexes via un système de typage statique avec des types union et offre une observabilité grâce à la visualisation des plans d'exécution de requêtes.
Employs a flexible type system to handle columns containing multiple possible types via assertions.
Ce projet est un guide complet et une ressource éducative pour le langage TypeScript. Il couvre les principes fondamentaux du langage, incluant son système de typage structurel, l'analyse de type statique et le processus de transpilation des fichiers sources typés en JavaScript. Le matériel détaille comment modéliser des données complexes et une logique de type réutilisable en utilisant des génériques, des types conditionnels et des types mappés. Il explique également l'utilisation des fichiers de déclaration pour fournir une sécurité de type pour les bibliothèques JavaScript externes et l'intégration de la vérification de type dans des projets JavaScript existants via des annotations JSDoc. La portée du contenu s'étend aux modèles de programmation orientée objet, à la manipulation du DOM et à la configuration des comportements du compilateur. Il inclut des conseils sur la gestion de l'interopérabilité des modules, la mise en place de pipelines de build et l'utilisation de l'intelligence de l'éditeur pour une meilleure productivité des développeurs.
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.