infobip-rtc
Version:
Infobip RTC JavaScript SDK - Infobip WebRTC API Implementation
36 lines • 1.34 kB
JavaScript
import { ApplicationErrorCode } from "../ApplicationErrorCode";
class HangupStatusFactory {
static getApplicationHangupStatus(error) {
if (!error || (!error.name && !error.message)) {
return ApplicationErrorCode.UNKNOWN;
}
switch (error.name) {
case ("NotAllowedError"):
return ApplicationErrorCode.DEVICE_FORBIDDEN;
case ("NotFoundError"):
return ApplicationErrorCode.DEVICE_NOT_FOUND;
case ("NotReadableError"):
return ApplicationErrorCode.DEVICE_UNAVAILABLE;
}
if (error.name === "TypeError" && error.message === "Failed to fetch") {
return ApplicationErrorCode.NETWORK_ERROR;
}
if (error?.id && error?.name && error?.description) {
return {
id: error.id,
name: error.name,
description: error.description
};
}
let errorDescription = '';
if (error.name) {
errorDescription += error.name + ' ';
}
if (error.message) {
errorDescription += error.message;
}
return { id: '10310', name: 'UNKNOWN', description: errorDescription };
}
}
export default HangupStatusFactory;
//# sourceMappingURL=HangupStatusFactory.js.map