Files

82 lines
2.3 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ErrorInstance = void 0;
/**
* Base class for error instances.
*
* @author Jeongho Nam - https://github.com/samchon
*/
var ErrorInstance = /** @class */ (function () {
function ErrorInstance(val, category) {
if (val === void 0) { val = 0; }
if (category === void 0) { category = null; }
this.assign(val, category);
}
/**
* Assign content.
*
* @param val Identifier of an error condition.
* @param category An error category instance.
*/
ErrorInstance.prototype.assign = function (val, category) {
this.category_ = category;
this.value_ = val;
};
/**
* Clear content.
*/
ErrorInstance.prototype.clear = function () {
this.value_ = 0;
};
/* ---------------------------------------------------------
ACCESSORS
--------------------------------------------------------- */
/**
* Get category.
*
* @return The category object.
*/
ErrorInstance.prototype.category = function () {
return this.category_;
};
/**
* Get value, the identifier.
*
* @return The value, identifier of this object.
*/
ErrorInstance.prototype.value = function () {
return this.value_;
};
/**
* Get message.
*
* @return The message.
*/
ErrorInstance.prototype.message = function () {
return this.category_.message(this.value_);
};
/* ---------------------------------------------------------
OPERATORS
--------------------------------------------------------- */
/**
* Covert bo bool.
*
* @return Whether the {@link value} is not zero.
*/
ErrorInstance.prototype.to_bool = function () {
return this.value_ !== 0;
};
ErrorInstance.prototype.toJSON = function () {
if (this.category_ === null)
return {};
else
return {
cateogory: this.category_.name(),
value: this.value(),
message: this.message(),
};
};
return ErrorInstance;
}());
exports.ErrorInstance = ErrorInstance;
//# sourceMappingURL=ErrorInstance.js.map