base.js 2.2 KB

12345678910111213141516171819202122232425262728
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. const error_type_1 = require("./error_type");
  4. const TYPE = Symbol.for('BaseError#type');
  5. class BaseError extends Error {
  6. constructor(options) {
  7. super();
  8. this.options = options || {};
  9. this.message = this.options.message || '';
  10. this.code = this.options.code || '';
  11. this.name = this.constructor.name;
  12. }
  13. static getType(err) {
  14. return err[TYPE] || error_type_1.default.BUILTIN;
  15. }
  16. static from(err, ...args) {
  17. const ErrorClass = this;
  18. const newErr = new ErrorClass(...args);
  19. newErr.message = err.message;
  20. newErr.stack = err.stack;
  21. for (const key of Object.keys(err)) {
  22. newErr[key] = err[key];
  23. }
  24. return newErr;
  25. }
  26. }
  27. exports.default = BaseError;
  28. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSw2Q0FBcUM7QUFFckMsTUFBTSxJQUFJLEdBQVcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBRWxELE1BQU0sU0FBa0MsU0FBUSxLQUFLO0lBeUJuRCxZQUFZLE9BQVc7UUFDckIsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxFQUFPLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztJQUNwQyxDQUFDO0lBM0JNLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBVTtRQUM5QixPQUFRLEdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxvQkFBUyxDQUFDLE9BQU8sQ0FBQztJQUNqRCxDQUFDO0lBRU0sTUFBTSxDQUFDLElBQUksQ0FHUCxHQUFVLEVBQUUsR0FBRyxJQUFxQjtRQUM3QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDeEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUMsR0FBRyxJQUFhLENBQUMsQ0FBQztRQUNoRCxNQUFNLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFDN0IsTUFBTSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO1FBQ3pCLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNsQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3hCO1FBQ0QsT0FBTyxNQUF5QixDQUFDO0lBQ25DLENBQUM7Q0FhRjtBQUVELGtCQUFlLFNBQVMsQ0FBQyJ9