1 dépôt
Utilities for calculating structural intersections and differences between two object types.
Distinct from Object Type Transformations: Focuses on comparing two distinct type shapes rather than transforming a single type structure.
Explore 1 awesome GitHub repository matching programming languages & runtimes · Shape Comparisons. Refine with filters or upvote what's useful.
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.
Computes intersections and differences between two object types to identify shared or unique properties.