class Dry::Schema::JSONSchema::SchemaCompiler
def visit_predicate(node, opts = EMPTY_HASH)
- Api: - private
def visit_predicate(node, opts = EMPTY_HASH) name, rest = node if name.equal?(:key?) prop_name = rest[0][1] keys[prop_name] = {} else target = keys[opts[:key]] type_opts = fetch_type_opts_for_predicate(name, rest, target) if target[:type]&.include?("array") target[:items] ||= {} merge_opts!(target[:items], type_opts) else merge_opts!(target, type_opts) end end end