import type { Api } from "@jellyfin/sdk"; import type { BaseItemDto } from "@jellyfin/sdk/lib/generated-client/models"; /** * Generates the authorization headers for Jellyfin API requests. * * @param {Api} api - The Jellyfin API instance. * @returns {Record} - The authorization headers. */ export const getAuthHeaders = (api: Api): Record => ({ Authorization: `MediaBrowser DeviceId="${api.deviceInfo.id}", Token="${api.accessToken}"`, }); /** * Converts a bitrate to a human-readable string. * * @param {number} bitrate - The bitrate to convert. * @returns {string} - The bitrate as a human-readable string. */ export const bitrateToString = (bitrate: number): string => { const _kbps = bitrate / 1000; const mbps = (bitrate / 1000000).toFixed(2); return `${mbps} Mb/s`; }; export function isBaseItemDto(item: any): item is BaseItemDto { return item && "BackdropImageTags" in item && "ImageTags" in item; }