From a60100245135a4591e99637f2de4d474cc4c539b Mon Sep 17 00:00:00 2001 From: Kuzma <57258237+ksvirkou-hubspot@users.noreply.github.com> Date: Wed, 22 Mar 2023 17:19:17 +0300 Subject: [PATCH] [Typescript] Nullable (#15026) --- .../codegen/languages/TypeScriptClientCodegen.java | 6 +++++- .../src/main/resources/typescript/model/model.mustache | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java index 64a8f256e3a8..d346d9030635 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptClientCodegen.java @@ -887,7 +887,11 @@ public class TypeScriptClientCodegen extends DefaultCodegen implements CodegenCo return this.getSchemaType(p) + "<" + this.getTypeDeclaration(unaliasSchema(inner)) + ">"; } else if (ModelUtils.isMapSchema(p)) { inner = getSchemaAdditionalProperties(p); - return "{ [key: string]: " + this.getTypeDeclaration(unaliasSchema(inner)) + "; }"; + String postfix = ""; + if (Boolean.TRUE.equals(inner.getNullable())) { + postfix = " | null"; + } + return "{ [key: string]: " + this.getTypeDeclaration(unaliasSchema(inner)) + postfix + "; }"; } else if (ModelUtils.isFileSchema(p)) { return "HttpFile"; } else if (ModelUtils.isBinarySchema(p)) { diff --git a/modules/openapi-generator/src/main/resources/typescript/model/model.mustache b/modules/openapi-generator/src/main/resources/typescript/model/model.mustache index bff4adc5f799..20782a320a04 100644 --- a/modules/openapi-generator/src/main/resources/typescript/model/model.mustache +++ b/modules/openapi-generator/src/main/resources/typescript/model/model.mustache @@ -19,7 +19,7 @@ export class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{ * {{{.}}} */ {{/description}} - '{{name}}'{{^required}}?{{/required}}: {{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}; + '{{name}}'{{^required}}?{{/required}}: {{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{#isNullable}} | null{{/isNullable}}; {{/vars}} {{#discriminator}}