UNPKG

@perceptr/web-sdk

Version:

Perceptr Web SDK for recording and monitoring user sessions

39 lines (38 loc) 1.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SDKErrorEvent = exports.ErrorCode = void 0; exports.emitError = emitError; exports.wrapWithErrorBoundary = wrapWithErrorBoundary; var ErrorCode; (function (ErrorCode) { ErrorCode["INITIALIZATION_FAILED"] = "INITIALIZATION_FAILED"; ErrorCode["RECORDING_FAILED"] = "RECORDING_FAILED"; ErrorCode["MEMORY_LIMIT_EXCEEDED"] = "MEMORY_LIMIT_EXCEEDED"; ErrorCode["EXPORT_FAILED"] = "EXPORT_FAILED"; ErrorCode["API_ERROR"] = "API_ERROR"; })(ErrorCode || (exports.ErrorCode = ErrorCode = {})); class SDKErrorEvent extends CustomEvent { constructor(error) { super("sdk-error", { detail: error }); } } exports.SDKErrorEvent = SDKErrorEvent; function emitError(error) { window.dispatchEvent(new SDKErrorEvent(error)); } function wrapWithErrorBoundary(fn, errorCode, context) { return ((...args) => { try { return fn(...args); } catch (error) { emitError({ code: errorCode, message: error instanceof Error ? error.message : "Unknown error", originalError: error, context, }); throw error; } }); }