@fishjam-cloud/react-client
Version:
React client library for Fishjam
27 lines (26 loc) • 1.13 kB
JavaScript
export const PERMISSION_DENIED = { name: "NotAllowedError" };
export const OVERCONSTRAINED_ERROR = { name: "OverconstrainedError" };
export const NOT_FOUND_ERROR = { name: "NotFoundError" };
export const UNHANDLED_ERROR = { name: "UNHANDLED_ERROR" };
// https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia#exceptions
// OverconstrainedError has higher priority than NotAllowedError
export const parseUserMediaError = (error, logger) => {
const name = error instanceof Error ? error.name : "";
switch (name) {
case "NotAllowedError":
return PERMISSION_DENIED;
case "OverconstrainedError":
return OVERCONSTRAINED_ERROR;
case "NotFoundError":
return NOT_FOUND_ERROR;
default:
logger.warn({ name: "Unhandled getUserMedia error", error });
return UNHANDLED_ERROR;
}
};
export class MissingSandboxApiUrlError extends Error {
constructor() {
super("useSandbox requires a sandboxApiUrl, you can get it at: https://fishjam.io/app/sandbox");
this.name = "MissingSandboxApiUrlError";
}
}