/* tslint:disable */ /* eslint-disable */ /** * Fabric API * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * 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 { ImageMetadataBlockExtensionContext } from './ImageMetadataBlockExtensionContext'; import { ImageMetadataBlockExtensionContextFromJSON, ImageMetadataBlockExtensionContextFromJSONTyped, ImageMetadataBlockExtensionContextToJSON, ImageMetadataBlockExtensionContextToJSONTyped, } from './ImageMetadataBlockExtensionContext'; import type { BookmarkMetadataBlockDominantColorsInner } from './BookmarkMetadataBlockDominantColorsInner'; import { BookmarkMetadataBlockDominantColorsInnerFromJSON, BookmarkMetadataBlockDominantColorsInnerFromJSONTyped, BookmarkMetadataBlockDominantColorsInnerToJSON, BookmarkMetadataBlockDominantColorsInnerToJSONTyped, } from './BookmarkMetadataBlockDominantColorsInner'; import type { Webpage } from './Webpage'; import { WebpageFromJSON, WebpageFromJSONTyped, WebpageToJSON, WebpageToJSONTyped, } from './Webpage'; import type { ImageMetadataBlockAttributes } from './ImageMetadataBlockAttributes'; import { ImageMetadataBlockAttributesFromJSON, ImageMetadataBlockAttributesFromJSONTyped, ImageMetadataBlockAttributesToJSON, ImageMetadataBlockAttributesToJSONTyped, } from './ImageMetadataBlockAttributes'; /** * * @export * @interface ImageMetadataBlock */ export interface ImageMetadataBlock { /** * * @type {Webpage} * @memberof ImageMetadataBlock */ 'webpage': Webpage | null; /** * Whether the resource is infected with malware * @type {boolean} * @memberof ImageMetadataBlock */ 'infected': boolean; /** * * @type {string} * @memberof ImageMetadataBlock */ 'ocr': string | null; /** * * @type {string} * @memberof ImageMetadataBlock */ 'caption': string | null; /** * * @type {Array} * @memberof ImageMetadataBlock */ 'keywords'?: Array | null; /** * * @type {Array} * @memberof ImageMetadataBlock */ 'dominantColors': Array; /** * * @type {ImageMetadataBlockExtensionContext} * @memberof ImageMetadataBlock */ 'extensionContext'?: ImageMetadataBlockExtensionContext; /** * * @type {ImageMetadataBlockAttributes} * @memberof ImageMetadataBlock */ 'attributes': ImageMetadataBlockAttributes | null; } /** * Check if a given object implements the ImageMetadataBlock interface. */ export function instanceOfImageMetadataBlock(value: object): value is ImageMetadataBlock { if (!('webpage' in value) || value['webpage'] === undefined) return false; if (!('infected' in value) || value['infected'] === undefined) return false; if (!('ocr' in value) || value['ocr'] === undefined) return false; if (!('caption' in value) || value['caption'] === undefined) return false; if (!('dominantColors' in value) || value['dominantColors'] === undefined) return false; if (!('attributes' in value) || value['attributes'] === undefined) return false; return true; } export function ImageMetadataBlockFromJSON(json: any): ImageMetadataBlock { return ImageMetadataBlockFromJSONTyped(json, false); } export function ImageMetadataBlockFromJSONTyped(json: any, ignoreDiscriminator: boolean): ImageMetadataBlock { if (json == null) { return json; } const result = { } as ImageMetadataBlock; if (json['webpage'] !== undefined) { if (json['webpage'] === null) { result['webpage'] = null; } else { result['webpage'] = WebpageFromJSON(json['webpage']); } } if (json['infected'] !== undefined) { result['infected'] = json['infected']; } if (json['ocr'] !== undefined) { if (json['ocr'] === null) { result['ocr'] = null; } else { result['ocr'] = json['ocr']; } } if (json['caption'] !== undefined) { if (json['caption'] === null) { result['caption'] = null; } else { result['caption'] = json['caption']; } } if (json['keywords'] !== undefined) { if (json['keywords'] === null) { result['keywords'] = null; } else { result['keywords'] = json['keywords']; } } if (json['dominantColors'] !== undefined) { result['dominantColors'] = (json['dominantColors'] as Array).map(BookmarkMetadataBlockDominantColorsInnerFromJSON); } if (json['extensionContext'] !== undefined) { result['extensionContext'] = ImageMetadataBlockExtensionContextFromJSON(json['extensionContext']); } if (json['attributes'] !== undefined) { if (json['attributes'] === null) { result['attributes'] = null; } else { result['attributes'] = ImageMetadataBlockAttributesFromJSON(json['attributes']); } } return result; } export function ImageMetadataBlockToJSON(json: any): ImageMetadataBlock { return ImageMetadataBlockToJSONTyped(json, false); } export function ImageMetadataBlockToJSONTyped(value?: ImageMetadataBlock | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'webpage': WebpageToJSON(value['webpage']), 'infected': value['infected'], 'ocr': value['ocr'], 'caption': value['caption'], 'keywords': value['keywords'], 'dominantColors': ((value['dominantColors'] as Array).map(BookmarkMetadataBlockDominantColorsInnerToJSON)), 'extensionContext': ImageMetadataBlockExtensionContextToJSON(value['extensionContext']), 'attributes': ImageMetadataBlockAttributesToJSON(value['attributes']), }; }