diff --git a/modules/openapi-generator/src/main/resources/typescript-fetch/modelGeneric.mustache b/modules/openapi-generator/src/main/resources/typescript-fetch/modelGeneric.mustache index 803b27608ea1..8e68702cd942 100644 --- a/modules/openapi-generator/src/main/resources/typescript-fetch/modelGeneric.mustache +++ b/modules/openapi-generator/src/main/resources/typescript-fetch/modelGeneric.mustache @@ -54,6 +54,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}} @@ -65,6 +74,7 @@ export function {{classname}}FromJSONTyped(json: any, ignoreDiscriminator: boole '{{name}}': {{^required}}json['{{baseName}}'] == null ? undefined : {{/required}}json['{{baseName}}'], {{/isDateTimeType}} {{/isDateType}} + {{/isArray}} {{/isPrimitiveType}} {{^isPrimitiveType}} {{#isArray}} diff --git a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Pet.ts index f2ad3c1ee466..d87ecc823329 100644 --- a/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/default-v3.0/models/Pet.ts @@ -104,7 +104,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).map(TagFromJSON)), 'status': json['status'] == null ? undefined : json['status'], }; diff --git a/samples/client/petstore/typescript-fetch/builds/snakecase-discriminator/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/snakecase-discriminator/models/Pet.ts index f2ad3c1ee466..d87ecc823329 100644 --- a/samples/client/petstore/typescript-fetch/builds/snakecase-discriminator/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/snakecase-discriminator/models/Pet.ts @@ -104,7 +104,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).map(TagFromJSON)), 'status': json['status'] == null ? undefined : json['status'], }; diff --git a/samples/client/petstore/typescript-fetch/builds/validation-attributes/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/validation-attributes/models/Pet.ts index a26542a5d5e1..00d42907cb4e 100644 --- a/samples/client/petstore/typescript-fetch/builds/validation-attributes/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/validation-attributes/models/Pet.ts @@ -105,7 +105,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).map(TagFromJSON)), 'status': json['status'] == null ? undefined : json['status'], };