UNPKG

@fishjam-cloud/react-client

Version:
32 lines (31 loc) 1.02 kB
export function resolveFishjamUrl(fishjamId) { if (/^https?:\/\//.test(fishjamId)) { return new URL(fishjamId).href; } return `https://fishjam.io/api/v1/connect/${fishjamId}`; } export function httpToWebsocketUrl(url) { return url.replace("https://", "wss://").replace("http://", "ws://"); } export function extractDomainFromFishjamId(fishjamId) { try { const url = new URL(fishjamId); return url.origin; } catch { return "https://fishjam.io"; } } export function buildLivestreamUrl(fishjamId, kind) { if (!fishjamId || fishjamId.trim() === "") { throw new Error("fishjamId is required to build a livestream WHEP URL."); } const domain = extractDomainFromFishjamId(fishjamId); return `${domain}/api/v1/live/api/${kind}`; } export function buildLivestreamWhipUrl(fishjamId) { return buildLivestreamUrl(fishjamId, "whip"); } export function buildLivestreamWhepUrl(fishjamId) { return buildLivestreamUrl(fishjamId, "whep"); }