import { assert, assertEquals } from "./deps.ts"; export async function youtubePlayer( baseUrl: string, headers: { Authorization: string }, ) { const resp = await fetch(`${baseUrl}/youtubei/v1/player`, { method: "POST", headers, body: JSON.stringify({ videoId: "jNQXAC9IVRw", }), }); assertEquals(resp.status, 200, "response status code is not 200"); const youtubeV1Player = await resp.json(); assertEquals( youtubeV1Player.playabilityStatus?.status, "OK", "playabilityStatus is not OK", ); assertEquals( youtubeV1Player.videoDetails?.videoId, "jNQXAC9IVRw", "videoDetails is not jNQXAC9IVRw", ); assert( youtubeV1Player.streamingData?.adaptiveFormats, "adaptiveFormats is not present", ); assert( youtubeV1Player.streamingData?.adaptiveFormats.length > 0, "adaptiveFormats is empty", ); }