Skip to content

Commit 48f4e43

Browse files
authored
fix: criteria for event stream member detection (#1624)
1 parent 0fa94c2 commit 48f4e43

File tree

2 files changed

+2
-11
lines changed

2 files changed

+2
-11
lines changed

smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/integration/EventStreamGenerator.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
import software.amazon.smithy.model.traits.ErrorTrait;
4040
import software.amazon.smithy.model.traits.EventHeaderTrait;
4141
import software.amazon.smithy.model.traits.EventPayloadTrait;
42-
import software.amazon.smithy.model.traits.HttpPayloadTrait;
4342
import software.amazon.smithy.model.traits.StreamingTrait;
4443
import software.amazon.smithy.typescript.codegen.TypeScriptDependency;
4544
import software.amazon.smithy.typescript.codegen.TypeScriptWriter;
@@ -90,9 +89,7 @@ public static MemberShape getEventStreamMember(GenerationContext context, Struct
9089
Shape target = context.getModel().expectShape(shape.getTarget());
9190
boolean targetStreaming = target.hasTrait(StreamingTrait.class);
9291
boolean targetUnion = target.isUnionShape();
93-
boolean memberStreaming = shape.hasTrait(StreamingTrait.class);
94-
boolean memberPayload = shape.hasTrait(HttpPayloadTrait.class);
95-
return memberPayload && targetUnion && (targetStreaming || memberStreaming);
92+
return targetUnion && targetStreaming;
9693
}).toList();
9794

9895
if (eventStreamMembers.isEmpty()) {
@@ -454,7 +451,7 @@ private void generateEventStreamDeserializer(GenerationContext context, UnionSha
454451
});
455452
});
456453
});
457-
writer.write("return {$$unknown: output};");
454+
writer.write("return {$$unknown: event as any};");
458455
});
459456
});
460457
});

smithy-typescript-codegen/src/test/java/software/amazon/smithy/typescript/codegen/integration/EventStreamGeneratorTest.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,6 @@ void getEventStreamMember(
3535

3636
when(streamingTarget1.hasTrait(StreamingTrait.class)).thenReturn(true);
3737
when(streamingTarget1.isUnionShape()).thenReturn(true);
38-
when(eventStreamMember1.hasTrait(StreamingTrait.class)).thenReturn(false);
39-
when(eventStreamMember1.hasTrait(HttpPayloadTrait.class)).thenReturn(true);
4038

4139
MemberShape eventStreamMember = EventStreamGenerator.getEventStreamMember(
4240
context,
@@ -90,15 +88,11 @@ void getEventStreamMemberTooMany(
9088
when(model.expectShape(streamingMember1ShapeId)).thenReturn(streamingTarget1);
9189
when(streamingTarget1.hasTrait(StreamingTrait.class)).thenReturn(true);
9290
when(streamingTarget1.isUnionShape()).thenReturn(true);
93-
when(eventStreamMember1.hasTrait(StreamingTrait.class)).thenReturn(false);
94-
when(eventStreamMember1.hasTrait(HttpPayloadTrait.class)).thenReturn(true);
9591

9692
when(eventStreamMember2.getTarget()).thenReturn(streamingMember2ShapeId);
9793
when(model.expectShape(streamingMember2ShapeId)).thenReturn(streamingTarget2);
9894
when(streamingTarget2.hasTrait(StreamingTrait.class)).thenReturn(true);
9995
when(streamingTarget2.isUnionShape()).thenReturn(true);
100-
when(eventStreamMember2.hasTrait(StreamingTrait.class)).thenReturn(false);
101-
when(eventStreamMember2.hasTrait(HttpPayloadTrait.class)).thenReturn(true);
10296

10397
try {
10498
MemberShape eventStreamMember = EventStreamGenerator.getEventStreamMember(

0 commit comments

Comments
 (0)