@decaf-ts/decorator-validation
Version:
simple decorator based validation engine
55 lines • 4.99 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.PasswordValidator = void 0;
const PatternValidator_1 = require("./PatternValidator.cjs");
const constants_1 = require("./constants.cjs");
const decorators_1 = require("./decorators.cjs");
/**
* @summary Handles Password Validation
*
* @param {string} [errorMessage] defaults to {@link DEFAULT_ERROR_MESSAGES#PASSWORD}
*
* @class PasswordValidator
* @extends PatternValidator
*
* @category Validators
*/
let PasswordValidator = class PasswordValidator extends PatternValidator_1.PatternValidator {
constructor(message = constants_1.DEFAULT_ERROR_MESSAGES.PASSWORD) {
super(message);
}
/**
* @summary Validates a model
*
* @param {string} value
* @param {PatternValidatorOptions} [options={}]
*
* @return {string | undefined}
*
* @override
*
* @see PatternValidator#hasErrors
*/
hasErrors(value, options = {}) {
return super.hasErrors(value, {
...options,
message: options.message || this.message,
[constants_1.ValidationKeys.PATTERN]: options?.pattern || constants_1.DEFAULT_PATTERNS.PASSWORD.CHAR8_ONE_OF_EACH,
});
}
};
exports.PasswordValidator = PasswordValidator;
exports.PasswordValidator = PasswordValidator = __decorate([
(0, decorators_1.validator)(constants_1.ValidationKeys.PASSWORD),
__metadata("design:paramtypes", [Object])
], PasswordValidator);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFzc3dvcmRWYWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdmFsaWRhdGlvbi9WYWxpZGF0b3JzL1Bhc3N3b3JkVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDZEQUFzRDtBQUN0RCwrQ0FJcUI7QUFDckIsaURBQXlDO0FBR3pDOzs7Ozs7Ozs7R0FTRztBQUVJLElBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWtCLFNBQVEsbUNBQWdCO0lBQ3JELFlBQVksT0FBTyxHQUFHLGtDQUFzQixDQUFDLFFBQVE7UUFDbkQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNhLFNBQVMsQ0FDdkIsS0FBYSxFQUNiLFVBQW1DLEVBQUU7UUFFckMsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRTtZQUM1QixHQUFHLE9BQU87WUFDVixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTztZQUN4QyxDQUFDLDBCQUFjLENBQUMsT0FBTyxDQUFDLEVBQ3RCLE9BQU8sRUFBRSxPQUFPLElBQUksNEJBQWdCLENBQUMsUUFBUSxDQUFDLGlCQUFpQjtTQUNsRSxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YsQ0FBQTtBQTVCWSw4Q0FBaUI7NEJBQWpCLGlCQUFpQjtJQUQ3QixJQUFBLHNCQUFTLEVBQUMsMEJBQWMsQ0FBQyxRQUFRLENBQUM7O0dBQ3RCLGlCQUFpQixDQTRCN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXR0ZXJuVmFsaWRhdG9yIH0gZnJvbSBcIi4vUGF0dGVyblZhbGlkYXRvclwiO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyxcbiAgREVGQVVMVF9QQVRURVJOUyxcbiAgVmFsaWRhdGlvbktleXMsXG59IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgdmFsaWRhdG9yIH0gZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBIYW5kbGVzIFBhc3N3b3JkIFZhbGlkYXRpb25cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gW2Vycm9yTWVzc2FnZV0gZGVmYXVsdHMgdG8ge0BsaW5rIERFRkFVTFRfRVJST1JfTUVTU0FHRVMjUEFTU1dPUkR9XG4gKlxuICogQGNsYXNzIFBhc3N3b3JkVmFsaWRhdG9yXG4gKiBAZXh0ZW5kcyBQYXR0ZXJuVmFsaWRhdG9yXG4gKlxuICogQGNhdGVnb3J5IFZhbGlkYXRvcnNcbiAqL1xuQHZhbGlkYXRvcihWYWxpZGF0aW9uS2V5cy5QQVNTV09SRClcbmV4cG9ydCBjbGFzcyBQYXNzd29yZFZhbGlkYXRvciBleHRlbmRzIFBhdHRlcm5WYWxpZGF0b3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlID0gREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5QQVNTV09SRCkge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFZhbGlkYXRlcyBhIG1vZGVsXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICAgKiBAcGFyYW0ge1BhdHRlcm5WYWxpZGF0b3JPcHRpb25zfSBbb3B0aW9ucz17fV1cbiAgICpcbiAgICogQHJldHVybiB7c3RyaW5nIHwgdW5kZWZpbmVkfVxuICAgKlxuICAgKiBAb3ZlcnJpZGVcbiAgICpcbiAgICogQHNlZSBQYXR0ZXJuVmFsaWRhdG9yI2hhc0Vycm9yc1xuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGhhc0Vycm9ycyhcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIG9wdGlvbnM6IFBhdHRlcm5WYWxpZGF0b3JPcHRpb25zID0ge31cbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gc3VwZXIuaGFzRXJyb3JzKHZhbHVlLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgbWVzc2FnZTogb3B0aW9ucy5tZXNzYWdlIHx8IHRoaXMubWVzc2FnZSxcbiAgICAgIFtWYWxpZGF0aW9uS2V5cy5QQVRURVJOXTpcbiAgICAgICAgb3B0aW9ucz8ucGF0dGVybiB8fCBERUZBVUxUX1BBVFRFUk5TLlBBU1NXT1JELkNIQVI4X09ORV9PRl9FQUNILFxuICAgIH0pO1xuICB9XG59XG4iXX0=