podchat-browser
Version:
Javascript SDK to use POD's Chat Service - Browser Only
227 lines (207 loc) • 7.01 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.errorList = exports["default"] = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
var 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."
}
};
exports.errorList = errorList;
function ErrorHandler(app) {
function handleError(error) {
var item = Object.values(errorList).filter(function (item) {
return item.code == error;
});
if (!item.length) return {};
return item[0];
}
function getFilledErrorObject(errorObject) {
for (var i in errorObject.variables) {
errorObject.message = errorObject.message.replace(errorObject.variables[i], errorObject.replacements[i]);
}
return errorObject;
}
function raiseError(errorObject, callback) {
var fireEvent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
var _ref = arguments.length > 3 ? arguments[3] : undefined,
_ref$eventName = _ref.eventName,
eventName = _ref$eventName === void 0 ? 'error' : _ref$eventName,
_ref$eventType = _ref.eventType,
eventType = _ref$eventType === void 0 ? null : _ref$eventType,
_ref$environmentDetai = _ref.environmentDetails,
environmentDetails = _ref$environmentDetai === void 0 ? null : _ref$environmentDetai;
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: environmentDetails,
uniqueId: errorObject.uniqueId ? errorObject.uniqueId : undefined
});
return _objectSpread({
hasError: true
}, errorObject);
}
return {
handleError: handleError,
raiseError: raiseError,
getFilledErrorObject: getFilledErrorObject
};
}
var _default = ErrorHandler;
exports["default"] = _default;