6 个仓库
Techniques for distinguishing between identical structures by assigning unique labels or flavors to types.
Distinct from Schema-Driven Type Inference: Distinct from Schema-Driven Type Inference: focuses specifically on the 'branding' of types to prevent mixing identical structures, not the general inference process.
Explore 6 awesome GitHub repositories matching software engineering & architecture · Branded Types. Refine with filters or upvote what's useful.
Reason is a strongly typed functional language and multi-target compiler designed to produce either JavaScript for web environments or native machine code for operating systems. It serves as an OCaml-compatible language that shares an abstract syntax tree with OCaml, providing a practical syntax for the OCaml ecosystem. The project functions as a type-safe frontend language, incorporating JSX support to build user interfaces through structural elements that translate into type-safe function calls. It enables deep integration with the JavaScript ecosystem, allowing the use of existing librarie
Implements a nominal type system that distinguishes records by their name rather than their structure.
Valibot is a modular, type-safe schema library for validating and parsing structural data in TypeScript environments.
Assigns unique flavors to schema outputs to prevent the accidental mixing of identical data structures.
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
Attaches unique type-level symbols to validated data to distinguish verified values from raw inputs at compile time.
Provides nominal type distinction preventing substitution of structurally identical types.
这是一个 TypeScript 实用类型库,为复杂的对象和联合类型转换提供高级类型别名和映射类型。它实现了用于创建品牌化(branded)标称类型、提取类型元数据以及对联合类型执行集合操作的专用工具。 该项目通过一个用于递归对象转换的工具包脱颖而出,允许在深度嵌套的结构中应用只读或可选状态等属性约束。它还提供了一个用于计算联合类型之间的交集、差集和补集的系统,以模拟数学集合逻辑。 该库涵盖了广泛的类型系统功能,包括对象属性过滤、形状比较以及类构造函数和 Promise 解析类型的提取。它还包括用于值验证的实用程序,例如检测假值或空值以及识别原始类型。
Implements branded types to distinguish between identical object structures using unique labels.
Ziggy is a frontend routing bridge that exports server route definitions to JavaScript or JSON for use in browser-based applications. It acts as a named route resolver, synchronizing server-defined routes with the client to generate full URLs from named routes without hardcoding paths. The project includes a TypeScript route generator that creates type definitions for backend routes, providing static type checking and autocompletion. It also provides dedicated integration hooks and plugins for React and Vue to make routing capabilities available within component-based frameworks. Beyond URL
Implements branded types in TypeScript to restrict route names to a predefined set of valid identifiers.