aboutsummaryrefslogtreecommitdiff
path: root/node_modules/jest-circus/build/globalErrorHandlers.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/jest-circus/build/globalErrorHandlers.js')
-rw-r--r--node_modules/jest-circus/build/globalErrorHandlers.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/node_modules/jest-circus/build/globalErrorHandlers.js b/node_modules/jest-circus/build/globalErrorHandlers.js
new file mode 100644
index 0000000..bc889f3
--- /dev/null
+++ b/node_modules/jest-circus/build/globalErrorHandlers.js
@@ -0,0 +1,51 @@
+'use strict';
+
+Object.defineProperty(exports, '__esModule', {
+ value: true
+});
+exports.restoreGlobalErrorHandlers = exports.injectGlobalErrorHandlers = void 0;
+
+var _state = require('./state');
+
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+const uncaught = error => {
+ (0, _state.dispatchSync)({
+ error,
+ name: 'error'
+ });
+};
+
+const injectGlobalErrorHandlers = parentProcess => {
+ const uncaughtException = process.listeners('uncaughtException').slice();
+ const unhandledRejection = process.listeners('unhandledRejection').slice();
+ parentProcess.removeAllListeners('uncaughtException');
+ parentProcess.removeAllListeners('unhandledRejection');
+ parentProcess.on('uncaughtException', uncaught);
+ parentProcess.on('unhandledRejection', uncaught);
+ return {
+ uncaughtException,
+ unhandledRejection
+ };
+};
+
+exports.injectGlobalErrorHandlers = injectGlobalErrorHandlers;
+
+const restoreGlobalErrorHandlers = (parentProcess, originalErrorHandlers) => {
+ parentProcess.removeListener('uncaughtException', uncaught);
+ parentProcess.removeListener('unhandledRejection', uncaught);
+
+ for (const listener of originalErrorHandlers.uncaughtException) {
+ parentProcess.on('uncaughtException', listener);
+ }
+
+ for (const listener of originalErrorHandlers.unhandledRejection) {
+ parentProcess.on('unhandledRejection', listener);
+ }
+};
+
+exports.restoreGlobalErrorHandlers = restoreGlobalErrorHandlers;