"use strict";
|
Object.defineProperty(exports, "__esModule", { value: true });
|
exports.FrameworkBaseError = exports.FRAMEWORK_ERROR_SYMBOL = void 0;
|
const __1 = require("../");
|
const formatter_1 = require("./formatter");
|
const assert = require("assert");
|
exports.FRAMEWORK_ERROR_SYMBOL = Symbol.for('FrameworkBaseError');
|
class FrameworkBaseError extends __1.EggBaseError {
|
constructor(message, serialNumber, errorContext) {
|
super({ message, serialNumber, errorContext });
|
assert(message, 'message is required');
|
assert(serialNumber, 'serialNumber is required');
|
this.serialNumber = String(serialNumber);
|
this.errorContext = errorContext || '';
|
this.code = `${this.module}_${this.serialNumber}`;
|
this[exports.FRAMEWORK_ERROR_SYMBOL] = true;
|
}
|
get module() {
|
throw new Error('module should be implement');
|
}
|
// create a new frameworkError with format
|
static create(message, serialNumber, errorContext) {
|
const err = formatter_1.FrameworkErrorFormater.formatError(new this(message, serialNumber, errorContext));
|
Error.captureStackTrace(err, this.create);
|
return err;
|
}
|
static isFrameworkError(err) {
|
return err[exports.FRAMEWORK_ERROR_SYMBOL] === true;
|
}
|
}
|
exports.FrameworkBaseError = FrameworkBaseError;
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWV3b3JrX2Jhc2VfZXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJmcmFtZXdvcmtfYmFzZV9lcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQkFBaUQ7QUFDakQsMkNBQXFEO0FBQ3JELGlDQUFpQztBQUVwQixRQUFBLHNCQUFzQixHQUFXLE1BQU0sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUUvRSxNQUFhLGtCQUFtQixTQUFRLGdCQUEwQjtJQVFoRSxZQUFZLE9BQWUsRUFBRSxZQUE2QixFQUFFLFlBQWtCO1FBQzVFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUMvQyxNQUFNLENBQUMsT0FBTyxFQUFFLHFCQUFxQixDQUFDLENBQUM7UUFDdkMsTUFBTSxDQUFDLFlBQVksRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO1FBRWpELElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxJQUFJLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFakQsSUFBWSxDQUFDLDhCQUFzQixDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQy9DLENBQUM7SUFkRCxJQUFJLE1BQU07UUFDUixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDaEQsQ0FBQztJQWNELDBDQUEwQztJQUMxQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQWUsRUFBRSxZQUE2QixFQUFFLFlBQWtCO1FBQzlFLE1BQU0sR0FBRyxHQUFHLGtDQUFzQixDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDOUYsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUMsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQVU7UUFDaEMsT0FBUSxHQUFXLENBQUMsOEJBQXNCLENBQUMsS0FBSyxJQUFJLENBQUM7SUFDdkQsQ0FBQztDQUNGO0FBOUJELGdEQThCQyJ9
|