class Turbopuffer::Internal::Type::ArrayOf
def coerce(value, state:)
-
(Array
-
Options Hash:
(**state)
-
:branched
(Integer
) -- -
:error
(Class
) -- -
:exactness
(Hash{Symbol=>Object}
) -- -
:strictness
(Boolean
) -- -
:translate_names
(Boolean
) --
Parameters:
-
state
(Hash{Symbol=>Object}
) -- . -
value
(Array
) --
Other tags:
- Api: - private
def coerce(value, state:) exactness = state.fetch(:exactness) unless value.is_a?(Array) exactness[:no] += 1 state[:error] = TypeError.new("#{value.class} can't be coerced into #{Array}") return value end target = item_type exactness[:yes] += 1 value .map do |item| case [nilable?, item] in [true, nil] exactness[:yes] += 1 nil else Turbopuffer::Internal::Type::Converter.coerce(target, item, state: state) end end end