Files
MoonTVPlus/src/lib/netdisk/source.ts
T
2026-04-27 13:52:51 +08:00

50 lines
2.0 KiB
TypeScript

export const LEGACY_QUARK_TEMP_SOURCE = 'quark-temp';
export const NETDISK_QUARK_SOURCE = 'netdisk-quark';
export const NETDISK_MOBILE_SOURCE = 'netdisk-mobile';
export const NETDISK_BAIDU_SOURCE = 'netdisk-baidu';
export const NETDISK_TIANYI_SOURCE = 'netdisk-tianyi';
export const NETDISK_123_SOURCE = 'netdisk-123';
export type NetdiskProvider = 'quark' | 'mobile' | 'baidu' | 'tianyi' | '123';
export function normalizeNetdiskSource(source?: string | null): string {
if (!source) return '';
if (source === LEGACY_QUARK_TEMP_SOURCE) return NETDISK_QUARK_SOURCE;
return source;
}
export function isNetdiskSource(source?: string | null): boolean {
const normalized = normalizeNetdiskSource(source);
return normalized === NETDISK_QUARK_SOURCE || normalized === NETDISK_MOBILE_SOURCE || normalized === NETDISK_BAIDU_SOURCE || normalized === NETDISK_TIANYI_SOURCE || normalized === NETDISK_123_SOURCE;
}
export function getNetdiskProvider(source?: string | null): NetdiskProvider | null {
const normalized = normalizeNetdiskSource(source);
if (normalized === NETDISK_QUARK_SOURCE) return 'quark';
if (normalized === NETDISK_MOBILE_SOURCE) return 'mobile';
if (normalized === NETDISK_BAIDU_SOURCE) return 'baidu';
if (normalized === NETDISK_TIANYI_SOURCE) return 'tianyi';
if (normalized === NETDISK_123_SOURCE) return '123';
return null;
}
export function isNetdiskQuarkSource(source?: string | null): boolean {
return normalizeNetdiskSource(source) === NETDISK_QUARK_SOURCE;
}
export function isNetdiskMobileSource(source?: string | null): boolean {
return normalizeNetdiskSource(source) === NETDISK_MOBILE_SOURCE;
}
export function isNetdiskBaiduSource(source?: string | null): boolean {
return normalizeNetdiskSource(source) === NETDISK_BAIDU_SOURCE;
}
export function isNetdiskTianyiSource(source?: string | null): boolean {
return normalizeNetdiskSource(source) === NETDISK_TIANYI_SOURCE;
}
export function isNetdisk123Source(source?: string | null): boolean {
return normalizeNetdiskSource(source) === NETDISK_123_SOURCE;
}