class Anthropic::Internal::Type::BaseModel

def dump(value, state:)

Returns:
  • (Hash{Object=>Object}, Object) -

Options Hash: (**state)
  • :can_retry (Boolean) --

Parameters:
  • state (Hash{Symbol=>Object}) -- .
  • value (self, Object) --

Other tags:
    Api: - private
def dump(value, state:)
  unless (coerced = Anthropic::Internal::Util.coerce_hash(value)).is_a?(Hash)
    return super
  end
  acc = {}
  coerced.each do |key, val|
    name = key.is_a?(String) ? key.to_sym : key
    case (field = known_fields[name])
    in nil
      acc.store(name, super(val, state: state))
    else
      api_name, mode, type_fn = field.fetch_values(:api_name, :mode, :type_fn)
      case mode
      in :coerce
        next
      else
        target = type_fn.call
        acc.store(api_name, Anthropic::Internal::Type::Converter.dump(target, val, state: state))
      end
    end
  end
  known_fields.each_value do |field|
    api_name, mode, const = field.fetch_values(:api_name, :mode, :const)
    next if mode == :coerce || acc.key?(api_name) || const == Anthropic::Internal::OMIT
    acc.store(api_name, const)
  end
  acc
end