guarder
Version:
Guarder provides simple validation logic to reduce clutter with inline guard statements
22 lines • 725 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const ArgumentError_1 = require("../errors/ArgumentError");
/**
* Falsy Guard ensures that the property does not evaluate to false in a type coercion
*/
class FalsyGuard {
/**
* @inheritDoc
*/
guard(property, errorMessage, error) {
const message = errorMessage !== null && errorMessage !== void 0 ? errorMessage : 'Property not allowed to be falsy';
if (!(!!property)) {
if (error)
throw new error(message);
throw new ArgumentError_1.ArgumentError(message);
}
return property;
}
}
exports.FalsyGuard = FalsyGuard;
//# sourceMappingURL=FalsyGuard.js.map