/* tslint:disable */ /* eslint-disable */ /** * Jellyfin API * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: 10.8.9 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { exists, mapValues } from '../runtime'; import type { MediaUrl } from './MediaUrl'; import { MediaUrlFromJSON, MediaUrlFromJSONTyped, MediaUrlToJSON, } from './MediaUrl'; /** * Class BaseItem. * @export * @interface SessionInfoFullNowPlayingItem */ export interface SessionInfoFullNowPlayingItem { /** * * @type {number} * @memberof SessionInfoFullNowPlayingItem */ size?: number | null; /** * * @type {string} * @memberof SessionInfoFullNowPlayingItem */ container?: string | null; /** * * @type {boolean} * @memberof SessionInfoFullNowPlayingItem */ readonly isHD?: boolean; /** * * @type {boolean} * @memberof SessionInfoFullNowPlayingItem */ isShortcut?: boolean; /** * * @type {string} * @memberof SessionInfoFullNowPlayingItem */ shortcutPath?: string | null; /** * * @type {number} * @memberof SessionInfoFullNowPlayingItem */ width?: number; /** * * @type {number} * @memberof SessionInfoFullNowPlayingItem */ height?: number; /** * * @type {Array} * @memberof SessionInfoFullNowPlayingItem */ extraIds?: Array | null; /** * * @type {Date} * @memberof SessionInfoFullNowPlayingItem */ dateLastSaved?: Date; /** * Gets or sets the remote trailers. * @type {Array} * @memberof SessionInfoFullNowPlayingItem */ remoteTrailers?: Array | null; /** * * @type {boolean} * @memberof SessionInfoFullNowPlayingItem */ readonly supportsExternalTransfer?: boolean; } /** * Check if a given object implements the SessionInfoFullNowPlayingItem interface. */ export function instanceOfSessionInfoFullNowPlayingItem(value: object): boolean { let isInstance = true; return isInstance; } export function SessionInfoFullNowPlayingItemFromJSON(json: any): SessionInfoFullNowPlayingItem { return SessionInfoFullNowPlayingItemFromJSONTyped(json, false); } export function SessionInfoFullNowPlayingItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): SessionInfoFullNowPlayingItem { if ((json === undefined) || (json === null)) { return json; } return { 'size': !exists(json, 'Size') ? undefined : json['Size'], 'container': !exists(json, 'Container') ? undefined : json['Container'], 'isHD': !exists(json, 'IsHD') ? undefined : json['IsHD'], 'isShortcut': !exists(json, 'IsShortcut') ? undefined : json['IsShortcut'], 'shortcutPath': !exists(json, 'ShortcutPath') ? undefined : json['ShortcutPath'], 'width': !exists(json, 'Width') ? undefined : json['Width'], 'height': !exists(json, 'Height') ? undefined : json['Height'], 'extraIds': !exists(json, 'ExtraIds') ? undefined : json['ExtraIds'], 'dateLastSaved': !exists(json, 'DateLastSaved') ? undefined : (new Date(json['DateLastSaved'])), 'remoteTrailers': !exists(json, 'RemoteTrailers') ? undefined : (json['RemoteTrailers'] === null ? null : (json['RemoteTrailers'] as Array).map(MediaUrlFromJSON)), 'supportsExternalTransfer': !exists(json, 'SupportsExternalTransfer') ? undefined : json['SupportsExternalTransfer'], }; } export function SessionInfoFullNowPlayingItemToJSON(value?: SessionInfoFullNowPlayingItem | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { 'Size': value.size, 'Container': value.container, 'IsShortcut': value.isShortcut, 'ShortcutPath': value.shortcutPath, 'Width': value.width, 'Height': value.height, 'ExtraIds': value.extraIds, 'DateLastSaved': value.dateLastSaved === undefined ? undefined : (value.dateLastSaved.toISOString()), 'RemoteTrailers': value.remoteTrailers === undefined ? undefined : (value.remoteTrailers === null ? null : (value.remoteTrailers as Array).map(MediaUrlToJSON)), }; }