Skip to content

Commit 65c3126

Browse files
authored
fix(typescript-fetch): Use null as a value when the date value is nullable (#21133)
* fix use null when available for dates * generated typescript-fetch-default-v3.0 sample * ran all typescript examples
1 parent 29b6b77 commit 65c3126

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

modules/openapi-generator/src/main/resources/typescript-fetch/modelGeneric.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,10 +140,10 @@ export function {{classname}}ToJSONTyped(value?: {{#hasReadOnly}}Omit<{{classnam
140140
{{^isReadOnly}}
141141
{{#isPrimitiveType}}
142142
{{#isDateType}}
143-
'{{baseName}}': {{^required}}value['{{name}}'] == null ? undefined : {{/required}}({{#required}}{{#isNullable}}value['{{name}}'] == null ? null : {{/isNullable}}{{/required}}(value['{{name}}']{{#isNullable}} as any{{/isNullable}}).toISOString().substring(0,10)),
143+
'{{baseName}}': {{^required}}{{#isNullable}}value['{{name}}'] === null ? null : {{/isNullable}}{{^isNullable}}value['{{name}}'] == null ? undefined : {{/isNullable}}{{/required}}((value['{{name}}']{{#isNullable}} as any{{/isNullable}}){{^required}}{{#isNullable}}?{{/isNullable}}{{/required}}.toISOString().substring(0,10)),
144144
{{/isDateType}}
145145
{{#isDateTimeType}}
146-
'{{baseName}}': {{^required}}value['{{name}}'] == null ? undefined : {{/required}}({{#required}}{{#isNullable}}value['{{name}}'] == null ? null : {{/isNullable}}{{/required}}(value['{{name}}']{{#isNullable}} as any{{/isNullable}}).toISOString()),
146+
'{{baseName}}': {{^required}}{{#isNullable}}value['{{name}}'] === null ? null : {{/isNullable}}{{^isNullable}}value['{{name}}'] == null ? undefined : {{/isNullable}}{{/required}}((value['{{name}}']{{#isNullable}} as any{{/isNullable}}){{^required}}{{#isNullable}}?{{/isNullable}}{{/required}}.toISOString()),
147147
{{/isDateTimeType}}
148148
{{#isArray}}
149149
'{{baseName}}': {{#uniqueItems}}{{^required}}value['{{name}}'] == null ? undefined : {{/required}}{{#required}}{{#isNullable}}value['{{name}}'] == null ? null : {{/isNullable}}{{/required}}Array.from(value['{{name}}'] as Set<any>){{/uniqueItems}}{{^uniqueItems}}value['{{name}}']{{/uniqueItems}},

samples/client/petstore/typescript-fetch/builds/default-v3.0/models/NullableClass.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,8 @@ export function NullableClassToJSONTyped(value?: NullableClass | null, ignoreDis
143143
'number_prop': value['numberProp'],
144144
'boolean_prop': value['booleanProp'],
145145
'string_prop': value['stringProp'],
146-
'date_prop': value['dateProp'] == null ? undefined : ((value['dateProp'] as any).toISOString().substring(0,10)),
147-
'datetime_prop': value['datetimeProp'] == null ? undefined : ((value['datetimeProp'] as any).toISOString()),
146+
'date_prop': value['dateProp'] === null ? null : ((value['dateProp'] as any)?.toISOString().substring(0,10)),
147+
'datetime_prop': value['datetimeProp'] === null ? null : ((value['datetimeProp'] as any)?.toISOString()),
148148
'array_nullable_prop': value['arrayNullableProp'],
149149
'array_and_items_nullable_prop': value['arrayAndItemsNullableProp'],
150150
'array_items_nullable': value['arrayItemsNullable'],

samples/client/petstore/typescript-fetch/builds/snakecase-discriminator/models/NullableClass.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,8 @@ export function NullableClassToJSONTyped(value?: NullableClass | null, ignoreDis
143143
'number_prop': value['numberProp'],
144144
'boolean_prop': value['booleanProp'],
145145
'string_prop': value['stringProp'],
146-
'date_prop': value['dateProp'] == null ? undefined : ((value['dateProp'] as any).toISOString().substring(0,10)),
147-
'datetime_prop': value['datetimeProp'] == null ? undefined : ((value['datetimeProp'] as any).toISOString()),
146+
'date_prop': value['dateProp'] === null ? null : ((value['dateProp'] as any)?.toISOString().substring(0,10)),
147+
'datetime_prop': value['datetimeProp'] === null ? null : ((value['datetimeProp'] as any)?.toISOString()),
148148
'array_nullable_prop': value['arrayNullableProp'],
149149
'array_and_items_nullable_prop': value['arrayAndItemsNullableProp'],
150150
'array_items_nullable': value['arrayItemsNullable'],

0 commit comments

Comments
 (0)