class Dry::Schema::PrimitiveInferrer::Compiler

@api private
Compiler reduces type AST into a list of primitives

def visit(node)

Other tags:
    Api: - private
def visit(node)
  meth, rest = node
  public_send(:"visit_#{meth}", rest)
end

def visit_any(_)

Other tags:
    Api: - private
def visit_any(_)
  Object
end

def visit_array(_)

Other tags:
    Api: - private
def visit_array(_)
  Array
end

def visit_constrained(node)

Other tags:
    Api: - private
def visit_constrained(node)
  other, * = node
  visit(other)
end

def visit_constructor(node)

Other tags:
    Api: - private
def visit_constructor(node)
  other, * = node
  visit(other)
end

def visit_enum(node)

Other tags:
    Api: - private
def visit_enum(node)
  other, * = node
  visit(other)
end

def visit_hash(_)

Other tags:
    Api: - private
def visit_hash(_)
  Hash
end

def visit_lax(node)

Other tags:
    Api: - private
def visit_lax(node)
  visit(node)
end

def visit_nominal(node)

Other tags:
    Api: - private
def visit_nominal(node)
  type, _ = node
  type
end

def visit_sum(node)

Other tags:
    Api: - private
def visit_sum(node)
  left, right = node
  [visit(left), visit(right)].flatten(1)
end