4 个仓库
Maps complex validation logic or external assertion libraries to type-narrowing rules.
Distinct from Type Mapping Utilities: Focuses on mapping custom assertions to type-narrowing rules for static analysis.
Explore 4 awesome GitHub repositories matching data & databases · Custom Type Assertion Mapping. Refine with filters or upvote what's useful.
This project is a static analysis engine and type checker designed for PHP codebases. It evaluates source code structure and type annotations to identify potential bugs, type mismatches, and logic errors without executing the application. By parsing code into an abstract syntax tree and applying a rule-based validation framework, it enforces code quality and safety standards across a project. What distinguishes this tool is its sophisticated type inference engine, which models dynamic language features, magic methods, and conditional types to maintain accuracy even in unconventional code. It
Maps complex validation logic or external assertion libraries to type-narrowing rules for the analysis engine.
本项目是一个 JSON Schema 验证库和框架,用于验证数据实例是否符合声明性定义。它作为一个验证引擎,强制执行结构约束和数据类型,同时也作为一个元验证器,确保模式定义本身在语法上符合官方元模式。 该库专为可扩展性而设计,允许用户通过将模式关键字映射到专门的可调用函数来定义自定义验证逻辑。它包括一个基于注册表的引用解析器,用于管理内部和外部 URI 引用,以便在不同文档间重用子模式。 该系统涵盖了广泛的验证功能,包括数据类型验证、针对电子邮件和 UUID 等类型的字符串格式检查,以及全面的错误报告。诊断工具提供嵌套错误跟踪和启发式过滤,以识别数据结构中最相关的失败。
Enables overriding default type mappings to alter how specific objects are validated against schema types.
这是一个 Protocol Buffer 验证插件和代码生成器,可在多种编程语言中创建一致的验证逻辑。它作为 Protocol Buffer 工具链的编译器扩展,允许开发人员直接在模式文件中定义语义约束,以确保数据一致性。 该工具使用自定义选项将验证规则嵌入到消息定义中,并将这些模式约束映射到特定语言的实现模式。它采用基于谓词的约束检查和递归遍历,以在嵌套消息层级中强制执行规则。 验证范围涵盖数值范围和值、字符串模式和格式、字节序列约束以及枚举强制执行。它还管理集合和重复字段大小、时间戳和持续时间的复杂类型验证,以及联合字段选择的要求。
Maps shared schema constraints to different implementation patterns across multiple target programming languages.
Virtus is a Ruby attribute management and data coercion library used to define object schemas with typed attributes. It functions as a tool for transforming nested JSON structures and complex input formats into structured internal Ruby data types. The project provides a framework for creating value objects that are compared by their attribute values rather than memory identity. It allows for the mapping of complex external data into domain objects and supports the implementation of custom coercion logic to ensure data consistency. The library covers data modeling through schema-driven attrib
Enforces data integrity by raising exceptions when input values cannot be successfully converted to the target type.