class Dry::Types::PredicateInferrer

@api public
PredicateInferrer returns the list of predicates used by a type.

def [](type)

Other tags:
    Api: - private

Returns:
  • (Symbol) -

Parameters:
  • type (Type) --
def [](type)
  self.class.fetch_or_store(type) do
    predicates = compiler.visit(type.to_ast)
    if predicates.is_a?(::Hash)
      predicates
    else
      REDUCED_TYPES[predicates] || predicates
    end
  end
end

def initialize(registry = PredicateRegistry.new)

Other tags:
    Api: - private
def initialize(registry = PredicateRegistry.new)
  @compiler = Compiler.new(registry)
end