@@ -1071,8 +1071,7 @@ private void generateDeserializingEventUnion(
1071
1071
Symbol eventSymbol = symbolProvider .toSymbol (target );
1072
1072
String eventDeserMethodName =
1073
1073
ProtocolGenerator .getDeserFunctionName (eventSymbol , protocolName ) + "_event" ;
1074
- String statement = eventDeserMethodName + "(output['" + name + "'], context)" ;
1075
- writer .write ("$L: await $L" , name , statement );
1074
+ writer .write ("$1L: await $2L(output[$1S], context);" , name , eventDeserMethodName );
1076
1075
});
1077
1076
});
1078
1077
});
@@ -1159,7 +1158,6 @@ private void readEventBody(GenerationContext context, StructureShape event) {
1159
1158
//There's only one event payload member
1160
1159
MemberShape payloadMember = payloadMembers .get (0 );
1161
1160
readEventPayload (context , payloadMember );
1162
- writer .write ("contents.$L = data;" , payloadMember .getMemberName ());
1163
1161
} else if (!documentMembers .isEmpty ()) {
1164
1162
// Parse member from event body using original event structure deser.
1165
1163
SymbolProvider symbolProvider = context .getSymbolProvider ();
@@ -1181,17 +1179,18 @@ private void readEventPayload(GenerationContext context, MemberShape payloadMemb
1181
1179
TypeScriptWriter writer = context .getWriter ();
1182
1180
Model model = context .getModel ();
1183
1181
Shape payloadTarget = model .expectShape (payloadMember .getTarget ());
1182
+ String memberName = payloadMember .getMemberName ();
1184
1183
if (payloadTarget instanceof BlobShape ) {
1185
1184
// If event payload is a blob, only need to collect stream to binary data(Uint8Array).
1186
- writer .write ("const data: any = output.body;" );
1185
+ writer .write ("contents.$L = output.body;" , memberName );
1187
1186
} else if (payloadTarget instanceof StructureShape || payloadTarget instanceof UnionShape ) {
1188
1187
// If body is Structure or Union, they we need to parse the string into JavaScript object.
1189
- writer .write ("const data: any = await parseBody(output.body, context);" );
1188
+ writer .write ("contents.$L = await parseBody(output.body, context);" , memberName );
1190
1189
} else if (payloadTarget instanceof StringShape ) {
1191
1190
// If payload is string, we need to collect body and encode binary to string.
1192
- writer .write ("const data: any = await collectBodyString(output.body, context);" );
1191
+ writer .write ("contents.$L = await collectBodyString(output.body, context);" , memberName );
1193
1192
} else {
1194
- throw new CodegenException (String .format ("Unexpected shape type bound to payload: `%s`" ,
1193
+ throw new CodegenException (String .format ("Unexpected shape type bound to event payload: `%s`" ,
1195
1194
payloadTarget .getType ()));
1196
1195
}
1197
1196
}
0 commit comments