From 12ab7e27521dce18b7fb27e40ce2eb636f4fac29 Mon Sep 17 00:00:00 2001 From: Geoff Brown Date: Thu, 21 Jun 2018 05:34:22 -0400 Subject: [PATCH] Use case sensitivity when checking reserved words (PHNX-1040) (#3) (#351) Motivation ------------- Open API generator previously wasn't case sensitive when checking for reserved words in the typescript generator. This will allow us to have the "Package" model in ProductCatalogs without needing to rename anything. Modifications ------------------ Duplicated the C# logic for reserved words (per the @jimschubert from openapitools' suggestion) --- .../languages/AbstractTypeScriptClientCodegen.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java index 7f2801a7be3..850b3205f26 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java @@ -48,7 +48,9 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp importMapping.clear(); supportsInheritance = true; - setReservedWordsLowerCase(Arrays.asList( + + // NOTE: TypeScript uses camel cased reserved words, while models are title cased. We don't want lowercase comparisons. + reservedWords.addAll(Arrays.asList( // local variable names used in API methods (endpoints) "varLocalPath", "queryParameters", "headerParams", "formParams", "useFormData", "varLocalDeferred", "requestOptions", @@ -344,6 +346,12 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp } } + + @Override + protected boolean isReservedWord(String word) { + // NOTE: This differs from super's implementation in that TypeScript does _not_ want case insensitive matching. + return reservedWords.contains(word); + } @Override public String getSchemaType(Schema p) {