Spaces:
Build error
Build error
import { ParsedStream } from '@aiostreams/types'; | |
import { formatSize } from './utils'; | |
import { serviceDetails, Settings } from '@aiostreams/utils'; | |
export function torboxFormat(stream: ParsedStream): { | |
name: string; | |
description: string; | |
} { | |
let name: string = ''; | |
name += `${stream.addon.name} `; | |
if (stream.provider) { | |
const serviceShortName = | |
serviceDetails.find((service) => service.id === stream.provider!.id) | |
?.shortName || stream.provider.id; | |
name += `(${stream.provider.cached === undefined ? 'Unknown' : stream.provider.cached ? 'Instant' : ''} ${serviceShortName}) `; | |
} | |
if (stream.torrent?.infoHash) { | |
name += `(P2P) `; | |
} | |
name += `${stream.personal ? '(Your Media) ' : ''}(${stream.resolution})`; | |
let description: string = ''; | |
let streamType = ''; | |
if (stream?.torrent?.seeders) { | |
streamType = 'Torrent'; | |
} else if (stream?.usenet?.age) { | |
streamType = 'Usenet'; | |
} | |
description += `Quality: ${stream.quality}\nName: ${stream.filename || 'Unknown'}\nSize: ${stream.size ? formatSize(stream.size) : 'Unknown'}${stream.indexers ? ` | Source: ${stream.indexers}` : ''}\nLanguage: ${stream.languages.length > 0 ? stream.languages.join(', ') : 'Unknown'}`; | |
if (streamType === 'Torrent' || streamType === 'Usenet') { | |
description += `\nType: ${streamType} | ${streamType === 'Torrent' ? 'Seeders' : 'Age'}: ${streamType === 'Torrent' ? stream.torrent?.seeders : stream.usenet?.age}`; | |
} | |
if (stream.message) { | |
description += `\n${stream.message}`; | |
} | |
if (stream.proxied) { | |
name = `π΅οΈββοΈ ${name}`; | |
} else if (Settings.SHOW_DIE) { | |
name = `π² ${name}`; | |
} | |
return { name, description }; | |
} | |