Optimized validate function and added return types.

This commit is contained in:
aritrakarak 2021-09-24 10:53:57 +05:30
parent e531835fa6
commit af5a5b64dc

View File

@ -24,22 +24,17 @@ export async function stream_from_info(
else return await yt_stream_info(info, cookie); else return await yt_stream_info(info, cookie);
} }
export async function validate(url: string): Promise<string | boolean> { export async function validate(url: string): Promise<"so_playlist" | "so_track" | "sp_track" | "sp_album" | "sp_playlist" | "yt_video" | "yt_playlist" | false> {
if (url.indexOf('spotify') !== -1) { let check;
const check = sp_validate(url); if (url.includes('spotify')) {
if (check) { check = sp_validate(url);
return 'sp_' + check; return check !== false ? 'sp_' + check as "sp_track" | "sp_album" | "sp_playlist" : false;
} else return check; } else if (url.includes('soundcloud')) {
} else if (url.indexOf('soundcloud') !== -1) { check = await so_validate(url);
const check = await so_validate(url); return check !== false ? 'so_' + check as "so_playlist" | "so_track" : false;
if (check) {
return 'so_' + check;
} else return check;
} else { } else {
const check = yt_validate(url); check = yt_validate(url);
if (check) { return check !== false ? 'yt_' + check as "yt_video" | "yt_playlist" : false;
return 'yt_' + check;
} else return check;
} }
} }