Skip to content

Commit 89ff905

Browse files
committed
feat(enums): generate enum Record keys when target is enum
1 parent d7f5cda commit 89ff905

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/StructuredMemberWriter.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -611,7 +611,10 @@ private void writeConstraintValidatorType(TypeScriptWriter writer, Shape shape)
611611
Shape collectionMemberTargetShape = model.expectShape(collectionMemberShape.getTarget());
612612
writer.writeInline("Iterable<$T>", getSymbolForValidatedType(collectionMemberTargetShape));
613613
} else if (shape.isMapShape()) {
614-
writer.writeInline("Record<string, $T>", getSymbolForValidatedType(((MapShape) shape).getValue()));
614+
writer.writeInline("Record<$T, $T>",
615+
getSymbolForValidatedType(((MapShape) shape).getKey()),
616+
getSymbolForValidatedType(((MapShape) shape).getValue())
617+
);
615618
} else if (shape instanceof SimpleShape) {
616619
writer.writeInline("$T", getSymbolForValidatedType(shape));
617620
} else {

smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/SymbolVisitor.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -193,9 +193,10 @@ public Symbol setShape(SetShape shape) {
193193
*/
194194
@Override
195195
public Symbol mapShape(MapShape shape) {
196-
Symbol reference = toSymbol(shape.getValue());
197-
return createSymbolBuilder(shape, format("Record<string, %s>", reference.getName()), null)
198-
.addReference(reference)
196+
Symbol key = toSymbol(shape.getKey());
197+
Symbol value = toSymbol(shape.getValue());
198+
return createSymbolBuilder(shape, format("Record<%s, %s>", key.getName(), value.getName()), null)
199+
.addReference(value)
199200
.build();
200201
}
201202

0 commit comments

Comments
 (0)