diff --git a/src/backend/index.ts b/src/backend/index.ts index 2488990a..61386d2a 100644 --- a/src/backend/index.ts +++ b/src/backend/index.ts @@ -3,8 +3,8 @@ import { initializeScraperStore } from "./helpers/register"; // providers import "./providers/gdriveplayer"; import "./providers/flixhq"; +import "./providers/superstream"; import "./providers/gomostream"; -import "./providers/superstream/superstream"; // embeds // -- nothing here yet diff --git a/src/backend/providers/superstream/superstream.ts b/src/backend/providers/superstream/index.ts similarity index 88% rename from src/backend/providers/superstream/superstream.ts rename to src/backend/providers/superstream/index.ts index 7cdcc851..6d91549e 100644 --- a/src/backend/providers/superstream/superstream.ts +++ b/src/backend/providers/superstream/index.ts @@ -96,6 +96,16 @@ const get = (data: object, altApi = false) => { }); }; +// Find best resolution +const getBestQuality = (list: any[]) => { + return ( + list.find((quality: any) => quality.quality === "1080p" && quality.path) ?? + list.find((quality: any) => quality.quality === "720p" && quality.path) ?? + list.find((quality: any) => quality.quality === "480p" && quality.path) ?? + list.find((quality: any) => quality.quality === "360p" && quality.path) + ); +}; + registerProvider({ id: "superstream", displayName: "Superstream", @@ -136,19 +146,7 @@ registerProvider({ const mediaRes = (await get(apiQuery)).data; progress(50); - const hdQuality = - mediaRes.list.find( - (quality: any) => quality.quality === "1080p" && quality.path - ) ?? - mediaRes.list.find( - (quality: any) => quality.quality === "720p" && quality.path - ) ?? - mediaRes.list.find( - (quality: any) => quality.quality === "480p" && quality.path - ) ?? - mediaRes.list.find( - (quality: any) => quality.quality === "360p" && quality.path - ); + const hdQuality = getBestQuality(mediaRes.list); if (!hdQuality) throw new Error("No quality could be found."); @@ -206,19 +204,7 @@ registerProvider({ const mediaRes = (await get(apiQuery)).data; progress(66); - const hdQuality = - mediaRes.list.find( - (quality: any) => quality.quality === "1080p" && quality.path - ) ?? - mediaRes.list.find( - (quality: any) => quality.quality === "720p" && quality.path - ) ?? - mediaRes.list.find( - (quality: any) => quality.quality === "480p" && quality.path - ) ?? - mediaRes.list.find( - (quality: any) => quality.quality === "360p" && quality.path - ); + const hdQuality = getBestQuality(mediaRes.list); if (!hdQuality) throw new Error("No quality could be found.");