class Anthropic::Internal::Type::HashOf

def coerce(value, state:)

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

Options Hash: (**state)
  • :branched (Integer) --
  • :exactness (Hash{Symbol=>Object}) --
  • :strictness (Boolean, :strong) --

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

Other tags:
    Api: - private
def coerce(value, state:)
  exactness = state.fetch(:exactness)
  unless value.is_a?(Hash)
    exactness[:no] += 1
    return value
  end
  target = item_type
  exactness[:yes] += 1
  value
    .to_h do |key, val|
      k = key.is_a?(String) ? key.to_sym : key
      v =
        case [nilable?, val]
        in [true, nil]
          exactness[:yes] += 1
          nil
        else
          Anthropic::Internal::Type::Converter.coerce(target, val, state: state)
        end
      exactness[:no] += 1 unless k.is_a?(Symbol)
      [k, v]
    end
end