/* 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 { ReviewPublicResource } from './ReviewPublicResource'; import { ReviewPublicResourceFromJSON, ReviewPublicResourceFromJSONTyped, ReviewPublicResourceToJSON, ReviewPublicResourceToJSONTyped, } from './ReviewPublicResource'; /** * * @export * @interface ProductReviewsResource */ export interface ProductReviewsResource { /** * * @type {Array} * @memberof ProductReviewsResource */ reviews: Array | null; /** * * @type {number} * @memberof ProductReviewsResource */ totalReview: number; /** * * @type {number} * @memberof ProductReviewsResource */ averageRating: number; /** * * @type {Array} * @memberof ProductReviewsResource */ stats: Array; /** * * @type {string} * @memberof ProductReviewsResource */ myReview?: string | null; /** * * @type {boolean} * @memberof ProductReviewsResource */ canReview: boolean; } /** * Check if a given object implements the ProductReviewsResource interface. */ export function instanceOfProductReviewsResource(value: object): value is ProductReviewsResource { if (!('reviews' in value) || value['reviews'] === undefined) return false; if (!('totalReview' in value) || value['totalReview'] === undefined) return false; if (!('averageRating' in value) || value['averageRating'] === undefined) return false; if (!('stats' in value) || value['stats'] === undefined) return false; if (!('canReview' in value) || value['canReview'] === undefined) return false; return true; } export function ProductReviewsResourceFromJSON(json: any): ProductReviewsResource { return ProductReviewsResourceFromJSONTyped(json, false); } export function ProductReviewsResourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProductReviewsResource { if (json == null) { return json; } return { 'reviews': (json['reviews'] == null ? null : (json['reviews'] as Array).map(ReviewPublicResourceFromJSON)), 'totalReview': json['totalReview'], 'averageRating': json['averageRating'], 'stats': json['stats'], 'myReview': json['myReview'] == null ? undefined : json['myReview'], 'canReview': json['canReview'], }; } export function ProductReviewsResourceToJSON(json: any): ProductReviewsResource { return ProductReviewsResourceToJSONTyped(json, false); } export function ProductReviewsResourceToJSONTyped(value?: ProductReviewsResource | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'reviews': (value['reviews'] == null ? null : (value['reviews'] as Array).map(ReviewPublicResourceToJSON)), 'totalReview': value['totalReview'], 'averageRating': value['averageRating'], 'stats': value['stats'], 'myReview': value['myReview'], 'canReview': value['canReview'], }; }