diff --git a/play-dl/index.ts b/play-dl/index.ts index d98e9e8..a985656 100644 --- a/play-dl/index.ts +++ b/play-dl/index.ts @@ -43,22 +43,17 @@ export async function stream_from_info( else return await yt_stream_info(info, { cookie: options.cookie }); } -export async function validate(url: string): Promise { +export async function validate(url: string): Promise<"so_playlist" | "so_track" | "sp_track" | "sp_album" | "sp_playlist" | "yt_video" | "yt_playlist" | false> { + let check; if (url.indexOf('spotify') !== -1) { - const check = sp_validate(url); - if (check) { - return 'sp_' + check; - } else return check; + check = sp_validate(url); + return check !== false ? 'sp_' + check as "sp_track" | "sp_album" | "sp_playlist" : false; } else if (url.indexOf('soundcloud') !== -1) { - const check = await so_validate(url); - if (check) { - return 'so_' + check; - } else return check; + check = await so_validate(url); + return check !== false ? 'so_' + check as "so_playlist" | "so_track" : false; } else { - const check = yt_validate(url); - if (check) { - return 'yt_' + check; - } else return check; + check = yt_validate(url); + return check !== false ? 'yt_' + check as "yt_video" | "yt_playlist" : false; } }