@fishjam-cloud/react-client
Version:
React client library for Fishjam
23 lines (22 loc) • 904 B
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) => {
if (!(error instanceof DOMException)) {
console.warn({ name: "Unhandled getUserMedia error", error });
return UNHANDLED_ERROR;
}
if (error.name === "NotAllowedError") {
return PERMISSION_DENIED;
}
else if (error.name === "OverconstrainedError") {
return OVERCONSTRAINED_ERROR;
}
else if (error.name === "NotFoundError") {
return NOT_FOUND_ERROR;
}
return UNHANDLED_ERROR;
};