@perceptr/web-sdk
Version:
Perceptr Web SDK for recording and monitoring user sessions
33 lines (32 loc) • 1.01 kB
JavaScript
export 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 || (ErrorCode = {}));
export class SDKErrorEvent extends CustomEvent {
constructor(error) {
super("sdk-error", { detail: error });
}
}
export function emitError(error) {
window.dispatchEvent(new SDKErrorEvent(error));
}
export 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;
}
});
}