Skip to content

Commit 90b380a

Browse files
authored
fix(codegen): do not call clear on endpoints param name map (#4164)
1 parent dc8048d commit 90b380a

File tree

1 file changed

+34
-12
lines changed

1 file changed

+34
-12
lines changed

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AddEndpointsV2ParameterNameMap.java

Lines changed: 34 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,25 +15,47 @@
1515

1616
package software.amazon.smithy.aws.typescript.codegen;
1717

18+
import java.util.Map;
19+
import software.amazon.smithy.model.Model;
20+
import software.amazon.smithy.typescript.codegen.TypeScriptCodegenContext;
21+
import software.amazon.smithy.typescript.codegen.TypeScriptSettings;
1822
import software.amazon.smithy.typescript.codegen.endpointsV2.EndpointsParamNameMap;
1923
import software.amazon.smithy.typescript.codegen.integration.TypeScriptIntegration;
2024
import software.amazon.smithy.utils.MapUtils;
2125
import software.amazon.smithy.utils.SmithyInternalApi;
2226

27+
2328
@SmithyInternalApi
2429
public class AddEndpointsV2ParameterNameMap implements TypeScriptIntegration {
30+
public static final Map<String, String> NAME_MAP = MapUtils.of(
31+
"Region", "region",
32+
"UseFIPS", "useFipsEndpoint",
33+
"UseDualStack", "useDualstackEndpoint",
34+
"ForcePathStyle", "forcePathStyle",
35+
"Accelerate", "useAccelerateEndpoint",
36+
"DisableMRAP", "disableMultiregionAccessPoints",
37+
"DisableMultiRegionAccessPoints", "disableMultiregionAccessPoints",
38+
"UseArnRegion", "useArnRegion",
39+
"Endpoint", "endpoint",
40+
"UseGlobalEndpoint", "useGlobalEndpoint"
41+
);
42+
2543
public AddEndpointsV2ParameterNameMap() {
26-
EndpointsParamNameMap.setNameMapping(MapUtils.of(
27-
"Region", "region",
28-
"UseFIPS", "useFipsEndpoint",
29-
"UseDualStack", "useDualstackEndpoint",
30-
"ForcePathStyle", "forcePathStyle",
31-
"Accelerate", "useAccelerateEndpoint",
32-
"DisableMRAP", "disableMultiregionAccessPoints",
33-
"DisableMultiRegionAccessPoints", "disableMultiregionAccessPoints",
34-
"UseArnRegion", "useArnRegion",
35-
"Endpoint", "endpoint",
36-
"UseGlobalEndpoint", "useGlobalEndpoint"
37-
));
44+
setParameterNameMapForAws();
45+
}
46+
47+
@Override
48+
public Model preprocessModel(Model model, TypeScriptSettings settings) {
49+
setParameterNameMapForAws();
50+
return TypeScriptIntegration.super.preprocessModel(model, settings);
51+
}
52+
53+
@Override
54+
public void customize(TypeScriptCodegenContext codegenContext) {
55+
setParameterNameMapForAws();
56+
}
57+
58+
private static void setParameterNameMapForAws() {
59+
EndpointsParamNameMap.addNameMapping(NAME_MAP);
3860
}
3961
}

0 commit comments

Comments
 (0)