@sudoo/marked
Version:
JavaScript & TypeScript code runner in JavaScript, safe with marked territory, asynchronous
34 lines (33 loc) • 1.2 kB
JavaScript
;
/**
* @author WMXPY
* @namespace Util_Error
* @description Error
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.error = exports.MarkedError = void 0;
const error_code_1 = require("../../declare/error-code");
const error_list_1 = require("../../declare/error-list");
class MarkedError extends Error {
constructor(code, description, info, node, trace) {
super();
this.code = code;
this.description = description;
this.message = `${code}: ${description}`;
this.info = info || null;
this.trace = trace || null;
this.node = node || null;
Object.setPrototypeOf(this, MarkedError.prototype);
}
}
exports.MarkedError = MarkedError;
const error = (code, info, node, trace) => {
const newError = Boolean(error_list_1.ERROR_LIST[code])
? new MarkedError(code, error_list_1.ERROR_LIST[code], info, node, trace)
: new MarkedError(error_code_1.ERROR_CODE.INTERNAL_ERROR, error_list_1.ERROR_LIST[error_code_1.ERROR_CODE.INTERNAL_ERROR], info, node, trace);
if (newError.code > 9001) {
console.log(newError);
}
return newError;
};
exports.error = error;