From c6466c58ec233f586f1a09cb930a4e5befac3a35 Mon Sep 17 00:00:00 2001 From: George Fu Date: Wed, 26 Nov 2025 13:41:48 -0500 Subject: [PATCH] fix(codegen): omit unnamed enums in runtime object test --- .../codegen/PackageApiValidationGenerator.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/PackageApiValidationGenerator.java b/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/PackageApiValidationGenerator.java index 6a6ee544074..fad677fe5c1 100644 --- a/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/PackageApiValidationGenerator.java +++ b/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/PackageApiValidationGenerator.java @@ -15,6 +15,7 @@ import software.amazon.smithy.model.knowledge.TopDownIndex; import software.amazon.smithy.model.shapes.OperationShape; import software.amazon.smithy.model.shapes.Shape; +import software.amazon.smithy.model.traits.EnumTrait; import software.amazon.smithy.typescript.codegen.knowledge.ServiceClosure; import software.amazon.smithy.utils.SmithyInternalApi; @@ -134,7 +135,16 @@ public void writeRuntimeIndexTest() { } // enums - TreeSet enumShapes = serviceClosure.getEnums(); + + // string shapes with enum trait do not generate anything if + // any enum value does not have a name. + TreeSet enumShapes = serviceClosure.getEnums().stream() + .filter(shape -> shape + .getTrait(EnumTrait.class) + .map(EnumTrait::hasNames) + .orElse(true)) + .collect(TreeSet::new, Set::add, Set::addAll); + if (!enumShapes.isEmpty()) { writer.write("// enums"); }