UNPKG

@fishjam-cloud/react-client

Version:
27 lines (26 loc) 1.13 kB
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"; } }