ErrorWithStack.js 829 B

123456789101112131415161718192021222324252627282930313233
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. /**
  7. * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
  8. *
  9. * This source code is licensed under the MIT license found in the
  10. * LICENSE file in the root directory of this source tree.
  11. */
  12. class ErrorWithStack extends Error {
  13. constructor(message, callsite, stackLimit) {
  14. // Ensure we have a large stack length so we get full details.
  15. const originalStackLimit = Error.stackTraceLimit;
  16. if (stackLimit) {
  17. Error.stackTraceLimit = Math.max(stackLimit, originalStackLimit || 10);
  18. }
  19. super(message);
  20. if (Error.captureStackTrace) {
  21. Error.captureStackTrace(this, callsite);
  22. }
  23. Error.stackTraceLimit = originalStackLimit;
  24. }
  25. }
  26. exports.default = ErrorWithStack;