277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
|
# File 'lib/json_schemer/draft202012/vocab/applicator.rb', line 277
def validate(instance, instance_location, keyword_location, context)
return result(instance, instance_location, keyword_location, true) unless instance.is_a?(Hash)
evaluated = Set[]
nested = []
parsed.each do |pattern, subschema|
regexp = root.resolve_regexp(pattern)
instance.each do |key, value|
if regexp.match?(key)
evaluated << key
nested << subschema.validate_instance(value, join_location(instance_location, key), join_location(keyword_location, pattern), context)
end
end
end
result(instance, instance_location, keyword_location, nested.all?(&:valid), nested, :annotation => evaluated.to_a)
end
|