/* tslint:disable */ /* eslint-disable */ /** * My API * API documentation for my Laravel app * * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { mapValues } from '../runtime'; import type { AssetFrontendResource } from './AssetFrontendResource'; import { AssetFrontendResourceFromJSON, AssetFrontendResourceFromJSONTyped, AssetFrontendResourceToJSON, AssetFrontendResourceToJSONTyped, } from './AssetFrontendResource'; /** * * @export * @interface ProductCompareResource */ export interface ProductCompareResource { /** * * @type {number} * @memberof ProductCompareResource */ id: number; /** * * @type {number} * @memberof ProductCompareResource */ sku: number; /** * * @type {string} * @memberof ProductCompareResource */ model: string; /** * * @type {number} * @memberof ProductCompareResource */ stock: number; /** * * @type {string} * @memberof ProductCompareResource */ warranty: string; /** * * @type {string} * @memberof ProductCompareResource */ name: string; /** * * @type {string} * @memberof ProductCompareResource */ slug: string; /** * * @type {string} * @memberof ProductCompareResource */ parentName: string; /** * * @type {number} * @memberof ProductCompareResource */ price: number; /** * * @type {number} * @memberof ProductCompareResource */ salePrice: number; /** * * @type {string} * @memberof ProductCompareResource */ availability: string; /** * * @type {number} * @memberof ProductCompareResource */ optionsCount: number; /** * * @type {number} * @memberof ProductCompareResource */ averageRating: number; /** * * @type {AssetFrontendResource} * @memberof ProductCompareResource */ thumbnail: AssetFrontendResource | null; /** * * @type {string} * @memberof ProductCompareResource */ supplierName: string; /** * * @type {AssetFrontendResource} * @memberof ProductCompareResource */ supplierLogo: AssetFrontendResource | null; /** * * @type {Array} * @memberof ProductCompareResource */ specsData: Array; /** * * @type {Array} * @memberof ProductCompareResource */ dimensionData: Array; /** * * @type {Array} * @memberof ProductCompareResource */ performanceSpecsData: Array; } /** * Check if a given object implements the ProductCompareResource interface. */ export function instanceOfProductCompareResource(value: object): value is ProductCompareResource { if (!('id' in value) || value['id'] === undefined) return false; if (!('sku' in value) || value['sku'] === undefined) return false; if (!('model' in value) || value['model'] === undefined) return false; if (!('stock' in value) || value['stock'] === undefined) return false; if (!('warranty' in value) || value['warranty'] === undefined) return false; if (!('name' in value) || value['name'] === undefined) return false; if (!('slug' in value) || value['slug'] === undefined) return false; if (!('parentName' in value) || value['parentName'] === undefined) return false; if (!('price' in value) || value['price'] === undefined) return false; if (!('salePrice' in value) || value['salePrice'] === undefined) return false; if (!('availability' in value) || value['availability'] === undefined) return false; if (!('optionsCount' in value) || value['optionsCount'] === undefined) return false; if (!('averageRating' in value) || value['averageRating'] === undefined) return false; if (!('thumbnail' in value) || value['thumbnail'] === undefined) return false; if (!('supplierName' in value) || value['supplierName'] === undefined) return false; if (!('supplierLogo' in value) || value['supplierLogo'] === undefined) return false; if (!('specsData' in value) || value['specsData'] === undefined) return false; if (!('dimensionData' in value) || value['dimensionData'] === undefined) return false; if (!('performanceSpecsData' in value) || value['performanceSpecsData'] === undefined) return false; return true; } export function ProductCompareResourceFromJSON(json: any): ProductCompareResource { return ProductCompareResourceFromJSONTyped(json, false); } export function ProductCompareResourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProductCompareResource { if (json == null) { return json; } return { 'id': json['id'], 'sku': json['sku'], 'model': json['model'], 'stock': json['stock'], 'warranty': json['warranty'], 'name': json['name'], 'slug': json['slug'], 'parentName': json['parentName'], 'price': json['price'], 'salePrice': json['salePrice'], 'availability': json['availability'], 'optionsCount': json['optionsCount'], 'averageRating': json['averageRating'], 'thumbnail': AssetFrontendResourceFromJSON(json['thumbnail']), 'supplierName': json['supplierName'], 'supplierLogo': AssetFrontendResourceFromJSON(json['supplierLogo']), 'specsData': json['specsData'], 'dimensionData': json['dimensionData'], 'performanceSpecsData': json['performanceSpecsData'], }; } export function ProductCompareResourceToJSON(json: any): ProductCompareResource { return ProductCompareResourceToJSONTyped(json, false); } export function ProductCompareResourceToJSONTyped(value?: ProductCompareResource | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'id': value['id'], 'sku': value['sku'], 'model': value['model'], 'stock': value['stock'], 'warranty': value['warranty'], 'name': value['name'], 'slug': value['slug'], 'parentName': value['parentName'], 'price': value['price'], 'salePrice': value['salePrice'], 'availability': value['availability'], 'optionsCount': value['optionsCount'], 'averageRating': value['averageRating'], 'thumbnail': AssetFrontendResourceToJSON(value['thumbnail']), 'supplierName': value['supplierName'], 'supplierLogo': AssetFrontendResourceToJSON(value['supplierLogo']), 'specsData': value['specsData'], 'dimensionData': value['dimensionData'], 'performanceSpecsData': value['performanceSpecsData'], }; }