/* 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 type { ResourceDetailAudio } from './ResourceDetailAudio'; import { instanceOfResourceDetailAudio, ResourceDetailAudioFromJSON, ResourceDetailAudioFromJSONTyped, ResourceDetailAudioToJSON, } from './ResourceDetailAudio'; import type { ResourceDetailBookmark } from './ResourceDetailBookmark'; import { instanceOfResourceDetailBookmark, ResourceDetailBookmarkFromJSON, ResourceDetailBookmarkFromJSONTyped, ResourceDetailBookmarkToJSON, } from './ResourceDetailBookmark'; import type { ResourceDetailCanvas } from './ResourceDetailCanvas'; import { instanceOfResourceDetailCanvas, ResourceDetailCanvasFromJSON, ResourceDetailCanvasFromJSONTyped, ResourceDetailCanvasToJSON, } from './ResourceDetailCanvas'; import type { ResourceDetailDefault } from './ResourceDetailDefault'; import { instanceOfResourceDetailDefault, ResourceDetailDefaultFromJSON, ResourceDetailDefaultFromJSONTyped, ResourceDetailDefaultToJSON, } from './ResourceDetailDefault'; import type { ResourceDetailDocument } from './ResourceDetailDocument'; import { instanceOfResourceDetailDocument, ResourceDetailDocumentFromJSON, ResourceDetailDocumentFromJSONTyped, ResourceDetailDocumentToJSON, } from './ResourceDetailDocument'; import type { ResourceDetailEmailMessage } from './ResourceDetailEmailMessage'; import { instanceOfResourceDetailEmailMessage, ResourceDetailEmailMessageFromJSON, ResourceDetailEmailMessageFromJSONTyped, ResourceDetailEmailMessageToJSON, } from './ResourceDetailEmailMessage'; import type { ResourceDetailFolder } from './ResourceDetailFolder'; import { instanceOfResourceDetailFolder, ResourceDetailFolderFromJSON, ResourceDetailFolderFromJSONTyped, ResourceDetailFolderToJSON, } from './ResourceDetailFolder'; import type { ResourceDetailHighlight } from './ResourceDetailHighlight'; import { instanceOfResourceDetailHighlight, ResourceDetailHighlightFromJSON, ResourceDetailHighlightFromJSONTyped, ResourceDetailHighlightToJSON, } from './ResourceDetailHighlight'; import type { ResourceDetailImage } from './ResourceDetailImage'; import { instanceOfResourceDetailImage, ResourceDetailImageFromJSON, ResourceDetailImageFromJSONTyped, ResourceDetailImageToJSON, } from './ResourceDetailImage'; import type { ResourceDetailNotepad } from './ResourceDetailNotepad'; import { instanceOfResourceDetailNotepad, ResourceDetailNotepadFromJSON, ResourceDetailNotepadFromJSONTyped, ResourceDetailNotepadToJSON, } from './ResourceDetailNotepad'; import type { ResourceDetailVideo } from './ResourceDetailVideo'; import { instanceOfResourceDetailVideo, ResourceDetailVideoFromJSON, ResourceDetailVideoFromJSONTyped, ResourceDetailVideoToJSON, } from './ResourceDetailVideo'; import type { ResourceDetailVoicenote } from './ResourceDetailVoicenote'; import { instanceOfResourceDetailVoicenote, ResourceDetailVoicenoteFromJSON, ResourceDetailVoicenoteFromJSONTyped, ResourceDetailVoicenoteToJSON, } from './ResourceDetailVoicenote'; /** * @type ResourceDetail * * @export */ export type ResourceDetail = { kind: 'audio' } & ResourceDetailAudio | { kind: 'bookmark' } & ResourceDetailBookmark | { kind: 'canvas' } & ResourceDetailCanvas | { kind: 'default' } & ResourceDetailDefault | { kind: 'document' } & ResourceDetailDocument | { kind: 'email' } & ResourceDetailEmailMessage | { kind: 'folder' } & ResourceDetailFolder | { kind: 'highlight' } & ResourceDetailHighlight | { kind: 'image' } & ResourceDetailImage | { kind: 'notepad' } & ResourceDetailNotepad | { kind: 'video' } & ResourceDetailVideo | { kind: 'voicenote' } & ResourceDetailVoicenote; export function ResourceDetailFromJSON(json: any): ResourceDetail { return ResourceDetailFromJSONTyped(json, false); } export function ResourceDetailFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResourceDetail { if (json == null) { return json; } switch (json['kind']) { case 'audio': return Object.assign({}, ResourceDetailAudioFromJSONTyped(json, true), { kind: 'audio' } as const); case 'bookmark': return Object.assign({}, ResourceDetailBookmarkFromJSONTyped(json, true), { kind: 'bookmark' } as const); case 'canvas': return Object.assign({}, ResourceDetailCanvasFromJSONTyped(json, true), { kind: 'canvas' } as const); case 'default': return Object.assign({}, ResourceDetailDefaultFromJSONTyped(json, true), { kind: 'default' } as const); case 'document': return Object.assign({}, ResourceDetailDocumentFromJSONTyped(json, true), { kind: 'document' } as const); case 'email': return Object.assign({}, ResourceDetailEmailMessageFromJSONTyped(json, true), { kind: 'email' } as const); case 'folder': return Object.assign({}, ResourceDetailFolderFromJSONTyped(json, true), { kind: 'folder' } as const); case 'highlight': return Object.assign({}, ResourceDetailHighlightFromJSONTyped(json, true), { kind: 'highlight' } as const); case 'image': return Object.assign({}, ResourceDetailImageFromJSONTyped(json, true), { kind: 'image' } as const); case 'notepad': return Object.assign({}, ResourceDetailNotepadFromJSONTyped(json, true), { kind: 'notepad' } as const); case 'video': return Object.assign({}, ResourceDetailVideoFromJSONTyped(json, true), { kind: 'video' } as const); case 'voicenote': return Object.assign({}, ResourceDetailVoicenoteFromJSONTyped(json, true), { kind: 'voicenote' } as const); default: return json; } } export function ResourceDetailToJSON(json: any): any { return ResourceDetailToJSONTyped(json, false); } export function ResourceDetailToJSONTyped(value?: ResourceDetail | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } switch (value['kind']) { case 'audio': return Object.assign({}, ResourceDetailAudioToJSON(value), { kind: 'audio' } as const); case 'bookmark': return Object.assign({}, ResourceDetailBookmarkToJSON(value), { kind: 'bookmark' } as const); case 'canvas': return Object.assign({}, ResourceDetailCanvasToJSON(value), { kind: 'canvas' } as const); case 'default': return Object.assign({}, ResourceDetailDefaultToJSON(value), { kind: 'default' } as const); case 'document': return Object.assign({}, ResourceDetailDocumentToJSON(value), { kind: 'document' } as const); case 'email': return Object.assign({}, ResourceDetailEmailMessageToJSON(value), { kind: 'email' } as const); case 'folder': return Object.assign({}, ResourceDetailFolderToJSON(value), { kind: 'folder' } as const); case 'highlight': return Object.assign({}, ResourceDetailHighlightToJSON(value), { kind: 'highlight' } as const); case 'image': return Object.assign({}, ResourceDetailImageToJSON(value), { kind: 'image' } as const); case 'notepad': return Object.assign({}, ResourceDetailNotepadToJSON(value), { kind: 'notepad' } as const); case 'video': return Object.assign({}, ResourceDetailVideoToJSON(value), { kind: 'video' } as const); case 'voicenote': return Object.assign({}, ResourceDetailVoicenoteToJSON(value), { kind: 'voicenote' } as const); default: return value; } }