4 dépôts
Mechanisms for creating new types that simultaneously enforce multiple existing type constraints.
Distinct from Generic Type Constraints: Distinct from Generic Type Constraints: focuses on combining multiple discrete types into one rather than constraining a generic parameter.
Explore 4 awesome GitHub repositories matching programming languages & runtimes · Type Constraint Combinations. Refine with filters or upvote what's useful.
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
Creates new types that enforce the constraints of two or more existing types simultaneously.
CUE is a constraint-based configuration language designed for data validation, schema definition, and code generation. At its core, it unifies types and values into a single concept, enabling compile-time validation that catches structural and value errors before runtime. The language treats data and constraints as the same thing, allowing a single definition to serve as both a schema and concrete configuration data. CUE distinguishes itself through its constraint-based unification engine, which combines multiple configuration sources into a single coherent result by merging their constraints
Implements the & operator to unify list elements into a single constraint, returning top for empty lists.
TypeSpec is a language for defining cloud API shapes and generating OpenAPI, JSON Schema, and client/server code from a single source of truth. It functions as a protocol-agnostic API designer that models REST, gRPC, and other API protocols using a unified, extensible syntax, with a decorator-based metadata system for attaching metadata, validation rules, and lifecycle visibility to API models and operations. The compiler produces OpenAPI 3.0 specifications and other artifacts, and the tool supports declaring API versions and tracking changes to models, properties, and operations across releas
Combines two or more type definitions into a single type that must satisfy all constituent types simultaneously.
Cats est une bibliothèque de programmation fonctionnelle et de classes de types pour Scala, conçue pour implémenter des patterns algébriques et des abstractions fonctionnelles. Elle fournit un ensemble standardisé d'interfaces et une boîte à outils modulaire de wrappers et conteneurs fonctionnels pour permettre le polymorphisme ad-hoc et la programmation générique sur des types disparates. Le projet sert de standard d'abstraction fonctionnelle, offrant une suite de transformateurs de monades pour composer des contextes à effets imbriqués et gérer de multiples effets de bord computationnels au sein d'un pipeline unique. Il permet en outre la construction de langages dédiés (DSL) embarqués en représentant la logique du programme sous forme de structures de données interprétées séparément de leurs définitions. La bibliothèque couvre de larges domaines de capacités, incluant la manipulation de données algébriques pour combiner et réduire des valeurs, la gestion d'état typée, et la gestion fonctionnelle des erreurs pour formaliser l'accumulation et la récupération d'erreurs. Elle fournit également des outils pour la gestion de calculs à effets et l'extension des types de collection standard avec des capacités fonctionnelles. La bibliothèque inclut des mécanismes de validation des lois algébriques pour garantir que les instances de classes de types respectent les propriétés mathématiques.
Provides the ability to combine values of a type constructor based on the constructor's structure.