diff --git a/.changeset/rich-turtles-relate.md b/.changeset/rich-turtles-relate.md new file mode 100644 index 00000000000..a845151cc84 --- /dev/null +++ b/.changeset/rich-turtles-relate.md @@ -0,0 +1,2 @@ +--- +--- diff --git a/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/StructuredMemberWriter.java b/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/StructuredMemberWriter.java index 58f494fce9d..bdc727be080 100644 --- a/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/StructuredMemberWriter.java +++ b/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/StructuredMemberWriter.java @@ -611,7 +611,10 @@ private void writeConstraintValidatorType(TypeScriptWriter writer, Shape shape) Shape collectionMemberTargetShape = model.expectShape(collectionMemberShape.getTarget()); writer.writeInline("Iterable<$T>", getSymbolForValidatedType(collectionMemberTargetShape)); } else if (shape.isMapShape()) { - writer.writeInline("Record", getSymbolForValidatedType(((MapShape) shape).getValue())); + writer.writeInline("Record<$T, $T>", + getSymbolForValidatedType(((MapShape) shape).getKey()), + getSymbolForValidatedType(((MapShape) shape).getValue()) + ); } else if (shape instanceof SimpleShape) { writer.writeInline("$T", getSymbolForValidatedType(shape)); } else { diff --git a/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/SymbolVisitor.java b/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/SymbolVisitor.java index d8f940c8943..2e43aeb027c 100644 --- a/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/SymbolVisitor.java +++ b/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/SymbolVisitor.java @@ -193,9 +193,10 @@ public Symbol setShape(SetShape shape) { */ @Override public Symbol mapShape(MapShape shape) { - Symbol reference = toSymbol(shape.getValue()); - return createSymbolBuilder(shape, format("Record", reference.getName()), null) - .addReference(reference) + Symbol key = toSymbol(shape.getKey()); + Symbol value = toSymbol(shape.getValue()); + return createSymbolBuilder(shape, format("Record<%s, %s>", key.getName(), value.getName()), null) + .addReference(value) .build(); }