1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- /**
- *
- * @param {Error} error
- */
- function parseErrorToStacks(error) {
- if (!error || !(error instanceof Error)) {
- throw new Error("parseErrorToStacks expects Error object");
- }
- if (typeof error.stack === "string") {
- return error.stack.split("\n").filter(function (stack) {
- return stack !== "Error: ".concat(error.message);
- });
- }
- }
- /**
- * @callback ErrorCallback
- * @param {ErrorEvent} error
- * @returns {void}
- */
- /**
- * @param {ErrorCallback} callback
- */
- function listenToRuntimeError(callback) {
- window.addEventListener("error", callback);
- return function cleanup() {
- window.removeEventListener("error", callback);
- };
- }
- /**
- * @callback UnhandledRejectionCallback
- * @param {PromiseRejectionEvent} rejectionEvent
- * @returns {void}
- */
- /**
- * @param {UnhandledRejectionCallback} callback
- */
- function listenToUnhandledRejection(callback) {
- window.addEventListener("unhandledrejection", callback);
- return function cleanup() {
- window.removeEventListener("unhandledrejection", callback);
- };
- }
- export { listenToRuntimeError, listenToUnhandledRejection, parseErrorToStacks };
|