diff --git a/lib/nrk.ts b/lib/nrk.ts index bda8bb4..44f5065 100644 --- a/lib/nrk.ts +++ b/lib/nrk.ts @@ -1,6 +1,6 @@ import { get, OK } from "https://deno.land/x/kall@v0.1.0/mod.ts"; -import {components as searchComponents} from './nrk-search.ts'; -import {components as catalogComponents} from './nrk-catalog.ts'; +import { components as searchComponents } from './nrk-search.ts'; +import { components as catalogComponents } from './nrk-catalog.ts'; type ArrayElement = A extends readonly (infer T)[] ? T : never @@ -28,16 +28,17 @@ interface Manifest { async function withDownloadLink(episode: OriginalEpisode): Promise { // getting stream link const [playbackStatus, playbackResponse] = await get(`https://psapi.nrk.no/playback/manifest/podcast/${episode.episodeId}`) + if (playbackStatus === OK && playbackResponse) { - return {...episode, url: playbackResponse.playable.assets[0].url}; + return { ...episode, url: playbackResponse.playable.assets[0].url }; } else { - throw `Error getting downloadLink for ${episode.episodeId}` + throw `Error getting downloadLink for ${episode.episodeId}, serie: ${episode.originalTitle}` } } export const nrkRadio = { search: async (query: string): Promise => { - + const [status, response] = await get(`https://psapi.nrk.no/radio/search/search?q=${query}`); if (status === OK && response) { return response.results.series?.results; @@ -69,3 +70,5 @@ export const nrkRadio = { } } + +