/** * This file is generated by the SwaggerTSGenerator. * Do not edit. */ /* tslint:disable */ export abstract class BaseModel { /** * set the values. * @param values Can be used to set a webapi response to this newly constructed model */ abstract setValues(values: any): void; /** * fill array property in model. * for complex types, type must be defined. * for complex types with subtypes, subTypeFactoryFn must be filled in. */ protected fillModelArray( object: BaseModel, key: string, values: Array, type = undefined, subTypeFactoryFn: Function = undefined ): void { if (values) { object[key] = new Array(); for(let value of values) { if (type) { if (this.isSubType(value)) { const subTypeInstance = subTypeFactoryFn(value); object[key].push(subTypeInstance); } else { object[key].push(new type(value)); } } else { object[key].push(value); } } } } protected isSubType(value: any): boolean { return value.hasOwnProperty('typeSelector') && value.typeSelector; } protected getValue(values: any, propertyName: string): T { return values.hasOwnProperty(propertyName) ? values[propertyName] : this[propertyName]; } }