Return early if rules are empty to avoid visiting elements

This is tested already in testPassesValidationWithEmptyRules
This commit is contained in:
Adrian Philipp 2018-04-12 17:36:24 +02:00 committed by Jeremiah VALERIE
parent b97cad0f4a
commit dc0616edaf
No known key found for this signature in database
GPG Key ID: 42F7707058FDC3D2

View File

@ -96,6 +96,12 @@ class DocumentValidator
if (null === $rules) { if (null === $rules) {
$rules = static::allRules(); $rules = static::allRules();
} }
if (true === is_array($rules) && 0 === count($rules)) {
// Skip validation if there are no rules
return [];
}
$typeInfo = $typeInfo ?: new TypeInfo($schema); $typeInfo = $typeInfo ?: new TypeInfo($schema);
$errors = static::visitUsingRules($schema, $typeInfo, $ast, $rules); $errors = static::visitUsingRules($schema, $typeInfo, $ast, $rules);
return $errors; return $errors;