@@ -262,21 +262,20 @@ public Void serviceShape(ServiceShape shape) {
262
262
263
263
if (protocolGenerator != null ) {
264
264
LOGGER .info ("Generating serde for protocol " + protocolGenerator .getName () + " on " + shape .getId ());
265
- String fileRoot = "protocols/" + ProtocolGenerator .getSanitizedName (protocolGenerator .getName ());
266
- String namespace = "./" + fileRoot ;
267
- TypeScriptWriter writer = new TypeScriptWriter (namespace );
268
- ProtocolGenerator .GenerationContext context = new ProtocolGenerator .GenerationContext ();
269
- context .setProtocolName (protocolGenerator .getName ());
270
- context .setIntegrations (integrations );
271
- context .setModel (model );
272
- context .setService (shape );
273
- context .setSettings (settings );
274
- context .setSymbolProvider (symbolProvider );
275
- context .setWriter (writer );
276
- protocolGenerator .generateRequestSerializers (context );
277
- protocolGenerator .generateResponseDeserializers (context );
278
- protocolGenerator .generateSharedComponents (context );
279
- fileManifest .writeFile (fileRoot + ".ts" , writer .toString ());
265
+ String fileName = "protocols/" + ProtocolGenerator .getSanitizedName (protocolGenerator .getName ()) + ".ts" ;
266
+ writers .useFileWriter (fileName , writer -> {
267
+ ProtocolGenerator .GenerationContext context = new ProtocolGenerator .GenerationContext ();
268
+ context .setProtocolName (protocolGenerator .getName ());
269
+ context .setIntegrations (integrations );
270
+ context .setModel (model );
271
+ context .setService (shape );
272
+ context .setSettings (settings );
273
+ context .setSymbolProvider (symbolProvider );
274
+ context .setWriter (writer );
275
+ protocolGenerator .generateRequestSerializers (context );
276
+ protocolGenerator .generateResponseDeserializers (context );
277
+ protocolGenerator .generateSharedComponents (context );
278
+ });
280
279
}
281
280
282
281
return null ;
0 commit comments