error-stack-install.js 635 B

123456789101112131415
  1. 'use strict';
  2. var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
  3. var clearErrorStack = require('../internals/error-stack-clear');
  4. var ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');
  5. // non-standard V8
  6. // eslint-disable-next-line es/no-nonstandard-error-properties -- safe
  7. var captureStackTrace = Error.captureStackTrace;
  8. module.exports = function (error, C, stack, dropEntries) {
  9. if (ERROR_STACK_INSTALLABLE) {
  10. if (captureStackTrace) captureStackTrace(error, C);
  11. else createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries));
  12. }
  13. };