Skip to content

Commit 12ab7e2

Browse files
gbrown-cewing328
authored andcommitted
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)
1 parent e23b2f6 commit 12ab7e2

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractTypeScriptClientCodegen.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,9 @@ public AbstractTypeScriptClientCodegen() {
4848
importMapping.clear();
4949

5050
supportsInheritance = true;
51-
setReservedWordsLowerCase(Arrays.asList(
51+
52+
// NOTE: TypeScript uses camel cased reserved words, while models are title cased. We don't want lowercase comparisons.
53+
reservedWords.addAll(Arrays.asList(
5254
// local variable names used in API methods (endpoints)
5355
"varLocalPath", "queryParameters", "headerParams", "formParams", "useFormData", "varLocalDeferred",
5456
"requestOptions",
@@ -344,6 +346,12 @@ public String toDefaultValue(Schema p) {
344346
}
345347

346348
}
349+
350+
@Override
351+
protected boolean isReservedWord(String word) {
352+
// NOTE: This differs from super's implementation in that TypeScript does _not_ want case insensitive matching.
353+
return reservedWords.contains(word);
354+
}
347355

348356
@Override
349357
public String getSchemaType(Schema p) {

0 commit comments

Comments
 (0)