[typescript-fetch] Fixed issue where unique arrays (sets) of primitive values aren't initialized properly (#19521)

* Fix for https://github.com/OpenAPITools/openapi-generator/issues/19520

* Removed redundant Array<any> cast

* Fixed modelGeneric.mustache

* Updated samples
This commit is contained in:
David Omid 2024-09-05 14:43:34 +01:00 committed by GitHub
parent 2f54a2fb11
commit 2bc0e5f745
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 13 additions and 3 deletions

View File

@ -55,6 +55,15 @@ export function {{classname}}FromJSONTyped(json: any, ignoreDiscriminator: boole
{{/additionalPropertiesType}}
{{#vars}}
{{#isPrimitiveType}}
{{#isArray}}
{{#uniqueItems}}
'{{name}}': {{^required}}json['{{baseName}}'] == null ? undefined : {{/required}}{{#required}}{{#isNullable}}json['{{baseName}}'] == null ? null : {{/isNullable}}{{/required}}new Set(json['{{baseName}}']),
{{/uniqueItems}}
{{^uniqueItems}}
'{{name}}': {{^required}}json['{{baseName}}'] == null ? undefined : {{/required}}{{#required}}{{#isNullable}}json['{{baseName}}'] == null ? null : {{/isNullable}}{{/required}}json['{{baseName}}'],
{{/uniqueItems}}
{{/isArray}}
{{^isArray}}
{{#isDateType}}
'{{name}}': {{^required}}json['{{baseName}}'] == null ? undefined : {{/required}}({{#required}}{{#isNullable}}json['{{baseName}}'] == null ? null : {{/isNullable}}{{/required}}new Date(json['{{baseName}}'])),
{{/isDateType}}
@ -66,6 +75,7 @@ export function {{classname}}FromJSONTyped(json: any, ignoreDiscriminator: boole
'{{name}}': {{^required}}json['{{baseName}}'] == null ? undefined : {{/required}}json['{{baseName}}'],
{{/isDateTimeType}}
{{/isDateType}}
{{/isArray}}
{{/isPrimitiveType}}
{{^isPrimitiveType}}
{{#isArray}}

View File

@ -106,7 +106,7 @@ export function PetFromJSONTyped(json: any, ignoreDiscriminator: boolean): Pet {
'id': json['id'] == null ? undefined : json['id'],
'category': json['category'] == null ? undefined : CategoryFromJSON(json['category']),
'name': json['name'],
'photoUrls': json['photoUrls'],
'photoUrls': new Set(json['photoUrls']),
'tags': json['tags'] == null ? undefined : ((json['tags'] as Array<any>).map(TagFromJSON)),
'status': json['status'] == null ? undefined : json['status'],
};

View File

@ -106,7 +106,7 @@ export function PetFromJSONTyped(json: any, ignoreDiscriminator: boolean): Pet {
'id': json['id'] == null ? undefined : json['id'],
'category': json['category'] == null ? undefined : CategoryFromJSON(json['category']),
'name': json['name'],
'photoUrls': json['photoUrls'],
'photoUrls': new Set(json['photoUrls']),
'tags': json['tags'] == null ? undefined : ((json['tags'] as Array<any>).map(TagFromJSON)),
'status': json['status'] == null ? undefined : json['status'],
};

View File

@ -107,7 +107,7 @@ export function PetFromJSONTyped(json: any, ignoreDiscriminator: boolean): Pet {
'id': json['id'] == null ? undefined : json['id'],
'category': json['category'] == null ? undefined : CategoryFromJSON(json['category']),
'name': json['name'],
'photoUrls': json['photoUrls'],
'photoUrls': new Set(json['photoUrls']),
'tags': json['tags'] == null ? undefined : ((json['tags'] as Array<any>).map(TagFromJSON)),
'status': json['status'] == null ? undefined : json['status'],
};