@fishjam-cloud/react-client
Version:
React client library for Fishjam
32 lines (31 loc) • 1.02 kB
JavaScript
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");
}