customErrors.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. 'use strict';
  2. var util = require('util');
  3. function AbortError (obj) {
  4. Error.captureStackTrace(this, this.constructor);
  5. Object.defineProperty(this, 'message', {
  6. value: obj.message || '',
  7. configurable: true,
  8. writable: true
  9. });
  10. for (var keys = Object.keys(obj), key = keys.pop(); key; key = keys.pop()) {
  11. this[key] = obj[key];
  12. }
  13. }
  14. function AggregateError (obj) {
  15. Error.captureStackTrace(this, this.constructor);
  16. Object.defineProperty(this, 'message', {
  17. value: obj.message || '',
  18. configurable: true,
  19. writable: true
  20. });
  21. for (var keys = Object.keys(obj), key = keys.pop(); key; key = keys.pop()) {
  22. this[key] = obj[key];
  23. }
  24. }
  25. util.inherits(AbortError, Error);
  26. util.inherits(AggregateError, AbortError);
  27. Object.defineProperty(AbortError.prototype, 'name', {
  28. value: 'AbortError',
  29. // configurable: true,
  30. writable: true
  31. });
  32. Object.defineProperty(AggregateError.prototype, 'name', {
  33. value: 'AggregateError',
  34. // configurable: true,
  35. writable: true
  36. });
  37. module.exports = {
  38. AbortError: AbortError,
  39. AggregateError: AggregateError
  40. };