Skip to content

Commit 568d717

Browse files
authored
Add 'uuid' import only when necessary (#1708)
1 parent db1947f commit 568d717

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

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

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -873,13 +873,15 @@ private void writeRequestQueryParam(
873873
Shape target = model.expectShape(binding.getMember().getTarget());
874874

875875
boolean isIdempotencyToken = binding.getMember().hasTrait(IdempotencyTokenTrait.class);
876-
if (isIdempotencyToken) {
876+
boolean isRequired = binding.getMember().isRequired();
877+
878+
String idempotencyComponent = "";
879+
if (isIdempotencyToken && !isRequired) {
877880
writer
878881
.addDependency(TypeScriptDependency.UUID_TYPES)
879882
.addImport("v4", "generateIdempotencyToken", TypeScriptDependency.UUID);
883+
idempotencyComponent = " ?? generateIdempotencyToken()";
880884
}
881-
boolean isRequired = binding.getMember().isRequired();
882-
String idempotencyComponent = (isIdempotencyToken && !isRequired) ? " ?? generateIdempotencyToken()" : "";
883885
String memberAssertionComponent = (idempotencyComponent.isEmpty() ? "!" : "");
884886

885887
String queryValue = getInputValue(
@@ -1004,24 +1006,22 @@ private void writeNormalHeader(GenerationContext context, HttpBinding binding) {
10041006
binding.getMember(),
10051007
target
10061008
);
1007-
boolean isIdempotencyToken = binding.getMember().hasTrait(IdempotencyTokenTrait.class);
1008-
if (isIdempotencyToken) {
1009-
context.getWriter()
1010-
.addDependency(TypeScriptDependency.UUID_TYPES)
1011-
.addImport("v4", "generateIdempotencyToken", TypeScriptDependency.UUID);
1012-
}
10131009

10141010
boolean headerAssertion = headerValue.endsWith("!");
10151011
String headerBaseValue = (headerAssertion
10161012
? headerValue.substring(0, headerValue.length() - 1)
10171013
: headerValue);
1014+
boolean isIdempotencyToken = binding.getMember().hasTrait(IdempotencyTokenTrait.class);
10181015

10191016
if (!Objects.equals(memberLocation + "!", headerValue)) {
10201017
String defaultValue = "";
10211018
if (headerBuffer.containsKey(headerKey)) {
10221019
String s = headerBuffer.get(headerKey);
10231020
defaultValue = " || " + s.substring(s.indexOf(": ") + 2, s.length() - 1);
10241021
} else if (isIdempotencyToken) {
1022+
context.getWriter()
1023+
.addDependency(TypeScriptDependency.UUID_TYPES)
1024+
.addImport("v4", "generateIdempotencyToken", TypeScriptDependency.UUID);
10251025
defaultValue = " ?? generateIdempotencyToken()";
10261026
}
10271027

@@ -1046,6 +1046,9 @@ private void writeNormalHeader(GenerationContext context, HttpBinding binding) {
10461046
String s = headerBuffer.get(headerKey);
10471047
constructedHeaderValue += " || " + s.substring(s.indexOf(": ") + 2, s.length() - 1);
10481048
} else if (isIdempotencyToken) {
1049+
context.getWriter()
1050+
.addDependency(TypeScriptDependency.UUID_TYPES)
1051+
.addImport("v4", "generateIdempotencyToken", TypeScriptDependency.UUID);
10491052
constructedHeaderValue += " ?? generateIdempotencyToken()";
10501053
} else {
10511054
constructedHeaderValue = headerValue;

0 commit comments

Comments
 (0)