From 64defa28544d36c99078c3db5a64ce3e916444b6 Mon Sep 17 00:00:00 2001 From: Juli Tera Date: Mon, 14 Sep 2026 10:46:22 -0700 Subject: [PATCH] refactor: remove legacy schema wire-name helper --- .../smithy-schema/document_utils/deserializer.rb | 14 +++++++------- gems/smithy-schema/lib/smithy-schema/extension.rb | 6 ------ gems/smithy-schema/sig/smithy-schema/extension.rbs | 1 - .../spec/smithy-schema/extension_spec.rb | 12 ------------ 4 files changed, 7 insertions(+), 26 deletions(-) diff --git a/gems/smithy-schema/lib/smithy-schema/document_utils/deserializer.rb b/gems/smithy-schema/lib/smithy-schema/document_utils/deserializer.rb index e25692e14..8a33fa8e8 100644 --- a/gems/smithy-schema/lib/smithy-schema/document_utils/deserializer.rb +++ b/gems/smithy-schema/lib/smithy-schema/document_utils/deserializer.rb @@ -75,8 +75,9 @@ def structure(shape, values, result = nil) return if values.nil? result = shape.target.type.new if result.nil? - shape.target.members.each do |member_name, member_shape| - value = values[wire_name(member_shape)] + Smithy::Schema::Extension.wire_index(shape.target).each do |wire_name, entry| + member_name, member_shape, _target_shape = entry + value = values[wire_name] result[member_name] = deserialize_shape(member_shape, value) unless value.nil? end result @@ -100,10 +101,12 @@ def timestamp(value) end def union(shape, values, result = nil) # rubocop:disable Metrics/AbcSize - shape.target.members.each do |member_name, member_shape| - value = values[wire_name(member_shape)] + index = Smithy::Schema::Extension.wire_index(shape.target) + values.each do |wire_name, value| next if value.nil? + next unless (entry = index[wire_name]) + member_name, member_shape, = entry result = shape.target.member_type(member_name) if result.nil? return result.new(member_name => deserialize_shape(member_shape, value)) end @@ -113,9 +116,6 @@ def union(shape, values, result = nil) # rubocop:disable Metrics/AbcSize shape.target.member_type(:unknown).new(key, value) end - def wire_name(member_shape) - Smithy::Schema::Extension.legacy_wire_name(member_shape) - end end end end diff --git a/gems/smithy-schema/lib/smithy-schema/extension.rb b/gems/smithy-schema/lib/smithy-schema/extension.rb index 5d0a2c281..dd5eb0864 100644 --- a/gems/smithy-schema/lib/smithy-schema/extension.rb +++ b/gems/smithy-schema/lib/smithy-schema/extension.rb @@ -223,12 +223,6 @@ def each_member(shape, &block) shape.members.each { |name, member| block.call(name, member) } end - # TODO: Remove after the remaining legacy deserializer migrates to a - # resolved extension index. - def legacy_wire_name(member) - member.name - end - # Returns whether a collection may retain nil values. # # Example: diff --git a/gems/smithy-schema/sig/smithy-schema/extension.rbs b/gems/smithy-schema/sig/smithy-schema/extension.rbs index 3b79cac15..65d7899a4 100644 --- a/gems/smithy-schema/sig/smithy-schema/extension.rbs +++ b/gems/smithy-schema/sig/smithy-schema/extension.rbs @@ -26,7 +26,6 @@ module Smithy def self.timestamp_format: ((Shapes::Shape | Shapes::MemberShape) shape) -> (String | Symbol) def self.unknown_member_type: (Shapes::UnionShape shape) -> untyped def self.each_member: ((Shapes::StructureShape | Shapes::UnionShape) shape) ?{ (Symbol, Shapes::MemberShape) -> void } -> untyped - def self.legacy_wire_name: (Shapes::MemberShape member) -> String? def self.sparse?: ((Shapes::Shape | Shapes::MemberShape) shape) -> bool end end diff --git a/gems/smithy-schema/spec/smithy-schema/extension_spec.rb b/gems/smithy-schema/spec/smithy-schema/extension_spec.rb index 0b554ed40..a7cfaa9c0 100644 --- a/gems/smithy-schema/spec/smithy-schema/extension_spec.rb +++ b/gems/smithy-schema/spec/smithy-schema/extension_spec.rb @@ -41,18 +41,6 @@ module Schema end end - describe '.legacy_wire_name' do - it 'returns the model name' do - member = Shapes::MemberShape.new( - target: Shapes::StringShape.new, - name: 'wireName', - traits: { 'smithy.api#jsonName' => 'jsonWireName' } - ) - - expect(described_class.legacy_wire_name(member)).to eq('wireName') - end - end - describe '.sparse?' do it 'returns whether the sparse trait is present' do expect(described_class.sparse?(Shapes::ListShape.new)).to be(false)