diff --git a/rbi/lib/openai/type/array_of.rbi b/rbi/lib/openai/type/array_of.rbi index 4c6fe0a1..2f6ace65 100644 --- a/rbi/lib/openai/type/array_of.rbi +++ b/rbi/lib/openai/type/array_of.rbi @@ -11,6 +11,8 @@ module OpenAI abstract! final! + Elem = type_member(:out) + sig(:final) do params( type_info: T.any( @@ -36,7 +38,7 @@ module OpenAI # @api private sig(:final) do override - .params(value: T.any(T::Enumerable[T.anything], T.anything), state: OpenAI::Type::Converter::State) + .params(value: T.any(T::Enumerable[Elem], T.anything), state: OpenAI::Type::Converter::State) .returns(T.any(T::Array[T.anything], T.anything)) end def coerce(value, state:) @@ -45,14 +47,14 @@ module OpenAI # @api private sig(:final) do override - .params(value: T.any(T::Enumerable[T.anything], T.anything)) + .params(value: T.any(T::Enumerable[Elem], T.anything)) .returns(T.any(T::Array[T.anything], T.anything)) end def dump(value) end # @api private - sig(:final) { returns(T.anything) } + sig(:final) { returns(Elem) } protected def item_type end diff --git a/rbi/lib/openai/type/hash_of.rbi b/rbi/lib/openai/type/hash_of.rbi index 6d6bc6ec..66bd1160 100644 --- a/rbi/lib/openai/type/hash_of.rbi +++ b/rbi/lib/openai/type/hash_of.rbi @@ -11,6 +11,8 @@ module OpenAI abstract! final! + Elem = type_member(:out) + sig(:final) do params( type_info: T.any( @@ -56,7 +58,7 @@ module OpenAI end # @api private - sig(:final) { returns(T.anything) } + sig(:final) { returns(Elem) } protected def item_type end diff --git a/sig/openai/type/array_of.rbs b/sig/openai/type/array_of.rbs index 6441c9d4..7e8cb67c 100644 --- a/sig/openai/type/array_of.rbs +++ b/sig/openai/type/array_of.rbs @@ -1,6 +1,6 @@ module OpenAI module Type - class ArrayOf + class ArrayOf[Elem] include OpenAI::Type::Converter def self.[]: ( @@ -15,13 +15,13 @@ module OpenAI def ==: (top other) -> bool def coerce: ( - Enumerable[top] | top value, + Enumerable[Elem] | top value, state: OpenAI::Type::Converter::state ) -> (::Array[top] | top) - def dump: (Enumerable[top] | top value) -> (::Array[top] | top) + def dump: (Enumerable[Elem] | top value) -> (::Array[top] | top) - def item_type: -> top + def item_type: -> Elem def nilable?: -> bool diff --git a/sig/openai/type/hash_of.rbs b/sig/openai/type/hash_of.rbs index a31f87aa..dea00a66 100644 --- a/sig/openai/type/hash_of.rbs +++ b/sig/openai/type/hash_of.rbs @@ -1,6 +1,6 @@ module OpenAI module Type - class HashOf + class HashOf[Elem] include OpenAI::Type::Converter def self.[]: ( @@ -21,7 +21,7 @@ module OpenAI def dump: (::Hash[top, top] | top value) -> (::Hash[Symbol, top] | top) - def item_type: -> top + def item_type: -> Elem def nilable?: -> bool