@decaf-ts/decorator-validation 1.5.2 → 1.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +0 -0
- package/README.md +34 -108
- package/dist/decorator-validation.js +2 -0
- package/dist/decorator-validation.js.LICENSE.txt +14 -0
- package/dist/esm/decorator-validation.js +2 -0
- package/dist/esm/decorator-validation.js.LICENSE.txt +14 -0
- package/lib/esm/index.d.ts +42 -0
- package/lib/esm/index.js +44 -0
- package/lib/esm/model/Model.d.ts +138 -0
- package/lib/esm/model/Model.js +298 -0
- package/lib/esm/model/ModelErrorDefinition.d.ts +22 -0
- package/lib/esm/model/ModelErrorDefinition.js +54 -0
- package/lib/esm/model/Registry.d.ts +59 -0
- package/lib/esm/model/Registry.js +75 -0
- package/lib/esm/model/constants.d.ts +56 -0
- package/lib/esm/model/constants.js +71 -0
- package/lib/esm/model/construction.d.ts +29 -0
- package/lib/esm/model/construction.js +65 -0
- package/lib/esm/model/decorators.d.ts +25 -0
- package/lib/esm/model/decorators.js +64 -0
- package/lib/esm/model/index.d.ts +9 -0
- package/lib/esm/model/index.js +11 -0
- package/lib/esm/model/types.d.ts +79 -0
- package/lib/esm/model/types.js +3 -0
- package/lib/esm/model/utils.d.ts +11 -0
- package/lib/esm/model/utils.js +27 -0
- package/lib/esm/model/validation.d.ts +14 -0
- package/lib/esm/model/validation.js +137 -0
- package/lib/esm/utils/constants.d.ts +26 -0
- package/lib/esm/utils/constants.js +29 -0
- package/lib/esm/utils/dates.d.ts +76 -0
- package/lib/esm/utils/dates.js +245 -0
- package/lib/esm/utils/decorators.d.ts +2 -0
- package/lib/esm/utils/decorators.js +20 -0
- package/lib/esm/utils/hashing.d.ts +52 -0
- package/lib/esm/utils/hashing.js +101 -0
- package/lib/esm/utils/index.d.ts +7 -0
- package/lib/esm/utils/index.js +9 -0
- package/lib/esm/utils/registry.d.ts +68 -0
- package/lib/esm/utils/registry.js +3 -0
- package/lib/esm/utils/serialization.d.ts +79 -0
- package/lib/esm/utils/serialization.js +90 -0
- package/lib/esm/utils/strings.d.ts +25 -0
- package/lib/esm/utils/strings.js +33 -0
- package/lib/esm/validation/Validation.d.ts +51 -0
- package/lib/esm/validation/Validation.js +73 -0
- package/lib/esm/validation/Validators/DateValidator.d.ts +28 -0
- package/lib/esm/validation/Validators/DateValidator.js +56 -0
- package/lib/esm/validation/Validators/EmailValidator.d.ts +28 -0
- package/lib/esm/validation/Validators/EmailValidator.js +52 -0
- package/lib/esm/validation/Validators/ListValidator.d.ts +28 -0
- package/lib/esm/validation/Validators/ListValidator.js +69 -0
- package/lib/esm/validation/Validators/MaxLengthValidator.d.ts +29 -0
- package/lib/esm/validation/Validators/MaxLengthValidator.js +54 -0
- package/lib/esm/validation/Validators/MaxValidator.d.ts +28 -0
- package/lib/esm/validation/Validators/MaxValidator.js +59 -0
- package/lib/esm/validation/Validators/MinLengthValidator.d.ts +29 -0
- package/lib/esm/validation/Validators/MinLengthValidator.js +54 -0
- package/lib/esm/validation/Validators/MinValidator.d.ts +28 -0
- package/lib/esm/validation/Validators/MinValidator.js +59 -0
- package/lib/esm/validation/Validators/PasswordValidator.d.ts +28 -0
- package/lib/esm/validation/Validators/PasswordValidator.js +52 -0
- package/lib/esm/validation/Validators/PatternValidator.d.ts +37 -0
- package/lib/esm/validation/Validators/PatternValidator.js +72 -0
- package/lib/esm/validation/Validators/RequiredValidator.d.ts +28 -0
- package/lib/esm/validation/Validators/RequiredValidator.js +59 -0
- package/lib/esm/validation/Validators/StepValidator.d.ts +29 -0
- package/lib/esm/validation/Validators/StepValidator.js +54 -0
- package/lib/esm/validation/Validators/TypeValidator.d.ts +25 -0
- package/lib/esm/validation/Validators/TypeValidator.js +62 -0
- package/lib/esm/validation/Validators/URLValidator.d.ts +27 -0
- package/lib/esm/validation/Validators/URLValidator.js +51 -0
- package/lib/esm/validation/Validators/Validator.d.ts +41 -0
- package/lib/esm/validation/Validators/Validator.js +49 -0
- package/lib/esm/validation/Validators/ValidatorRegistry.d.ts +47 -0
- package/lib/esm/validation/Validators/ValidatorRegistry.js +82 -0
- package/lib/esm/validation/Validators/constants.d.ts +96 -0
- package/lib/esm/validation/Validators/constants.js +136 -0
- package/lib/esm/validation/Validators/decorators.d.ts +12 -0
- package/lib/esm/validation/Validators/decorators.js +27 -0
- package/lib/esm/validation/Validators/index.d.ts +52 -0
- package/lib/esm/validation/Validators/index.js +54 -0
- package/lib/esm/validation/Validators/types.d.ts +88 -0
- package/lib/esm/validation/Validators/types.js +3 -0
- package/lib/esm/validation/decorators.d.ts +178 -0
- package/lib/esm/validation/decorators.js +290 -0
- package/lib/esm/validation/index.d.ts +4 -0
- package/lib/esm/validation/index.js +6 -0
- package/lib/esm/validation/types.d.ts +46 -0
- package/lib/esm/validation/types.js +3 -0
- package/lib/index.cjs +61 -0
- package/lib/index.d.ts +42 -0
- package/lib/model/Model.cjs +302 -0
- package/lib/model/Model.d.ts +138 -0
- package/lib/model/ModelErrorDefinition.cjs +58 -0
- package/lib/model/ModelErrorDefinition.d.ts +22 -0
- package/lib/model/Registry.cjs +80 -0
- package/lib/model/Registry.d.ts +59 -0
- package/lib/model/constants.cjs +74 -0
- package/lib/model/constants.d.ts +56 -0
- package/lib/model/construction.cjs +70 -0
- package/lib/model/construction.d.ts +29 -0
- package/lib/model/decorators.cjs +69 -0
- package/lib/model/decorators.d.ts +25 -0
- package/lib/model/index.cjs +27 -0
- package/lib/model/index.d.ts +9 -0
- package/lib/model/types.cjs +4 -0
- package/lib/model/types.d.ts +79 -0
- package/lib/model/utils.cjs +31 -0
- package/lib/model/utils.d.ts +11 -0
- package/lib/model/validation.cjs +140 -0
- package/lib/model/validation.d.ts +14 -0
- package/lib/utils/constants.cjs +32 -0
- package/lib/utils/constants.d.ts +26 -0
- package/lib/utils/dates.cjs +253 -0
- package/lib/utils/dates.d.ts +76 -0
- package/lib/utils/decorators.cjs +24 -0
- package/lib/utils/decorators.d.ts +2 -0
- package/lib/utils/hashing.cjs +108 -0
- package/lib/utils/hashing.d.ts +52 -0
- package/lib/utils/index.cjs +25 -0
- package/lib/utils/index.d.ts +7 -0
- package/lib/utils/registry.cjs +4 -0
- package/lib/utils/registry.d.ts +68 -0
- package/lib/utils/serialization.cjs +95 -0
- package/lib/utils/serialization.d.ts +79 -0
- package/lib/utils/strings.cjs +37 -0
- package/lib/utils/strings.d.ts +25 -0
- package/lib/validation/Validation.cjs +77 -0
- package/lib/validation/Validation.d.ts +51 -0
- package/lib/validation/Validators/DateValidator.cjs +59 -0
- package/lib/validation/Validators/DateValidator.d.ts +28 -0
- package/lib/validation/Validators/EmailValidator.cjs +55 -0
- package/lib/validation/Validators/EmailValidator.d.ts +28 -0
- package/lib/validation/Validators/ListValidator.cjs +72 -0
- package/lib/validation/Validators/ListValidator.d.ts +28 -0
- package/lib/validation/Validators/MaxLengthValidator.cjs +57 -0
- package/lib/validation/Validators/MaxLengthValidator.d.ts +29 -0
- package/lib/validation/Validators/MaxValidator.cjs +62 -0
- package/lib/validation/Validators/MaxValidator.d.ts +28 -0
- package/lib/validation/Validators/MinLengthValidator.cjs +57 -0
- package/lib/validation/Validators/MinLengthValidator.d.ts +29 -0
- package/lib/validation/Validators/MinValidator.cjs +62 -0
- package/lib/validation/Validators/MinValidator.d.ts +28 -0
- package/lib/validation/Validators/PasswordValidator.cjs +55 -0
- package/lib/validation/Validators/PasswordValidator.d.ts +28 -0
- package/lib/validation/Validators/PatternValidator.cjs +75 -0
- package/lib/validation/Validators/PatternValidator.d.ts +37 -0
- package/lib/validation/Validators/RequiredValidator.cjs +62 -0
- package/lib/validation/Validators/RequiredValidator.d.ts +28 -0
- package/lib/validation/Validators/StepValidator.cjs +57 -0
- package/lib/validation/Validators/StepValidator.d.ts +29 -0
- package/lib/validation/Validators/TypeValidator.cjs +65 -0
- package/lib/validation/Validators/TypeValidator.d.ts +25 -0
- package/lib/validation/Validators/URLValidator.cjs +54 -0
- package/lib/validation/Validators/URLValidator.d.ts +27 -0
- package/lib/validation/Validators/Validator.cjs +53 -0
- package/lib/validation/Validators/Validator.d.ts +41 -0
- package/lib/validation/Validators/ValidatorRegistry.cjs +87 -0
- package/lib/validation/Validators/ValidatorRegistry.d.ts +47 -0
- package/lib/validation/Validators/constants.cjs +139 -0
- package/lib/validation/Validators/constants.d.ts +96 -0
- package/lib/validation/Validators/decorators.cjs +30 -0
- package/lib/validation/Validators/decorators.d.ts +12 -0
- package/lib/validation/Validators/index.cjs +71 -0
- package/lib/validation/Validators/index.d.ts +52 -0
- package/lib/validation/Validators/types.d.ts +88 -0
- package/lib/validation/decorators.cjs +306 -0
- package/lib/validation/decorators.d.ts +178 -0
- package/lib/validation/index.cjs +22 -0
- package/lib/validation/index.d.ts +4 -0
- package/lib/validation/types.cjs +4 -0
- package/lib/validation/types.d.ts +46 -0
- package/package.json +18 -13
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.MinLengthValidator = void 0;
|
|
13
|
+
const Validator_1 = require("./Validator.cjs");
|
|
14
|
+
const constants_1 = require("./constants.cjs");
|
|
15
|
+
const decorators_1 = require("./decorators.cjs");
|
|
16
|
+
/**
|
|
17
|
+
* @summary Minimum Length Validator
|
|
18
|
+
* @description Validates strings and Arrays on their minimum length
|
|
19
|
+
*
|
|
20
|
+
* @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#MIN_LENGTH}
|
|
21
|
+
*
|
|
22
|
+
* @class MinLengthValidator
|
|
23
|
+
* @extends Validator
|
|
24
|
+
*
|
|
25
|
+
* @category Validators
|
|
26
|
+
*/
|
|
27
|
+
let MinLengthValidator = class MinLengthValidator extends Validator_1.Validator {
|
|
28
|
+
constructor(message = constants_1.DEFAULT_ERROR_MESSAGES.MIN_LENGTH) {
|
|
29
|
+
super(message, String.name, Array.name);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
*
|
|
33
|
+
* @param {string | Array} value
|
|
34
|
+
* @param {MinLengthValidatorOptions} options
|
|
35
|
+
*
|
|
36
|
+
* @return {string | undefined}
|
|
37
|
+
*
|
|
38
|
+
* @memberOf MinLengthValidator
|
|
39
|
+
* @override
|
|
40
|
+
*
|
|
41
|
+
* @see Validator#hasErrors
|
|
42
|
+
*/
|
|
43
|
+
hasErrors(value, options) {
|
|
44
|
+
if (typeof value === "undefined")
|
|
45
|
+
return;
|
|
46
|
+
return value.length < options.minLength
|
|
47
|
+
? this.getMessage(options.message || this.message, options.minLength)
|
|
48
|
+
: undefined;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
exports.MinLengthValidator = MinLengthValidator;
|
|
52
|
+
exports.MinLengthValidator = MinLengthValidator = __decorate([
|
|
53
|
+
(0, decorators_1.validator)(constants_1.ValidationKeys.MIN_LENGTH),
|
|
54
|
+
__metadata("design:paramtypes", [String])
|
|
55
|
+
], MinLengthValidator);
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvTWluTGVuZ3RoVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF3QztBQUN4QywyQ0FBcUU7QUFDckUsNkNBQXlDO0FBR3pDOzs7Ozs7Ozs7O0dBVUc7QUFFSSxJQUFNLGtCQUFrQixHQUF4QixNQUFNLGtCQUFtQixTQUFRLHFCQUFvQztJQUMxRSxZQUFZLFVBQWtCLGtDQUFzQixDQUFDLFVBQVU7UUFDN0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxTQUFTLENBQ2QsS0FBcUIsRUFDckIsT0FBa0M7UUFFbEMsSUFBSSxPQUFPLEtBQUssS0FBSyxXQUFXO1lBQUUsT0FBTztRQUN6QyxPQUFPLEtBQUssQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLFNBQVM7WUFDckMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUM7WUFDckUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNoQixDQUFDO0NBQ0YsQ0FBQTtBQTFCWSxnREFBa0I7NkJBQWxCLGtCQUFrQjtJQUQ5QixJQUFBLHNCQUFTLEVBQUMsMEJBQWMsQ0FBQyxVQUFVLENBQUM7O0dBQ3hCLGtCQUFrQixDQTBCOUIiLCJmaWxlIjoidmFsaWRhdGlvbi9WYWxpZGF0b3JzL01pbkxlbmd0aFZhbGlkYXRvci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRvciB9IGZyb20gXCIuL1ZhbGlkYXRvclwiO1xuaW1wb3J0IHsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUywgVmFsaWRhdGlvbktleXMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHZhbGlkYXRvciB9IGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IE1pbkxlbmd0aFZhbGlkYXRvck9wdGlvbnMgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IE1pbmltdW0gTGVuZ3RoIFZhbGlkYXRvclxuICogQGRlc2NyaXB0aW9uIFZhbGlkYXRlcyBzdHJpbmdzIGFuZCBBcnJheXMgb24gdGhlaXIgbWluaW11bSBsZW5ndGhcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdIGRlZmF1bHRzIHRvIHtAbGluayBERUZBVUxUX0VSUk9SX01FU1NBR0VTI01JTl9MRU5HVEh9XG4gKlxuICogQGNsYXNzIE1pbkxlbmd0aFZhbGlkYXRvclxuICogQGV4dGVuZHMgVmFsaWRhdG9yXG4gKlxuICogQGNhdGVnb3J5IFZhbGlkYXRvcnNcbiAqL1xuQHZhbGlkYXRvcihWYWxpZGF0aW9uS2V5cy5NSU5fTEVOR1RIKVxuZXhwb3J0IGNsYXNzIE1pbkxlbmd0aFZhbGlkYXRvciBleHRlbmRzIFZhbGlkYXRvcjxNaW5MZW5ndGhWYWxpZGF0b3JPcHRpb25zPiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuTUlOX0xFTkdUSCkge1xuICAgIHN1cGVyKG1lc3NhZ2UsIFN0cmluZy5uYW1lLCBBcnJheS5uYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IEFycmF5fSB2YWx1ZVxuICAgKiBAcGFyYW0ge01pbkxlbmd0aFZhbGlkYXRvck9wdGlvbnN9IG9wdGlvbnNcbiAgICpcbiAgICogQHJldHVybiB7c3RyaW5nIHwgdW5kZWZpbmVkfVxuICAgKlxuICAgKiBAbWVtYmVyT2YgTWluTGVuZ3RoVmFsaWRhdG9yXG4gICAqIEBvdmVycmlkZVxuICAgKlxuICAgKiBAc2VlIFZhbGlkYXRvciNoYXNFcnJvcnNcbiAgICovXG4gIHB1YmxpYyBoYXNFcnJvcnMoXG4gICAgdmFsdWU6IHN0cmluZyB8IGFueVtdLFxuICAgIG9wdGlvbnM6IE1pbkxlbmd0aFZhbGlkYXRvck9wdGlvbnNcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm47XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aCA8IG9wdGlvbnMubWluTGVuZ3RoXG4gICAgICA/IHRoaXMuZ2V0TWVzc2FnZShvcHRpb25zLm1lc3NhZ2UgfHwgdGhpcy5tZXNzYWdlLCBvcHRpb25zLm1pbkxlbmd0aClcbiAgICAgIDogdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Validator } from "./Validator";
|
|
2
|
+
import { MinLengthValidatorOptions } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* @summary Minimum Length Validator
|
|
5
|
+
* @description Validates strings and Arrays on their minimum length
|
|
6
|
+
*
|
|
7
|
+
* @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#MIN_LENGTH}
|
|
8
|
+
*
|
|
9
|
+
* @class MinLengthValidator
|
|
10
|
+
* @extends Validator
|
|
11
|
+
*
|
|
12
|
+
* @category Validators
|
|
13
|
+
*/
|
|
14
|
+
export declare class MinLengthValidator extends Validator<MinLengthValidatorOptions> {
|
|
15
|
+
constructor(message?: string);
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* @param {string | Array} value
|
|
19
|
+
* @param {MinLengthValidatorOptions} options
|
|
20
|
+
*
|
|
21
|
+
* @return {string | undefined}
|
|
22
|
+
*
|
|
23
|
+
* @memberOf MinLengthValidator
|
|
24
|
+
* @override
|
|
25
|
+
*
|
|
26
|
+
* @see Validator#hasErrors
|
|
27
|
+
*/
|
|
28
|
+
hasErrors(value: string | any[], options: MinLengthValidatorOptions): string | undefined;
|
|
29
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.MinValidator = void 0;
|
|
13
|
+
const Validator_1 = require("./Validator.cjs");
|
|
14
|
+
const constants_1 = require("./constants.cjs");
|
|
15
|
+
const decorators_1 = require("./decorators.cjs");
|
|
16
|
+
/**
|
|
17
|
+
* @summary Min Validator
|
|
18
|
+
*
|
|
19
|
+
* @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#MIN}
|
|
20
|
+
*
|
|
21
|
+
* @class MinValidator
|
|
22
|
+
* @extends Validator
|
|
23
|
+
*
|
|
24
|
+
* @category Validators
|
|
25
|
+
*/
|
|
26
|
+
let MinValidator = class MinValidator extends Validator_1.Validator {
|
|
27
|
+
constructor(message = constants_1.DEFAULT_ERROR_MESSAGES.MIN) {
|
|
28
|
+
super(message, "number", "Date", "string");
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @summary Validates Model
|
|
32
|
+
*
|
|
33
|
+
* @param {string} value
|
|
34
|
+
* @param {MaxValidatorOptions} options
|
|
35
|
+
*
|
|
36
|
+
* @return {string | undefined}
|
|
37
|
+
*
|
|
38
|
+
* @override
|
|
39
|
+
*
|
|
40
|
+
* @see Validator#hasErrors
|
|
41
|
+
*/
|
|
42
|
+
hasErrors(value, options) {
|
|
43
|
+
if (typeof value === "undefined")
|
|
44
|
+
return;
|
|
45
|
+
let { min } = options;
|
|
46
|
+
if (value instanceof Date && !(min instanceof Date)) {
|
|
47
|
+
min = new Date(min);
|
|
48
|
+
if (Number.isNaN(min.getDate()))
|
|
49
|
+
throw new Error("Invalid Min param defined");
|
|
50
|
+
}
|
|
51
|
+
return value < min
|
|
52
|
+
? this.getMessage(options.message || this.message, min)
|
|
53
|
+
: undefined;
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
exports.MinValidator = MinValidator;
|
|
57
|
+
exports.MinValidator = MinValidator = __decorate([
|
|
58
|
+
(0, decorators_1.validator)(constants_1.ValidationKeys.MIN),
|
|
59
|
+
__metadata("design:paramtypes", [String])
|
|
60
|
+
], MinValidator);
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvTWluVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF3QztBQUN4QywyQ0FBcUU7QUFDckUsNkNBQXlDO0FBR3pDOzs7Ozs7Ozs7R0FTRztBQUVJLElBQU0sWUFBWSxHQUFsQixNQUFNLFlBQWEsU0FBUSxxQkFBOEI7SUFDOUQsWUFBWSxVQUFrQixrQ0FBc0IsQ0FBQyxHQUFHO1FBQ3RELEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxTQUFTLENBQ2QsS0FBNkIsRUFDN0IsT0FBNEI7UUFFNUIsSUFBSSxPQUFPLEtBQUssS0FBSyxXQUFXO1lBQUUsT0FBTztRQUV6QyxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3RCLElBQUksS0FBSyxZQUFZLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxZQUFZLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEQsR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsT0FBTyxLQUFLLEdBQUcsR0FBRztZQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDO1lBQ3ZELENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDaEIsQ0FBQztDQUNGLENBQUE7QUFqQ1ksb0NBQVk7dUJBQVosWUFBWTtJQUR4QixJQUFBLHNCQUFTLEVBQUMsMEJBQWMsQ0FBQyxHQUFHLENBQUM7O0dBQ2pCLFlBQVksQ0FpQ3hCIiwiZmlsZSI6InZhbGlkYXRpb24vVmFsaWRhdG9ycy9NaW5WYWxpZGF0b3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3IgfSBmcm9tIFwiLi9WYWxpZGF0b3JcIjtcbmltcG9ydCB7IERFRkFVTFRfRVJST1JfTUVTU0FHRVMsIFZhbGlkYXRpb25LZXlzIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyB2YWxpZGF0b3IgfSBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBNaW5WYWxpZGF0b3JPcHRpb25zIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBNaW4gVmFsaWRhdG9yXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXSBkZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNNSU59XG4gKlxuICogQGNsYXNzIE1pblZhbGlkYXRvclxuICogQGV4dGVuZHMgVmFsaWRhdG9yXG4gKlxuICogQGNhdGVnb3J5IFZhbGlkYXRvcnNcbiAqL1xuQHZhbGlkYXRvcihWYWxpZGF0aW9uS2V5cy5NSU4pXG5leHBvcnQgY2xhc3MgTWluVmFsaWRhdG9yIGV4dGVuZHMgVmFsaWRhdG9yPE1pblZhbGlkYXRvck9wdGlvbnM+IHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nID0gREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5NSU4pIHtcbiAgICBzdXBlcihtZXNzYWdlLCBcIm51bWJlclwiLCBcIkRhdGVcIiwgXCJzdHJpbmdcIik7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgVmFsaWRhdGVzIE1vZGVsXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICAgKiBAcGFyYW0ge01heFZhbGlkYXRvck9wdGlvbnN9IG9wdGlvbnNcbiAgICpcbiAgICogQHJldHVybiB7c3RyaW5nIHwgdW5kZWZpbmVkfVxuICAgKlxuICAgKiBAb3ZlcnJpZGVcbiAgICpcbiAgICogQHNlZSBWYWxpZGF0b3IjaGFzRXJyb3JzXG4gICAqL1xuICBwdWJsaWMgaGFzRXJyb3JzKFxuICAgIHZhbHVlOiBudW1iZXIgfCBEYXRlIHwgc3RyaW5nLFxuICAgIG9wdGlvbnM6IE1pblZhbGlkYXRvck9wdGlvbnNcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm47XG5cbiAgICBsZXQgeyBtaW4gfSA9IG9wdGlvbnM7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSAmJiAhKG1pbiBpbnN0YW5jZW9mIERhdGUpKSB7XG4gICAgICBtaW4gPSBuZXcgRGF0ZShtaW4pO1xuICAgICAgaWYgKE51bWJlci5pc05hTihtaW4uZ2V0RGF0ZSgpKSlcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBNaW4gcGFyYW0gZGVmaW5lZFwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlIDwgbWluXG4gICAgICA/IHRoaXMuZ2V0TWVzc2FnZShvcHRpb25zLm1lc3NhZ2UgfHwgdGhpcy5tZXNzYWdlLCBtaW4pXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Validator } from "./Validator";
|
|
2
|
+
import { MinValidatorOptions } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* @summary Min Validator
|
|
5
|
+
*
|
|
6
|
+
* @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#MIN}
|
|
7
|
+
*
|
|
8
|
+
* @class MinValidator
|
|
9
|
+
* @extends Validator
|
|
10
|
+
*
|
|
11
|
+
* @category Validators
|
|
12
|
+
*/
|
|
13
|
+
export declare class MinValidator extends Validator<MinValidatorOptions> {
|
|
14
|
+
constructor(message?: string);
|
|
15
|
+
/**
|
|
16
|
+
* @summary Validates Model
|
|
17
|
+
*
|
|
18
|
+
* @param {string} value
|
|
19
|
+
* @param {MaxValidatorOptions} options
|
|
20
|
+
*
|
|
21
|
+
* @return {string | undefined}
|
|
22
|
+
*
|
|
23
|
+
* @override
|
|
24
|
+
*
|
|
25
|
+
* @see Validator#hasErrors
|
|
26
|
+
*/
|
|
27
|
+
hasErrors(value: number | Date | string, options: MinValidatorOptions): string | undefined;
|
|
28
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.PasswordValidator = void 0;
|
|
13
|
+
const PatternValidator_1 = require("./PatternValidator.cjs");
|
|
14
|
+
const constants_1 = require("./constants.cjs");
|
|
15
|
+
const decorators_1 = require("./decorators.cjs");
|
|
16
|
+
/**
|
|
17
|
+
* @summary Handles Password Validation
|
|
18
|
+
*
|
|
19
|
+
* @param {string} [errorMessage] defaults to {@link DEFAULT_ERROR_MESSAGES#PASSWORD}
|
|
20
|
+
*
|
|
21
|
+
* @class PasswordValidator
|
|
22
|
+
* @extends PatternValidator
|
|
23
|
+
*
|
|
24
|
+
* @category Validators
|
|
25
|
+
*/
|
|
26
|
+
let PasswordValidator = class PasswordValidator extends PatternValidator_1.PatternValidator {
|
|
27
|
+
constructor(message = constants_1.DEFAULT_ERROR_MESSAGES.PASSWORD) {
|
|
28
|
+
super(message);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @summary Validates a model
|
|
32
|
+
*
|
|
33
|
+
* @param {string} value
|
|
34
|
+
* @param {PatternValidatorOptions} [options={}]
|
|
35
|
+
*
|
|
36
|
+
* @return {string | undefined}
|
|
37
|
+
*
|
|
38
|
+
* @override
|
|
39
|
+
*
|
|
40
|
+
* @see PatternValidator#hasErrors
|
|
41
|
+
*/
|
|
42
|
+
hasErrors(value, options = {}) {
|
|
43
|
+
return super.hasErrors(value, {
|
|
44
|
+
...options,
|
|
45
|
+
message: options.message || this.message,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
exports.PasswordValidator = PasswordValidator;
|
|
50
|
+
exports.PasswordValidator = PasswordValidator = __decorate([
|
|
51
|
+
(0, decorators_1.validator)(constants_1.ValidationKeys.PASSWORD),
|
|
52
|
+
__metadata("design:paramtypes", [Object])
|
|
53
|
+
], PasswordValidator);
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvUGFzc3dvcmRWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEseURBQXNEO0FBQ3RELDJDQUFxRTtBQUNyRSw2Q0FBeUM7QUFHekM7Ozs7Ozs7OztHQVNHO0FBRUksSUFBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBa0IsU0FBUSxtQ0FBZ0I7SUFDckQsWUFBWSxPQUFPLEdBQUcsa0NBQXNCLENBQUMsUUFBUTtRQUNuRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0ksU0FBUyxDQUNkLEtBQWEsRUFDYixVQUFtQyxFQUFFO1FBRXJDLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUU7WUFDNUIsR0FBRyxPQUFPO1lBQ1YsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU87U0FDekMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGLENBQUE7QUExQlksOENBQWlCOzRCQUFqQixpQkFBaUI7SUFEN0IsSUFBQSxzQkFBUyxFQUFDLDBCQUFjLENBQUMsUUFBUSxDQUFDOztHQUN0QixpQkFBaUIsQ0EwQjdCIiwiZmlsZSI6InZhbGlkYXRpb24vVmFsaWRhdG9ycy9QYXNzd29yZFZhbGlkYXRvci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhdHRlcm5WYWxpZGF0b3IgfSBmcm9tIFwiLi9QYXR0ZXJuVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBERUZBVUxUX0VSUk9SX01FU1NBR0VTLCBWYWxpZGF0aW9uS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgdmFsaWRhdG9yIH0gZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IEhhbmRsZXMgUGFzc3dvcmQgVmFsaWRhdGlvblxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbZXJyb3JNZXNzYWdlXSBkZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNQQVNTV09SRH1cbiAqXG4gKiBAY2xhc3MgUGFzc3dvcmRWYWxpZGF0b3JcbiAqIEBleHRlbmRzIFBhdHRlcm5WYWxpZGF0b3JcbiAqXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdG9yc1xuICovXG5AdmFsaWRhdG9yKFZhbGlkYXRpb25LZXlzLlBBU1NXT1JEKVxuZXhwb3J0IGNsYXNzIFBhc3N3b3JkVmFsaWRhdG9yIGV4dGVuZHMgUGF0dGVyblZhbGlkYXRvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlBBU1NXT1JEKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgVmFsaWRhdGVzIGEgbW9kZWxcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gICAqIEBwYXJhbSB7UGF0dGVyblZhbGlkYXRvck9wdGlvbnN9IFtvcHRpb25zPXt9XVxuICAgKlxuICAgKiBAcmV0dXJuIHtzdHJpbmcgfCB1bmRlZmluZWR9XG4gICAqXG4gICAqIEBvdmVycmlkZVxuICAgKlxuICAgKiBAc2VlIFBhdHRlcm5WYWxpZGF0b3IjaGFzRXJyb3JzXG4gICAqL1xuICBwdWJsaWMgaGFzRXJyb3JzKFxuICAgIHZhbHVlOiBzdHJpbmcsXG4gICAgb3B0aW9uczogUGF0dGVyblZhbGlkYXRvck9wdGlvbnMgPSB7fVxuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBzdXBlci5oYXNFcnJvcnModmFsdWUsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBtZXNzYWdlOiBvcHRpb25zLm1lc3NhZ2UgfHwgdGhpcy5tZXNzYWdlLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { PatternValidator } from "./PatternValidator";
|
|
2
|
+
import { PatternValidatorOptions } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* @summary Handles Password Validation
|
|
5
|
+
*
|
|
6
|
+
* @param {string} [errorMessage] defaults to {@link DEFAULT_ERROR_MESSAGES#PASSWORD}
|
|
7
|
+
*
|
|
8
|
+
* @class PasswordValidator
|
|
9
|
+
* @extends PatternValidator
|
|
10
|
+
*
|
|
11
|
+
* @category Validators
|
|
12
|
+
*/
|
|
13
|
+
export declare class PasswordValidator extends PatternValidator {
|
|
14
|
+
constructor(message?: string);
|
|
15
|
+
/**
|
|
16
|
+
* @summary Validates a model
|
|
17
|
+
*
|
|
18
|
+
* @param {string} value
|
|
19
|
+
* @param {PatternValidatorOptions} [options={}]
|
|
20
|
+
*
|
|
21
|
+
* @return {string | undefined}
|
|
22
|
+
*
|
|
23
|
+
* @override
|
|
24
|
+
*
|
|
25
|
+
* @see PatternValidator#hasErrors
|
|
26
|
+
*/
|
|
27
|
+
hasErrors(value: string, options?: PatternValidatorOptions): string | undefined;
|
|
28
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.PatternValidator = exports.regexpParser = void 0;
|
|
13
|
+
const Validator_1 = require("./Validator.cjs");
|
|
14
|
+
const constants_1 = require("./constants.cjs");
|
|
15
|
+
const decorators_1 = require("./decorators.cjs");
|
|
16
|
+
exports.regexpParser = new RegExp("^/(.+)/([gimus]*)$");
|
|
17
|
+
/**
|
|
18
|
+
* @summary Pattern Validator
|
|
19
|
+
*
|
|
20
|
+
* @param {string} [key] defaults to {@link ValidationKeys#PATTERN}
|
|
21
|
+
* @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#PATTERN}
|
|
22
|
+
*
|
|
23
|
+
* @class PatternValidator
|
|
24
|
+
* @extends Validator
|
|
25
|
+
*
|
|
26
|
+
* @category Validators
|
|
27
|
+
*/
|
|
28
|
+
let PatternValidator = class PatternValidator extends Validator_1.Validator {
|
|
29
|
+
constructor(message = constants_1.DEFAULT_ERROR_MESSAGES.PATTERN) {
|
|
30
|
+
super(message, "string");
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* @summary parses and validates a pattern
|
|
34
|
+
*
|
|
35
|
+
* @param {string} pattern
|
|
36
|
+
* @private
|
|
37
|
+
*/
|
|
38
|
+
getPattern(pattern) {
|
|
39
|
+
if (!exports.regexpParser.test(pattern))
|
|
40
|
+
return new RegExp(pattern);
|
|
41
|
+
const match = pattern.match(exports.regexpParser);
|
|
42
|
+
return new RegExp(match[1], match[2]);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @summary Validates a Model
|
|
46
|
+
*
|
|
47
|
+
* @param {string} value
|
|
48
|
+
* @param {PatternValidatorOptions} options
|
|
49
|
+
*
|
|
50
|
+
* @return {string | undefined}
|
|
51
|
+
*
|
|
52
|
+
* @override
|
|
53
|
+
*
|
|
54
|
+
* @see Validator#hasErrors
|
|
55
|
+
*/
|
|
56
|
+
hasErrors(value, options) {
|
|
57
|
+
if (!value)
|
|
58
|
+
return;
|
|
59
|
+
let { pattern } = options;
|
|
60
|
+
if (!pattern)
|
|
61
|
+
throw new Error("Missing Pattern");
|
|
62
|
+
pattern = typeof pattern === "string" ? this.getPattern(pattern) : pattern;
|
|
63
|
+
pattern.lastIndex = 0; // resets pattern position for repeat validation requests
|
|
64
|
+
return !pattern.test(value)
|
|
65
|
+
? this.getMessage(options.message || this.message)
|
|
66
|
+
: undefined;
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
exports.PatternValidator = PatternValidator;
|
|
70
|
+
exports.PatternValidator = PatternValidator = __decorate([
|
|
71
|
+
(0, decorators_1.validator)(constants_1.ValidationKeys.PATTERN),
|
|
72
|
+
__metadata("design:paramtypes", [String])
|
|
73
|
+
], PatternValidator);
|
|
74
|
+
|
|
75
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvUGF0dGVyblZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBd0M7QUFDeEMsMkNBQXFFO0FBQ3JFLDZDQUF5QztBQUc1QixRQUFBLFlBQVksR0FBVyxJQUFJLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBRXJFOzs7Ozs7Ozs7O0dBVUc7QUFFSSxJQUFNLGdCQUFnQixHQUF0QixNQUFNLGdCQUFpQixTQUFRLHFCQUFrQztJQUN0RSxZQUFZLFVBQWtCLGtDQUFzQixDQUFDLE9BQU87UUFDMUQsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxVQUFVLENBQUMsT0FBZTtRQUNoQyxJQUFJLENBQUMsb0JBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQUUsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1RCxNQUFNLEtBQUssR0FBUSxPQUFPLENBQUMsS0FBSyxDQUFDLG9CQUFZLENBQUMsQ0FBQztRQUMvQyxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxTQUFTLENBQ2QsS0FBYSxFQUNiLE9BQWdDO1FBRWhDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUVuQixJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQzFCLElBQUksQ0FBQyxPQUFPO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sR0FBRyxPQUFPLE9BQU8sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUMzRSxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLHlEQUF5RDtRQUNoRixPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDekIsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ2xELENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDaEIsQ0FBQztDQUNGLENBQUE7QUEzQ1ksNENBQWdCOzJCQUFoQixnQkFBZ0I7SUFENUIsSUFBQSxzQkFBUyxFQUFDLDBCQUFjLENBQUMsT0FBTyxDQUFDOztHQUNyQixnQkFBZ0IsQ0EyQzVCIiwiZmlsZSI6InZhbGlkYXRpb24vVmFsaWRhdG9ycy9QYXR0ZXJuVmFsaWRhdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yIH0gZnJvbSBcIi4vVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBERUZBVUxUX0VSUk9SX01FU1NBR0VTLCBWYWxpZGF0aW9uS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgdmFsaWRhdG9yIH0gZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgcmVnZXhwUGFyc2VyOiBSZWdFeHAgPSBuZXcgUmVnRXhwKFwiXi8oLispLyhbZ2ltdXNdKikkXCIpO1xuXG4vKipcbiAqIEBzdW1tYXJ5IFBhdHRlcm4gVmFsaWRhdG9yXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IFtrZXldIGRlZmF1bHRzIHRvIHtAbGluayBWYWxpZGF0aW9uS2V5cyNQQVRURVJOfVxuICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXSBkZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNQQVRURVJOfVxuICpcbiAqIEBjbGFzcyBQYXR0ZXJuVmFsaWRhdG9yXG4gKiBAZXh0ZW5kcyBWYWxpZGF0b3JcbiAqXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdG9yc1xuICovXG5AdmFsaWRhdG9yKFZhbGlkYXRpb25LZXlzLlBBVFRFUk4pXG5leHBvcnQgY2xhc3MgUGF0dGVyblZhbGlkYXRvciBleHRlbmRzIFZhbGlkYXRvcjxQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucz4ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlBBVFRFUk4pIHtcbiAgICBzdXBlcihtZXNzYWdlLCBcInN0cmluZ1wiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBwYXJzZXMgYW5kIHZhbGlkYXRlcyBhIHBhdHRlcm5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdHRlcm5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgZ2V0UGF0dGVybihwYXR0ZXJuOiBzdHJpbmcpOiBSZWdFeHAge1xuICAgIGlmICghcmVnZXhwUGFyc2VyLnRlc3QocGF0dGVybikpIHJldHVybiBuZXcgUmVnRXhwKHBhdHRlcm4pO1xuICAgIGNvbnN0IG1hdGNoOiBhbnkgPSBwYXR0ZXJuLm1hdGNoKHJlZ2V4cFBhcnNlcik7XG4gICAgcmV0dXJuIG5ldyBSZWdFeHAobWF0Y2hbMV0sIG1hdGNoWzJdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBWYWxpZGF0ZXMgYSBNb2RlbFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAgICogQHBhcmFtIHtQYXR0ZXJuVmFsaWRhdG9yT3B0aW9uc30gb3B0aW9uc1xuICAgKlxuICAgKiBAcmV0dXJuIHtzdHJpbmcgfCB1bmRlZmluZWR9XG4gICAqXG4gICAqIEBvdmVycmlkZVxuICAgKlxuICAgKiBAc2VlIFZhbGlkYXRvciNoYXNFcnJvcnNcbiAgICovXG4gIHB1YmxpYyBoYXNFcnJvcnMoXG4gICAgdmFsdWU6IHN0cmluZyxcbiAgICBvcHRpb25zOiBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9uc1xuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICghdmFsdWUpIHJldHVybjtcblxuICAgIGxldCB7IHBhdHRlcm4gfSA9IG9wdGlvbnM7XG4gICAgaWYgKCFwYXR0ZXJuKSB0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIFBhdHRlcm5cIik7XG4gICAgcGF0dGVybiA9IHR5cGVvZiBwYXR0ZXJuID09PSBcInN0cmluZ1wiID8gdGhpcy5nZXRQYXR0ZXJuKHBhdHRlcm4pIDogcGF0dGVybjtcbiAgICBwYXR0ZXJuLmxhc3RJbmRleCA9IDA7IC8vIHJlc2V0cyBwYXR0ZXJuIHBvc2l0aW9uIGZvciByZXBlYXQgdmFsaWRhdGlvbiByZXF1ZXN0c1xuICAgIHJldHVybiAhcGF0dGVybi50ZXN0KHZhbHVlKVxuICAgICAgPyB0aGlzLmdldE1lc3NhZ2Uob3B0aW9ucy5tZXNzYWdlIHx8IHRoaXMubWVzc2FnZSlcbiAgICAgIDogdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Validator } from "./Validator";
|
|
2
|
+
import { PatternValidatorOptions } from "./types";
|
|
3
|
+
export declare const regexpParser: RegExp;
|
|
4
|
+
/**
|
|
5
|
+
* @summary Pattern Validator
|
|
6
|
+
*
|
|
7
|
+
* @param {string} [key] defaults to {@link ValidationKeys#PATTERN}
|
|
8
|
+
* @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#PATTERN}
|
|
9
|
+
*
|
|
10
|
+
* @class PatternValidator
|
|
11
|
+
* @extends Validator
|
|
12
|
+
*
|
|
13
|
+
* @category Validators
|
|
14
|
+
*/
|
|
15
|
+
export declare class PatternValidator extends Validator<PatternValidatorOptions> {
|
|
16
|
+
constructor(message?: string);
|
|
17
|
+
/**
|
|
18
|
+
* @summary parses and validates a pattern
|
|
19
|
+
*
|
|
20
|
+
* @param {string} pattern
|
|
21
|
+
* @private
|
|
22
|
+
*/
|
|
23
|
+
private getPattern;
|
|
24
|
+
/**
|
|
25
|
+
* @summary Validates a Model
|
|
26
|
+
*
|
|
27
|
+
* @param {string} value
|
|
28
|
+
* @param {PatternValidatorOptions} options
|
|
29
|
+
*
|
|
30
|
+
* @return {string | undefined}
|
|
31
|
+
*
|
|
32
|
+
* @override
|
|
33
|
+
*
|
|
34
|
+
* @see Validator#hasErrors
|
|
35
|
+
*/
|
|
36
|
+
hasErrors(value: string, options: PatternValidatorOptions): string | undefined;
|
|
37
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.RequiredValidator = void 0;
|
|
13
|
+
const Validator_1 = require("./Validator.cjs");
|
|
14
|
+
const constants_1 = require("./constants.cjs");
|
|
15
|
+
const decorators_1 = require("./decorators.cjs");
|
|
16
|
+
/**
|
|
17
|
+
* @summary Required Validator
|
|
18
|
+
*
|
|
19
|
+
* @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#REQUIRED}
|
|
20
|
+
*
|
|
21
|
+
* @class RequiredValidator
|
|
22
|
+
* @extends Validator
|
|
23
|
+
*
|
|
24
|
+
* @category Validators
|
|
25
|
+
*/
|
|
26
|
+
let RequiredValidator = class RequiredValidator extends Validator_1.Validator {
|
|
27
|
+
constructor(message = constants_1.DEFAULT_ERROR_MESSAGES.REQUIRED) {
|
|
28
|
+
super(message);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @summary Validates a model
|
|
32
|
+
*
|
|
33
|
+
* @param {string} value
|
|
34
|
+
* @param {ValidatorOptions} [options={}]
|
|
35
|
+
*
|
|
36
|
+
* @return {string | undefined}
|
|
37
|
+
*
|
|
38
|
+
* @override
|
|
39
|
+
*
|
|
40
|
+
* @see Validator#hasErrors
|
|
41
|
+
*/
|
|
42
|
+
hasErrors(value, options = {}) {
|
|
43
|
+
switch (typeof value) {
|
|
44
|
+
case "boolean":
|
|
45
|
+
case "number":
|
|
46
|
+
return typeof value === "undefined"
|
|
47
|
+
? this.getMessage(options.message || this.message)
|
|
48
|
+
: undefined;
|
|
49
|
+
default:
|
|
50
|
+
return !value
|
|
51
|
+
? this.getMessage(options.message || this.message)
|
|
52
|
+
: undefined;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
exports.RequiredValidator = RequiredValidator;
|
|
57
|
+
exports.RequiredValidator = RequiredValidator = __decorate([
|
|
58
|
+
(0, decorators_1.validator)(constants_1.ValidationKeys.REQUIRED),
|
|
59
|
+
__metadata("design:paramtypes", [String])
|
|
60
|
+
], RequiredValidator);
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvUmVxdWlyZWRWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsMkNBQXdDO0FBQ3hDLDJDQUFxRTtBQUNyRSw2Q0FBeUM7QUFHekM7Ozs7Ozs7OztHQVNHO0FBRUksSUFBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBa0IsU0FBUSxxQkFBUztJQUM5QyxZQUFZLFVBQWtCLGtDQUFzQixDQUFDLFFBQVE7UUFDM0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNJLFNBQVMsQ0FDZCxLQUFVLEVBQ1YsVUFBNEIsRUFBRTtRQUU5QixRQUFRLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDckIsS0FBSyxTQUFTLENBQUM7WUFDZixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxPQUFPLEtBQUssS0FBSyxXQUFXO29CQUNqQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUM7b0JBQ2xELENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDaEI7Z0JBQ0UsT0FBTyxDQUFDLEtBQUs7b0JBQ1gsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDO29CQUNsRCxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDO0NBQ0YsQ0FBQTtBQWpDWSw4Q0FBaUI7NEJBQWpCLGlCQUFpQjtJQUQ3QixJQUFBLHNCQUFTLEVBQUMsMEJBQWMsQ0FBQyxRQUFRLENBQUM7O0dBQ3RCLGlCQUFpQixDQWlDN0IiLCJmaWxlIjoidmFsaWRhdGlvbi9WYWxpZGF0b3JzL1JlcXVpcmVkVmFsaWRhdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yIH0gZnJvbSBcIi4vVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBERUZBVUxUX0VSUk9SX01FU1NBR0VTLCBWYWxpZGF0aW9uS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgdmFsaWRhdG9yIH0gZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgVmFsaWRhdG9yT3B0aW9ucyB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8qKlxuICogQHN1bW1hcnkgUmVxdWlyZWQgVmFsaWRhdG9yXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXSBkZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNSRVFVSVJFRH1cbiAqXG4gKiBAY2xhc3MgUmVxdWlyZWRWYWxpZGF0b3JcbiAqIEBleHRlbmRzIFZhbGlkYXRvclxuICpcbiAqIEBjYXRlZ29yeSBWYWxpZGF0b3JzXG4gKi9cbkB2YWxpZGF0b3IoVmFsaWRhdGlvbktleXMuUkVRVUlSRUQpXG5leHBvcnQgY2xhc3MgUmVxdWlyZWRWYWxpZGF0b3IgZXh0ZW5kcyBWYWxpZGF0b3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlJFUVVJUkVEKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgVmFsaWRhdGVzIGEgbW9kZWxcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gICAqIEBwYXJhbSB7VmFsaWRhdG9yT3B0aW9uc30gW29wdGlvbnM9e31dXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZyB8IHVuZGVmaW5lZH1cbiAgICpcbiAgICogQG92ZXJyaWRlXG4gICAqXG4gICAqIEBzZWUgVmFsaWRhdG9yI2hhc0Vycm9yc1xuICAgKi9cbiAgcHVibGljIGhhc0Vycm9ycyhcbiAgICB2YWx1ZTogYW55LFxuICAgIG9wdGlvbnM6IFZhbGlkYXRvck9wdGlvbnMgPSB7fVxuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgICBjYXNlIFwiYm9vbGVhblwiOlxuICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcInVuZGVmaW5lZFwiXG4gICAgICAgICAgPyB0aGlzLmdldE1lc3NhZ2Uob3B0aW9ucy5tZXNzYWdlIHx8IHRoaXMubWVzc2FnZSlcbiAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAhdmFsdWVcbiAgICAgICAgICA/IHRoaXMuZ2V0TWVzc2FnZShvcHRpb25zLm1lc3NhZ2UgfHwgdGhpcy5tZXNzYWdlKVxuICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Validator } from "./Validator";
|
|
2
|
+
import { ValidatorOptions } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* @summary Required Validator
|
|
5
|
+
*
|
|
6
|
+
* @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#REQUIRED}
|
|
7
|
+
*
|
|
8
|
+
* @class RequiredValidator
|
|
9
|
+
* @extends Validator
|
|
10
|
+
*
|
|
11
|
+
* @category Validators
|
|
12
|
+
*/
|
|
13
|
+
export declare class RequiredValidator extends Validator {
|
|
14
|
+
constructor(message?: string);
|
|
15
|
+
/**
|
|
16
|
+
* @summary Validates a model
|
|
17
|
+
*
|
|
18
|
+
* @param {string} value
|
|
19
|
+
* @param {ValidatorOptions} [options={}]
|
|
20
|
+
*
|
|
21
|
+
* @return {string | undefined}
|
|
22
|
+
*
|
|
23
|
+
* @override
|
|
24
|
+
*
|
|
25
|
+
* @see Validator#hasErrors
|
|
26
|
+
*/
|
|
27
|
+
hasErrors(value: any, options?: ValidatorOptions): string | undefined;
|
|
28
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.StepValidator = void 0;
|
|
13
|
+
const Validator_1 = require("./Validator.cjs");
|
|
14
|
+
const constants_1 = require("./constants.cjs");
|
|
15
|
+
const decorators_1 = require("./decorators.cjs");
|
|
16
|
+
/**
|
|
17
|
+
* @summary Step Validator
|
|
18
|
+
*
|
|
19
|
+
* @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#STEP}
|
|
20
|
+
*
|
|
21
|
+
* @class StepValidator
|
|
22
|
+
* @extends Validator
|
|
23
|
+
*
|
|
24
|
+
* @category Validators
|
|
25
|
+
*/
|
|
26
|
+
let StepValidator = class StepValidator extends Validator_1.Validator {
|
|
27
|
+
constructor(message = constants_1.DEFAULT_ERROR_MESSAGES.STEP) {
|
|
28
|
+
super(message, "number", "string");
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @summary Validates a model
|
|
32
|
+
*
|
|
33
|
+
* @param {string} value
|
|
34
|
+
* @param {number} step
|
|
35
|
+
* @param {StepValidatorOptions} options
|
|
36
|
+
*
|
|
37
|
+
* @return {string | undefined}
|
|
38
|
+
*
|
|
39
|
+
* @override
|
|
40
|
+
*
|
|
41
|
+
* @see Validator#hasErrors
|
|
42
|
+
*/
|
|
43
|
+
hasErrors(value, options) {
|
|
44
|
+
if (typeof value === "undefined")
|
|
45
|
+
return;
|
|
46
|
+
return Number(value) % Number(options.step) !== 0
|
|
47
|
+
? this.getMessage(options.message || this.message, options.step)
|
|
48
|
+
: undefined;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
exports.StepValidator = StepValidator;
|
|
52
|
+
exports.StepValidator = StepValidator = __decorate([
|
|
53
|
+
(0, decorators_1.validator)(constants_1.ValidationKeys.STEP),
|
|
54
|
+
__metadata("design:paramtypes", [String])
|
|
55
|
+
], StepValidator);
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvU3RlcFZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBd0M7QUFDeEMsMkNBQXFFO0FBQ3JFLDZDQUF5QztBQUd6Qzs7Ozs7Ozs7O0dBU0c7QUFFSSxJQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUFjLFNBQVEscUJBQStCO0lBQ2hFLFlBQVksVUFBa0Isa0NBQXNCLENBQUMsSUFBSTtRQUN2RCxLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0ksU0FBUyxDQUNkLEtBQXNCLEVBQ3RCLE9BQTZCO1FBRTdCLElBQUksT0FBTyxLQUFLLEtBQUssV0FBVztZQUFFLE9BQU87UUFDekMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ2hFLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDaEIsQ0FBQztDQUNGLENBQUE7QUEzQlksc0NBQWE7d0JBQWIsYUFBYTtJQUR6QixJQUFBLHNCQUFTLEVBQUMsMEJBQWMsQ0FBQyxJQUFJLENBQUM7O0dBQ2xCLGFBQWEsQ0EyQnpCIiwiZmlsZSI6InZhbGlkYXRpb24vVmFsaWRhdG9ycy9TdGVwVmFsaWRhdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yIH0gZnJvbSBcIi4vVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBERUZBVUxUX0VSUk9SX01FU1NBR0VTLCBWYWxpZGF0aW9uS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgdmFsaWRhdG9yIH0gZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgU3RlcFZhbGlkYXRvck9wdGlvbnMgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IFN0ZXAgVmFsaWRhdG9yXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXSBkZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNTVEVQfVxuICpcbiAqIEBjbGFzcyBTdGVwVmFsaWRhdG9yXG4gKiBAZXh0ZW5kcyBWYWxpZGF0b3JcbiAqXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdG9yc1xuICovXG5AdmFsaWRhdG9yKFZhbGlkYXRpb25LZXlzLlNURVApXG5leHBvcnQgY2xhc3MgU3RlcFZhbGlkYXRvciBleHRlbmRzIFZhbGlkYXRvcjxTdGVwVmFsaWRhdG9yT3B0aW9ucz4ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlNURVApIHtcbiAgICBzdXBlcihtZXNzYWdlLCBcIm51bWJlclwiLCBcInN0cmluZ1wiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBWYWxpZGF0ZXMgYSBtb2RlbFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAgICogQHBhcmFtIHtudW1iZXJ9IHN0ZXBcbiAgICogQHBhcmFtIHtTdGVwVmFsaWRhdG9yT3B0aW9uc30gb3B0aW9uc1xuICAgKlxuICAgKiBAcmV0dXJuIHtzdHJpbmcgfCB1bmRlZmluZWR9XG4gICAqXG4gICAqIEBvdmVycmlkZVxuICAgKlxuICAgKiBAc2VlIFZhbGlkYXRvciNoYXNFcnJvcnNcbiAgICovXG4gIHB1YmxpYyBoYXNFcnJvcnMoXG4gICAgdmFsdWU6IG51bWJlciB8IHN0cmluZyxcbiAgICBvcHRpb25zOiBTdGVwVmFsaWRhdG9yT3B0aW9uc1xuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybjtcbiAgICByZXR1cm4gTnVtYmVyKHZhbHVlKSAlIE51bWJlcihvcHRpb25zLnN0ZXApICE9PSAwXG4gICAgICA/IHRoaXMuZ2V0TWVzc2FnZShvcHRpb25zLm1lc3NhZ2UgfHwgdGhpcy5tZXNzYWdlLCBvcHRpb25zLnN0ZXApXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Validator } from "./Validator";
|
|
2
|
+
import { StepValidatorOptions } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* @summary Step Validator
|
|
5
|
+
*
|
|
6
|
+
* @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#STEP}
|
|
7
|
+
*
|
|
8
|
+
* @class StepValidator
|
|
9
|
+
* @extends Validator
|
|
10
|
+
*
|
|
11
|
+
* @category Validators
|
|
12
|
+
*/
|
|
13
|
+
export declare class StepValidator extends Validator<StepValidatorOptions> {
|
|
14
|
+
constructor(message?: string);
|
|
15
|
+
/**
|
|
16
|
+
* @summary Validates a model
|
|
17
|
+
*
|
|
18
|
+
* @param {string} value
|
|
19
|
+
* @param {number} step
|
|
20
|
+
* @param {StepValidatorOptions} options
|
|
21
|
+
*
|
|
22
|
+
* @return {string | undefined}
|
|
23
|
+
*
|
|
24
|
+
* @override
|
|
25
|
+
*
|
|
26
|
+
* @see Validator#hasErrors
|
|
27
|
+
*/
|
|
28
|
+
hasErrors(value: number | string, options: StepValidatorOptions): string | undefined;
|
|
29
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.TypeValidator = void 0;
|
|
13
|
+
const Validator_1 = require("./Validator.cjs");
|
|
14
|
+
const constants_1 = require("./constants.cjs");
|
|
15
|
+
const decorators_1 = require("./decorators.cjs");
|
|
16
|
+
const Validation_1 = require("../Validation.cjs");
|
|
17
|
+
const constants_2 = require("../../utils/constants.cjs");
|
|
18
|
+
const reflection_1 = require("@decaf-ts/reflection");
|
|
19
|
+
/**
|
|
20
|
+
* @summary Required Validator
|
|
21
|
+
*
|
|
22
|
+
* @class RequiredValidator
|
|
23
|
+
* @extends Validator
|
|
24
|
+
*
|
|
25
|
+
* @category Validators
|
|
26
|
+
*/
|
|
27
|
+
let TypeValidator = class TypeValidator extends Validator_1.Validator {
|
|
28
|
+
constructor(message = constants_1.DEFAULT_ERROR_MESSAGES.TYPE) {
|
|
29
|
+
super(message);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* @summary Validates a model
|
|
33
|
+
* @param {string} value
|
|
34
|
+
* @param {TypeValidatorOptions} options
|
|
35
|
+
*
|
|
36
|
+
* @return {string | undefined}
|
|
37
|
+
*
|
|
38
|
+
* @override
|
|
39
|
+
*
|
|
40
|
+
* @see Validator#hasErrors
|
|
41
|
+
*/
|
|
42
|
+
hasErrors(value, options) {
|
|
43
|
+
if (value === undefined)
|
|
44
|
+
return; // Don't try and enforce type if undefined
|
|
45
|
+
const { types, message } = options;
|
|
46
|
+
if (!reflection_1.Reflection.evaluateDesignTypes(value, types))
|
|
47
|
+
return this.getMessage(message || this.message, typeof types === "string"
|
|
48
|
+
? types
|
|
49
|
+
: Array.isArray(types)
|
|
50
|
+
? types.join(", ")
|
|
51
|
+
: types.name, typeof value);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
exports.TypeValidator = TypeValidator;
|
|
55
|
+
exports.TypeValidator = TypeValidator = __decorate([
|
|
56
|
+
(0, decorators_1.validator)(constants_1.ValidationKeys.TYPE),
|
|
57
|
+
__metadata("design:paramtypes", [String])
|
|
58
|
+
], TypeValidator);
|
|
59
|
+
Validation_1.Validation.register({
|
|
60
|
+
validator: TypeValidator,
|
|
61
|
+
validationKey: constants_2.ModelKeys.TYPE,
|
|
62
|
+
save: false,
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvVHlwZVZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBd0M7QUFDeEMsMkNBQXFFO0FBQ3JFLDZDQUF5QztBQUN6Qyw4Q0FBMkM7QUFFM0MscURBQWtEO0FBQ2xELHFEQUFrRDtBQUVsRDs7Ozs7OztHQU9HO0FBRUksSUFBTSxhQUFhLEdBQW5CLE1BQU0sYUFBYyxTQUFRLHFCQUErQjtJQUNoRSxZQUFZLFVBQWtCLGtDQUFzQixDQUFDLElBQUk7UUFDdkQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksU0FBUyxDQUNkLEtBQVUsRUFDVixPQUE2QjtRQUU3QixJQUFJLEtBQUssS0FBSyxTQUFTO1lBQUUsT0FBTyxDQUFDLDBDQUEwQztRQUMzRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNuQyxJQUFJLENBQUMsdUJBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO1lBQy9DLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FDcEIsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQ3ZCLE9BQU8sS0FBSyxLQUFLLFFBQVE7Z0JBQ3ZCLENBQUMsQ0FBQyxLQUFLO2dCQUNQLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztvQkFDcEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO29CQUNsQixDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFDaEIsT0FBTyxLQUFLLENBQ2IsQ0FBQztJQUNOLENBQUM7Q0FDRixDQUFBO0FBakNZLHNDQUFhO3dCQUFiLGFBQWE7SUFEekIsSUFBQSxzQkFBUyxFQUFDLDBCQUFjLENBQUMsSUFBSSxDQUFDOztHQUNsQixhQUFhLENBaUN6QjtBQUVELHVCQUFVLENBQUMsUUFBUSxDQUFDO0lBQ2xCLFNBQVMsRUFBRSxhQUFhO0lBQ3hCLGFBQWEsRUFBRSxxQkFBUyxDQUFDLElBQUk7SUFDN0IsSUFBSSxFQUFFLEtBQUs7Q0FDVyxDQUFDLENBQUMiLCJmaWxlIjoidmFsaWRhdGlvbi9WYWxpZGF0b3JzL1R5cGVWYWxpZGF0b3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3IgfSBmcm9tIFwiLi9WYWxpZGF0b3JcIjtcbmltcG9ydCB7IERFRkFVTFRfRVJST1JfTUVTU0FHRVMsIFZhbGlkYXRpb25LZXlzIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyB2YWxpZGF0b3IgfSBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBWYWxpZGF0aW9uIH0gZnJvbSBcIi4uL1ZhbGlkYXRpb25cIjtcbmltcG9ydCB7IFR5cGVWYWxpZGF0b3JPcHRpb25zLCBWYWxpZGF0b3JEZWZpbml0aW9uIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IE1vZGVsS2V5cyB9IGZyb20gXCIuLi8uLi91dGlscy9jb25zdGFudHNcIjtcbmltcG9ydCB7IFJlZmxlY3Rpb24gfSBmcm9tIFwiQGRlY2FmLXRzL3JlZmxlY3Rpb25cIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBSZXF1aXJlZCBWYWxpZGF0b3JcbiAqXG4gKiBAY2xhc3MgUmVxdWlyZWRWYWxpZGF0b3JcbiAqIEBleHRlbmRzIFZhbGlkYXRvclxuICpcbiAqIEBjYXRlZ29yeSBWYWxpZGF0b3JzXG4gKi9cbkB2YWxpZGF0b3IoVmFsaWRhdGlvbktleXMuVFlQRSlcbmV4cG9ydCBjbGFzcyBUeXBlVmFsaWRhdG9yIGV4dGVuZHMgVmFsaWRhdG9yPFR5cGVWYWxpZGF0b3JPcHRpb25zPiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuVFlQRSkge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFZhbGlkYXRlcyBhIG1vZGVsXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICAgKiBAcGFyYW0ge1R5cGVWYWxpZGF0b3JPcHRpb25zfSBvcHRpb25zXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZyB8IHVuZGVmaW5lZH1cbiAgICpcbiAgICogQG92ZXJyaWRlXG4gICAqXG4gICAqIEBzZWUgVmFsaWRhdG9yI2hhc0Vycm9yc1xuICAgKi9cbiAgcHVibGljIGhhc0Vycm9ycyhcbiAgICB2YWx1ZTogYW55LFxuICAgIG9wdGlvbnM6IFR5cGVWYWxpZGF0b3JPcHRpb25zXG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHJldHVybjsgLy8gRG9uJ3QgdHJ5IGFuZCBlbmZvcmNlIHR5cGUgaWYgdW5kZWZpbmVkXG4gICAgY29uc3QgeyB0eXBlcywgbWVzc2FnZSB9ID0gb3B0aW9ucztcbiAgICBpZiAoIVJlZmxlY3Rpb24uZXZhbHVhdGVEZXNpZ25UeXBlcyh2YWx1ZSwgdHlwZXMpKVxuICAgICAgcmV0dXJuIHRoaXMuZ2V0TWVzc2FnZShcbiAgICAgICAgbWVzc2FnZSB8fCB0aGlzLm1lc3NhZ2UsXG4gICAgICAgIHR5cGVvZiB0eXBlcyA9PT0gXCJzdHJpbmdcIlxuICAgICAgICAgID8gdHlwZXNcbiAgICAgICAgICA6IEFycmF5LmlzQXJyYXkodHlwZXMpXG4gICAgICAgICAgICA/IHR5cGVzLmpvaW4oXCIsIFwiKVxuICAgICAgICAgICAgOiB0eXBlcy5uYW1lLFxuICAgICAgICB0eXBlb2YgdmFsdWVcbiAgICAgICk7XG4gIH1cbn1cblxuVmFsaWRhdGlvbi5yZWdpc3Rlcih7XG4gIHZhbGlkYXRvcjogVHlwZVZhbGlkYXRvcixcbiAgdmFsaWRhdGlvbktleTogTW9kZWxLZXlzLlRZUEUsXG4gIHNhdmU6IGZhbHNlLFxufSBhcyBWYWxpZGF0b3JEZWZpbml0aW9uKTtcbiJdfQ==
|