Skip to content

Commit ed8b68d

Browse files
committed
chore(codegen): add uuid import close to usage
1 parent 6800db7 commit ed8b68d

File tree

7 files changed

+16
-28
lines changed

7 files changed

+16
-28
lines changed

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AwsEc2.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,6 @@ public void generateSharedComponents(GenerationContext context) {
104104
AwsProtocolUtils.generateXmlParseBody(context);
105105
AwsProtocolUtils.generateXmlParseErrorBody(context);
106106
AwsProtocolUtils.generateBuildFormUrlencodedString(context);
107-
AwsProtocolUtils.addItempotencyAutofillImport(context);
108107

109108
TypeScriptWriter writer = context.getWriter();
110109

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AwsProtocolUtils.java

Lines changed: 4 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -238,29 +238,6 @@ static boolean writeXmlNamespace(GenerationContext context, Shape shape, String
238238
return true;
239239
}
240240

241-
/**
242-
* Imports a UUID v4 generating function used for auto-filling idempotency tokens.
243-
*
244-
* @param context The generation context.
245-
*/
246-
static void addItempotencyAutofillImport(GenerationContext context) {
247-
// servers do not autogenerate idempotency tokens during deserialization
248-
if (!context.getSettings().generateClient()) {
249-
return;
250-
}
251-
context.getModel().shapes(MemberShape.class)
252-
.filter(memberShape -> memberShape.hasTrait(IdempotencyTokenTrait.class))
253-
.findFirst()
254-
.ifPresent(memberShape -> {
255-
TypeScriptWriter writer = context.getWriter();
256-
257-
// Include the uuid package and import the v4 function as our more clearly named alias.
258-
writer.addDependency(TypeScriptDependency.UUID);
259-
writer.addDependency(TypeScriptDependency.UUID_TYPES);
260-
writer.addImport("v4", "generateIdempotencyToken", TypeScriptDependency.UUID);
261-
});
262-
}
263-
264241
/**
265242
* Writes a statement that auto-fills the value of a member that is an idempotency
266243
* token if it is undefined at the time of serialization.
@@ -273,6 +250,10 @@ static void writeIdempotencyAutofill(GenerationContext context, MemberShape memb
273250
if (memberShape.hasTrait(IdempotencyTokenTrait.class)) {
274251
TypeScriptWriter writer = context.getWriter();
275252

253+
writer.addDependency(TypeScriptDependency.UUID);
254+
writer.addDependency(TypeScriptDependency.UUID_TYPES);
255+
writer.addImport("v4", "generateIdempotencyToken", TypeScriptDependency.UUID);
256+
276257
writer.openBlock("if ($L === undefined) {", "}", inputLocation, () ->
277258
writer.write("$L = generateIdempotencyToken();", inputLocation));
278259
}

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AwsQuery.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,6 @@ public void generateSharedComponents(GenerationContext context) {
109109
AwsProtocolUtils.generateXmlParseBody(context);
110110
AwsProtocolUtils.generateXmlParseErrorBody(context);
111111
AwsProtocolUtils.generateBuildFormUrlencodedString(context);
112-
AwsProtocolUtils.addItempotencyAutofillImport(context);
113112

114113
TypeScriptWriter writer = context.getWriter();
115114

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AwsRestXml.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,6 @@ public void generateSharedComponents(GenerationContext context) {
104104
super.generateSharedComponents(context);
105105
AwsProtocolUtils.generateXmlParseBody(context);
106106
AwsProtocolUtils.generateXmlParseErrorBody(context);
107-
AwsProtocolUtils.addItempotencyAutofillImport(context);
108107

109108
TypeScriptWriter writer = context.getWriter();
110109
writer.addDependency(AwsDependency.XML_BUILDER);

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/JsonRpcProtocolGenerator.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ public void generateSharedComponents(GenerationContext context) {
6464
super.generateSharedComponents(context);
6565
AwsProtocolUtils.generateJsonParseBody(context);
6666
AwsProtocolUtils.generateJsonParseErrorBody(context);
67-
AwsProtocolUtils.addItempotencyAutofillImport(context);
6867

6968
TypeScriptWriter writer = context.getWriter();
7069
writer.addUseImports(getApplicationProtocol().getResponseType());

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/JsonShapeSerVisitor.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,9 @@ public void serializeStructure(GenerationContext context, StructureShape shape)
170170

171171
if (hasJsonName) {
172172
if (memberShape.hasTrait(IdempotencyTokenTrait.class)) {
173+
writer.addDependency(TypeScriptDependency.UUID);
174+
writer.addDependency(TypeScriptDependency.UUID_TYPES);
175+
writer.addImport("v4", "generateIdempotencyToken", TypeScriptDependency.UUID);
173176
writer.write("'$L': [true, _ => _ ?? generateIdempotencyToken(), `$L`],", wireName, memberName);
174177
} else {
175178
if (valueProvider.equals("_ => _")) {
@@ -183,6 +186,9 @@ public void serializeStructure(GenerationContext context, StructureShape shape)
183186
}
184187
} else {
185188
if (memberShape.hasTrait(IdempotencyTokenTrait.class)) {
189+
writer.addDependency(TypeScriptDependency.UUID);
190+
writer.addDependency(TypeScriptDependency.UUID_TYPES);
191+
writer.addImport("v4", "generateIdempotencyToken", TypeScriptDependency.UUID);
186192
writer.write("'$L': [true, _ => _ ?? generateIdempotencyToken()],", memberName);
187193
} else {
188194
if (valueProvider.equals("_ => _")) {

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/RestJsonProtocolGenerator.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ public void generateSharedComponents(GenerationContext context) {
8383
super.generateSharedComponents(context);
8484
AwsProtocolUtils.generateJsonParseBody(context);
8585
AwsProtocolUtils.generateJsonParseErrorBody(context);
86-
AwsProtocolUtils.addItempotencyAutofillImport(context);
8786

8887
TypeScriptWriter writer = context.getWriter();
8988
writer.addUseImports(getApplicationProtocol().getResponseType());
@@ -351,6 +350,9 @@ private void serializeDocumentBody(GenerationContext context, List<HttpBinding>
351350

352351
if (hasJsonName) {
353352
if (memberShape.hasTrait(IdempotencyTokenTrait.class)) {
353+
writer.addDependency(TypeScriptDependency.UUID);
354+
writer.addDependency(TypeScriptDependency.UUID_TYPES);
355+
writer.addImport("v4", "generateIdempotencyToken", TypeScriptDependency.UUID);
354356
writer.write("'$L': [true,_ => _ ?? generateIdempotencyToken(),`$L`],",
355357
wireName, memberName);
356358
} else {
@@ -362,6 +364,9 @@ private void serializeDocumentBody(GenerationContext context, List<HttpBinding>
362364
}
363365
} else {
364366
if (memberShape.hasTrait(IdempotencyTokenTrait.class)) {
367+
writer.addDependency(TypeScriptDependency.UUID);
368+
writer.addDependency(TypeScriptDependency.UUID_TYPES);
369+
writer.addImport("v4", "generateIdempotencyToken", TypeScriptDependency.UUID);
365370
writer.write("'$L': [true, _ => _ ?? generateIdempotencyToken()],", wireName);
366371
} else {
367372
if (valueProvider.equals("_ => _")) {

0 commit comments

Comments
 (0)