@@ -90,10 +90,10 @@ public static UnionShape getEventStreamOutputShape(GenerationContext context, Op
90
90
* Shapes that referred by event will be added.
91
91
*/
92
92
public void generateEventStreamSerializers (
93
- GenerationContext context ,
94
- ServiceShape service ,
95
- String documentContentType ,
96
- Runnable serializeInputEventDocumentPayload ,
93
+ GenerationContext context ,
94
+ ServiceShape service ,
95
+ String documentContentType ,
96
+ Runnable serializeInputEventDocumentPayload ,
97
97
Set <Shape > documentShapesToSerialize
98
98
) {
99
99
Model model = context .getModel ();
@@ -118,11 +118,11 @@ public void generateEventStreamSerializers(
118
118
});
119
119
eventShapesToMarshall .forEach (event -> {
120
120
generateEventMarshaller (
121
- context ,
122
- event ,
123
- documentContentType ,
124
- serializeInputEventDocumentPayload ,
125
- documentShapesToSerialize );
121
+ context ,
122
+ event ,
123
+ documentContentType ,
124
+ serializeInputEventDocumentPayload ,
125
+ documentShapesToSerialize );
126
126
});
127
127
}
128
128
@@ -190,14 +190,14 @@ private void generateEventStreamSerializer(GenerationContext context, UnionShape
190
190
+ " context: $L\n "
191
191
+ "): any => {" , "}" , methodName , getEventStreamSerdeContextType (context , eventsUnion ), () -> {
192
192
writer .openBlock ("const eventMarshallingVisitor = (event: any): __Message => $T.visit(event, {" , "});" ,
193
- eventsUnionSymbol , () -> {
194
- eventsUnion .getAllMembers ().forEach ((memberName , memberShape ) -> {
195
- StructureShape target = model .expectShape (memberShape .getTarget (), StructureShape .class );
196
- String eventSerMethodName = getEventSerFunctionName (context , target );
197
- writer .write ("$L: value => $L(value, context)," , memberName , eventSerMethodName );
198
- });
199
- writer .write ("_: value => value as any" );
200
- });
193
+ eventsUnionSymbol , () -> {
194
+ eventsUnion .getAllMembers ().forEach ((memberName , memberShape ) -> {
195
+ StructureShape target = model .expectShape (memberShape .getTarget (), StructureShape .class );
196
+ String eventSerMethodName = getEventSerFunctionName (context , target );
197
+ writer .write ("$L: value => $L(value, context)," , memberName , eventSerMethodName );
198
+ });
199
+ writer .write ("_: value => value as any" );
200
+ });
201
201
writer .write ("return context.eventStreamMarshaller.serialize(input, eventMarshallingVisitor);" );
202
202
});
203
203
}
@@ -229,10 +229,10 @@ private Symbol getSymbol(GenerationContext context, Shape shape) {
229
229
}
230
230
231
231
public void generateEventMarshaller (
232
- GenerationContext context ,
233
- StructureShape event ,
234
- String documentContentType ,
235
- Runnable serializeInputEventDocumentPayload ,
232
+ GenerationContext context ,
233
+ StructureShape event ,
234
+ String documentContentType ,
235
+ Runnable serializeInputEventDocumentPayload ,
236
236
Set <Shape > documentShapesToSerialize
237
237
) {
238
238
String methodName = getEventSerFunctionName (context , event );
@@ -243,17 +243,17 @@ public void generateEventMarshaller(
243
243
+ " input: $T,\n "
244
244
+ " context: __SerdeContext\n "
245
245
+ "): __Message => {" , "}" , methodName , symbol , () -> {
246
- writer .openBlock ("const headers: __MessageHeaders = {" , "}" , () -> {
247
- //fix headers required by event stream
248
- writer .write ("\" :event-type\" : { type: \" string\" , value: $S }," , symbol .getName ());
249
- writer .write ("\" :message-type\" : { type: \" string\" , value: \" event\" }," );
250
- writeEventContentTypeHeader (context , event , documentContentType );
251
- });
252
- writeEventHeaders (context , event );
253
- writeEventBody (context , event , serializeInputEventDocumentPayload ,
254
- documentShapesToSerialize );
255
- writer .openBlock ("return { headers, body };" );
256
- });
246
+ writer .openBlock ("const headers: __MessageHeaders = {" , "}" , () -> {
247
+ //fix headers required by event stream
248
+ writer .write ("\" :event-type\" : { type: \" string\" , value: $S }," , symbol .getName ());
249
+ writer .write ("\" :message-type\" : { type: \" string\" , value: \" event\" }," );
250
+ writeEventContentTypeHeader (context , event , documentContentType );
251
+ });
252
+ writeEventHeaders (context , event );
253
+ writeEventBody (context , event , serializeInputEventDocumentPayload ,
254
+ documentShapesToSerialize );
255
+ writer .openBlock ("return { headers, body };" );
256
+ });
257
257
}
258
258
259
259
private void writeEventContentTypeHeader (
@@ -283,8 +283,8 @@ private Optional<MemberShape> getEventPayloadMember(StructureShape event) {
283
283
.filter (member -> member .hasTrait (EventPayloadTrait .class ))
284
284
.collect (Collectors .toList ());
285
285
return payloadMembers .isEmpty ()
286
- ? Optional .empty () // implicit payload
287
- : Optional .of (payloadMembers .get (0 ));
286
+ ? Optional .empty () // implicit payload
287
+ : Optional .of (payloadMembers .get (0 ));
288
288
}
289
289
290
290
private void writeEventHeaders (GenerationContext context , StructureShape event ) {
@@ -327,8 +327,8 @@ private String getEventHeaderType(Shape shape) {
327
327
*/
328
328
private MemberShape getExplicitEventPayloadMember (StructureShape event ) {
329
329
return event .getAllMembers ().values ().stream ()
330
- .filter (member -> member .hasTrait (EventPayloadTrait .class ))
331
- .collect (Collectors .toList ()).get (0 );
330
+ .filter (member -> member .hasTrait (EventPayloadTrait .class ))
331
+ .collect (Collectors .toList ()).get (0 );
332
332
}
333
333
334
334
private void writeEventBody (
@@ -356,7 +356,7 @@ private void writeEventBody(
356
356
serializeInputEventDocumentPayload .run ();
357
357
} else {
358
358
throw new CodegenException (String .format ("Unexpected shape type bound to event payload: `%s`" ,
359
- payloadShape .getType ()));
359
+ payloadShape .getType ()));
360
360
}
361
361
});
362
362
} else {
@@ -388,22 +388,22 @@ private void generateEventStreamDeserializer(GenerationContext context, UnionSha
388
388
+ " output: any,\n "
389
389
+ " context: $L\n "
390
390
+ "): AsyncIterable<$T> => {" , "}" , methodName , contextType , eventsUnionSymbol , () -> {
391
- writer .openBlock ("return context.eventStreamMarshaller.deserialize(" , ");" , () -> {
392
- writer .write ("output," );
393
- writer .openBlock ("async event => {" , "}" , () -> {
394
- eventsUnion .getAllMembers ().forEach ((name , member ) -> {
395
- StructureShape event = model .expectShape (member .getTarget (), StructureShape .class );
396
- writer .openBlock ("if (event[$S] != null) {" , "}" , name , () -> {
397
- writer .openBlock ("return {" , "};" , () -> {
398
- String eventDeserMethodName = getEventDeserFunctionName (context , event );
399
- writer .write ("$1L: await $2L(event[$1S], context)," , name , eventDeserMethodName );
400
- });
401
- });
391
+ writer .openBlock ("return context.eventStreamMarshaller.deserialize(" , ");" , () -> {
392
+ writer .write ("output," );
393
+ writer .openBlock ("async event => {" , "}" , () -> {
394
+ eventsUnion .getAllMembers ().forEach ((name , member ) -> {
395
+ StructureShape event = model .expectShape (member .getTarget (), StructureShape .class );
396
+ writer .openBlock ("if (event[$S] != null) {" , "}" , name , () -> {
397
+ writer .openBlock ("return {" , "};" , () -> {
398
+ String eventDeserMethodName = getEventDeserFunctionName (context , event );
399
+ writer .write ("$1L: await $2L(event[$1S], context)," , name , eventDeserMethodName );
402
400
});
403
- writer .write ("return {$$unknown: output};" );
404
401
});
405
402
});
403
+ writer .write ("return {$$unknown: output};" );
406
404
});
405
+ });
406
+ });
407
407
}
408
408
409
409
private String getDeserFunctionName (GenerationContext context , Shape shape ) {
@@ -429,15 +429,15 @@ public void generateEventUnmarshaller(
429
429
+ " output: any,\n "
430
430
+ " context: __SerdeContext\n "
431
431
+ "): Promise<$T> => {" , "}" , methodName , symbol , () -> {
432
- if (event .hasTrait (ErrorTrait .class )) {
433
- generateErrorEventUnmarshaller (context , event , errorShapesToDeserialize , isErrorCodeInBody );
434
- } else {
435
- writer .write ("const contents: $L = {} as any;" , symbol .getName ());
436
- readEventHeaders (context , event );
437
- readEventBody (context , event , eventShapesToDeserialize );
438
- writer .write ("return contents;" );
439
- }
440
- });
432
+ if (event .hasTrait (ErrorTrait .class )) {
433
+ generateErrorEventUnmarshaller (context , event , errorShapesToDeserialize , isErrorCodeInBody );
434
+ } else {
435
+ writer .write ("const contents: $L = {} as any;" , symbol .getName ());
436
+ readEventHeaders (context , event );
437
+ readEventBody (context , event , eventShapesToDeserialize );
438
+ writer .write ("return contents;" );
439
+ }
440
+ });
441
441
}
442
442
443
443
// Writes function content that unmarshall error event with error deserializer
0 commit comments