class Dry::Schema::Info::SchemaCompiler

def visit_predicate(node, opts = EMPTY_HASH)

Other tags:
    Api: - private
def visit_predicate(node, opts = EMPTY_HASH)
  name, rest = node
  key = opts[:key]
  if name.equal?(:key?)
    keys[rest[0][1]] = {required: opts.fetch(:required, true)}
  else
    type = PREDICATE_TO_TYPE[name]
    assign_type(key, type) if type
  end
end