@decaf-ts/decorator-validation 1.0.7 → 1.0.11

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.
Files changed (141) hide show
  1. package/dist/decorator-validation.bundle.min.js +1 -1
  2. package/dist/esm/decorator-validation.bundle.min.esm.js +1 -1
  3. package/lib/esm/index.d.ts +6 -1
  4. package/lib/esm/index.js +68 -1
  5. package/lib/esm/model/Model.d.ts +3 -1
  6. package/lib/esm/model/Model.js +316 -1
  7. package/lib/esm/model/ModelErrorDefinition.d.ts +1 -1
  8. package/lib/esm/model/ModelErrorDefinition.js +55 -3
  9. package/lib/esm/model/Registry.d.ts +1 -1
  10. package/lib/esm/model/Registry.js +76 -1
  11. package/lib/esm/model/constants.js +44 -1
  12. package/lib/esm/model/construction.js +124 -1
  13. package/lib/esm/model/decorators.d.ts +3 -3
  14. package/lib/esm/model/decorators.js +68 -1
  15. package/lib/esm/model/index.d.ts +3 -3
  16. package/lib/esm/model/index.js +9 -1
  17. package/lib/esm/model/types.js +3 -0
  18. package/lib/esm/reflection/decorators.d.ts +15 -0
  19. package/lib/esm/reflection/decorators.js +28 -0
  20. package/lib/esm/reflection/index.d.ts +2 -0
  21. package/lib/esm/reflection/index.js +4 -0
  22. package/lib/esm/{utils/general.d.ts → reflection/utils.d.ts} +7 -87
  23. package/lib/esm/reflection/utils.js +239 -0
  24. package/lib/esm/utils/constants.js +25 -1
  25. package/lib/esm/utils/dates.d.ts +76 -0
  26. package/lib/esm/utils/dates.js +241 -0
  27. package/lib/esm/utils/equality.d.ts +14 -0
  28. package/lib/esm/utils/equality.js +34 -0
  29. package/lib/esm/utils/hashing.d.ts +42 -0
  30. package/lib/esm/utils/hashing.js +73 -0
  31. package/lib/esm/utils/index.d.ts +6 -2
  32. package/lib/esm/utils/index.js +10 -1
  33. package/lib/esm/utils/registry.js +3 -0
  34. package/lib/esm/utils/serialization.js +53 -1
  35. package/lib/esm/utils/strings.d.ts +25 -0
  36. package/lib/esm/utils/strings.js +31 -0
  37. package/lib/esm/validation/Validation.d.ts +2 -1
  38. package/lib/esm/validation/Validation.js +63 -1
  39. package/lib/esm/validation/Validators/DateValidator.js +55 -1
  40. package/lib/esm/validation/Validators/EmailValidator.d.ts +0 -1
  41. package/lib/esm/validation/Validators/EmailValidator.js +49 -1
  42. package/lib/esm/validation/Validators/ListValidator.js +67 -1
  43. package/lib/esm/validation/Validators/MaxLengthValidator.js +55 -1
  44. package/lib/esm/validation/Validators/MaxValidator.js +59 -1
  45. package/lib/esm/validation/Validators/MinLengthValidator.js +55 -1
  46. package/lib/esm/validation/Validators/MinValidator.js +59 -1
  47. package/lib/esm/validation/Validators/PasswordValidator.js +52 -1
  48. package/lib/esm/validation/Validators/PatternValidator.d.ts +3 -3
  49. package/lib/esm/validation/Validators/PatternValidator.js +72 -1
  50. package/lib/esm/validation/Validators/RequiredValidator.js +57 -1
  51. package/lib/esm/validation/Validators/StepValidator.js +54 -1
  52. package/lib/esm/validation/Validators/TypeValidator.js +42 -1
  53. package/lib/esm/validation/Validators/URLValidator.d.ts +0 -1
  54. package/lib/esm/validation/Validators/URLValidator.js +48 -1
  55. package/lib/esm/validation/Validators/Validator.js +50 -1
  56. package/lib/esm/validation/Validators/ValidatorRegistry.js +81 -1
  57. package/lib/esm/validation/Validators/constants.d.ts +8 -4
  58. package/lib/esm/validation/Validators/constants.js +135 -1
  59. package/lib/esm/validation/Validators/decorators.d.ts +13 -0
  60. package/lib/esm/validation/Validators/decorators.js +23 -0
  61. package/lib/esm/validation/Validators/index.d.ts +9 -7
  62. package/lib/esm/validation/Validators/index.js +54 -1
  63. package/lib/esm/validation/Validators/types.d.ts +2 -2
  64. package/lib/esm/validation/Validators/types.js +3 -0
  65. package/lib/esm/validation/decorators.d.ts +14 -87
  66. package/lib/esm/validation/decorators.js +320 -1
  67. package/lib/esm/validation/index.d.ts +1 -10
  68. package/lib/esm/validation/index.js +6 -1
  69. package/lib/esm/validation/types.d.ts +11 -0
  70. package/lib/esm/validation/types.js +3 -0
  71. package/lib/index.cjs +85 -1
  72. package/lib/index.d.ts +6 -1
  73. package/lib/model/Model.cjs +321 -1
  74. package/lib/model/Model.d.ts +3 -1
  75. package/lib/model/ModelErrorDefinition.cjs +59 -3
  76. package/lib/model/ModelErrorDefinition.d.ts +1 -1
  77. package/lib/model/Registry.cjs +81 -1
  78. package/lib/model/Registry.d.ts +1 -1
  79. package/lib/model/constants.cjs +47 -1
  80. package/lib/model/construction.cjs +129 -1
  81. package/lib/model/decorators.cjs +73 -1
  82. package/lib/model/decorators.d.ts +3 -3
  83. package/lib/model/index.cjs +25 -1
  84. package/lib/model/index.d.ts +3 -3
  85. package/lib/model/types.cjs +4 -1
  86. package/lib/reflection/decorators.cjs +31 -0
  87. package/lib/reflection/decorators.d.ts +15 -0
  88. package/lib/reflection/index.cjs +20 -0
  89. package/lib/reflection/index.d.ts +2 -0
  90. package/lib/reflection/utils.cjs +251 -0
  91. package/lib/{utils/general.d.ts → reflection/utils.d.ts} +7 -87
  92. package/lib/utils/constants.cjs +28 -1
  93. package/lib/utils/dates.cjs +249 -0
  94. package/lib/utils/dates.d.ts +76 -0
  95. package/lib/utils/equality.cjs +37 -0
  96. package/lib/utils/equality.d.ts +14 -0
  97. package/lib/utils/hashing.cjs +78 -0
  98. package/lib/utils/hashing.d.ts +42 -0
  99. package/lib/utils/index.cjs +26 -1
  100. package/lib/utils/index.d.ts +6 -2
  101. package/lib/utils/registry.cjs +4 -1
  102. package/lib/utils/serialization.cjs +57 -1
  103. package/lib/utils/strings.cjs +35 -0
  104. package/lib/utils/strings.d.ts +25 -0
  105. package/lib/validation/Validation.cjs +67 -1
  106. package/lib/validation/Validation.d.ts +2 -1
  107. package/lib/validation/Validators/DateValidator.cjs +58 -1
  108. package/lib/validation/Validators/EmailValidator.cjs +52 -1
  109. package/lib/validation/Validators/EmailValidator.d.ts +0 -1
  110. package/lib/validation/Validators/ListValidator.cjs +70 -1
  111. package/lib/validation/Validators/MaxLengthValidator.cjs +58 -1
  112. package/lib/validation/Validators/MaxValidator.cjs +62 -1
  113. package/lib/validation/Validators/MinLengthValidator.cjs +58 -1
  114. package/lib/validation/Validators/MinValidator.cjs +62 -1
  115. package/lib/validation/Validators/PasswordValidator.cjs +55 -1
  116. package/lib/validation/Validators/PatternValidator.cjs +75 -1
  117. package/lib/validation/Validators/PatternValidator.d.ts +3 -3
  118. package/lib/validation/Validators/RequiredValidator.cjs +60 -1
  119. package/lib/validation/Validators/StepValidator.cjs +57 -1
  120. package/lib/validation/Validators/TypeValidator.cjs +46 -1
  121. package/lib/validation/Validators/URLValidator.cjs +51 -1
  122. package/lib/validation/Validators/URLValidator.d.ts +0 -1
  123. package/lib/validation/Validators/Validator.cjs +54 -1
  124. package/lib/validation/Validators/ValidatorRegistry.cjs +86 -1
  125. package/lib/validation/Validators/constants.cjs +138 -1
  126. package/lib/validation/Validators/constants.d.ts +8 -4
  127. package/lib/validation/Validators/decorators.cjs +26 -0
  128. package/lib/validation/Validators/decorators.d.ts +13 -0
  129. package/lib/validation/Validators/index.cjs +71 -1
  130. package/lib/validation/Validators/index.d.ts +9 -7
  131. package/lib/validation/Validators/types.cjs +4 -1
  132. package/lib/validation/Validators/types.d.ts +2 -2
  133. package/lib/validation/decorators.cjs +337 -1
  134. package/lib/validation/decorators.d.ts +14 -87
  135. package/lib/validation/index.cjs +22 -1
  136. package/lib/validation/index.d.ts +1 -10
  137. package/lib/validation/types.cjs +4 -1
  138. package/lib/validation/types.d.ts +11 -0
  139. package/package.json +17 -13
  140. package/lib/esm/utils/general.js +0 -1
  141. package/lib/utils/general.cjs +0 -1
@@ -1 +1,62 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.MinValidator=void 0;const Validator_1=require("./Validator/index.cjs"),constants_1=require("./constants/index.cjs");class MinValidator extends Validator_1.Validator{constructor(t=constants_1.DEFAULT_ERROR_MESSAGES.MIN){super(constants_1.ValidationKeys.MIN,t,"number","Date","string")}hasErrors(t,a,e){if(void 0!==t){if(t instanceof Date&&!(a instanceof Date)&&(a=new Date(a),isNaN(a.getDate())))throw new Error("Invalid Min param defined");return t<a?this.getMessage(e||this.message,a):void 0}}}exports.MinValidator=MinValidator;
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/index.cjs");
14
+ const constants_1 = require("./constants/index.cjs");
15
+ const decorators_1 = require("./decorators/index.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(constants_1.ValidationKeys.MIN, message, "number", "Date", "string");
29
+ }
30
+ /**
31
+ * @summary Validates Model
32
+ *
33
+ * @param {string} value
34
+ * @param {number | Date | string} min
35
+ * @param {string} [message]
36
+ *
37
+ * @return Errors
38
+ *
39
+ * @override
40
+ *
41
+ * @see Validator#hasErrors
42
+ */
43
+ hasErrors(value, min, message) {
44
+ if (value === undefined)
45
+ return;
46
+ if (value instanceof Date && !(min instanceof Date)) {
47
+ min = new Date(min);
48
+ if (isNaN(min.getDate()))
49
+ throw new Error(`Invalid Min param defined`);
50
+ }
51
+ return value < min
52
+ ? this.getMessage(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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvTWluVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF3QztBQUN4QywyQ0FBcUU7QUFFckUsNkNBQXlDO0FBRXpDOzs7Ozs7Ozs7R0FTRztBQUVJLElBQU0sWUFBWSxHQUFsQixNQUFNLFlBQWEsU0FBUSxxQkFBUztJQUN6QyxZQUFZLFVBQWtCLGtDQUFzQixDQUFDLEdBQUc7UUFDdEQsS0FBSyxDQUFDLDBCQUFjLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSSxTQUFTLENBQ2QsS0FBNkIsRUFDN0IsR0FBMkIsRUFDM0IsT0FBZ0I7UUFFaEIsSUFBSSxLQUFLLEtBQUssU0FBUztZQUFFLE9BQU87UUFFaEMsSUFBSSxLQUFLLFlBQVksSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLFlBQVksSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNwRCxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEIsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUN6RSxDQUFDO1FBQ0QsT0FBTyxLQUFLLEdBQUcsR0FBRztZQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7WUFDL0MsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNoQixDQUFDO0NBQ0YsQ0FBQTtBQWpDWSxvQ0FBWTt1QkFBWixZQUFZO0lBRHhCLElBQUEsc0JBQVMsRUFBQywwQkFBYyxDQUFDLEdBQUcsQ0FBQzs7R0FDakIsWUFBWSxDQWlDeEIiLCJmaWxlIjoidmFsaWRhdGlvbi9WYWxpZGF0b3JzL01pblZhbGlkYXRvci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRvciB9IGZyb20gXCIuL1ZhbGlkYXRvclwiO1xuaW1wb3J0IHsgVmFsaWRhdGlvbktleXMsIERFRkFVTFRfRVJST1JfTUVTU0FHRVMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEVycm9ycyB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgdmFsaWRhdG9yIH0gZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IE1pbiBWYWxpZGF0b3JcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdIGRlZmF1bHRzIHRvIHtAbGluayBERUZBVUxUX0VSUk9SX01FU1NBR0VTI01JTn1cbiAqXG4gKiBAY2xhc3MgTWluVmFsaWRhdG9yXG4gKiBAZXh0ZW5kcyBWYWxpZGF0b3JcbiAqXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdG9yc1xuICovXG5AdmFsaWRhdG9yKFZhbGlkYXRpb25LZXlzLk1JTilcbmV4cG9ydCBjbGFzcyBNaW5WYWxpZGF0b3IgZXh0ZW5kcyBWYWxpZGF0b3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLk1JTikge1xuICAgIHN1cGVyKFZhbGlkYXRpb25LZXlzLk1JTiwgbWVzc2FnZSwgXCJudW1iZXJcIiwgXCJEYXRlXCIsIFwic3RyaW5nXCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFZhbGlkYXRlcyBNb2RlbFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAgICogQHBhcmFtIHtudW1iZXIgfCBEYXRlIHwgc3RyaW5nfSBtaW5cbiAgICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXVxuICAgKlxuICAgKiBAcmV0dXJuIEVycm9yc1xuICAgKlxuICAgKiBAb3ZlcnJpZGVcbiAgICpcbiAgICogQHNlZSBWYWxpZGF0b3IjaGFzRXJyb3JzXG4gICAqL1xuICBwdWJsaWMgaGFzRXJyb3JzKFxuICAgIHZhbHVlOiBudW1iZXIgfCBEYXRlIHwgc3RyaW5nLFxuICAgIG1pbjogbnVtYmVyIHwgRGF0ZSB8IHN0cmluZyxcbiAgICBtZXNzYWdlPzogc3RyaW5nLFxuICApOiBFcnJvcnMge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG5cbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlICYmICEobWluIGluc3RhbmNlb2YgRGF0ZSkpIHtcbiAgICAgIG1pbiA9IG5ldyBEYXRlKG1pbik7XG4gICAgICBpZiAoaXNOYU4obWluLmdldERhdGUoKSkpIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBNaW4gcGFyYW0gZGVmaW5lZGApO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWUgPCBtaW5cbiAgICAgID8gdGhpcy5nZXRNZXNzYWdlKG1lc3NhZ2UgfHwgdGhpcy5tZXNzYWdlLCBtaW4pXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
@@ -1 +1,55 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PasswordValidator=void 0;const PatternValidator_1=require("./PatternValidator/index.cjs"),constants_1=require("./constants/index.cjs");class PasswordValidator extends PatternValidator_1.PatternValidator{constructor(t=constants_1.DEFAULT_ERROR_MESSAGES.PASSWORD,s=constants_1.PasswordPatterns.CHAR8_ONE_OF_EACH){super(constants_1.ValidationKeys.PASSWORD,t),this.pattern=s}hasErrors(t,s,r){return super.hasErrors(t,s||this.pattern,r||this.message)}}exports.PasswordValidator=PasswordValidator;
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/index.cjs");
14
+ const constants_1 = require("./constants/index.cjs");
15
+ const decorators_1 = require("./decorators/index.cjs");
16
+ /**
17
+ * @summary Handles Password Validation
18
+ *
19
+ * @param {string} [errorMessage] defaults to {@link DEFAULT_ERROR_MESSAGES#PASSWORD}
20
+ * @param {RegExp} [passwordPattern] defaults to {@link PasswordPatterns.CHAR8_ONE_OF_EACH}
21
+ *
22
+ * @class PasswordValidator
23
+ * @extends PatternValidator
24
+ *
25
+ * @category Validators
26
+ */
27
+ let PasswordValidator = class PasswordValidator extends PatternValidator_1.PatternValidator {
28
+ constructor(errorMessage = constants_1.DEFAULT_ERROR_MESSAGES.PASSWORD, passwordPattern = constants_1.DEFAULT_PATTERNS.PASSWORD.CHAR8_ONE_OF_EACH) {
29
+ super(constants_1.ValidationKeys.PASSWORD, errorMessage);
30
+ this.pattern = passwordPattern;
31
+ }
32
+ /**
33
+ * @summary Validates a model
34
+ *
35
+ * @param {string} value
36
+ * @param {RegExp} [pattern]
37
+ * @param {string} [message]
38
+ *
39
+ * @return Errors
40
+ *
41
+ * @override
42
+ *
43
+ * @see PatternValidator#hasErrors
44
+ */
45
+ hasErrors(value, pattern, message) {
46
+ return super.hasErrors(value, pattern || this.pattern, message || this.message);
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, RegExp])
53
+ ], PasswordValidator);
54
+
55
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvUGFzc3dvcmRWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEseURBQXNEO0FBQ3RELDJDQUlxQjtBQUVyQiw2Q0FBeUM7QUFFekM7Ozs7Ozs7Ozs7R0FVRztBQUVJLElBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWtCLFNBQVEsbUNBQWdCO0lBR3JELFlBQ0UsWUFBWSxHQUFHLGtDQUFzQixDQUFDLFFBQVEsRUFDOUMsa0JBQTBCLDRCQUFnQixDQUFDLFFBQVEsQ0FBQyxpQkFBaUI7UUFFckUsS0FBSyxDQUFDLDBCQUFjLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxPQUFPLEdBQUcsZUFBZSxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSSxTQUFTLENBQUMsS0FBYSxFQUFFLE9BQWUsRUFBRSxPQUFnQjtRQUMvRCxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQ3BCLEtBQUssRUFDTCxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sRUFDdkIsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQ3hCLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQTtBQS9CWSw4Q0FBaUI7NEJBQWpCLGlCQUFpQjtJQUQ3QixJQUFBLHNCQUFTLEVBQUMsMEJBQWMsQ0FBQyxRQUFRLENBQUM7NkNBTWQsTUFBTTtHQUxkLGlCQUFpQixDQStCN0IiLCJmaWxlIjoidmFsaWRhdGlvbi9WYWxpZGF0b3JzL1Bhc3N3b3JkVmFsaWRhdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGF0dGVyblZhbGlkYXRvciB9IGZyb20gXCIuL1BhdHRlcm5WYWxpZGF0b3JcIjtcbmltcG9ydCB7XG4gIERFRkFVTFRfRVJST1JfTUVTU0FHRVMsXG4gIERFRkFVTFRfUEFUVEVSTlMsXG4gIFZhbGlkYXRpb25LZXlzLFxufSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEVycm9ycyB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgdmFsaWRhdG9yIH0gZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IEhhbmRsZXMgUGFzc3dvcmQgVmFsaWRhdGlvblxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbZXJyb3JNZXNzYWdlXSBkZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNQQVNTV09SRH1cbiAqIEBwYXJhbSB7UmVnRXhwfSBbcGFzc3dvcmRQYXR0ZXJuXSBkZWZhdWx0cyB0byB7QGxpbmsgUGFzc3dvcmRQYXR0ZXJucy5DSEFSOF9PTkVfT0ZfRUFDSH1cbiAqXG4gKiBAY2xhc3MgUGFzc3dvcmRWYWxpZGF0b3JcbiAqIEBleHRlbmRzIFBhdHRlcm5WYWxpZGF0b3JcbiAqXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdG9yc1xuICovXG5AdmFsaWRhdG9yKFZhbGlkYXRpb25LZXlzLlBBU1NXT1JEKVxuZXhwb3J0IGNsYXNzIFBhc3N3b3JkVmFsaWRhdG9yIGV4dGVuZHMgUGF0dGVyblZhbGlkYXRvciB7XG4gIHJlYWRvbmx5IHBhdHRlcm46IFJlZ0V4cDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBlcnJvck1lc3NhZ2UgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlBBU1NXT1JELFxuICAgIHBhc3N3b3JkUGF0dGVybjogUmVnRXhwID0gREVGQVVMVF9QQVRURVJOUy5QQVNTV09SRC5DSEFSOF9PTkVfT0ZfRUFDSCxcbiAgKSB7XG4gICAgc3VwZXIoVmFsaWRhdGlvbktleXMuUEFTU1dPUkQsIGVycm9yTWVzc2FnZSk7XG4gICAgdGhpcy5wYXR0ZXJuID0gcGFzc3dvcmRQYXR0ZXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFZhbGlkYXRlcyBhIG1vZGVsXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICAgKiBAcGFyYW0ge1JlZ0V4cH0gW3BhdHRlcm5dXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV1cbiAgICpcbiAgICogQHJldHVybiBFcnJvcnNcbiAgICpcbiAgICogQG92ZXJyaWRlXG4gICAqXG4gICAqIEBzZWUgUGF0dGVyblZhbGlkYXRvciNoYXNFcnJvcnNcbiAgICovXG4gIHB1YmxpYyBoYXNFcnJvcnModmFsdWU6IHN0cmluZywgcGF0dGVybjogUmVnRXhwLCBtZXNzYWdlPzogc3RyaW5nKTogRXJyb3JzIHtcbiAgICByZXR1cm4gc3VwZXIuaGFzRXJyb3JzKFxuICAgICAgdmFsdWUsXG4gICAgICBwYXR0ZXJuIHx8IHRoaXMucGF0dGVybixcbiAgICAgIG1lc3NhZ2UgfHwgdGhpcy5tZXNzYWdlLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1 +1,75 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.PatternValidator=void 0;const Validator_1=require("./Validator/index.cjs"),constants_1=require("./constants/index.cjs");class PatternValidator extends Validator_1.Validator{static{this.regexpParser=new RegExp("^/(.+)/([gimus]*)$")}constructor(t=constants_1.ValidationKeys.PATTERN,e=constants_1.DEFAULT_ERROR_MESSAGES.PATTERN){super(t,e,"string")}static getPattern(t){var e;return PatternValidator.regexpParser.test(t)?(e=t.match(PatternValidator.regexpParser),new RegExp(e[1],e[2])):new RegExp(t)}hasErrors(t,e,r){if(t)return(e="string"==typeof e?PatternValidator.getPattern(e):e).lastIndex=0,e.test(t)?void 0:this.getMessage(r||this.message)}}exports.PatternValidator=PatternValidator;
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/index.cjs");
14
+ const constants_1 = require("./constants/index.cjs");
15
+ const decorators_1 = require("./decorators/index.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(key = constants_1.ValidationKeys.PATTERN, message = constants_1.DEFAULT_ERROR_MESSAGES.PATTERN) {
30
+ super(key, 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 {RegExp | string} pattern
49
+ * @param {string} [message]
50
+ *
51
+ * @return Errors
52
+ *
53
+ * @override
54
+ *
55
+ * @see Validator#hasErrors
56
+ */
57
+ hasErrors(value, pattern, message) {
58
+ if (!value)
59
+ return;
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(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, String])
73
+ ], PatternValidator);
74
+
75
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvUGF0dGVyblZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBd0M7QUFDeEMsMkNBQXFFO0FBRXJFLDZDQUF5QztBQUU1QixRQUFBLFlBQVksR0FBVyxJQUFJLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBRXJFOzs7Ozs7Ozs7O0dBVUc7QUFFSSxJQUFNLGdCQUFnQixHQUF0QixNQUFNLGdCQUFpQixTQUFRLHFCQUFTO0lBQzdDLFlBQ0UsTUFBYywwQkFBYyxDQUFDLE9BQU8sRUFDcEMsVUFBa0Isa0NBQXNCLENBQUMsT0FBTztRQUVoRCxLQUFLLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxVQUFVLENBQUMsT0FBZTtRQUNoQyxJQUFJLENBQUMsb0JBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQUUsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1RCxNQUFNLEtBQUssR0FBUSxPQUFPLENBQUMsS0FBSyxDQUFDLG9CQUFZLENBQUMsQ0FBQztRQUMvQyxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0ksU0FBUyxDQUNkLEtBQWEsRUFDYixPQUF5QixFQUN6QixPQUFnQjtRQUVoQixJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFDbkIsSUFBSSxDQUFDLE9BQU87WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDakQsT0FBTyxHQUFHLE9BQU8sT0FBTyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQzNFLE9BQU8sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMseURBQXlEO1FBQ2hGLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN6QixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUMxQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2hCLENBQUM7Q0FDRixDQUFBO0FBOUNZLDRDQUFnQjsyQkFBaEIsZ0JBQWdCO0lBRDVCLElBQUEsc0JBQVMsRUFBQywwQkFBYyxDQUFDLE9BQU8sQ0FBQzs7R0FDckIsZ0JBQWdCLENBOEM1QiIsImZpbGUiOiJ2YWxpZGF0aW9uL1ZhbGlkYXRvcnMvUGF0dGVyblZhbGlkYXRvci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRvciB9IGZyb20gXCIuL1ZhbGlkYXRvclwiO1xuaW1wb3J0IHsgVmFsaWRhdGlvbktleXMsIERFRkFVTFRfRVJST1JfTUVTU0FHRVMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEVycm9ycyB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgdmFsaWRhdG9yIH0gZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuXG5leHBvcnQgY29uc3QgcmVnZXhwUGFyc2VyOiBSZWdFeHAgPSBuZXcgUmVnRXhwKFwiXi8oLispLyhbZ2ltdXNdKikkXCIpO1xuXG4vKipcbiAqIEBzdW1tYXJ5IFBhdHRlcm4gVmFsaWRhdG9yXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IFtrZXldIGRlZmF1bHRzIHRvIHtAbGluayBWYWxpZGF0aW9uS2V5cyNQQVRURVJOfVxuICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXSBkZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNQQVRURVJOfVxuICpcbiAqIEBjbGFzcyBQYXR0ZXJuVmFsaWRhdG9yXG4gKiBAZXh0ZW5kcyBWYWxpZGF0b3JcbiAqXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdG9yc1xuICovXG5AdmFsaWRhdG9yKFZhbGlkYXRpb25LZXlzLlBBVFRFUk4pXG5leHBvcnQgY2xhc3MgUGF0dGVyblZhbGlkYXRvciBleHRlbmRzIFZhbGlkYXRvciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGtleTogc3RyaW5nID0gVmFsaWRhdGlvbktleXMuUEFUVEVSTixcbiAgICBtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlBBVFRFUk4sXG4gICkge1xuICAgIHN1cGVyKGtleSwgbWVzc2FnZSwgXCJzdHJpbmdcIik7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgcGFyc2VzIGFuZCB2YWxpZGF0ZXMgYSBwYXR0ZXJuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXR0ZXJuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGdldFBhdHRlcm4ocGF0dGVybjogc3RyaW5nKTogUmVnRXhwIHtcbiAgICBpZiAoIXJlZ2V4cFBhcnNlci50ZXN0KHBhdHRlcm4pKSByZXR1cm4gbmV3IFJlZ0V4cChwYXR0ZXJuKTtcbiAgICBjb25zdCBtYXRjaDogYW55ID0gcGF0dGVybi5tYXRjaChyZWdleHBQYXJzZXIpO1xuICAgIHJldHVybiBuZXcgUmVnRXhwKG1hdGNoWzFdLCBtYXRjaFsyXSk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgVmFsaWRhdGVzIGEgTW9kZWxcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gICAqIEBwYXJhbSB7UmVnRXhwIHwgc3RyaW5nfSBwYXR0ZXJuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV1cbiAgICpcbiAgICogQHJldHVybiBFcnJvcnNcbiAgICpcbiAgICogQG92ZXJyaWRlXG4gICAqXG4gICAqIEBzZWUgVmFsaWRhdG9yI2hhc0Vycm9yc1xuICAgKi9cbiAgcHVibGljIGhhc0Vycm9ycyhcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIHBhdHRlcm4/OiBSZWdFeHAgfCBzdHJpbmcsXG4gICAgbWVzc2FnZT86IHN0cmluZyxcbiAgKTogRXJyb3JzIHtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm47XG4gICAgaWYgKCFwYXR0ZXJuKSB0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIFBhdHRlcm5cIik7XG4gICAgcGF0dGVybiA9IHR5cGVvZiBwYXR0ZXJuID09PSBcInN0cmluZ1wiID8gdGhpcy5nZXRQYXR0ZXJuKHBhdHRlcm4pIDogcGF0dGVybjtcbiAgICBwYXR0ZXJuLmxhc3RJbmRleCA9IDA7IC8vIHJlc2V0cyBwYXR0ZXJuIHBvc2l0aW9uIGZvciByZXBlYXQgdmFsaWRhdGlvbiByZXF1ZXN0c1xuICAgIHJldHVybiAhcGF0dGVybi50ZXN0KHZhbHVlKVxuICAgICAgPyB0aGlzLmdldE1lc3NhZ2UobWVzc2FnZSB8fCB0aGlzLm1lc3NhZ2UpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
@@ -1,5 +1,6 @@
1
1
  import { Validator } from "./Validator";
2
2
  import { Errors } from "../types";
3
+ export declare const regexpParser: RegExp;
3
4
  /**
4
5
  * @summary Pattern Validator
5
6
  *
@@ -12,7 +13,6 @@ import { Errors } from "../types";
12
13
  * @category Validators
13
14
  */
14
15
  export declare class PatternValidator extends Validator {
15
- private static readonly regexpParser;
16
16
  constructor(key?: string, message?: string);
17
17
  /**
18
18
  * @summary parses and validates a pattern
@@ -20,7 +20,7 @@ export declare class PatternValidator extends Validator {
20
20
  * @param {string} pattern
21
21
  * @private
22
22
  */
23
- private static getPattern;
23
+ private getPattern;
24
24
  /**
25
25
  * @summary Validates a Model
26
26
  *
@@ -34,5 +34,5 @@ export declare class PatternValidator extends Validator {
34
34
  *
35
35
  * @see Validator#hasErrors
36
36
  */
37
- hasErrors(value: string, pattern: RegExp | string, message?: string): Errors;
37
+ hasErrors(value: string, pattern?: RegExp | string, message?: string): Errors;
38
38
  }
@@ -1 +1,60 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.RequiredValidator=void 0;const Validator_1=require("./Validator/index.cjs"),constants_1=require("./constants/index.cjs");class RequiredValidator extends Validator_1.Validator{constructor(e=constants_1.DEFAULT_ERROR_MESSAGES.REQUIRED){super(constants_1.ValidationKeys.REQUIRED,e)}hasErrors(e,t){switch(typeof e){case"boolean":case"number":return void 0===e?this.getMessage(t||this.message):void 0;default:return e?void 0:this.getMessage(t||this.message)}}}exports.RequiredValidator=RequiredValidator;
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/index.cjs");
14
+ const constants_1 = require("./constants/index.cjs");
15
+ const decorators_1 = require("./decorators/index.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(constants_1.ValidationKeys.REQUIRED, message);
29
+ }
30
+ /**
31
+ * @summary Validates a model
32
+ *
33
+ * @param {string} value
34
+ * @param {string} [message]
35
+ *
36
+ * @return Errors
37
+ *
38
+ * @override
39
+ *
40
+ * @see Validator#hasErrors
41
+ */
42
+ hasErrors(value, message) {
43
+ switch (typeof value) {
44
+ case "boolean":
45
+ case "number":
46
+ return typeof value === "undefined"
47
+ ? this.getMessage(message || this.message)
48
+ : undefined;
49
+ default:
50
+ return !value ? this.getMessage(message || this.message) : undefined;
51
+ }
52
+ }
53
+ };
54
+ exports.RequiredValidator = RequiredValidator;
55
+ exports.RequiredValidator = RequiredValidator = __decorate([
56
+ (0, decorators_1.validator)(constants_1.ValidationKeys.REQUIRED),
57
+ __metadata("design:paramtypes", [String])
58
+ ], RequiredValidator);
59
+
60
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvUmVxdWlyZWRWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsMkNBQXdDO0FBQ3hDLDJDQUFxRTtBQUVyRSw2Q0FBeUM7QUFFekM7Ozs7Ozs7OztHQVNHO0FBRUksSUFBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBa0IsU0FBUSxxQkFBUztJQUM5QyxZQUFZLFVBQWtCLGtDQUFzQixDQUFDLFFBQVE7UUFDM0QsS0FBSyxDQUFDLDBCQUFjLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNJLFNBQVMsQ0FBQyxLQUFVLEVBQUUsT0FBZ0I7UUFDM0MsUUFBUSxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ3JCLEtBQUssU0FBUyxDQUFDO1lBQ2YsS0FBSyxRQUFRO2dCQUNYLE9BQU8sT0FBTyxLQUFLLEtBQUssV0FBVztvQkFDakMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUM7b0JBQzFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDaEI7Z0JBQ0UsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDekUsQ0FBQztJQUNILENBQUM7Q0FDRixDQUFBO0FBNUJZLDhDQUFpQjs0QkFBakIsaUJBQWlCO0lBRDdCLElBQUEsc0JBQVMsRUFBQywwQkFBYyxDQUFDLFFBQVEsQ0FBQzs7R0FDdEIsaUJBQWlCLENBNEI3QiIsImZpbGUiOiJ2YWxpZGF0aW9uL1ZhbGlkYXRvcnMvUmVxdWlyZWRWYWxpZGF0b3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3IgfSBmcm9tIFwiLi9WYWxpZGF0b3JcIjtcbmltcG9ydCB7IFZhbGlkYXRpb25LZXlzLCBERUZBVUxUX0VSUk9SX01FU1NBR0VTIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBFcnJvcnMgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IHZhbGlkYXRvciB9IGZyb20gXCIuL2RlY29yYXRvcnNcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBSZXF1aXJlZCBWYWxpZGF0b3JcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdIGRlZmF1bHRzIHRvIHtAbGluayBERUZBVUxUX0VSUk9SX01FU1NBR0VTI1JFUVVJUkVEfVxuICpcbiAqIEBjbGFzcyBSZXF1aXJlZFZhbGlkYXRvclxuICogQGV4dGVuZHMgVmFsaWRhdG9yXG4gKlxuICogQGNhdGVnb3J5IFZhbGlkYXRvcnNcbiAqL1xuQHZhbGlkYXRvcihWYWxpZGF0aW9uS2V5cy5SRVFVSVJFRClcbmV4cG9ydCBjbGFzcyBSZXF1aXJlZFZhbGlkYXRvciBleHRlbmRzIFZhbGlkYXRvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuUkVRVUlSRUQpIHtcbiAgICBzdXBlcihWYWxpZGF0aW9uS2V5cy5SRVFVSVJFRCwgbWVzc2FnZSk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgVmFsaWRhdGVzIGEgbW9kZWxcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV1cbiAgICpcbiAgICogQHJldHVybiBFcnJvcnNcbiAgICpcbiAgICogQG92ZXJyaWRlXG4gICAqXG4gICAqIEBzZWUgVmFsaWRhdG9yI2hhc0Vycm9yc1xuICAgKi9cbiAgcHVibGljIGhhc0Vycm9ycyh2YWx1ZTogYW55LCBtZXNzYWdlPzogc3RyaW5nKTogRXJyb3JzIHtcbiAgICBzd2l0Y2ggKHR5cGVvZiB2YWx1ZSkge1xuICAgICAgY2FzZSBcImJvb2xlYW5cIjpcbiAgICAgIGNhc2UgXCJudW1iZXJcIjpcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJ1bmRlZmluZWRcIlxuICAgICAgICAgID8gdGhpcy5nZXRNZXNzYWdlKG1lc3NhZ2UgfHwgdGhpcy5tZXNzYWdlKVxuICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICF2YWx1ZSA/IHRoaXMuZ2V0TWVzc2FnZShtZXNzYWdlIHx8IHRoaXMubWVzc2FnZSkgOiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1 +1,57 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.StepValidator=void 0;const Validator_1=require("./Validator/index.cjs"),constants_1=require("./constants/index.cjs");class StepValidator extends Validator_1.Validator{constructor(t=constants_1.DEFAULT_ERROR_MESSAGES.STEP){super(constants_1.ValidationKeys.STEP,t,"number","string")}hasErrors(t,e,r){return void 0!==t&&Number(t)%Number(e)!=0?this.getMessage(r||this.message,e):void 0}}exports.StepValidator=StepValidator;
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/index.cjs");
14
+ const constants_1 = require("./constants/index.cjs");
15
+ const decorators_1 = require("./decorators/index.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(constants_1.ValidationKeys.STEP, message, "number", "string");
29
+ }
30
+ /**
31
+ * @summary Validates a model
32
+ *
33
+ * @param {string} value
34
+ * @param {number} step
35
+ * @param {string} [message]
36
+ *
37
+ * @return Errors
38
+ *
39
+ * @override
40
+ *
41
+ * @see Validator#hasErrors
42
+ */
43
+ hasErrors(value, step, message) {
44
+ if (value === undefined)
45
+ return;
46
+ return Number(value) % Number(step) !== 0
47
+ ? this.getMessage(message || this.message, 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvU3RlcFZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBd0M7QUFDeEMsMkNBQXFFO0FBRXJFLDZDQUF5QztBQUV6Qzs7Ozs7Ozs7O0dBU0c7QUFFSSxJQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUFjLFNBQVEscUJBQVM7SUFDMUMsWUFBWSxVQUFrQixrQ0FBc0IsQ0FBQyxJQUFJO1FBQ3ZELEtBQUssQ0FBQywwQkFBYyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSSxTQUFTLENBQ2QsS0FBc0IsRUFDdEIsSUFBcUIsRUFDckIsT0FBZ0I7UUFFaEIsSUFBSSxLQUFLLEtBQUssU0FBUztZQUFFLE9BQU87UUFDaEMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDdkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO1lBQ2hELENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDaEIsQ0FBQztDQUNGLENBQUE7QUE1Qlksc0NBQWE7d0JBQWIsYUFBYTtJQUR6QixJQUFBLHNCQUFTLEVBQUMsMEJBQWMsQ0FBQyxJQUFJLENBQUM7O0dBQ2xCLGFBQWEsQ0E0QnpCIiwiZmlsZSI6InZhbGlkYXRpb24vVmFsaWRhdG9ycy9TdGVwVmFsaWRhdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yIH0gZnJvbSBcIi4vVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBWYWxpZGF0aW9uS2V5cywgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgRXJyb3JzIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyB2YWxpZGF0b3IgfSBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5cbi8qKlxuICogQHN1bW1hcnkgU3RlcCBWYWxpZGF0b3JcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdIGRlZmF1bHRzIHRvIHtAbGluayBERUZBVUxUX0VSUk9SX01FU1NBR0VTI1NURVB9XG4gKlxuICogQGNsYXNzIFN0ZXBWYWxpZGF0b3JcbiAqIEBleHRlbmRzIFZhbGlkYXRvclxuICpcbiAqIEBjYXRlZ29yeSBWYWxpZGF0b3JzXG4gKi9cbkB2YWxpZGF0b3IoVmFsaWRhdGlvbktleXMuU1RFUClcbmV4cG9ydCBjbGFzcyBTdGVwVmFsaWRhdG9yIGV4dGVuZHMgVmFsaWRhdG9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nID0gREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5TVEVQKSB7XG4gICAgc3VwZXIoVmFsaWRhdGlvbktleXMuU1RFUCwgbWVzc2FnZSwgXCJudW1iZXJcIiwgXCJzdHJpbmdcIik7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgVmFsaWRhdGVzIGEgbW9kZWxcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBzdGVwXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV1cbiAgICpcbiAgICogQHJldHVybiBFcnJvcnNcbiAgICpcbiAgICogQG92ZXJyaWRlXG4gICAqXG4gICAqIEBzZWUgVmFsaWRhdG9yI2hhc0Vycm9yc1xuICAgKi9cbiAgcHVibGljIGhhc0Vycm9ycyhcbiAgICB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLFxuICAgIHN0ZXA6IG51bWJlciB8IHN0cmluZyxcbiAgICBtZXNzYWdlPzogc3RyaW5nLFxuICApOiBFcnJvcnMge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgcmV0dXJuIE51bWJlcih2YWx1ZSkgJSBOdW1iZXIoc3RlcCkgIT09IDBcbiAgICAgID8gdGhpcy5nZXRNZXNzYWdlKG1lc3NhZ2UgfHwgdGhpcy5tZXNzYWdlLCBzdGVwKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -1 +1,46 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TypeValidator=void 0;const Validator_1=require("./Validator/index.cjs"),utils_1=require("../../utils/index.cjs"),constants_1=require("./constants/index.cjs"),constants_2=require("../../utils/constants/index.cjs");class TypeValidator extends Validator_1.Validator{constructor(t=constants_1.DEFAULT_ERROR_MESSAGES.TYPE){super(constants_2.ModelKeys.TYPE,t)}hasErrors(t,e,s){return void 0===t||(0,utils_1.evaluateDesignTypes)(t,e)?void 0:this.getMessage(s||this.message,"string"==typeof e?e:Array.isArray(e)?e.join(", "):e.name,typeof t)}}exports.TypeValidator=TypeValidator;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TypeValidator = void 0;
4
+ const Validator_1 = require("./Validator/index.cjs");
5
+ const constants_1 = require("./constants/index.cjs");
6
+ const constants_2 = require("../../utils/constants/index.cjs");
7
+ const utils_1 = require("../../reflection/utils/index.cjs");
8
+ /**
9
+ * @summary Required Validator
10
+ *
11
+ * @class RequiredValidator
12
+ * @extends Validator
13
+ *
14
+ * @category Validators
15
+ */
16
+ // @validator(ValidationKeys.TYPE)
17
+ class TypeValidator extends Validator_1.Validator {
18
+ constructor(message = constants_1.DEFAULT_ERROR_MESSAGES.TYPE) {
19
+ super(constants_2.ModelKeys.TYPE, message);
20
+ }
21
+ /**
22
+ * @summary Validates a model
23
+ * @param {string} value
24
+ * @param {string | string[] | {name: string}} types
25
+ * @param {string} [message]
26
+ *
27
+ * @return Errors
28
+ *
29
+ * @override
30
+ *
31
+ * @see Validator#hasErrors
32
+ */
33
+ hasErrors(value, types, message) {
34
+ if (value === undefined)
35
+ return; // Dont try and enforce type if undefined
36
+ if (!(0, utils_1.evaluateDesignTypes)(value, types))
37
+ return this.getMessage(message || this.message, typeof types === "string"
38
+ ? types
39
+ : Array.isArray(types)
40
+ ? types.join(", ")
41
+ : types.name, typeof value);
42
+ }
43
+ }
44
+ exports.TypeValidator = TypeValidator;
45
+
46
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvVHlwZVZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwyQ0FBd0M7QUFDeEMsMkNBQXFEO0FBQ3JELHFEQUFrRDtBQUNsRCxrREFBNkQ7QUFFN0Q7Ozs7Ozs7R0FPRztBQUNILGtDQUFrQztBQUNsQyxNQUFhLGFBQWMsU0FBUSxxQkFBUztJQUMxQyxZQUFZLFVBQWtCLGtDQUFzQixDQUFDLElBQUk7UUFDdkQsS0FBSyxDQUFDLHFCQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNJLFNBQVMsQ0FDZCxLQUFVLEVBQ1YsS0FBMkMsRUFDM0MsT0FBZ0I7UUFFaEIsSUFBSSxLQUFLLEtBQUssU0FBUztZQUFFLE9BQU8sQ0FBQyx5Q0FBeUM7UUFDMUUsSUFBSSxDQUFDLElBQUEsMkJBQW1CLEVBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztZQUNwQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQ3BCLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUN2QixPQUFPLEtBQUssS0FBSyxRQUFRO2dCQUN2QixDQUFDLENBQUMsS0FBSztnQkFDUCxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7b0JBQ3BCLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztvQkFDbEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQ2hCLE9BQU8sS0FBSyxDQUNiLENBQUM7SUFDTixDQUFDO0NBQ0Y7QUFsQ0Qsc0NBa0NDIiwiZmlsZSI6InZhbGlkYXRpb24vVmFsaWRhdG9ycy9UeXBlVmFsaWRhdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JzIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBWYWxpZGF0b3IgfSBmcm9tIFwiLi9WYWxpZGF0b3JcIjtcbmltcG9ydCB7IERFRkFVTFRfRVJST1JfTUVTU0FHRVMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IE1vZGVsS2V5cyB9IGZyb20gXCIuLi8uLi91dGlscy9jb25zdGFudHNcIjtcbmltcG9ydCB7IGV2YWx1YXRlRGVzaWduVHlwZXMgfSBmcm9tIFwiLi4vLi4vcmVmbGVjdGlvbi91dGlsc1wiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IFJlcXVpcmVkIFZhbGlkYXRvclxuICpcbiAqIEBjbGFzcyBSZXF1aXJlZFZhbGlkYXRvclxuICogQGV4dGVuZHMgVmFsaWRhdG9yXG4gKlxuICogQGNhdGVnb3J5IFZhbGlkYXRvcnNcbiAqL1xuLy8gQHZhbGlkYXRvcihWYWxpZGF0aW9uS2V5cy5UWVBFKVxuZXhwb3J0IGNsYXNzIFR5cGVWYWxpZGF0b3IgZXh0ZW5kcyBWYWxpZGF0b3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlRZUEUpIHtcbiAgICBzdXBlcihNb2RlbEtleXMuVFlQRSwgbWVzc2FnZSk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgVmFsaWRhdGVzIGEgbW9kZWxcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgc3RyaW5nW10gfCB7bmFtZTogc3RyaW5nfX0gdHlwZXNcbiAgICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXVxuICAgKlxuICAgKiBAcmV0dXJuIEVycm9yc1xuICAgKlxuICAgKiBAb3ZlcnJpZGVcbiAgICpcbiAgICogQHNlZSBWYWxpZGF0b3IjaGFzRXJyb3JzXG4gICAqL1xuICBwdWJsaWMgaGFzRXJyb3JzKFxuICAgIHZhbHVlOiBhbnksXG4gICAgdHlwZXM6IHN0cmluZyB8IHN0cmluZ1tdIHwgeyBuYW1lOiBzdHJpbmcgfSxcbiAgICBtZXNzYWdlPzogc3RyaW5nLFxuICApOiBFcnJvcnMge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSByZXR1cm47IC8vIERvbnQgdHJ5IGFuZCBlbmZvcmNlIHR5cGUgaWYgdW5kZWZpbmVkXG4gICAgaWYgKCFldmFsdWF0ZURlc2lnblR5cGVzKHZhbHVlLCB0eXBlcykpXG4gICAgICByZXR1cm4gdGhpcy5nZXRNZXNzYWdlKFxuICAgICAgICBtZXNzYWdlIHx8IHRoaXMubWVzc2FnZSxcbiAgICAgICAgdHlwZW9mIHR5cGVzID09PSBcInN0cmluZ1wiXG4gICAgICAgICAgPyB0eXBlc1xuICAgICAgICAgIDogQXJyYXkuaXNBcnJheSh0eXBlcylcbiAgICAgICAgICAgID8gdHlwZXMuam9pbihcIiwgXCIpXG4gICAgICAgICAgICA6IHR5cGVzLm5hbWUsXG4gICAgICAgIHR5cGVvZiB2YWx1ZSxcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1 +1,51 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.URLValidator=void 0;const constants_1=require("./constants/index.cjs"),PatternValidator_1=require("./PatternValidator/index.cjs");class URLValidator extends PatternValidator_1.PatternValidator{static{this.urlPattern=/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i}constructor(t=constants_1.DEFAULT_ERROR_MESSAGES.URL){super(constants_1.ValidationKeys.URL,t)}hasErrors(t,a){return super.hasErrors(t,URLValidator.urlPattern,a)}}exports.URLValidator=URLValidator;
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.URLValidator = void 0;
13
+ const constants_1 = require("./constants/index.cjs");
14
+ const PatternValidator_1 = require("./PatternValidator/index.cjs");
15
+ const decorators_1 = require("./decorators/index.cjs");
16
+ /**
17
+ * @summary URL Validator
18
+ * @description Pattern from {@link https://gist.github.com/dperini/729294}
19
+ *
20
+ * @class URLValidator
21
+ * @extends PatternValidator
22
+ *
23
+ * @category Validators
24
+ */
25
+ let URLValidator = class URLValidator extends PatternValidator_1.PatternValidator {
26
+ constructor(message = constants_1.DEFAULT_ERROR_MESSAGES.URL) {
27
+ super(constants_1.ValidationKeys.URL, message);
28
+ }
29
+ /**
30
+ * @summary Validates a model
31
+ *
32
+ * @param {string} value
33
+ * @param {string} [message]
34
+ *
35
+ * @return Errors
36
+ *
37
+ * @override
38
+ *
39
+ * @see Validator#hasErrors
40
+ */
41
+ hasErrors(value, message) {
42
+ return super.hasErrors(value, constants_1.DEFAULT_PATTERNS.URL, message);
43
+ }
44
+ };
45
+ exports.URLValidator = URLValidator;
46
+ exports.URLValidator = URLValidator = __decorate([
47
+ (0, decorators_1.validator)(constants_1.ValidationKeys.URL),
48
+ __metadata("design:paramtypes", [String])
49
+ ], URLValidator);
50
+
51
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvVVJMVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDJDQUlxQjtBQUVyQix5REFBc0Q7QUFDdEQsNkNBQXlDO0FBRXpDOzs7Ozs7OztHQVFHO0FBRUksSUFBTSxZQUFZLEdBQWxCLE1BQU0sWUFBYSxTQUFRLG1DQUFnQjtJQUNoRCxZQUFZLFVBQWtCLGtDQUFzQixDQUFDLEdBQUc7UUFDdEQsS0FBSyxDQUFDLDBCQUFjLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNJLFNBQVMsQ0FBQyxLQUFhLEVBQUUsT0FBZ0I7UUFDOUMsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSw0QkFBZ0IsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNGLENBQUE7QUFwQlksb0NBQVk7dUJBQVosWUFBWTtJQUR4QixJQUFBLHNCQUFTLEVBQUMsMEJBQWMsQ0FBQyxHQUFHLENBQUM7O0dBQ2pCLFlBQVksQ0FvQnhCIiwiZmlsZSI6InZhbGlkYXRpb24vVmFsaWRhdG9ycy9VUkxWYWxpZGF0b3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBWYWxpZGF0aW9uS2V5cyxcbiAgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyxcbiAgREVGQVVMVF9QQVRURVJOUyxcbn0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBFcnJvcnMgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IFBhdHRlcm5WYWxpZGF0b3IgfSBmcm9tIFwiLi9QYXR0ZXJuVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyB2YWxpZGF0b3IgfSBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5cbi8qKlxuICogQHN1bW1hcnkgVVJMIFZhbGlkYXRvclxuICogQGRlc2NyaXB0aW9uIFBhdHRlcm4gZnJvbSB7QGxpbmsgaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vZHBlcmluaS83MjkyOTR9XG4gKlxuICogQGNsYXNzIFVSTFZhbGlkYXRvclxuICogQGV4dGVuZHMgUGF0dGVyblZhbGlkYXRvclxuICpcbiAqIEBjYXRlZ29yeSBWYWxpZGF0b3JzXG4gKi9cbkB2YWxpZGF0b3IoVmFsaWRhdGlvbktleXMuVVJMKVxuZXhwb3J0IGNsYXNzIFVSTFZhbGlkYXRvciBleHRlbmRzIFBhdHRlcm5WYWxpZGF0b3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlVSTCkge1xuICAgIHN1cGVyKFZhbGlkYXRpb25LZXlzLlVSTCwgbWVzc2FnZSk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgVmFsaWRhdGVzIGEgbW9kZWxcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV1cbiAgICpcbiAgICogQHJldHVybiBFcnJvcnNcbiAgICpcbiAgICogQG92ZXJyaWRlXG4gICAqXG4gICAqIEBzZWUgVmFsaWRhdG9yI2hhc0Vycm9yc1xuICAgKi9cbiAgcHVibGljIGhhc0Vycm9ycyh2YWx1ZTogc3RyaW5nLCBtZXNzYWdlPzogc3RyaW5nKTogRXJyb3JzIHtcbiAgICByZXR1cm4gc3VwZXIuaGFzRXJyb3JzKHZhbHVlLCBERUZBVUxUX1BBVFRFUk5TLlVSTCwgbWVzc2FnZSk7XG4gIH1cbn1cbiJdfQ==
@@ -10,7 +10,6 @@ import { PatternValidator } from "./PatternValidator";
10
10
  * @category Validators
11
11
  */
12
12
  export declare class URLValidator extends PatternValidator {
13
- private static readonly urlPattern;
14
13
  constructor(message?: string);
15
14
  /**
16
15
  * @summary Validates a model
@@ -1 +1,54 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Validator=void 0;const utils_1=require("../../utils/index.cjs"),constants_1=require("./constants/index.cjs");class Validator{constructor(s,t=constants_1.DEFAULT_ERROR_MESSAGES.DEFAULT,...e){this.validationKey=s,this.message=t,e.length&&(this.acceptedTypes=e),this.acceptedTypes&&(this.hasErrors=this.checkTypeAndHasErrors(this.hasErrors.bind(this)))}getMessage(s,...t){return(0,utils_1.stringFormat)(s,...t)}checkTypeAndHasErrors(e){return function(s,...t){return void 0===s||!this.acceptedTypes||(0,utils_1.checkTypes)(s,this.acceptedTypes)?e(s,...t):this.getMessage(constants_1.DEFAULT_ERROR_MESSAGES.TYPE,this.acceptedTypes.join(", "),typeof s)}.bind(this)}}exports.Validator=Validator;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Validator = void 0;
4
+ const constants_1 = require("./constants/index.cjs");
5
+ const strings_1 = require("../../utils/strings/index.cjs");
6
+ const utils_1 = require("../../reflection/utils/index.cjs");
7
+ /**
8
+ * @summary Base Implementation for Validators
9
+ * @description Provides the underlying functionality for {@link Validator}s
10
+ *
11
+ * @param {string} validationKey the key to register the validator under
12
+ * @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#DEFAULT}
13
+ * @param {string[]} [acceptedTypes] defines the value types this validator can validate
14
+ *
15
+ * @class Validator
16
+ * @abstract
17
+ * @category Validators
18
+ */
19
+ class Validator {
20
+ constructor(validationKey, message = constants_1.DEFAULT_ERROR_MESSAGES.DEFAULT, ...acceptedTypes) {
21
+ this.validationKey = validationKey;
22
+ this.message = message;
23
+ if (acceptedTypes.length)
24
+ this.acceptedTypes = acceptedTypes;
25
+ if (this.acceptedTypes)
26
+ this.hasErrors = this.checkTypeAndHasErrors(this.hasErrors.bind(this));
27
+ }
28
+ /**
29
+ * @summary builds the error message
30
+ * @param {string} message
31
+ * @param {any[]} args
32
+ * @protected
33
+ */
34
+ getMessage(message, ...args) {
35
+ return (0, strings_1.sf)(message, ...args);
36
+ }
37
+ /**
38
+ * @summary Validates type
39
+ * @param {any} unbound
40
+ * @private
41
+ */
42
+ checkTypeAndHasErrors(unbound) {
43
+ return function (value, ...args) {
44
+ if (value === undefined || !this.acceptedTypes)
45
+ return unbound(value, ...args);
46
+ if (!(0, utils_1.checkTypes)(value, this.acceptedTypes))
47
+ return this.getMessage(constants_1.DEFAULT_ERROR_MESSAGES.TYPE, this.acceptedTypes.join(", "), typeof value);
48
+ return unbound(value, ...args);
49
+ }.bind(this);
50
+ }
51
+ }
52
+ exports.Validator = Validator;
53
+
54
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQUFxRDtBQUNyRCxpREFBeUM7QUFDekMsa0RBQW9EO0FBRXBEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBc0IsU0FBUztJQUs3QixZQUNFLGFBQXFCLEVBQ3JCLFVBQWtCLGtDQUFzQixDQUFDLE9BQU8sRUFDaEQsR0FBRyxhQUF1QjtRQUUxQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUV2QixJQUFJLGFBQWEsQ0FBQyxNQUFNO1lBQUUsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDN0QsSUFBSSxJQUFJLENBQUMsYUFBYTtZQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNPLFVBQVUsQ0FBQyxPQUFlLEVBQUUsR0FBRyxJQUFXO1FBQ2xELE9BQU8sSUFBQSxZQUFFLEVBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxxQkFBcUIsQ0FDM0IsT0FBa0Q7UUFFbEQsT0FBTyxVQUEyQixLQUFVLEVBQUUsR0FBRyxJQUFXO1lBQzFELElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhO2dCQUM1QyxPQUFPLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsSUFBQSxrQkFBVSxFQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDO2dCQUN4QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQ3BCLGtDQUFzQixDQUFDLElBQUksRUFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQzdCLE9BQU8sS0FBSyxDQUNiLENBQUM7WUFDSixPQUFPLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2YsQ0FBQztDQVlGO0FBM0RELDhCQTJEQyIsImZpbGUiOiJ2YWxpZGF0aW9uL1ZhbGlkYXRvcnMvVmFsaWRhdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JzIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBERUZBVUxUX0VSUk9SX01FU1NBR0VTIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBzZiB9IGZyb20gXCIuLi8uLi91dGlscy9zdHJpbmdzXCI7XG5pbXBvcnQgeyBjaGVja1R5cGVzIH0gZnJvbSBcIi4uLy4uL3JlZmxlY3Rpb24vdXRpbHNcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBCYXNlIEltcGxlbWVudGF0aW9uIGZvciBWYWxpZGF0b3JzXG4gKiBAZGVzY3JpcHRpb24gUHJvdmlkZXMgdGhlIHVuZGVybHlpbmcgZnVuY3Rpb25hbGl0eSBmb3Ige0BsaW5rIFZhbGlkYXRvcn1zXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbGlkYXRpb25LZXkgdGhlIGtleSB0byByZWdpc3RlciB0aGUgdmFsaWRhdG9yIHVuZGVyXG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdIHRoZSBlcnJvciBtZXNzYWdlLiBEZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNERUZBVUxUfVxuICogQHBhcmFtIHtzdHJpbmdbXX0gW2FjY2VwdGVkVHlwZXNdIGRlZmluZXMgdGhlIHZhbHVlIHR5cGVzIHRoaXMgdmFsaWRhdG9yIGNhbiB2YWxpZGF0ZVxuICpcbiAqIEBjbGFzcyBWYWxpZGF0b3JcbiAqIEBhYnN0cmFjdFxuICogQGNhdGVnb3J5IFZhbGlkYXRvcnNcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFZhbGlkYXRvciB7XG4gIHJlYWRvbmx5IHZhbGlkYXRpb25LZXk6IHN0cmluZztcbiAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nO1xuICByZWFkb25seSBhY2NlcHRlZFR5cGVzPzogc3RyaW5nW107XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHZhbGlkYXRpb25LZXk6IHN0cmluZyxcbiAgICBtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLkRFRkFVTFQsXG4gICAgLi4uYWNjZXB0ZWRUeXBlczogc3RyaW5nW11cbiAgKSB7XG4gICAgdGhpcy52YWxpZGF0aW9uS2V5ID0gdmFsaWRhdGlvbktleTtcbiAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlO1xuXG4gICAgaWYgKGFjY2VwdGVkVHlwZXMubGVuZ3RoKSB0aGlzLmFjY2VwdGVkVHlwZXMgPSBhY2NlcHRlZFR5cGVzO1xuICAgIGlmICh0aGlzLmFjY2VwdGVkVHlwZXMpXG4gICAgICB0aGlzLmhhc0Vycm9ycyA9IHRoaXMuY2hlY2tUeXBlQW5kSGFzRXJyb3JzKHRoaXMuaGFzRXJyb3JzLmJpbmQodGhpcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IGJ1aWxkcyB0aGUgZXJyb3IgbWVzc2FnZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZVxuICAgKiBAcGFyYW0ge2FueVtdfSBhcmdzXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBnZXRNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgICByZXR1cm4gc2YobWVzc2FnZSwgLi4uYXJncyk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgVmFsaWRhdGVzIHR5cGVcbiAgICogQHBhcmFtIHthbnl9IHVuYm91bmRcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgY2hlY2tUeXBlQW5kSGFzRXJyb3JzKFxuICAgIHVuYm91bmQ6ICh2YWx1ZTogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSkgPT4gRXJyb3JzLFxuICApIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRoaXM6IFZhbGlkYXRvciwgdmFsdWU6IGFueSwgLi4uYXJnczogYW55W10pOiBFcnJvcnMge1xuICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgIXRoaXMuYWNjZXB0ZWRUeXBlcylcbiAgICAgICAgcmV0dXJuIHVuYm91bmQodmFsdWUsIC4uLmFyZ3MpO1xuICAgICAgaWYgKCFjaGVja1R5cGVzKHZhbHVlLCB0aGlzLmFjY2VwdGVkVHlwZXMpKVxuICAgICAgICByZXR1cm4gdGhpcy5nZXRNZXNzYWdlKFxuICAgICAgICAgIERFRkFVTFRfRVJST1JfTUVTU0FHRVMuVFlQRSxcbiAgICAgICAgICB0aGlzLmFjY2VwdGVkVHlwZXMuam9pbihcIiwgXCIpLFxuICAgICAgICAgIHR5cGVvZiB2YWx1ZSxcbiAgICAgICAgKTtcbiAgICAgIHJldHVybiB1bmJvdW5kKHZhbHVlLCAuLi5hcmdzKTtcbiAgICB9LmJpbmQodGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgVmFsaWRhdGVzIGFuIGF0dHJpYnV0ZVxuICAgKiBAcGFyYW0ge2FueX0gdmFsdWVcbiAgICogQHBhcmFtIHthbnlbXX0gYXJnc1xuICAgKlxuICAgKiBAYWJzdHJhY3RcbiAgICpcbiAgICogQHNlZSBNb2RlbCNoYXNFcnJvcnNcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBoYXNFcnJvcnModmFsdWU6IGFueSwgLi4uYXJnczogYW55W10pOiBFcnJvcnM7XG59XG4iXX0=