mirror of
https://github.com/microsoft/regorus.git
synced 2026-08-05 02:16:11 +00:00
feat: Type System (#452)
Details: - Implement complete Type enum with 12 variants: Any, Integer, Number, Boolean, Null, String, Array, Set, Object, Enum, Const, AnyOf - Add Schema wrapper struct with reference counting for efficient sharing - Support JSON Schema-compatible deserialization with serde - Implement discriminated subobjects for polymorphic type definitions - Add comprehensive test suite covering all type variants - Include Azure resource schema examples (Storage, VM, Key Vault, App Service) - Create meta-schema validation system with lazy static validator - Add extensive edge case and corner case test coverage - Implement custom deserializers for complex schema patterns This establishes the foundation for type checking and validation of Rego policies, particularly useful for cloud resource schemas and policy validation. Regorus's type system is a first of many features intended to enable type checking and various other constraints on Rego policies. The type system is inspired from: - JSON schema - Bicep Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com>
This commit is contained in:
committed by
GitHub
parent
2fcd5e3eb9
commit
77f8544868
@@ -23,7 +23,7 @@ default = ["full-opa", "arc"]
|
||||
|
||||
arc = ["scientific/arc"]
|
||||
ast = []
|
||||
azure_policy = []
|
||||
azure_policy = ["dep:jsonschema"]
|
||||
base64 = ["dep:data-encoding"]
|
||||
base64url = ["dep:data-encoding"]
|
||||
coverage = []
|
||||
|
||||
Reference in New Issue
Block a user