#pragma once #include #include #include #include #include #include namespace jvalidate::constraint { struct AdditionalPropertiesConstraint { schema::Node const * subschema; std::unordered_set properties; std::vector patterns; }; struct DependenciesConstraint { std::map subschemas; std::map> required; }; struct MaxPropertiesConstraint { int64_t value; }; struct MinPropertiesConstraint { int64_t value; }; struct PatternPropertiesConstraint { std::vector> properties; }; struct PropertiesConstraint { std::map properties; }; struct PropertyNamesConstraint { schema::Node const * key_schema; }; struct RequiredConstraint { std::unordered_set properties; }; struct UnevaluatedPropertiesConstraint { schema::Node const * subschema; }; }