From 101ff9926ab1f475c3b03fde62c59a2bdc1b9ca7 Mon Sep 17 00:00:00 2001 From: George Fu Date: Wed, 28 Feb 2024 16:13:09 +0000 Subject: [PATCH] chore(codegen): add _json fn import to call site --- .../codegen/visitor/MemberDeserVisitor.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/visitor/MemberDeserVisitor.java b/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/visitor/MemberDeserVisitor.java index 07f088934ed15..38d5f9d837cf5 100644 --- a/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/visitor/MemberDeserVisitor.java +++ b/codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/visitor/MemberDeserVisitor.java @@ -53,6 +53,7 @@ public class MemberDeserVisitor implements ShapeVisitor { protected GenerationContext context; protected String dataSource; protected TimestampFormatTrait.Format defaultTimestampFormat; + protected boolean disableDeserializationFunctionElision; public MemberDeserVisitor( GenerationContext context, @@ -63,6 +64,11 @@ public MemberDeserVisitor( this.defaultTimestampFormat = defaultTimestampFormat; this.serdeElisionIndex = SerdeElisionIndex.of(context.getModel()); this.context = context; + disableDeserializationFunctionElision = DeserializerElisionDenyList.SDK_IDS.contains( + context.getService().getTrait(ServiceTrait.class) + .map(ServiceTrait::getSdkId) + .orElse(null) + ); } @Override @@ -251,15 +257,11 @@ protected String getDelegateDeserializer(Shape shape) { protected String getDelegateDeserializer(Shape shape, String customDataSource) { // Use the shape for the function name. Symbol symbol = context.getSymbolProvider().toSymbol(shape); - boolean disableDeserializationFunctionElision = DeserializerElisionDenyList.SDK_IDS.contains( - context.getService().getTrait(ServiceTrait.class) - .map(ServiceTrait::getSdkId) - .orElse(null) - ); if (serdeElisionEnabled && !disableDeserializationFunctionElision && serdeElisionIndex.mayElide(shape)) { + context.getWriter().addImport("_json", null, TypeScriptDependency.AWS_SMITHY_CLIENT); return "_json(" + customDataSource + ")"; }