class Dry::Types::Safe

def call(input)

Returns:
  • (Object) -

Parameters:
  • input (Object) --
def call(input)
  result = try(input)
  if result.respond_to?(:input)
    result.input
  else
    input
  end
end

def decorate?(response)

Returns:
  • (Boolean) -

Parameters:
  • response (Object, Dry::Types::Constructor) --
def decorate?(response)
  super || response.kind_of?(Constructor)
end

def safe

Returns:
  • (Safe) -

Other tags:
    Api: - public
def safe
  self
end

def to_ast(meta: true)

Other tags:
    See: Definition#to_ast -

Other tags:
    Api: - public
def to_ast(meta: true)
  [:safe, [type.to_ast, meta ? self.meta : EMPTY_HASH]]
end

def try(input, &block)

Returns:
  • (Result, Logic::Result) -

Other tags:
    Yieldreturn: -

Other tags:
    Yieldparam: failure -

Parameters:
  • block (#call, nil) --
  • input (Object) --
def try(input, &block)
  type.try(input, &block)
rescue TypeError, ArgumentError => e
  result = failure(input, e.message)
  block ? yield(result) : result
end