diff --git a/modules/openapi-generator/src/main/resources/typescript-fetch/modelEnum.mustache b/modules/openapi-generator/src/main/resources/typescript-fetch/modelEnum.mustache index f3ded52fdb5..0db1d9a5a80 100644 --- a/modules/openapi-generator/src/main/resources/typescript-fetch/modelEnum.mustache +++ b/modules/openapi-generator/src/main/resources/typescript-fetch/modelEnum.mustache @@ -12,6 +12,10 @@ export enum {{classname}} { } export function {{classname}}FromJSON(json: any): {{classname}} { + return {{classname}}FromJSONTyped(json, false); +} + +export function {{classname}}FromJSONTyped(json: any, ignoreDiscriminator: boolean): {{classname}} { return json as {{classname}}; } 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 89d13244397..0767831e14d 100644 --- a/modules/openapi-generator/src/main/resources/typescript-fetch/modelGeneric.mustache +++ b/modules/openapi-generator/src/main/resources/typescript-fetch/modelGeneric.mustache @@ -4,11 +4,20 @@ import { {{#imports}} {{{.}}}, {{.}}FromJSON, + {{.}}FromJSONTyped, {{.}}ToJSON, {{/imports}} } from './'; {{/hasImports}} +{{#discriminator}} +import { +{{#discriminator.mappedModels}} + {{modelName}}FromJSONTyped +{{/discriminator.mappedModels}} +} from './'; + +{{/discriminator}} /** * {{{description}}} * @export @@ -29,8 +38,25 @@ export interface {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{ } export function {{classname}}FromJSON(json: any): {{classname}} { + return {{classname}}FromJSONTyped(json, false); +} + +export function {{classname}}FromJSONTyped(json: any, ignoreDiscriminator: boolean): {{classname}} { {{#hasVars}} + if ((json === undefined) || (json === null)) { + return json; + } +{{#discriminator}} + if (!ignoreDiscriminator) { +{{#discriminator.mappedModels}} + if (json['{{discriminator.propertyName}}'] === '{{modelName}}') { + return {{modelName}}FromJSONTyped(json, true); + } +{{/discriminator.mappedModels}} + } +{{/discriminator}} return { + {{#parent}}...{{{parent}}}FromJSONTyped(json, ignoreDiscriminator),{{/parent}} {{#additionalPropertiesType}} ...json, {{/additionalPropertiesType}} @@ -79,7 +105,11 @@ export function {{classname}}ToJSON(value?: {{classname}}): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + {{#parent}}...{{{parent}}}ToJSON(value),{{/parent}} {{#additionalPropertiesType}} ...value, {{/additionalPropertiesType}} diff --git a/samples/client/petstore/typescript-fetch/builds/default/src/models/Category.ts b/samples/client/petstore/typescript-fetch/builds/default/src/models/Category.ts index f8809dccbea..0541f013a25 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/src/models/Category.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/src/models/Category.ts @@ -33,7 +33,15 @@ export interface Category { } export function CategoryFromJSON(json: any): Category { + return CategoryFromJSONTyped(json, false); +} + +export function CategoryFromJSONTyped(json: any, ignoreDiscriminator: boolean): Category { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'name': !exists(json, 'name') ? undefined : json['name'], }; @@ -43,7 +51,11 @@ export function CategoryToJSON(value?: Category): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'name': value.name, }; diff --git a/samples/client/petstore/typescript-fetch/builds/default/src/models/ModelApiResponse.ts b/samples/client/petstore/typescript-fetch/builds/default/src/models/ModelApiResponse.ts index 8b8e2c45fec..a9f1ef2fa24 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/src/models/ModelApiResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/src/models/ModelApiResponse.ts @@ -39,7 +39,15 @@ export interface ModelApiResponse { } export function ModelApiResponseFromJSON(json: any): ModelApiResponse { + return ModelApiResponseFromJSONTyped(json, false); +} + +export function ModelApiResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ModelApiResponse { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'code': !exists(json, 'code') ? undefined : json['code'], 'type': !exists(json, 'type') ? undefined : json['type'], 'message': !exists(json, 'message') ? undefined : json['message'], @@ -50,7 +58,11 @@ export function ModelApiResponseToJSON(value?: ModelApiResponse): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'code': value.code, 'type': value.type, 'message': value.message, diff --git a/samples/client/petstore/typescript-fetch/builds/default/src/models/Order.ts b/samples/client/petstore/typescript-fetch/builds/default/src/models/Order.ts index 6ce0496794f..b9d32f387af 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/src/models/Order.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/src/models/Order.ts @@ -57,7 +57,15 @@ export interface Order { } export function OrderFromJSON(json: any): Order { + return OrderFromJSONTyped(json, false); +} + +export function OrderFromJSONTyped(json: any, ignoreDiscriminator: boolean): Order { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'petId': !exists(json, 'petId') ? undefined : json['petId'], 'quantity': !exists(json, 'quantity') ? undefined : json['quantity'], @@ -71,7 +79,11 @@ export function OrderToJSON(value?: Order): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'petId': value.petId, 'quantity': value.quantity, diff --git a/samples/client/petstore/typescript-fetch/builds/default/src/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/default/src/models/Pet.ts index 770f991b89d..d0cf8f55c2c 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/src/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/src/models/Pet.ts @@ -15,9 +15,11 @@ import { exists, mapValues } from '../runtime'; import { Category, CategoryFromJSON, + CategoryFromJSONTyped, CategoryToJSON, Tag, TagFromJSON, + TagFromJSONTyped, TagToJSON, } from './'; @@ -66,7 +68,15 @@ export interface Pet { } export function PetFromJSON(json: any): Pet { + return PetFromJSONTyped(json, false); +} + +export function PetFromJSONTyped(json: any, ignoreDiscriminator: boolean): Pet { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'category': !exists(json, 'category') ? undefined : CategoryFromJSON(json['category']), 'name': json['name'], @@ -80,7 +90,11 @@ export function PetToJSON(value?: Pet): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'category': CategoryToJSON(value.category), 'name': value.name, diff --git a/samples/client/petstore/typescript-fetch/builds/default/src/models/Tag.ts b/samples/client/petstore/typescript-fetch/builds/default/src/models/Tag.ts index 7c8098f6dc0..a095d07d0c0 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/src/models/Tag.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/src/models/Tag.ts @@ -33,7 +33,15 @@ export interface Tag { } export function TagFromJSON(json: any): Tag { + return TagFromJSONTyped(json, false); +} + +export function TagFromJSONTyped(json: any, ignoreDiscriminator: boolean): Tag { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'name': !exists(json, 'name') ? undefined : json['name'], }; @@ -43,7 +51,11 @@ export function TagToJSON(value?: Tag): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'name': value.name, }; diff --git a/samples/client/petstore/typescript-fetch/builds/default/src/models/User.ts b/samples/client/petstore/typescript-fetch/builds/default/src/models/User.ts index fd7430063f1..0649d0e1229 100644 --- a/samples/client/petstore/typescript-fetch/builds/default/src/models/User.ts +++ b/samples/client/petstore/typescript-fetch/builds/default/src/models/User.ts @@ -69,7 +69,15 @@ export interface User { } export function UserFromJSON(json: any): User { + return UserFromJSONTyped(json, false); +} + +export function UserFromJSONTyped(json: any, ignoreDiscriminator: boolean): User { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'username': !exists(json, 'username') ? undefined : json['username'], 'firstName': !exists(json, 'firstName') ? undefined : json['firstName'], @@ -85,7 +93,11 @@ export function UserToJSON(value?: User): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'username': value.username, 'firstName': value.firstName, diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Category.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Category.ts index f8809dccbea..0541f013a25 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Category.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Category.ts @@ -33,7 +33,15 @@ export interface Category { } export function CategoryFromJSON(json: any): Category { + return CategoryFromJSONTyped(json, false); +} + +export function CategoryFromJSONTyped(json: any, ignoreDiscriminator: boolean): Category { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'name': !exists(json, 'name') ? undefined : json['name'], }; @@ -43,7 +51,11 @@ export function CategoryToJSON(value?: Category): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'name': value.name, }; diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/ModelApiResponse.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/ModelApiResponse.ts index 8b8e2c45fec..a9f1ef2fa24 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/ModelApiResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/ModelApiResponse.ts @@ -39,7 +39,15 @@ export interface ModelApiResponse { } export function ModelApiResponseFromJSON(json: any): ModelApiResponse { + return ModelApiResponseFromJSONTyped(json, false); +} + +export function ModelApiResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ModelApiResponse { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'code': !exists(json, 'code') ? undefined : json['code'], 'type': !exists(json, 'type') ? undefined : json['type'], 'message': !exists(json, 'message') ? undefined : json['message'], @@ -50,7 +58,11 @@ export function ModelApiResponseToJSON(value?: ModelApiResponse): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'code': value.code, 'type': value.type, 'message': value.message, diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Order.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Order.ts index 6ce0496794f..b9d32f387af 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Order.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Order.ts @@ -57,7 +57,15 @@ export interface Order { } export function OrderFromJSON(json: any): Order { + return OrderFromJSONTyped(json, false); +} + +export function OrderFromJSONTyped(json: any, ignoreDiscriminator: boolean): Order { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'petId': !exists(json, 'petId') ? undefined : json['petId'], 'quantity': !exists(json, 'quantity') ? undefined : json['quantity'], @@ -71,7 +79,11 @@ export function OrderToJSON(value?: Order): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'petId': value.petId, 'quantity': value.quantity, diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Pet.ts index 770f991b89d..d0cf8f55c2c 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Pet.ts @@ -15,9 +15,11 @@ import { exists, mapValues } from '../runtime'; import { Category, CategoryFromJSON, + CategoryFromJSONTyped, CategoryToJSON, Tag, TagFromJSON, + TagFromJSONTyped, TagToJSON, } from './'; @@ -66,7 +68,15 @@ export interface Pet { } export function PetFromJSON(json: any): Pet { + return PetFromJSONTyped(json, false); +} + +export function PetFromJSONTyped(json: any, ignoreDiscriminator: boolean): Pet { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'category': !exists(json, 'category') ? undefined : CategoryFromJSON(json['category']), 'name': json['name'], @@ -80,7 +90,11 @@ export function PetToJSON(value?: Pet): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'category': CategoryToJSON(value.category), 'name': value.name, diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Tag.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Tag.ts index 7c8098f6dc0..a095d07d0c0 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Tag.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/Tag.ts @@ -33,7 +33,15 @@ export interface Tag { } export function TagFromJSON(json: any): Tag { + return TagFromJSONTyped(json, false); +} + +export function TagFromJSONTyped(json: any, ignoreDiscriminator: boolean): Tag { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'name': !exists(json, 'name') ? undefined : json['name'], }; @@ -43,7 +51,11 @@ export function TagToJSON(value?: Tag): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'name': value.name, }; diff --git a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/User.ts b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/User.ts index fd7430063f1..0649d0e1229 100644 --- a/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/User.ts +++ b/samples/client/petstore/typescript-fetch/builds/es6-target/src/models/User.ts @@ -69,7 +69,15 @@ export interface User { } export function UserFromJSON(json: any): User { + return UserFromJSONTyped(json, false); +} + +export function UserFromJSONTyped(json: any, ignoreDiscriminator: boolean): User { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'username': !exists(json, 'username') ? undefined : json['username'], 'firstName': !exists(json, 'firstName') ? undefined : json['firstName'], @@ -85,7 +93,11 @@ export function UserToJSON(value?: User): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'username': value.username, 'firstName': value.firstName, diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/Category.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/Category.ts index f8809dccbea..0541f013a25 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/Category.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/Category.ts @@ -33,7 +33,15 @@ export interface Category { } export function CategoryFromJSON(json: any): Category { + return CategoryFromJSONTyped(json, false); +} + +export function CategoryFromJSONTyped(json: any, ignoreDiscriminator: boolean): Category { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'name': !exists(json, 'name') ? undefined : json['name'], }; @@ -43,7 +51,11 @@ export function CategoryToJSON(value?: Category): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'name': value.name, }; diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/ModelApiResponse.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/ModelApiResponse.ts index 8b8e2c45fec..a9f1ef2fa24 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/ModelApiResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/ModelApiResponse.ts @@ -39,7 +39,15 @@ export interface ModelApiResponse { } export function ModelApiResponseFromJSON(json: any): ModelApiResponse { + return ModelApiResponseFromJSONTyped(json, false); +} + +export function ModelApiResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ModelApiResponse { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'code': !exists(json, 'code') ? undefined : json['code'], 'type': !exists(json, 'type') ? undefined : json['type'], 'message': !exists(json, 'message') ? undefined : json['message'], @@ -50,7 +58,11 @@ export function ModelApiResponseToJSON(value?: ModelApiResponse): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'code': value.code, 'type': value.type, 'message': value.message, diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/Order.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/Order.ts index 6ce0496794f..b9d32f387af 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/Order.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/Order.ts @@ -57,7 +57,15 @@ export interface Order { } export function OrderFromJSON(json: any): Order { + return OrderFromJSONTyped(json, false); +} + +export function OrderFromJSONTyped(json: any, ignoreDiscriminator: boolean): Order { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'petId': !exists(json, 'petId') ? undefined : json['petId'], 'quantity': !exists(json, 'quantity') ? undefined : json['quantity'], @@ -71,7 +79,11 @@ export function OrderToJSON(value?: Order): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'petId': value.petId, 'quantity': value.quantity, diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/Pet.ts index 770f991b89d..d0cf8f55c2c 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/Pet.ts @@ -15,9 +15,11 @@ import { exists, mapValues } from '../runtime'; import { Category, CategoryFromJSON, + CategoryFromJSONTyped, CategoryToJSON, Tag, TagFromJSON, + TagFromJSONTyped, TagToJSON, } from './'; @@ -66,7 +68,15 @@ export interface Pet { } export function PetFromJSON(json: any): Pet { + return PetFromJSONTyped(json, false); +} + +export function PetFromJSONTyped(json: any, ignoreDiscriminator: boolean): Pet { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'category': !exists(json, 'category') ? undefined : CategoryFromJSON(json['category']), 'name': json['name'], @@ -80,7 +90,11 @@ export function PetToJSON(value?: Pet): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'category': CategoryToJSON(value.category), 'name': value.name, diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/Tag.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/Tag.ts index 7c8098f6dc0..a095d07d0c0 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/Tag.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/Tag.ts @@ -33,7 +33,15 @@ export interface Tag { } export function TagFromJSON(json: any): Tag { + return TagFromJSONTyped(json, false); +} + +export function TagFromJSONTyped(json: any, ignoreDiscriminator: boolean): Tag { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'name': !exists(json, 'name') ? undefined : json['name'], }; @@ -43,7 +51,11 @@ export function TagToJSON(value?: Tag): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'name': value.name, }; diff --git a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/User.ts b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/User.ts index fd7430063f1..0649d0e1229 100644 --- a/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/User.ts +++ b/samples/client/petstore/typescript-fetch/builds/multiple-parameters/src/models/User.ts @@ -69,7 +69,15 @@ export interface User { } export function UserFromJSON(json: any): User { + return UserFromJSONTyped(json, false); +} + +export function UserFromJSONTyped(json: any, ignoreDiscriminator: boolean): User { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'username': !exists(json, 'username') ? undefined : json['username'], 'firstName': !exists(json, 'firstName') ? undefined : json['firstName'], @@ -85,7 +93,11 @@ export function UserToJSON(value?: User): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'username': value.username, 'firstName': value.firstName, diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Category.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Category.ts index f8809dccbea..0541f013a25 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Category.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Category.ts @@ -33,7 +33,15 @@ export interface Category { } export function CategoryFromJSON(json: any): Category { + return CategoryFromJSONTyped(json, false); +} + +export function CategoryFromJSONTyped(json: any, ignoreDiscriminator: boolean): Category { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'name': !exists(json, 'name') ? undefined : json['name'], }; @@ -43,7 +51,11 @@ export function CategoryToJSON(value?: Category): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'name': value.name, }; diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/ModelApiResponse.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/ModelApiResponse.ts index 8b8e2c45fec..a9f1ef2fa24 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/ModelApiResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/ModelApiResponse.ts @@ -39,7 +39,15 @@ export interface ModelApiResponse { } export function ModelApiResponseFromJSON(json: any): ModelApiResponse { + return ModelApiResponseFromJSONTyped(json, false); +} + +export function ModelApiResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ModelApiResponse { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'code': !exists(json, 'code') ? undefined : json['code'], 'type': !exists(json, 'type') ? undefined : json['type'], 'message': !exists(json, 'message') ? undefined : json['message'], @@ -50,7 +58,11 @@ export function ModelApiResponseToJSON(value?: ModelApiResponse): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'code': value.code, 'type': value.type, 'message': value.message, diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Order.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Order.ts index 6ce0496794f..b9d32f387af 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Order.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Order.ts @@ -57,7 +57,15 @@ export interface Order { } export function OrderFromJSON(json: any): Order { + return OrderFromJSONTyped(json, false); +} + +export function OrderFromJSONTyped(json: any, ignoreDiscriminator: boolean): Order { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'petId': !exists(json, 'petId') ? undefined : json['petId'], 'quantity': !exists(json, 'quantity') ? undefined : json['quantity'], @@ -71,7 +79,11 @@ export function OrderToJSON(value?: Order): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'petId': value.petId, 'quantity': value.quantity, diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Pet.ts index 770f991b89d..d0cf8f55c2c 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Pet.ts @@ -15,9 +15,11 @@ import { exists, mapValues } from '../runtime'; import { Category, CategoryFromJSON, + CategoryFromJSONTyped, CategoryToJSON, Tag, TagFromJSON, + TagFromJSONTyped, TagToJSON, } from './'; @@ -66,7 +68,15 @@ export interface Pet { } export function PetFromJSON(json: any): Pet { + return PetFromJSONTyped(json, false); +} + +export function PetFromJSONTyped(json: any, ignoreDiscriminator: boolean): Pet { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'category': !exists(json, 'category') ? undefined : CategoryFromJSON(json['category']), 'name': json['name'], @@ -80,7 +90,11 @@ export function PetToJSON(value?: Pet): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'category': CategoryToJSON(value.category), 'name': value.name, diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Tag.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Tag.ts index 7c8098f6dc0..a095d07d0c0 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Tag.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/Tag.ts @@ -33,7 +33,15 @@ export interface Tag { } export function TagFromJSON(json: any): Tag { + return TagFromJSONTyped(json, false); +} + +export function TagFromJSONTyped(json: any, ignoreDiscriminator: boolean): Tag { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'name': !exists(json, 'name') ? undefined : json['name'], }; @@ -43,7 +51,11 @@ export function TagToJSON(value?: Tag): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'name': value.name, }; diff --git a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/User.ts b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/User.ts index fd7430063f1..0649d0e1229 100644 --- a/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/User.ts +++ b/samples/client/petstore/typescript-fetch/builds/prefix-parameter-interfaces/src/models/User.ts @@ -69,7 +69,15 @@ export interface User { } export function UserFromJSON(json: any): User { + return UserFromJSONTyped(json, false); +} + +export function UserFromJSONTyped(json: any, ignoreDiscriminator: boolean): User { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'username': !exists(json, 'username') ? undefined : json['username'], 'firstName': !exists(json, 'firstName') ? undefined : json['firstName'], @@ -85,7 +93,11 @@ export function UserToJSON(value?: User): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'username': value.username, 'firstName': value.firstName, diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/Category.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/Category.ts index f8809dccbea..0541f013a25 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/Category.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/Category.ts @@ -33,7 +33,15 @@ export interface Category { } export function CategoryFromJSON(json: any): Category { + return CategoryFromJSONTyped(json, false); +} + +export function CategoryFromJSONTyped(json: any, ignoreDiscriminator: boolean): Category { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'name': !exists(json, 'name') ? undefined : json['name'], }; @@ -43,7 +51,11 @@ export function CategoryToJSON(value?: Category): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'name': value.name, }; diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/ModelApiResponse.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/ModelApiResponse.ts index 8b8e2c45fec..a9f1ef2fa24 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/ModelApiResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/ModelApiResponse.ts @@ -39,7 +39,15 @@ export interface ModelApiResponse { } export function ModelApiResponseFromJSON(json: any): ModelApiResponse { + return ModelApiResponseFromJSONTyped(json, false); +} + +export function ModelApiResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ModelApiResponse { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'code': !exists(json, 'code') ? undefined : json['code'], 'type': !exists(json, 'type') ? undefined : json['type'], 'message': !exists(json, 'message') ? undefined : json['message'], @@ -50,7 +58,11 @@ export function ModelApiResponseToJSON(value?: ModelApiResponse): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'code': value.code, 'type': value.type, 'message': value.message, diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/Order.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/Order.ts index 6ce0496794f..b9d32f387af 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/Order.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/Order.ts @@ -57,7 +57,15 @@ export interface Order { } export function OrderFromJSON(json: any): Order { + return OrderFromJSONTyped(json, false); +} + +export function OrderFromJSONTyped(json: any, ignoreDiscriminator: boolean): Order { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'petId': !exists(json, 'petId') ? undefined : json['petId'], 'quantity': !exists(json, 'quantity') ? undefined : json['quantity'], @@ -71,7 +79,11 @@ export function OrderToJSON(value?: Order): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'petId': value.petId, 'quantity': value.quantity, diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/Pet.ts index 770f991b89d..d0cf8f55c2c 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/Pet.ts @@ -15,9 +15,11 @@ import { exists, mapValues } from '../runtime'; import { Category, CategoryFromJSON, + CategoryFromJSONTyped, CategoryToJSON, Tag, TagFromJSON, + TagFromJSONTyped, TagToJSON, } from './'; @@ -66,7 +68,15 @@ export interface Pet { } export function PetFromJSON(json: any): Pet { + return PetFromJSONTyped(json, false); +} + +export function PetFromJSONTyped(json: any, ignoreDiscriminator: boolean): Pet { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'category': !exists(json, 'category') ? undefined : CategoryFromJSON(json['category']), 'name': json['name'], @@ -80,7 +90,11 @@ export function PetToJSON(value?: Pet): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'category': CategoryToJSON(value.category), 'name': value.name, diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/Tag.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/Tag.ts index 7c8098f6dc0..a095d07d0c0 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/Tag.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/Tag.ts @@ -33,7 +33,15 @@ export interface Tag { } export function TagFromJSON(json: any): Tag { + return TagFromJSONTyped(json, false); +} + +export function TagFromJSONTyped(json: any, ignoreDiscriminator: boolean): Tag { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'name': !exists(json, 'name') ? undefined : json['name'], }; @@ -43,7 +51,11 @@ export function TagToJSON(value?: Tag): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'name': value.name, }; diff --git a/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/User.ts b/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/User.ts index fd7430063f1..0649d0e1229 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/User.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-interfaces/src/models/User.ts @@ -69,7 +69,15 @@ export interface User { } export function UserFromJSON(json: any): User { + return UserFromJSONTyped(json, false); +} + +export function UserFromJSONTyped(json: any, ignoreDiscriminator: boolean): User { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'username': !exists(json, 'username') ? undefined : json['username'], 'firstName': !exists(json, 'firstName') ? undefined : json['firstName'], @@ -85,7 +93,11 @@ export function UserToJSON(value?: User): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'username': value.username, 'firstName': value.firstName, diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Category.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Category.ts index f8809dccbea..0541f013a25 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Category.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Category.ts @@ -33,7 +33,15 @@ export interface Category { } export function CategoryFromJSON(json: any): Category { + return CategoryFromJSONTyped(json, false); +} + +export function CategoryFromJSONTyped(json: any, ignoreDiscriminator: boolean): Category { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'name': !exists(json, 'name') ? undefined : json['name'], }; @@ -43,7 +51,11 @@ export function CategoryToJSON(value?: Category): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'name': value.name, }; diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/ModelApiResponse.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/ModelApiResponse.ts index 8b8e2c45fec..a9f1ef2fa24 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/ModelApiResponse.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/ModelApiResponse.ts @@ -39,7 +39,15 @@ export interface ModelApiResponse { } export function ModelApiResponseFromJSON(json: any): ModelApiResponse { + return ModelApiResponseFromJSONTyped(json, false); +} + +export function ModelApiResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ModelApiResponse { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'code': !exists(json, 'code') ? undefined : json['code'], 'type': !exists(json, 'type') ? undefined : json['type'], 'message': !exists(json, 'message') ? undefined : json['message'], @@ -50,7 +58,11 @@ export function ModelApiResponseToJSON(value?: ModelApiResponse): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'code': value.code, 'type': value.type, 'message': value.message, diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Order.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Order.ts index 6ce0496794f..b9d32f387af 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Order.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Order.ts @@ -57,7 +57,15 @@ export interface Order { } export function OrderFromJSON(json: any): Order { + return OrderFromJSONTyped(json, false); +} + +export function OrderFromJSONTyped(json: any, ignoreDiscriminator: boolean): Order { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'petId': !exists(json, 'petId') ? undefined : json['petId'], 'quantity': !exists(json, 'quantity') ? undefined : json['quantity'], @@ -71,7 +79,11 @@ export function OrderToJSON(value?: Order): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'petId': value.petId, 'quantity': value.quantity, diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Pet.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Pet.ts index 770f991b89d..d0cf8f55c2c 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Pet.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Pet.ts @@ -15,9 +15,11 @@ import { exists, mapValues } from '../runtime'; import { Category, CategoryFromJSON, + CategoryFromJSONTyped, CategoryToJSON, Tag, TagFromJSON, + TagFromJSONTyped, TagToJSON, } from './'; @@ -66,7 +68,15 @@ export interface Pet { } export function PetFromJSON(json: any): Pet { + return PetFromJSONTyped(json, false); +} + +export function PetFromJSONTyped(json: any, ignoreDiscriminator: boolean): Pet { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'category': !exists(json, 'category') ? undefined : CategoryFromJSON(json['category']), 'name': json['name'], @@ -80,7 +90,11 @@ export function PetToJSON(value?: Pet): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'category': CategoryToJSON(value.category), 'name': value.name, diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Tag.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Tag.ts index 7c8098f6dc0..a095d07d0c0 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Tag.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/Tag.ts @@ -33,7 +33,15 @@ export interface Tag { } export function TagFromJSON(json: any): Tag { + return TagFromJSONTyped(json, false); +} + +export function TagFromJSONTyped(json: any, ignoreDiscriminator: boolean): Tag { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'name': !exists(json, 'name') ? undefined : json['name'], }; @@ -43,7 +51,11 @@ export function TagToJSON(value?: Tag): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'name': value.name, }; diff --git a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/User.ts b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/User.ts index fd7430063f1..0649d0e1229 100644 --- a/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/User.ts +++ b/samples/client/petstore/typescript-fetch/builds/with-npm-version/src/models/User.ts @@ -69,7 +69,15 @@ export interface User { } export function UserFromJSON(json: any): User { + return UserFromJSONTyped(json, false); +} + +export function UserFromJSONTyped(json: any, ignoreDiscriminator: boolean): User { + if ((json === undefined) || (json === null)) { + return json; + } return { + 'id': !exists(json, 'id') ? undefined : json['id'], 'username': !exists(json, 'username') ? undefined : json['username'], 'firstName': !exists(json, 'firstName') ? undefined : json['firstName'], @@ -85,7 +93,11 @@ export function UserToJSON(value?: User): any { if (value === undefined) { return undefined; } + if (value === null) { + return null; + } return { + 'id': value.id, 'username': value.username, 'firstName': value.firstName,