From 7d5e4bf31d4930c94fb18b0641ca99453969ee35 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 | 15 +++++++-------- gems/smithy-schema/lib/smithy-schema/extension.rb | 6 ------ .../smithy-schema/sig/smithy-schema/extension.rbs | 1 - .../spec/smithy-schema/extension_spec.rb | 12 ------------ 4 files changed, 7 insertions(+), 27 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..dbc40c42d 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 @@ -112,10 +115,6 @@ def union(shape, values, result = nil) # rubocop:disable Metrics/AbcSize key, value = values.first 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 cdfb16165..83300646c 100644 --- a/gems/smithy-schema/lib/smithy-schema/extension.rb +++ b/gems/smithy-schema/lib/smithy-schema/extension.rb @@ -232,12 +232,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 46e96d2ed..d620a4fee 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)