guarder
Version:
Guarder provides simple validation logic to reduce clutter with inline guard statements
29 lines • 1.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const Guarder_1 = require("../Guarder");
const NumberGuard_1 = require("./NumberGuard");
const ArgumentError_1 = require("../errors/ArgumentError");
/**
* Negative Guard validates a property is not a negative number
*/
class NegativeGuard {
/**
* @inheritDoc
*/
guard(property, errorMessage, error) {
Guarder_1.Guarder.guard(NumberGuard_1.NumberGuard, property, errorMessage, error);
const int = parseInt(Guarder_1.Guarder.empty(property).toString());
if (int < 0) {
this.throwError(errorMessage !== null && errorMessage !== void 0 ? errorMessage : 'Property not allowed to be negative number', error);
}
return property;
}
throwError(message, error) {
if (error) {
throw new error(message);
}
throw new ArgumentError_1.ArgumentError(message);
}
}
exports.NegativeGuard = NegativeGuard;
//# sourceMappingURL=NegativeGuard.js.map