UNPKG

podchat-browser

Version:

Javascript SDK to use POD's Chat Service - Browser Only

204 lines (190 loc) 6.01 kB
const errorList = { INVALID_CALLID: { code: 12000, message: "[SDK] Call not started or invalid callId, methodName: {methodName}", variables: ['{methodName}'] }, SOCKET_NOT_CONNECTED: { code: 12002, message: "[SDK] Async is not connected" }, REQUEST_BLOCKED: { code: 12003, message: `[SDK] Requests to {methodName} has been blocked for next {seconds} seconds.`, variables: ['{methodName}', '{seconds}'] }, CALL_SERVER_ERROR: { code: 12004, message: `[SDK] ERROR from call server: {errorMessage}`, variables: ['{errorMessage}'] }, INVALID_APP_ID: { code: 12005, message: "[SDK] AppId is not valid. it should be a string with maximum of 30 characters" }, INVALID_CONTACT_TYPE: { code: 12006, message: "[SDK] TypeCode is not valid" }, PARAMETER_REQUIRED: { code: 12007, message: "[SDK] Parameter {parameterName} value is not valid.", variables: ['{parameterName}'] }, /** * 12350-12399 */ INVITEES_LIST_REQUIRED: { code: 12350, message: "Invitees list is required, methodName: {methodName}", variables: ['{methodName}'] }, /** * 12400-12499 Media devices */ VIDEO_PERMISSION_ERROR: { code: 12400, message: "Could not grant video input permission" }, AUDIO_PERMISSION_ERROR: { code: 12401, message: "Could not grant audio input permission" }, AUDIO_OUT_PERMISSION_ERROR: { code: 12402, message: "Could not grant audio out permission" }, MEDIA_DEVICES_NOT_SUPPORTED: { code: 12403, message: "Current environment does not supports user media devices" }, SCREENSHARE_PERMISSION_ERROR: { code: 12404, message: "Could not grant screen share permission" }, NO_AUDIO_TRACKS_AVAILABLE: { code: 12405, message: "Audio stream has no tracks" }, AUDIO_TRACK_MUTED: { code: 12406, message: "Audio track is muted and is not useful anymore, request the permission again" }, AUDIO_TRACK_ENDED: { code: 12407, message: "Audio track is ended and is not useful anymore, request the permission again" }, AUDIO_TRACK_DISABLED: { code: 12408, message: "Audio track is disabled, enable it to be able to send voice" }, CHANGE_MEDIA_DEVICE_FAILED: { code: 12409, message: "Can not change device" }, REPLACE_STREAM_FAILED: { code: 12410, message: "Failed to replace stream in connection" }, /** * 12550-12570 ScreenShare */ SCREENSHARE_NOT_STARTED: { code: 12550, message: "ScreenShare not started " }, NOT_SCREENSHARE_OWNER: { code: 12551, message: "You are not ScreenShare owner" }, SCREENSHARE_ALREADY_STARTED: { code: 12552, message: "ScreenShare already started " }, /** * 12700-12720 Call stickers */ INVALID_STICKER_NAME: { code: 12700, message: "[SDK] Invalid sticker name. Use SDK.callStickerTypes" }, /** * 12721-12750 PodSpace Errors */ USER_NOT_MEMBER_OF_USERGROUP: { code: 12721, message: "[SDK] User is not member of userGroup in PodSpace, send threadId in params so sdk can retry the request" }, DOWNLOAD_CANCELED: { code: 12722, message: "[SDK] Download canceled by user request." }, /** * 12751-12800 Call Methods Errors */ CAN_NOT_STOP_STREAM_IN_CURRENT_STATE: { code: 12751, message: "[SDK] Can not stop stream in current state" }, CREATE_SESSION_TIMEOUT: { code: 12752, message: "[SDK] Call server is not responding to create_session request" }, UPDATE_TRACK_REQUEST_TIMEOUT: { code: 12753, message: "[SDK] Call server is not responding to UPDATE/SUBSCRIBE request" }, PEER_KEEPS_FAILING: { code: 12754, message: "[SDK] Open receive peer keeps failing" }, NO_TURN_SERVER_AVAILABLE: { code: 12755, message: "[SDK] No turn server address received." }, TURN_SERVERS_NOT_ACCESSIBLE: { code: 12756, message: "[SDK] Check turn server failed. Try changing your network." }, }; function ErrorHandler(app) { function handleError(error) { let item = Object.values(errorList).filter(item => item.code == error); if (!item.length) return {}; return item[0]; } function getFilledErrorObject(errorObject) { for (let i in errorObject.variables) { errorObject.message = errorObject.message.replace(errorObject.variables[i], errorObject.replacements[i]) } return errorObject; } function raiseError(errorObject, callback, fireEvent = false, { eventName = 'error', eventType = null, environmentDetails = null }) { callback && callback({ hasError: true, errorCode: errorObject.code, errorMessage: errorObject.message, uniqueId: errorObject.uniqueId ? errorObject.uniqueId : undefined }); fireEvent && app.chatEvents.fireEvent(eventName, { type: eventType, code: errorObject.code, message: errorObject.message, environmentDetails, uniqueId: errorObject.uniqueId ? errorObject.uniqueId : undefined }); return {hasError: true, ...errorObject}; } return { handleError, raiseError, getFilledErrorObject } } export default ErrorHandler export {errorList}