fix: reject grammars without properties (#2309)

This commit is contained in:
drbh 2024-07-29 10:07:25 -04:00 committed by yuanwu
parent 23a3927eb6
commit a574381cb4

View File

@ -353,6 +353,14 @@ impl Validation {
.compile(&json)
.map_err(|e| ValidationError::InvalidGrammar(e.to_string()))?;
// The schema can be valid but lack properties.
// We need properties for the grammar to be successfully parsed in Python.
// Therefore, we must check and throw an error if properties are missing.
json.get("properties")
.ok_or(ValidationError::InvalidGrammar(
"Grammar must have a 'properties' field".to_string(),
))?;
// Serialize json to string
ValidGrammar::Json(
serde_json::to_string(&json)