Skip to content

Commit

Permalink
ISRC - Cleanup undefined links.next handling
Browse files Browse the repository at this point in the history
  • Loading branch information
Inrixia committed Jan 30, 2025
1 parent 63995c2 commit 3d28c9e
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions plugins/_lib/api/tidal/isrc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,11 @@ const fetchTidal = async <T>(url: string) =>
const baseURL = "https://openapi.tidal.com/v2";

export async function* fetchIsrcIterable(isrc: string): AsyncIterable<TApiTrack> {
let next: string | undefined = `${baseURL}/tracks?countryCode=US&filter[isrc]=${isrc}`;
let resp = await fetchTidal<TApiTracks>(`${baseURL}/tracks?countryCode=US&filter[isrc]=${isrc}`);
while (true) {
if (next === undefined) break;
const resp: TApiTracks = await fetchTidal<TApiTracks>(next);
if (resp?.data === undefined || resp.data.length === 0) break;
yield* resp.data;
next = resp.links.next === undefined ? undefined : `${baseURL}${resp.links.next}`;
if (resp.links.next === undefined) break;
resp = await fetchTidal<TApiTracks>(`${baseURL}${resp.links.next}`);
}
}

0 comments on commit 3d28c9e

Please sign in to comment.