class Dry::Types::Constrained::Coercible

def try(input, &)

Other tags:
    Api: - public

Other tags:
    See: Dry::Types::Constrained#try -
def try(input, &)
  result = type.try(input)
  if result.success?
    validation = rule.(result.input)
    if validation.success?
      result
    else
      failure = failure(result.input, ConstraintError.new(validation, input))
      block_given? ? yield(failure) : failure
    end
  else
    block_given? ? yield(result) : result
  end
end