/* 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 { Webpage } from './Webpage'; import { WebpageFromJSON, WebpageFromJSONTyped, WebpageToJSON, WebpageToJSONTyped, } from './Webpage'; import type { HighlightMetadataBlockPdfRender } from './HighlightMetadataBlockPdfRender'; import { HighlightMetadataBlockPdfRenderFromJSON, HighlightMetadataBlockPdfRenderFromJSONTyped, HighlightMetadataBlockPdfRenderToJSON, HighlightMetadataBlockPdfRenderToJSONTyped, } from './HighlightMetadataBlockPdfRender'; import type { BookmarkMetadataBlockAttributes } from './BookmarkMetadataBlockAttributes'; import { BookmarkMetadataBlockAttributesFromJSON, BookmarkMetadataBlockAttributesFromJSONTyped, BookmarkMetadataBlockAttributesToJSON, BookmarkMetadataBlockAttributesToJSONTyped, } from './BookmarkMetadataBlockAttributes'; import type { HighlightMetadataBlockExtensionContext } from './HighlightMetadataBlockExtensionContext'; import { HighlightMetadataBlockExtensionContextFromJSON, HighlightMetadataBlockExtensionContextFromJSONTyped, HighlightMetadataBlockExtensionContextToJSON, HighlightMetadataBlockExtensionContextToJSONTyped, } from './HighlightMetadataBlockExtensionContext'; /** * * @export * @interface HighlightMetadataBlock */ export interface HighlightMetadataBlock { /** * * @type {BookmarkMetadataBlockAttributes} * @memberof HighlightMetadataBlock */ 'attributes': BookmarkMetadataBlockAttributes; /** * * @type {Webpage} * @memberof HighlightMetadataBlock */ 'webpage': Webpage | null; /** * * @type {string} * @memberof HighlightMetadataBlock */ 'caption': string | null; /** * * @type {Array} * @memberof HighlightMetadataBlock */ 'keywords'?: Array | null; /** * * @type {HighlightMetadataBlockExtensionContext} * @memberof HighlightMetadataBlock */ 'extensionContext': HighlightMetadataBlockExtensionContext | null; /** * * @type {HighlightMetadataBlockPdfRender} * @memberof HighlightMetadataBlock */ 'pdfRender'?: HighlightMetadataBlockPdfRender | null; } /** * Check if a given object implements the HighlightMetadataBlock interface. */ export function instanceOfHighlightMetadataBlock(value: object): value is HighlightMetadataBlock { if (!('attributes' in value) || value['attributes'] === undefined) return false; if (!('webpage' in value) || value['webpage'] === undefined) return false; if (!('caption' in value) || value['caption'] === undefined) return false; if (!('extensionContext' in value) || value['extensionContext'] === undefined) return false; return true; } export function HighlightMetadataBlockFromJSON(json: any): HighlightMetadataBlock { return HighlightMetadataBlockFromJSONTyped(json, false); } export function HighlightMetadataBlockFromJSONTyped(json: any, ignoreDiscriminator: boolean): HighlightMetadataBlock { if (json == null) { return json; } const result = { } as HighlightMetadataBlock; if (json['attributes'] !== undefined) { result['attributes'] = BookmarkMetadataBlockAttributesFromJSON(json['attributes']); } if (json['webpage'] !== undefined) { if (json['webpage'] === null) { result['webpage'] = null; } else { result['webpage'] = WebpageFromJSON(json['webpage']); } } 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['extensionContext'] !== undefined) { if (json['extensionContext'] === null) { result['extensionContext'] = null; } else { result['extensionContext'] = HighlightMetadataBlockExtensionContextFromJSON(json['extensionContext']); } } if (json['pdfRender'] !== undefined) { if (json['pdfRender'] === null) { result['pdfRender'] = null; } else { result['pdfRender'] = HighlightMetadataBlockPdfRenderFromJSON(json['pdfRender']); } } return result; } export function HighlightMetadataBlockToJSON(json: any): HighlightMetadataBlock { return HighlightMetadataBlockToJSONTyped(json, false); } export function HighlightMetadataBlockToJSONTyped(value?: HighlightMetadataBlock | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'attributes': BookmarkMetadataBlockAttributesToJSON(value['attributes']), 'webpage': WebpageToJSON(value['webpage']), 'caption': value['caption'], 'keywords': value['keywords'], 'extensionContext': HighlightMetadataBlockExtensionContextToJSON(value['extensionContext']), 'pdfRender': HighlightMetadataBlockPdfRenderToJSON(value['pdfRender']), }; }