class Dry::Schema::Trace

def evaluate_predicates(predicates)

Other tags:
    Api: - private
def evaluate_predicates(predicates)
  predicates.flat_map do |predicate|
    if predicate.respond_to?(:call)
      predicate
    elsif predicate.is_a?(::Array)
      predicate.map { |pred| evaluate_predicates(pred).reduce(:&) }.reduce(:|)
    elsif predicate.is_a?(::Hash)
      predicate.map { |pred, *args| __send__(pred, *args) }
    else
      __send__(predicate)
    end
  end
end