@decaf-ts/decorator-validation 1.1.8 → 1.3.1

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 (94) 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 +1 -1
  4. package/lib/esm/index.js +2 -2
  5. package/lib/esm/model/Model.d.ts +10 -47
  6. package/lib/esm/model/Model.js +35 -161
  7. package/lib/esm/model/ModelErrorDefinition.js +1 -3
  8. package/lib/esm/model/Registry.d.ts +1 -2
  9. package/lib/esm/model/Registry.js +3 -5
  10. package/lib/esm/model/constants.d.ts +1 -0
  11. package/lib/esm/model/constants.js +13 -1
  12. package/lib/esm/model/construction.d.ts +2 -0
  13. package/lib/esm/model/construction.js +50 -9
  14. package/lib/esm/model/decorators.d.ts +3 -12
  15. package/lib/esm/model/decorators.js +24 -25
  16. package/lib/esm/model/index.d.ts +1 -0
  17. package/lib/esm/model/index.js +2 -1
  18. package/lib/esm/model/types.d.ts +6 -0
  19. package/lib/esm/model/types.js +1 -1
  20. package/lib/esm/model/utils.d.ts +10 -0
  21. package/lib/esm/model/utils.js +18 -4
  22. package/lib/esm/model/validation.d.ts +14 -0
  23. package/lib/esm/model/validation.js +137 -0
  24. package/lib/esm/utils/constants.d.ts +4 -1
  25. package/lib/esm/utils/constants.js +4 -1
  26. package/lib/esm/utils/dates.js +2 -1
  27. package/lib/esm/utils/decorators.d.ts +2 -0
  28. package/lib/esm/utils/decorators.js +17 -0
  29. package/lib/esm/utils/hashing.d.ts +14 -4
  30. package/lib/esm/utils/hashing.js +33 -5
  31. package/lib/esm/utils/index.d.ts +1 -1
  32. package/lib/esm/utils/index.js +2 -2
  33. package/lib/esm/utils/serialization.d.ts +17 -3
  34. package/lib/esm/utils/serialization.js +40 -3
  35. package/lib/esm/validation/Validators/EmailValidator.d.ts +2 -1
  36. package/lib/esm/validation/Validators/EmailValidator.js +4 -3
  37. package/lib/esm/validation/Validators/ListValidator.d.ts +1 -1
  38. package/lib/esm/validation/Validators/ListValidator.js +9 -8
  39. package/lib/esm/validation/Validators/PasswordValidator.d.ts +2 -3
  40. package/lib/esm/validation/Validators/PasswordValidator.js +6 -7
  41. package/lib/esm/validation/Validators/TypeValidator.js +2 -2
  42. package/lib/esm/validation/Validators/URLValidator.d.ts +1 -1
  43. package/lib/esm/validation/Validators/URLValidator.js +3 -3
  44. package/lib/esm/validation/Validators/index.d.ts +5 -5
  45. package/lib/esm/validation/decorators.d.ts +4 -5
  46. package/lib/esm/validation/decorators.js +20 -38
  47. package/lib/index.cjs +2 -2
  48. package/lib/index.d.ts +1 -1
  49. package/lib/model/Model.cjs +34 -161
  50. package/lib/model/Model.d.ts +10 -47
  51. package/lib/model/ModelErrorDefinition.cjs +1 -3
  52. package/lib/model/Registry.cjs +3 -5
  53. package/lib/model/Registry.d.ts +1 -2
  54. package/lib/model/constants.cjs +14 -2
  55. package/lib/model/constants.d.ts +1 -0
  56. package/lib/model/construction.cjs +51 -8
  57. package/lib/model/construction.d.ts +2 -0
  58. package/lib/model/decorators.cjs +23 -26
  59. package/lib/model/decorators.d.ts +3 -12
  60. package/lib/model/index.cjs +2 -1
  61. package/lib/model/index.d.ts +1 -0
  62. package/lib/model/types.cjs +1 -1
  63. package/lib/model/types.d.ts +6 -0
  64. package/lib/model/utils.cjs +20 -4
  65. package/lib/model/utils.d.ts +10 -0
  66. package/lib/model/validation.cjs +140 -0
  67. package/lib/model/validation.d.ts +14 -0
  68. package/lib/utils/constants.cjs +4 -1
  69. package/lib/utils/constants.d.ts +4 -1
  70. package/lib/utils/dates.cjs +2 -1
  71. package/lib/utils/decorators.cjs +21 -0
  72. package/lib/utils/decorators.d.ts +2 -0
  73. package/lib/utils/hashing.cjs +35 -5
  74. package/lib/utils/hashing.d.ts +14 -4
  75. package/lib/utils/index.cjs +2 -2
  76. package/lib/utils/index.d.ts +1 -1
  77. package/lib/utils/serialization.cjs +42 -4
  78. package/lib/utils/serialization.d.ts +17 -3
  79. package/lib/validation/Validators/EmailValidator.cjs +4 -3
  80. package/lib/validation/Validators/EmailValidator.d.ts +2 -1
  81. package/lib/validation/Validators/ListValidator.cjs +9 -8
  82. package/lib/validation/Validators/ListValidator.d.ts +1 -1
  83. package/lib/validation/Validators/PasswordValidator.cjs +5 -6
  84. package/lib/validation/Validators/PasswordValidator.d.ts +2 -3
  85. package/lib/validation/Validators/TypeValidator.cjs +3 -3
  86. package/lib/validation/Validators/URLValidator.cjs +3 -3
  87. package/lib/validation/Validators/URLValidator.d.ts +1 -1
  88. package/lib/validation/Validators/index.cjs +6 -6
  89. package/lib/validation/Validators/index.d.ts +5 -5
  90. package/lib/validation/decorators.cjs +32 -50
  91. package/lib/validation/decorators.d.ts +4 -5
  92. package/package.json +1 -1
  93. package/lib/esm/validation/Validators/index.js +0 -54
  94. package/lib/esm/validation/Validators/types.js +0 -3
@@ -25,9 +25,8 @@ const decorators_1 = require("./decorators.cjs");
25
25
  * @category Validators
26
26
  */
27
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(errorMessage);
30
- this.pattern = passwordPattern;
28
+ constructor(message = constants_1.DEFAULT_ERROR_MESSAGES.PASSWORD) {
29
+ super(message);
31
30
  }
32
31
  /**
33
32
  * @summary Validates a model
@@ -43,13 +42,13 @@ let PasswordValidator = class PasswordValidator extends PatternValidator_1.Patte
43
42
  * @see PatternValidator#hasErrors
44
43
  */
45
44
  hasErrors(value, pattern, message) {
46
- return super.hasErrors(value, pattern || this.pattern, message || this.message);
45
+ return super.hasErrors(value, pattern || constants_1.DEFAULT_ERROR_MESSAGES.PASSWORD, message || this.message);
47
46
  }
48
47
  };
49
48
  exports.PasswordValidator = PasswordValidator;
50
49
  exports.PasswordValidator = PasswordValidator = __decorate([
51
50
  (0, decorators_1.validator)(constants_1.ValidationKeys.PASSWORD),
52
- __metadata("design:paramtypes", [Object, RegExp])
51
+ __metadata("design:paramtypes", [Object])
53
52
  ], PasswordValidator);
54
53
 
55
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvUGFzc3dvcmRWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEseURBQXNEO0FBQ3RELDJDQUlxQjtBQUNyQiw2Q0FBeUM7QUFFekM7Ozs7Ozs7Ozs7R0FVRztBQUVJLElBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWtCLFNBQVEsbUNBQWdCO0lBR3JELFlBQ0UsWUFBWSxHQUFHLGtDQUFzQixDQUFDLFFBQVEsRUFDOUMsa0JBQTBCLDRCQUFnQixDQUFDLFFBQVEsQ0FBQyxpQkFBaUI7UUFFckUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsZUFBZSxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSSxTQUFTLENBQ2QsS0FBYSxFQUNiLE9BQWUsRUFDZixPQUFnQjtRQUVoQixPQUFPLEtBQUssQ0FBQyxTQUFTLENBQ3BCLEtBQUssRUFDTCxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sRUFDdkIsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQ3hCLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQTtBQW5DWSw4Q0FBaUI7NEJBQWpCLGlCQUFpQjtJQUQ3QixJQUFBLHNCQUFTLEVBQUMsMEJBQWMsQ0FBQyxRQUFRLENBQUM7NkNBTWQsTUFBTTtHQUxkLGlCQUFpQixDQW1DN0IiLCJmaWxlIjoidmFsaWRhdGlvbi9WYWxpZGF0b3JzL1Bhc3N3b3JkVmFsaWRhdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGF0dGVyblZhbGlkYXRvciB9IGZyb20gXCIuL1BhdHRlcm5WYWxpZGF0b3JcIjtcbmltcG9ydCB7XG4gIERFRkFVTFRfRVJST1JfTUVTU0FHRVMsXG4gIERFRkFVTFRfUEFUVEVSTlMsXG4gIFZhbGlkYXRpb25LZXlzLFxufSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHZhbGlkYXRvciB9IGZyb20gXCIuL2RlY29yYXRvcnNcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBIYW5kbGVzIFBhc3N3b3JkIFZhbGlkYXRpb25cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gW2Vycm9yTWVzc2FnZV0gZGVmYXVsdHMgdG8ge0BsaW5rIERFRkFVTFRfRVJST1JfTUVTU0FHRVMjUEFTU1dPUkR9XG4gKiBAcGFyYW0ge1JlZ0V4cH0gW3Bhc3N3b3JkUGF0dGVybl0gZGVmYXVsdHMgdG8ge0BsaW5rIFBhc3N3b3JkUGF0dGVybnMuQ0hBUjhfT05FX09GX0VBQ0h9XG4gKlxuICogQGNsYXNzIFBhc3N3b3JkVmFsaWRhdG9yXG4gKiBAZXh0ZW5kcyBQYXR0ZXJuVmFsaWRhdG9yXG4gKlxuICogQGNhdGVnb3J5IFZhbGlkYXRvcnNcbiAqL1xuQHZhbGlkYXRvcihWYWxpZGF0aW9uS2V5cy5QQVNTV09SRClcbmV4cG9ydCBjbGFzcyBQYXNzd29yZFZhbGlkYXRvciBleHRlbmRzIFBhdHRlcm5WYWxpZGF0b3Ige1xuICByZWFkb25seSBwYXR0ZXJuOiBSZWdFeHA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZXJyb3JNZXNzYWdlID0gREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5QQVNTV09SRCxcbiAgICBwYXNzd29yZFBhdHRlcm46IFJlZ0V4cCA9IERFRkFVTFRfUEFUVEVSTlMuUEFTU1dPUkQuQ0hBUjhfT05FX09GX0VBQ0gsXG4gICkge1xuICAgIHN1cGVyKGVycm9yTWVzc2FnZSk7XG4gICAgdGhpcy5wYXR0ZXJuID0gcGFzc3dvcmRQYXR0ZXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFZhbGlkYXRlcyBhIG1vZGVsXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICAgKiBAcGFyYW0ge1JlZ0V4cH0gW3BhdHRlcm5dXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV1cbiAgICpcbiAgICogQHJldHVybiB7c3RyaW5nIHwgdW5kZWZpbmVkfVxuICAgKlxuICAgKiBAb3ZlcnJpZGVcbiAgICpcbiAgICogQHNlZSBQYXR0ZXJuVmFsaWRhdG9yI2hhc0Vycm9yc1xuICAgKi9cbiAgcHVibGljIGhhc0Vycm9ycyhcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIHBhdHRlcm46IFJlZ0V4cCxcbiAgICBtZXNzYWdlPzogc3RyaW5nLFxuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBzdXBlci5oYXNFcnJvcnMoXG4gICAgICB2YWx1ZSxcbiAgICAgIHBhdHRlcm4gfHwgdGhpcy5wYXR0ZXJuLFxuICAgICAgbWVzc2FnZSB8fCB0aGlzLm1lc3NhZ2UsXG4gICAgKTtcbiAgfVxufVxuIl19
54
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvUGFzc3dvcmRWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEseURBQXNEO0FBQ3RELDJDQUFxRTtBQUNyRSw2Q0FBeUM7QUFFekM7Ozs7Ozs7Ozs7R0FVRztBQUVJLElBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWtCLFNBQVEsbUNBQWdCO0lBQ3JELFlBQVksT0FBTyxHQUFHLGtDQUFzQixDQUFDLFFBQVE7UUFDbkQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSSxTQUFTLENBQ2QsS0FBYSxFQUNiLE9BQWdCLEVBQ2hCLE9BQWdCO1FBRWhCLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FDcEIsS0FBSyxFQUNMLE9BQU8sSUFBSSxrQ0FBc0IsQ0FBQyxRQUFRLEVBQzFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUN4QixDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUE7QUE3QlksOENBQWlCOzRCQUFqQixpQkFBaUI7SUFEN0IsSUFBQSxzQkFBUyxFQUFDLDBCQUFjLENBQUMsUUFBUSxDQUFDOztHQUN0QixpQkFBaUIsQ0E2QjdCIiwiZmlsZSI6InZhbGlkYXRpb24vVmFsaWRhdG9ycy9QYXNzd29yZFZhbGlkYXRvci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhdHRlcm5WYWxpZGF0b3IgfSBmcm9tIFwiLi9QYXR0ZXJuVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBERUZBVUxUX0VSUk9SX01FU1NBR0VTLCBWYWxpZGF0aW9uS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgdmFsaWRhdG9yIH0gZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IEhhbmRsZXMgUGFzc3dvcmQgVmFsaWRhdGlvblxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbZXJyb3JNZXNzYWdlXSBkZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNQQVNTV09SRH1cbiAqIEBwYXJhbSB7UmVnRXhwfSBbcGFzc3dvcmRQYXR0ZXJuXSBkZWZhdWx0cyB0byB7QGxpbmsgUGFzc3dvcmRQYXR0ZXJucy5DSEFSOF9PTkVfT0ZfRUFDSH1cbiAqXG4gKiBAY2xhc3MgUGFzc3dvcmRWYWxpZGF0b3JcbiAqIEBleHRlbmRzIFBhdHRlcm5WYWxpZGF0b3JcbiAqXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdG9yc1xuICovXG5AdmFsaWRhdG9yKFZhbGlkYXRpb25LZXlzLlBBU1NXT1JEKVxuZXhwb3J0IGNsYXNzIFBhc3N3b3JkVmFsaWRhdG9yIGV4dGVuZHMgUGF0dGVyblZhbGlkYXRvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlBBU1NXT1JEKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgVmFsaWRhdGVzIGEgbW9kZWxcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gICAqIEBwYXJhbSB7UmVnRXhwfSBbcGF0dGVybl1cbiAgICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXVxuICAgKlxuICAgKiBAcmV0dXJuIHtzdHJpbmcgfCB1bmRlZmluZWR9XG4gICAqXG4gICAqIEBvdmVycmlkZVxuICAgKlxuICAgKiBAc2VlIFBhdHRlcm5WYWxpZGF0b3IjaGFzRXJyb3JzXG4gICAqL1xuICBwdWJsaWMgaGFzRXJyb3JzKFxuICAgIHZhbHVlOiBzdHJpbmcsXG4gICAgcGF0dGVybj86IFJlZ0V4cCxcbiAgICBtZXNzYWdlPzogc3RyaW5nLFxuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBzdXBlci5oYXNFcnJvcnMoXG4gICAgICB2YWx1ZSxcbiAgICAgIHBhdHRlcm4gfHwgREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5QQVNTV09SRCxcbiAgICAgIG1lc3NhZ2UgfHwgdGhpcy5tZXNzYWdlLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -11,8 +11,7 @@ import { PatternValidator } from "./PatternValidator";
11
11
  * @category Validators
12
12
  */
13
13
  export declare class PasswordValidator extends PatternValidator {
14
- readonly pattern: RegExp;
15
- constructor(errorMessage?: string, passwordPattern?: RegExp);
14
+ constructor(message?: string);
16
15
  /**
17
16
  * @summary Validates a model
18
17
  *
@@ -26,5 +25,5 @@ export declare class PasswordValidator extends PatternValidator {
26
25
  *
27
26
  * @see PatternValidator#hasErrors
28
27
  */
29
- hasErrors(value: string, pattern: RegExp, message?: string): string | undefined;
28
+ hasErrors(value: string, pattern?: RegExp, message?: string): string | undefined;
30
29
  }
@@ -13,9 +13,9 @@ exports.TypeValidator = void 0;
13
13
  const Validator_1 = require("./Validator.cjs");
14
14
  const constants_1 = require("./constants.cjs");
15
15
  const decorators_1 = require("./decorators.cjs");
16
- const utils_1 = require("../../utils/index.cjs");
17
16
  const Validation_1 = require("../Validation.cjs");
18
17
  const reflection_1 = require("@decaf-ts/reflection");
18
+ const constants_2 = require("../../utils/constants.cjs");
19
19
  /**
20
20
  * @summary Required Validator
21
21
  *
@@ -58,8 +58,8 @@ exports.TypeValidator = TypeValidator = __decorate([
58
58
  ], TypeValidator);
59
59
  Validation_1.Validation.register({
60
60
  validator: TypeValidator,
61
- validationKey: utils_1.ModelKeys.TYPE,
61
+ validationKey: constants_2.ModelKeys.TYPE,
62
62
  save: false,
63
63
  });
64
64
 
65
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvVHlwZVZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBd0M7QUFDeEMsMkNBQXFFO0FBQ3JFLDZDQUF5QztBQUN6Qyx1Q0FBd0M7QUFDeEMsOENBQTJDO0FBRTNDLHFEQUEyRDtBQUUzRDs7Ozs7OztHQU9HO0FBRUksSUFBTSxhQUFhLEdBQW5CLE1BQU0sYUFBYyxTQUFRLHFCQUFTO0lBQzFDLFlBQVksVUFBa0Isa0NBQXNCLENBQUMsSUFBSTtRQUN2RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0ksU0FBUyxDQUNkLEtBQVUsRUFDVixLQUEyQyxFQUMzQyxPQUFnQjtRQUVoQixJQUFJLEtBQUssS0FBSyxTQUFTO1lBQUUsT0FBTyxDQUFDLHlDQUF5QztRQUMxRSxJQUFJLENBQUMsSUFBQSxnQ0FBbUIsRUFBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO1lBQ3BDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FDcEIsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQ3ZCLE9BQU8sS0FBSyxLQUFLLFFBQVE7Z0JBQ3ZCLENBQUMsQ0FBQyxLQUFLO2dCQUNQLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztvQkFDcEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO29CQUNsQixDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFDaEIsT0FBTyxLQUFLLENBQ2IsQ0FBQztJQUNOLENBQUM7Q0FDRixDQUFBO0FBbENZLHNDQUFhO3dCQUFiLGFBQWE7SUFEekIsSUFBQSxzQkFBUyxFQUFDLDBCQUFjLENBQUMsSUFBSSxDQUFDOztHQUNsQixhQUFhLENBa0N6QjtBQUVELHVCQUFVLENBQUMsUUFBUSxDQUFDO0lBQ2xCLFNBQVMsRUFBRSxhQUFhO0lBQ3hCLGFBQWEsRUFBRSxpQkFBUyxDQUFDLElBQUk7SUFDN0IsSUFBSSxFQUFFLEtBQUs7Q0FDVyxDQUFDLENBQUMiLCJmaWxlIjoidmFsaWRhdGlvbi9WYWxpZGF0b3JzL1R5cGVWYWxpZGF0b3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3IgfSBmcm9tIFwiLi9WYWxpZGF0b3JcIjtcbmltcG9ydCB7IERFRkFVTFRfRVJST1JfTUVTU0FHRVMsIFZhbGlkYXRpb25LZXlzIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyB2YWxpZGF0b3IgfSBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBNb2RlbEtleXMgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcbmltcG9ydCB7IFZhbGlkYXRpb24gfSBmcm9tIFwiLi4vVmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgVmFsaWRhdG9yRGVmaW5pdGlvbiB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBldmFsdWF0ZURlc2lnblR5cGVzIH0gZnJvbSBcIkBkZWNhZi10cy9yZWZsZWN0aW9uXCI7XG5cbi8qKlxuICogQHN1bW1hcnkgUmVxdWlyZWQgVmFsaWRhdG9yXG4gKlxuICogQGNsYXNzIFJlcXVpcmVkVmFsaWRhdG9yXG4gKiBAZXh0ZW5kcyBWYWxpZGF0b3JcbiAqXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdG9yc1xuICovXG5AdmFsaWRhdG9yKFZhbGlkYXRpb25LZXlzLlRZUEUpXG5leHBvcnQgY2xhc3MgVHlwZVZhbGlkYXRvciBleHRlbmRzIFZhbGlkYXRvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuVFlQRSkge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFZhbGlkYXRlcyBhIG1vZGVsXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICAgKiBAcGFyYW0ge3N0cmluZyB8IHN0cmluZ1tdIHwge25hbWU6IHN0cmluZ319IHR5cGVzXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV1cbiAgICpcbiAgICogQHJldHVybiB7c3RyaW5nIHwgdW5kZWZpbmVkfVxuICAgKlxuICAgKiBAb3ZlcnJpZGVcbiAgICpcbiAgICogQHNlZSBWYWxpZGF0b3IjaGFzRXJyb3JzXG4gICAqL1xuICBwdWJsaWMgaGFzRXJyb3JzKFxuICAgIHZhbHVlOiBhbnksXG4gICAgdHlwZXM6IHN0cmluZyB8IHN0cmluZ1tdIHwgeyBuYW1lOiBzdHJpbmcgfSxcbiAgICBtZXNzYWdlPzogc3RyaW5nLFxuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSByZXR1cm47IC8vIERvbnQgdHJ5IGFuZCBlbmZvcmNlIHR5cGUgaWYgdW5kZWZpbmVkXG4gICAgaWYgKCFldmFsdWF0ZURlc2lnblR5cGVzKHZhbHVlLCB0eXBlcykpXG4gICAgICByZXR1cm4gdGhpcy5nZXRNZXNzYWdlKFxuICAgICAgICBtZXNzYWdlIHx8IHRoaXMubWVzc2FnZSxcbiAgICAgICAgdHlwZW9mIHR5cGVzID09PSBcInN0cmluZ1wiXG4gICAgICAgICAgPyB0eXBlc1xuICAgICAgICAgIDogQXJyYXkuaXNBcnJheSh0eXBlcylcbiAgICAgICAgICAgID8gdHlwZXMuam9pbihcIiwgXCIpXG4gICAgICAgICAgICA6IHR5cGVzLm5hbWUsXG4gICAgICAgIHR5cGVvZiB2YWx1ZSxcbiAgICAgICk7XG4gIH1cbn1cblxuVmFsaWRhdGlvbi5yZWdpc3Rlcih7XG4gIHZhbGlkYXRvcjogVHlwZVZhbGlkYXRvcixcbiAgdmFsaWRhdGlvbktleTogTW9kZWxLZXlzLlRZUEUsXG4gIHNhdmU6IGZhbHNlLFxufSBhcyBWYWxpZGF0b3JEZWZpbml0aW9uKTtcbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvVHlwZVZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBd0M7QUFDeEMsMkNBQXFFO0FBQ3JFLDZDQUF5QztBQUN6Qyw4Q0FBMkM7QUFFM0MscURBQTJEO0FBQzNELHFEQUFrRDtBQUVsRDs7Ozs7OztHQU9HO0FBRUksSUFBTSxhQUFhLEdBQW5CLE1BQU0sYUFBYyxTQUFRLHFCQUFTO0lBQzFDLFlBQVksVUFBa0Isa0NBQXNCLENBQUMsSUFBSTtRQUN2RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0ksU0FBUyxDQUNkLEtBQVUsRUFDVixLQUEyQyxFQUMzQyxPQUFnQjtRQUVoQixJQUFJLEtBQUssS0FBSyxTQUFTO1lBQUUsT0FBTyxDQUFDLHlDQUF5QztRQUMxRSxJQUFJLENBQUMsSUFBQSxnQ0FBbUIsRUFBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO1lBQ3BDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FDcEIsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQ3ZCLE9BQU8sS0FBSyxLQUFLLFFBQVE7Z0JBQ3ZCLENBQUMsQ0FBQyxLQUFLO2dCQUNQLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztvQkFDcEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO29CQUNsQixDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFDaEIsT0FBTyxLQUFLLENBQ2IsQ0FBQztJQUNOLENBQUM7Q0FDRixDQUFBO0FBbENZLHNDQUFhO3dCQUFiLGFBQWE7SUFEekIsSUFBQSxzQkFBUyxFQUFDLDBCQUFjLENBQUMsSUFBSSxDQUFDOztHQUNsQixhQUFhLENBa0N6QjtBQUVELHVCQUFVLENBQUMsUUFBUSxDQUFDO0lBQ2xCLFNBQVMsRUFBRSxhQUFhO0lBQ3hCLGFBQWEsRUFBRSxxQkFBUyxDQUFDLElBQUk7SUFDN0IsSUFBSSxFQUFFLEtBQUs7Q0FDVyxDQUFDLENBQUMiLCJmaWxlIjoidmFsaWRhdGlvbi9WYWxpZGF0b3JzL1R5cGVWYWxpZGF0b3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3IgfSBmcm9tIFwiLi9WYWxpZGF0b3JcIjtcbmltcG9ydCB7IERFRkFVTFRfRVJST1JfTUVTU0FHRVMsIFZhbGlkYXRpb25LZXlzIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyB2YWxpZGF0b3IgfSBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBWYWxpZGF0aW9uIH0gZnJvbSBcIi4uL1ZhbGlkYXRpb25cIjtcbmltcG9ydCB7IFZhbGlkYXRvckRlZmluaXRpb24gfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgZXZhbHVhdGVEZXNpZ25UeXBlcyB9IGZyb20gXCJAZGVjYWYtdHMvcmVmbGVjdGlvblwiO1xuaW1wb3J0IHsgTW9kZWxLZXlzIH0gZnJvbSBcIi4uLy4uL3V0aWxzL2NvbnN0YW50c1wiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IFJlcXVpcmVkIFZhbGlkYXRvclxuICpcbiAqIEBjbGFzcyBSZXF1aXJlZFZhbGlkYXRvclxuICogQGV4dGVuZHMgVmFsaWRhdG9yXG4gKlxuICogQGNhdGVnb3J5IFZhbGlkYXRvcnNcbiAqL1xuQHZhbGlkYXRvcihWYWxpZGF0aW9uS2V5cy5UWVBFKVxuZXhwb3J0IGNsYXNzIFR5cGVWYWxpZGF0b3IgZXh0ZW5kcyBWYWxpZGF0b3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlRZUEUpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBWYWxpZGF0ZXMgYSBtb2RlbFxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAgICogQHBhcmFtIHtzdHJpbmcgfCBzdHJpbmdbXSB8IHtuYW1lOiBzdHJpbmd9fSB0eXBlc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZyB8IHVuZGVmaW5lZH1cbiAgICpcbiAgICogQG92ZXJyaWRlXG4gICAqXG4gICAqIEBzZWUgVmFsaWRhdG9yI2hhc0Vycm9yc1xuICAgKi9cbiAgcHVibGljIGhhc0Vycm9ycyhcbiAgICB2YWx1ZTogYW55LFxuICAgIHR5cGVzOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHsgbmFtZTogc3RyaW5nIH0sXG4gICAgbWVzc2FnZT86IHN0cmluZyxcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuOyAvLyBEb250IHRyeSBhbmQgZW5mb3JjZSB0eXBlIGlmIHVuZGVmaW5lZFxuICAgIGlmICghZXZhbHVhdGVEZXNpZ25UeXBlcyh2YWx1ZSwgdHlwZXMpKVxuICAgICAgcmV0dXJuIHRoaXMuZ2V0TWVzc2FnZShcbiAgICAgICAgbWVzc2FnZSB8fCB0aGlzLm1lc3NhZ2UsXG4gICAgICAgIHR5cGVvZiB0eXBlcyA9PT0gXCJzdHJpbmdcIlxuICAgICAgICAgID8gdHlwZXNcbiAgICAgICAgICA6IEFycmF5LmlzQXJyYXkodHlwZXMpXG4gICAgICAgICAgICA/IHR5cGVzLmpvaW4oXCIsIFwiKVxuICAgICAgICAgICAgOiB0eXBlcy5uYW1lLFxuICAgICAgICB0eXBlb2YgdmFsdWUsXG4gICAgICApO1xuICB9XG59XG5cblZhbGlkYXRpb24ucmVnaXN0ZXIoe1xuICB2YWxpZGF0b3I6IFR5cGVWYWxpZGF0b3IsXG4gIHZhbGlkYXRpb25LZXk6IE1vZGVsS2V5cy5UWVBFLFxuICBzYXZlOiBmYWxzZSxcbn0gYXMgVmFsaWRhdG9yRGVmaW5pdGlvbik7XG4iXX0=
@@ -38,8 +38,8 @@ let URLValidator = class URLValidator extends PatternValidator_1.PatternValidato
38
38
  *
39
39
  * @see Validator#hasErrors
40
40
  */
41
- hasErrors(value, message) {
42
- return super.hasErrors(value, constants_1.DEFAULT_PATTERNS.URL, message);
41
+ hasErrors(value, pattern, message) {
42
+ return super.hasErrors(value, pattern || constants_1.DEFAULT_PATTERNS.URL, message);
43
43
  }
44
44
  };
45
45
  exports.URLValidator = URLValidator;
@@ -48,4 +48,4 @@ exports.URLValidator = URLValidator = __decorate([
48
48
  __metadata("design:paramtypes", [String])
49
49
  ], URLValidator);
50
50
 
51
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvVVJMVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDJDQUlxQjtBQUNyQix5REFBc0Q7QUFDdEQsNkNBQXlDO0FBRXpDOzs7Ozs7OztHQVFHO0FBRUksSUFBTSxZQUFZLEdBQWxCLE1BQU0sWUFBYSxTQUFRLG1DQUFnQjtJQUNoRCxZQUFZLFVBQWtCLGtDQUFzQixDQUFDLEdBQUc7UUFDdEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNJLFNBQVMsQ0FBQyxLQUFhLEVBQUUsT0FBZ0I7UUFDOUMsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSw0QkFBZ0IsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNGLENBQUE7QUFwQlksb0NBQVk7dUJBQVosWUFBWTtJQUR4QixJQUFBLHNCQUFTLEVBQUMsMEJBQWMsQ0FBQyxHQUFHLENBQUM7O0dBQ2pCLFlBQVksQ0FvQnhCIiwiZmlsZSI6InZhbGlkYXRpb24vVmFsaWRhdG9ycy9VUkxWYWxpZGF0b3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBWYWxpZGF0aW9uS2V5cyxcbiAgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyxcbiAgREVGQVVMVF9QQVRURVJOUyxcbn0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBQYXR0ZXJuVmFsaWRhdG9yIH0gZnJvbSBcIi4vUGF0dGVyblZhbGlkYXRvclwiO1xuaW1wb3J0IHsgdmFsaWRhdG9yIH0gZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IFVSTCBWYWxpZGF0b3JcbiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGZyb20ge0BsaW5rIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2RwZXJpbmkvNzI5Mjk0fVxuICpcbiAqIEBjbGFzcyBVUkxWYWxpZGF0b3JcbiAqIEBleHRlbmRzIFBhdHRlcm5WYWxpZGF0b3JcbiAqXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdG9yc1xuICovXG5AdmFsaWRhdG9yKFZhbGlkYXRpb25LZXlzLlVSTClcbmV4cG9ydCBjbGFzcyBVUkxWYWxpZGF0b3IgZXh0ZW5kcyBQYXR0ZXJuVmFsaWRhdG9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nID0gREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5VUkwpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBWYWxpZGF0ZXMgYSBtb2RlbFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXVxuICAgKlxuICAgKiBAcmV0dXJuIHtzdHJpbmcgfCB1bmRlZmluZWR9XG4gICAqXG4gICAqIEBvdmVycmlkZVxuICAgKlxuICAgKiBAc2VlIFZhbGlkYXRvciNoYXNFcnJvcnNcbiAgICovXG4gIHB1YmxpYyBoYXNFcnJvcnModmFsdWU6IHN0cmluZywgbWVzc2FnZT86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHN1cGVyLmhhc0Vycm9ycyh2YWx1ZSwgREVGQVVMVF9QQVRURVJOUy5VUkwsIG1lc3NhZ2UpO1xuICB9XG59XG4iXX0=
51
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvVVJMVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDJDQUlxQjtBQUNyQix5REFBc0Q7QUFDdEQsNkNBQXlDO0FBRXpDOzs7Ozs7OztHQVFHO0FBRUksSUFBTSxZQUFZLEdBQWxCLE1BQU0sWUFBYSxTQUFRLG1DQUFnQjtJQUNoRCxZQUFZLFVBQWtCLGtDQUFzQixDQUFDLEdBQUc7UUFDdEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNJLFNBQVMsQ0FDZCxLQUFhLEVBQ2IsT0FBZ0IsRUFDaEIsT0FBZ0I7UUFFaEIsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxPQUFPLElBQUksNEJBQWdCLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRixDQUFBO0FBeEJZLG9DQUFZO3VCQUFaLFlBQVk7SUFEeEIsSUFBQSxzQkFBUyxFQUFDLDBCQUFjLENBQUMsR0FBRyxDQUFDOztHQUNqQixZQUFZLENBd0J4QiIsImZpbGUiOiJ2YWxpZGF0aW9uL1ZhbGlkYXRvcnMvVVJMVmFsaWRhdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgVmFsaWRhdGlvbktleXMsXG4gIERFRkFVTFRfRVJST1JfTUVTU0FHRVMsXG4gIERFRkFVTFRfUEFUVEVSTlMsXG59IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgUGF0dGVyblZhbGlkYXRvciB9IGZyb20gXCIuL1BhdHRlcm5WYWxpZGF0b3JcIjtcbmltcG9ydCB7IHZhbGlkYXRvciB9IGZyb20gXCIuL2RlY29yYXRvcnNcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBVUkwgVmFsaWRhdG9yXG4gKiBAZGVzY3JpcHRpb24gUGF0dGVybiBmcm9tIHtAbGluayBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9kcGVyaW5pLzcyOTI5NH1cbiAqXG4gKiBAY2xhc3MgVVJMVmFsaWRhdG9yXG4gKiBAZXh0ZW5kcyBQYXR0ZXJuVmFsaWRhdG9yXG4gKlxuICogQGNhdGVnb3J5IFZhbGlkYXRvcnNcbiAqL1xuQHZhbGlkYXRvcihWYWxpZGF0aW9uS2V5cy5VUkwpXG5leHBvcnQgY2xhc3MgVVJMVmFsaWRhdG9yIGV4dGVuZHMgUGF0dGVyblZhbGlkYXRvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuVVJMKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgVmFsaWRhdGVzIGEgbW9kZWxcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV1cbiAgICpcbiAgICogQHJldHVybiB7c3RyaW5nIHwgdW5kZWZpbmVkfVxuICAgKlxuICAgKiBAb3ZlcnJpZGVcbiAgICpcbiAgICogQHNlZSBWYWxpZGF0b3IjaGFzRXJyb3JzXG4gICAqL1xuICBwdWJsaWMgaGFzRXJyb3JzKFxuICAgIHZhbHVlOiBzdHJpbmcsXG4gICAgcGF0dGVybj86IFJlZ0V4cCxcbiAgICBtZXNzYWdlPzogc3RyaW5nLFxuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBzdXBlci5oYXNFcnJvcnModmFsdWUsIHBhdHRlcm4gfHwgREVGQVVMVF9QQVRURVJOUy5VUkwsIG1lc3NhZ2UpO1xuICB9XG59XG4iXX0=
@@ -22,5 +22,5 @@ export declare class URLValidator extends PatternValidator {
22
22
  *
23
23
  * @see Validator#hasErrors
24
24
  */
25
- hasErrors(value: string, message?: string): string | undefined;
25
+ hasErrors(value: string, pattern?: RegExp, message?: string): string | undefined;
26
26
  }
@@ -53,19 +53,19 @@ __exportStar(require("./ValidatorRegistry.cjs"), exports);
53
53
  * @category Validation
54
54
  */
55
55
  exports.Validators = {
56
+ DateValidator: DateValidator_1.DateValidator,
56
57
  EmailValidator: EmailValidator_1.EmailValidator,
57
- RequiredValidator: RequiredValidator_1.RequiredValidator,
58
+ ListValidator: ListValidator_1.ListValidator,
58
59
  MaxLengthValidator: MaxLengthValidator_1.MaxLengthValidator,
59
60
  MaxValidator: MaxValidator_1.MaxValidator,
60
61
  MinLengthValidator: MinLengthValidator_1.MinLengthValidator,
61
62
  MinValidator: MinValidator_1.MinValidator,
63
+ PasswordValidator: PasswordValidator_1.PasswordValidator,
62
64
  PatternValidator: PatternValidator_1.PatternValidator,
63
- URLValidator: URLValidator_1.URLValidator,
65
+ RequiredValidator: RequiredValidator_1.RequiredValidator,
64
66
  StepValidator: StepValidator_1.StepValidator,
65
- DateValidator: DateValidator_1.DateValidator,
66
67
  TypeValidator: TypeValidator_1.TypeValidator,
67
- PasswordValidator: PasswordValidator_1.PasswordValidator,
68
- ListValidator: ListValidator_1.ListValidator,
68
+ URLValidator: URLValidator_1.URLValidator,
69
69
  };
70
70
 
71
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtREFBZ0Q7QUFDaEQsbURBQWdEO0FBQ2hELDJEQUF3RDtBQUN4RCxtREFBZ0Q7QUFDaEQsaURBQThDO0FBQzlDLHlEQUFzRDtBQUN0RCxpREFBOEM7QUFDOUMsNkRBQTBEO0FBQzFELGlEQUE4QztBQUM5Qyw2REFBMEQ7QUFDMUQsMkRBQXdEO0FBQ3hELHFEQUFrRDtBQUNsRCxtREFBZ0Q7QUFFaEQsOENBQTRCO0FBQzVCLGtEQUFnQztBQUNoQywrQ0FBNkI7QUFDN0IsbURBQWlDO0FBQ2pDLGtEQUFnQztBQUNoQyx1REFBcUM7QUFDckMsaURBQStCO0FBQy9CLHVEQUFxQztBQUNyQyxpREFBK0I7QUFDL0Isc0RBQW9DO0FBQ3BDLHFEQUFtQztBQUNuQyxzREFBb0M7QUFDcEMsa0RBQWdDO0FBQ2hDLDBDQUF3QjtBQUN4QixrREFBZ0M7QUFDaEMsaURBQStCO0FBQy9CLDhDQUE0QjtBQUM1QixzREFBb0M7QUFDcEM7Ozs7O0dBS0c7QUFDVSxRQUFBLFVBQVUsR0FBRztJQUN4QixjQUFjLEVBQWQsK0JBQWM7SUFDZCxpQkFBaUIsRUFBakIscUNBQWlCO0lBQ2pCLGtCQUFrQixFQUFsQix1Q0FBa0I7SUFDbEIsWUFBWSxFQUFaLDJCQUFZO0lBQ1osa0JBQWtCLEVBQWxCLHVDQUFrQjtJQUNsQixZQUFZLEVBQVosMkJBQVk7SUFDWixnQkFBZ0IsRUFBaEIsbUNBQWdCO0lBQ2hCLFlBQVksRUFBWiwyQkFBWTtJQUNaLGFBQWEsRUFBYiw2QkFBYTtJQUNiLGFBQWEsRUFBYiw2QkFBYTtJQUNiLGFBQWEsRUFBYiw2QkFBYTtJQUNiLGlCQUFpQixFQUFqQixxQ0FBaUI7SUFDakIsYUFBYSxFQUFiLDZCQUFhO0NBQ2QsQ0FBQyIsImZpbGUiOiJ2YWxpZGF0aW9uL1ZhbGlkYXRvcnMvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlVmFsaWRhdG9yIH0gZnJvbSBcIi4vRGF0ZVZhbGlkYXRvclwiO1xuaW1wb3J0IHsgVHlwZVZhbGlkYXRvciB9IGZyb20gXCIuL1R5cGVWYWxpZGF0b3JcIjtcbmltcG9ydCB7IFBhc3N3b3JkVmFsaWRhdG9yIH0gZnJvbSBcIi4vUGFzc3dvcmRWYWxpZGF0b3JcIjtcbmltcG9ydCB7IFN0ZXBWYWxpZGF0b3IgfSBmcm9tIFwiLi9TdGVwVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBVUkxWYWxpZGF0b3IgfSBmcm9tIFwiLi9VUkxWYWxpZGF0b3JcIjtcbmltcG9ydCB7IFBhdHRlcm5WYWxpZGF0b3IgfSBmcm9tIFwiLi9QYXR0ZXJuVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBNaW5WYWxpZGF0b3IgfSBmcm9tIFwiLi9NaW5WYWxpZGF0b3JcIjtcbmltcG9ydCB7IE1pbkxlbmd0aFZhbGlkYXRvciB9IGZyb20gXCIuL01pbkxlbmd0aFZhbGlkYXRvclwiO1xuaW1wb3J0IHsgTWF4VmFsaWRhdG9yIH0gZnJvbSBcIi4vTWF4VmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBNYXhMZW5ndGhWYWxpZGF0b3IgfSBmcm9tIFwiLi9NYXhMZW5ndGhWYWxpZGF0b3JcIjtcbmltcG9ydCB7IFJlcXVpcmVkVmFsaWRhdG9yIH0gZnJvbSBcIi4vUmVxdWlyZWRWYWxpZGF0b3JcIjtcbmltcG9ydCB7IEVtYWlsVmFsaWRhdG9yIH0gZnJvbSBcIi4vRW1haWxWYWxpZGF0b3JcIjtcbmltcG9ydCB7IExpc3RWYWxpZGF0b3IgfSBmcm9tIFwiLi9MaXN0VmFsaWRhdG9yXCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vRGF0ZVZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vRW1haWxWYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0xpc3RWYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL01heExlbmd0aFZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vTWF4VmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9NaW5MZW5ndGhWYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL01pblZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vUGFzc3dvcmRWYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1BhdHRlcm5WYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1JlcXVpcmVkVmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9TdGVwVmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vVHlwZVZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vVVJMVmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9WYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1ZhbGlkYXRvclJlZ2lzdHJ5XCI7XG4vKipcbiAqIEBzdW1tYXJ5IGNvbnN0YW50IGhvbGRpbmcgYWxsIHtAbGluayBWYWxpZGF0b3J9c1xuICogQGNvbnN0YW50IFZhbGlkYXRvcnNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uVmFsaWRhdGlvbi5WYWxpZGF0b3JzXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgY29uc3QgVmFsaWRhdG9ycyA9IHtcbiAgRW1haWxWYWxpZGF0b3IsXG4gIFJlcXVpcmVkVmFsaWRhdG9yLFxuICBNYXhMZW5ndGhWYWxpZGF0b3IsXG4gIE1heFZhbGlkYXRvcixcbiAgTWluTGVuZ3RoVmFsaWRhdG9yLFxuICBNaW5WYWxpZGF0b3IsXG4gIFBhdHRlcm5WYWxpZGF0b3IsXG4gIFVSTFZhbGlkYXRvcixcbiAgU3RlcFZhbGlkYXRvcixcbiAgRGF0ZVZhbGlkYXRvcixcbiAgVHlwZVZhbGlkYXRvcixcbiAgUGFzc3dvcmRWYWxpZGF0b3IsXG4gIExpc3RWYWxpZGF0b3IsXG59O1xuIl19
71
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtREFBZ0Q7QUFDaEQsbURBQWdEO0FBQ2hELDJEQUF3RDtBQUN4RCxtREFBZ0Q7QUFDaEQsaURBQThDO0FBQzlDLHlEQUFzRDtBQUN0RCxpREFBOEM7QUFDOUMsNkRBQTBEO0FBQzFELGlEQUE4QztBQUM5Qyw2REFBMEQ7QUFDMUQsMkRBQXdEO0FBQ3hELHFEQUFrRDtBQUNsRCxtREFBZ0Q7QUFFaEQsOENBQTRCO0FBQzVCLGtEQUFnQztBQUNoQywrQ0FBNkI7QUFDN0IsbURBQWlDO0FBQ2pDLGtEQUFnQztBQUNoQyx1REFBcUM7QUFDckMsaURBQStCO0FBQy9CLHVEQUFxQztBQUNyQyxpREFBK0I7QUFDL0Isc0RBQW9DO0FBQ3BDLHFEQUFtQztBQUNuQyxzREFBb0M7QUFDcEMsa0RBQWdDO0FBQ2hDLDBDQUF3QjtBQUN4QixrREFBZ0M7QUFDaEMsaURBQStCO0FBQy9CLDhDQUE0QjtBQUM1QixzREFBb0M7QUFDcEM7Ozs7O0dBS0c7QUFDVSxRQUFBLFVBQVUsR0FBRztJQUN4QixhQUFhLEVBQWIsNkJBQWE7SUFDYixjQUFjLEVBQWQsK0JBQWM7SUFDZCxhQUFhLEVBQWIsNkJBQWE7SUFDYixrQkFBa0IsRUFBbEIsdUNBQWtCO0lBQ2xCLFlBQVksRUFBWiwyQkFBWTtJQUNaLGtCQUFrQixFQUFsQix1Q0FBa0I7SUFDbEIsWUFBWSxFQUFaLDJCQUFZO0lBQ1osaUJBQWlCLEVBQWpCLHFDQUFpQjtJQUNqQixnQkFBZ0IsRUFBaEIsbUNBQWdCO0lBQ2hCLGlCQUFpQixFQUFqQixxQ0FBaUI7SUFDakIsYUFBYSxFQUFiLDZCQUFhO0lBQ2IsYUFBYSxFQUFiLDZCQUFhO0lBQ2IsWUFBWSxFQUFaLDJCQUFZO0NBQ2IsQ0FBQyIsImZpbGUiOiJ2YWxpZGF0aW9uL1ZhbGlkYXRvcnMvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlVmFsaWRhdG9yIH0gZnJvbSBcIi4vRGF0ZVZhbGlkYXRvclwiO1xuaW1wb3J0IHsgVHlwZVZhbGlkYXRvciB9IGZyb20gXCIuL1R5cGVWYWxpZGF0b3JcIjtcbmltcG9ydCB7IFBhc3N3b3JkVmFsaWRhdG9yIH0gZnJvbSBcIi4vUGFzc3dvcmRWYWxpZGF0b3JcIjtcbmltcG9ydCB7IFN0ZXBWYWxpZGF0b3IgfSBmcm9tIFwiLi9TdGVwVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBVUkxWYWxpZGF0b3IgfSBmcm9tIFwiLi9VUkxWYWxpZGF0b3JcIjtcbmltcG9ydCB7IFBhdHRlcm5WYWxpZGF0b3IgfSBmcm9tIFwiLi9QYXR0ZXJuVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBNaW5WYWxpZGF0b3IgfSBmcm9tIFwiLi9NaW5WYWxpZGF0b3JcIjtcbmltcG9ydCB7IE1pbkxlbmd0aFZhbGlkYXRvciB9IGZyb20gXCIuL01pbkxlbmd0aFZhbGlkYXRvclwiO1xuaW1wb3J0IHsgTWF4VmFsaWRhdG9yIH0gZnJvbSBcIi4vTWF4VmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBNYXhMZW5ndGhWYWxpZGF0b3IgfSBmcm9tIFwiLi9NYXhMZW5ndGhWYWxpZGF0b3JcIjtcbmltcG9ydCB7IFJlcXVpcmVkVmFsaWRhdG9yIH0gZnJvbSBcIi4vUmVxdWlyZWRWYWxpZGF0b3JcIjtcbmltcG9ydCB7IEVtYWlsVmFsaWRhdG9yIH0gZnJvbSBcIi4vRW1haWxWYWxpZGF0b3JcIjtcbmltcG9ydCB7IExpc3RWYWxpZGF0b3IgfSBmcm9tIFwiLi9MaXN0VmFsaWRhdG9yXCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vRGF0ZVZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vRW1haWxWYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0xpc3RWYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL01heExlbmd0aFZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vTWF4VmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9NaW5MZW5ndGhWYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL01pblZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vUGFzc3dvcmRWYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1BhdHRlcm5WYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1JlcXVpcmVkVmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9TdGVwVmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vVHlwZVZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vVVJMVmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9WYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1ZhbGlkYXRvclJlZ2lzdHJ5XCI7XG4vKipcbiAqIEBzdW1tYXJ5IGNvbnN0YW50IGhvbGRpbmcgYWxsIHtAbGluayBWYWxpZGF0b3J9c1xuICogQGNvbnN0YW50IFZhbGlkYXRvcnNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uVmFsaWRhdGlvbi5WYWxpZGF0b3JzXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgY29uc3QgVmFsaWRhdG9ycyA9IHtcbiAgRGF0ZVZhbGlkYXRvcixcbiAgRW1haWxWYWxpZGF0b3IsXG4gIExpc3RWYWxpZGF0b3IsXG4gIE1heExlbmd0aFZhbGlkYXRvcixcbiAgTWF4VmFsaWRhdG9yLFxuICBNaW5MZW5ndGhWYWxpZGF0b3IsXG4gIE1pblZhbGlkYXRvcixcbiAgUGFzc3dvcmRWYWxpZGF0b3IsXG4gIFBhdHRlcm5WYWxpZGF0b3IsXG4gIFJlcXVpcmVkVmFsaWRhdG9yLFxuICBTdGVwVmFsaWRhdG9yLFxuICBUeXBlVmFsaWRhdG9yLFxuICBVUkxWYWxpZGF0b3IsXG59O1xuIl19
@@ -36,17 +36,17 @@ export * from "./ValidatorRegistry";
36
36
  * @category Validation
37
37
  */
38
38
  export declare const Validators: {
39
+ DateValidator: typeof DateValidator;
39
40
  EmailValidator: typeof EmailValidator;
40
- RequiredValidator: typeof RequiredValidator;
41
+ ListValidator: typeof ListValidator;
41
42
  MaxLengthValidator: typeof MaxLengthValidator;
42
43
  MaxValidator: typeof MaxValidator;
43
44
  MinLengthValidator: typeof MinLengthValidator;
44
45
  MinValidator: typeof MinValidator;
46
+ PasswordValidator: typeof PasswordValidator;
45
47
  PatternValidator: typeof PatternValidator;
46
- URLValidator: typeof URLValidator;
48
+ RequiredValidator: typeof RequiredValidator;
47
49
  StepValidator: typeof StepValidator;
48
- DateValidator: typeof DateValidator;
49
50
  TypeValidator: typeof TypeValidator;
50
- PasswordValidator: typeof PasswordValidator;
51
- ListValidator: typeof ListValidator;
51
+ URLValidator: typeof URLValidator;
52
52
  };
@@ -15,14 +15,11 @@ exports.password = password;
15
15
  exports.list = list;
16
16
  exports.set = set;
17
17
  require("reflect-metadata");
18
- const ListValidator_1 = require("./Validators/ListValidator.cjs");
19
- const Validation_1 = require("./Validation.cjs");
20
18
  const constants_1 = require("./Validators/constants.cjs");
21
19
  const strings_1 = require("../utils/strings.cjs");
22
- const PasswordValidator_1 = require("./Validators/PasswordValidator.cjs");
23
- const utils_1 = require("../utils/index.cjs");
24
- const utils_2 = require("./utils.cjs");
20
+ const utils_1 = require("./utils.cjs");
25
21
  const reflection_1 = require("@decaf-ts/reflection");
22
+ const dates_1 = require("../utils/dates.cjs");
26
23
  /**
27
24
  * @summary Marks the property as required.
28
25
  * @description Validators to validate a decorated property must use key {@link ValidationKeys#REQUIRED}
@@ -34,7 +31,7 @@ const reflection_1 = require("@decaf-ts/reflection");
34
31
  * @category Decorators
35
32
  */
36
33
  function required(message = constants_1.DEFAULT_ERROR_MESSAGES.REQUIRED) {
37
- return (0, reflection_1.metadata)((0, utils_2.getValidationKey)(constants_1.ValidationKeys.REQUIRED), {
34
+ return (0, reflection_1.metadata)((0, utils_1.getValidationKey)(constants_1.ValidationKeys.REQUIRED), {
38
35
  message: message,
39
36
  });
40
37
  }
@@ -50,7 +47,7 @@ function required(message = constants_1.DEFAULT_ERROR_MESSAGES.REQUIRED) {
50
47
  * @category Decorators
51
48
  */
52
49
  function min(value, message = constants_1.DEFAULT_ERROR_MESSAGES.MIN) {
53
- return (0, reflection_1.metadata)((0, utils_2.getValidationKey)(constants_1.ValidationKeys.MIN), {
50
+ return (0, reflection_1.metadata)((0, utils_1.getValidationKey)(constants_1.ValidationKeys.MIN), {
54
51
  value: value,
55
52
  message: message,
56
53
  types: [Number.name, Date.name],
@@ -68,7 +65,7 @@ function min(value, message = constants_1.DEFAULT_ERROR_MESSAGES.MIN) {
68
65
  * @category Decorators
69
66
  */
70
67
  function max(value, message = constants_1.DEFAULT_ERROR_MESSAGES.MAX) {
71
- return (0, reflection_1.metadata)((0, utils_2.getValidationKey)(constants_1.ValidationKeys.MAX), {
68
+ return (0, reflection_1.metadata)((0, utils_1.getValidationKey)(constants_1.ValidationKeys.MAX), {
72
69
  value: value,
73
70
  message: message,
74
71
  types: [Number.name, Date.name],
@@ -86,7 +83,7 @@ function max(value, message = constants_1.DEFAULT_ERROR_MESSAGES.MAX) {
86
83
  * @category Decorators
87
84
  */
88
85
  function step(value, message = constants_1.DEFAULT_ERROR_MESSAGES.STEP) {
89
- return (0, reflection_1.metadata)((0, utils_2.getValidationKey)(constants_1.ValidationKeys.STEP), {
86
+ return (0, reflection_1.metadata)((0, utils_1.getValidationKey)(constants_1.ValidationKeys.STEP), {
90
87
  value: value,
91
88
  message: message,
92
89
  types: [Number.name],
@@ -104,7 +101,7 @@ function step(value, message = constants_1.DEFAULT_ERROR_MESSAGES.STEP) {
104
101
  * @category Decorators
105
102
  */
106
103
  function minlength(value, message = constants_1.DEFAULT_ERROR_MESSAGES.MIN_LENGTH) {
107
- return (0, reflection_1.metadata)((0, utils_2.getValidationKey)(constants_1.ValidationKeys.MIN_LENGTH), {
104
+ return (0, reflection_1.metadata)((0, utils_1.getValidationKey)(constants_1.ValidationKeys.MIN_LENGTH), {
108
105
  value: value,
109
106
  message: message,
110
107
  types: [String.name, Array.name, Set.name],
@@ -122,7 +119,7 @@ function minlength(value, message = constants_1.DEFAULT_ERROR_MESSAGES.MIN_LENGT
122
119
  * @category Decorators
123
120
  */
124
121
  function maxlength(value, message = constants_1.DEFAULT_ERROR_MESSAGES.MAX_LENGTH) {
125
- return (0, reflection_1.metadata)((0, utils_2.getValidationKey)(constants_1.ValidationKeys.MAX_LENGTH), {
122
+ return (0, reflection_1.metadata)((0, utils_1.getValidationKey)(constants_1.ValidationKeys.MAX_LENGTH), {
126
123
  value: value,
127
124
  message: message,
128
125
  types: [String.name, Array.name, Set.name],
@@ -140,7 +137,7 @@ function maxlength(value, message = constants_1.DEFAULT_ERROR_MESSAGES.MAX_LENGT
140
137
  * @category Decorators
141
138
  */
142
139
  function pattern(value, message = constants_1.DEFAULT_ERROR_MESSAGES.PATTERN) {
143
- return (0, reflection_1.metadata)((0, utils_2.getValidationKey)(constants_1.ValidationKeys.PATTERN), {
140
+ return (0, reflection_1.metadata)((0, utils_1.getValidationKey)(constants_1.ValidationKeys.PATTERN), {
144
141
  value: typeof value === "string" ? value : value.toString(),
145
142
  message: message,
146
143
  types: [String.name],
@@ -157,7 +154,8 @@ function pattern(value, message = constants_1.DEFAULT_ERROR_MESSAGES.PATTERN) {
157
154
  * @category Decorators
158
155
  */
159
156
  function email(message = constants_1.DEFAULT_ERROR_MESSAGES.EMAIL) {
160
- return (0, reflection_1.metadata)((0, utils_2.getValidationKey)(constants_1.ValidationKeys.EMAIL), {
157
+ return (0, reflection_1.metadata)((0, utils_1.getValidationKey)(constants_1.ValidationKeys.EMAIL), {
158
+ pattern: constants_1.DEFAULT_PATTERNS.EMAIL,
161
159
  message: message,
162
160
  types: [String.name],
163
161
  });
@@ -173,7 +171,8 @@ function email(message = constants_1.DEFAULT_ERROR_MESSAGES.EMAIL) {
173
171
  * @category Decorators
174
172
  */
175
173
  function url(message = constants_1.DEFAULT_ERROR_MESSAGES.URL) {
176
- return (0, reflection_1.metadata)((0, utils_2.getValidationKey)(constants_1.ValidationKeys.URL), {
174
+ return (0, reflection_1.metadata)((0, utils_1.getValidationKey)(constants_1.ValidationKeys.URL), {
175
+ pattern: constants_1.DEFAULT_PATTERNS.URL,
177
176
  message: message,
178
177
  types: [String.name],
179
178
  });
@@ -190,7 +189,7 @@ function url(message = constants_1.DEFAULT_ERROR_MESSAGES.URL) {
190
189
  * @category Decorators
191
190
  */
192
191
  function type(types, message = constants_1.DEFAULT_ERROR_MESSAGES.TYPE) {
193
- return (0, reflection_1.metadata)((0, utils_2.getValidationKey)(constants_1.ValidationKeys.TYPE), {
192
+ return (0, reflection_1.metadata)((0, utils_1.getValidationKey)(constants_1.ValidationKeys.TYPE), {
194
193
  customTypes: types,
195
194
  message: message,
196
195
  });
@@ -212,11 +211,11 @@ function type(types, message = constants_1.DEFAULT_ERROR_MESSAGES.TYPE) {
212
211
  */
213
212
  function date(format = "dd/MM/yyyy", message = constants_1.DEFAULT_ERROR_MESSAGES.DATE) {
214
213
  return (target, propertyKey) => {
215
- Reflect.defineMetadata((0, utils_2.getValidationKey)(constants_1.ValidationKeys.DATE), {
214
+ (0, reflection_1.metadata)((0, utils_1.getValidationKey)(constants_1.ValidationKeys.DATE), {
216
215
  format: format,
217
216
  message: message,
218
217
  types: [Date.name],
219
- }, target, propertyKey);
218
+ })(target, propertyKey);
220
219
  const values = new WeakMap();
221
220
  Object.defineProperty(target, propertyKey, {
222
221
  configurable: false,
@@ -230,7 +229,7 @@ function date(format = "dd/MM/yyyy", message = constants_1.DEFAULT_ERROR_MESSAGE
230
229
  set: (newValue) => {
231
230
  let val;
232
231
  try {
233
- val = (0, utils_1.parseDate)(format, newValue);
232
+ val = (0, dates_1.parseDate)(format, newValue);
234
233
  values.set(this, val);
235
234
  }
236
235
  catch (e) {
@@ -259,19 +258,12 @@ function date(format = "dd/MM/yyyy", message = constants_1.DEFAULT_ERROR_MESSAGE
259
258
  * @memberOf module:decorator-validation.Decorators.Validation
260
259
  * @category Decorators
261
260
  */
262
- function password(pattern = constants_1.DEFAULT_PATTERNS.PASSWORD.CHAR8_ONE_OF_EACH, message = constants_1.DEFAULT_ERROR_MESSAGES.PASSWORD, validator = PasswordValidator_1.PasswordValidator) {
263
- return (target, propertyKey) => {
264
- Reflect.defineMetadata((0, utils_2.getValidationKey)(constants_1.ValidationKeys.PASSWORD), {
265
- pattern: pattern,
266
- message: message,
267
- types: [String.name],
268
- }, target, propertyKey);
269
- Validation_1.Validation.register({
270
- validator: validator,
271
- validationKey: constants_1.ValidationKeys.PASSWORD,
272
- save: true,
273
- });
274
- };
261
+ function password(pattern = constants_1.DEFAULT_PATTERNS.PASSWORD.CHAR8_ONE_OF_EACH, message = constants_1.DEFAULT_ERROR_MESSAGES.PASSWORD) {
262
+ return (0, reflection_1.metadata)((0, utils_1.getValidationKey)(constants_1.ValidationKeys.PASSWORD), {
263
+ pattern: pattern,
264
+ message: message,
265
+ types: [String.name],
266
+ });
275
267
  }
276
268
  /**
277
269
  * @summary List Decorator
@@ -287,20 +279,12 @@ function password(pattern = constants_1.DEFAULT_PATTERNS.PASSWORD.CHAR8_ONE_OF_E
287
279
  * @memberOf module:decorator-validation.Decorators.Validation
288
280
  * @category Decorators
289
281
  */
290
- function list(clazz, collection = "Array", message = constants_1.DEFAULT_ERROR_MESSAGES.LIST, validator = ListValidator_1.ListValidator) {
291
- return (target, propertyKey) => {
292
- type(collection)(target, propertyKey);
293
- Reflect.defineMetadata((0, utils_2.getValidationKey)(constants_1.ValidationKeys.LIST), {
294
- class: clazz.name,
295
- type: collection,
296
- message: message,
297
- }, target, propertyKey);
298
- Validation_1.Validation.register({
299
- validator: validator,
300
- validationKey: constants_1.ValidationKeys.LIST,
301
- save: true,
302
- });
303
- };
282
+ function list(clazz, collection = "Array", message = constants_1.DEFAULT_ERROR_MESSAGES.LIST) {
283
+ return (0, reflection_1.metadata)((0, utils_1.getValidationKey)(constants_1.ValidationKeys.LIST), {
284
+ class: Array.isArray(clazz) ? clazz.map((c) => c.name) : [clazz.name],
285
+ type: collection,
286
+ message: message,
287
+ });
304
288
  }
305
289
  /**
306
290
  * @summary Set Decorator
@@ -315,10 +299,8 @@ function list(clazz, collection = "Array", message = constants_1.DEFAULT_ERROR_M
315
299
  * @memberOf module:decorator-validation.Decorators.Validation
316
300
  * @category Decorators
317
301
  */
318
- function set(clazz, message = constants_1.DEFAULT_ERROR_MESSAGES.LIST, validator) {
319
- return (target, propertyKey) => {
320
- list(clazz, "Set", message, validator)(target, propertyKey);
321
- };
302
+ function set(clazz, message = constants_1.DEFAULT_ERROR_MESSAGES.LIST) {
303
+ return list(clazz, "Set", message);
322
304
  }
323
305
 
324
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL2RlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE0QkEsNEJBT0M7QUFhRCxrQkFTQztBQWFELGtCQVNDO0FBYUQsb0JBU0M7QUFhRCw4QkFZQztBQWFELDhCQVlDO0FBYUQsMEJBWUM7QUFZRCxzQkFLQztBQVlELGtCQUtDO0FBYUQsb0JBUUM7QUFpQkQsb0JBNENDO0FBZUQsNEJBc0JDO0FBZ0JELG9CQXdCQztBQWVELGtCQVFDO0FBeFlELDRCQUEwQjtBQUMxQiw4REFBMkQ7QUFDM0QsNkNBQTBDO0FBRTFDLHNEQUlnQztBQUNoQyw4Q0FBc0M7QUFFdEMsc0VBQW1FO0FBR25FLG9DQUFxQztBQUNyQyxtQ0FBMkM7QUFDM0MscURBQWdEO0FBRWhEOzs7Ozs7Ozs7R0FTRztBQUNILFNBQWdCLFFBQVEsQ0FBQyxVQUFrQixrQ0FBc0IsQ0FBQyxRQUFRO0lBQ3hFLE9BQU8sSUFBQSxxQkFBUSxFQUNiLElBQUEsd0JBQWdCLEVBQUMsMEJBQWMsQ0FBQyxRQUFRLENBQUMsRUFDekM7UUFDRSxPQUFPLEVBQUUsT0FBTztLQUNqQixDQUNGLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILFNBQWdCLEdBQUcsQ0FDakIsS0FBNkIsRUFDN0IsVUFBa0Isa0NBQXNCLENBQUMsR0FBRztJQUU1QyxPQUFPLElBQUEscUJBQVEsRUFBcUIsSUFBQSx3QkFBZ0IsRUFBQywwQkFBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3hFLEtBQUssRUFBRSxLQUFLO1FBQ1osT0FBTyxFQUFFLE9BQU87UUFDaEIsS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDO0tBQ2hDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsU0FBZ0IsR0FBRyxDQUNqQixLQUE2QixFQUM3QixVQUFrQixrQ0FBc0IsQ0FBQyxHQUFHO0lBRTVDLE9BQU8s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QyIsImZpbGUiOiJ2YWxpZGF0aW9uL2RlY29yYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJyZWZsZWN0LW1ldGFkYXRhXCI7XG5pbXBvcnQgeyBMaXN0VmFsaWRhdG9yIH0gZnJvbSBcIi4vVmFsaWRhdG9ycy9MaXN0VmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBWYWxpZGF0aW9uIH0gZnJvbSBcIi4vVmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgVmFsaWRhdGlvbk1ldGFkYXRhIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7XG4gIERFRkFVTFRfRVJST1JfTUVTU0FHRVMsXG4gIERFRkFVTFRfUEFUVEVSTlMsXG4gIFZhbGlkYXRpb25LZXlzLFxufSBmcm9tIFwiLi9WYWxpZGF0b3JzL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgc2YgfSBmcm9tIFwiLi4vdXRpbHMvc3RyaW5nc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IsIE1vZGVsQ29uc3RydWN0b3IgfSBmcm9tIFwiLi4vbW9kZWwvdHlwZXNcIjtcbmltcG9ydCB7IFBhc3N3b3JkVmFsaWRhdG9yIH0gZnJvbSBcIi4vVmFsaWRhdG9ycy9QYXNzd29yZFZhbGlkYXRvclwiO1xuaW1wb3J0IHsgVmFsaWRhdG9yRGVmaW5pdGlvbiB9IGZyb20gXCIuL1ZhbGlkYXRvcnMvdHlwZXNcIjtcbmltcG9ydCB7IFZhbGlkYXRvciB9IGZyb20gXCIuL1ZhbGlkYXRvcnMvVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBwYXJzZURhdGUgfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB7IGdldFZhbGlkYXRpb25LZXkgfSBmcm9tIFwiLi91dGlsc1wiO1xuaW1wb3J0IHsgbWV0YWRhdGEgfSBmcm9tIFwiQGRlY2FmLXRzL3JlZmxlY3Rpb25cIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBNYXJrcyB0aGUgcHJvcGVydHkgYXMgcmVxdWlyZWQuXG4gKiBAZGVzY3JpcHRpb24gVmFsaWRhdG9ycyB0byB2YWxpZGF0ZSBhIGRlY29yYXRlZCBwcm9wZXJ0eSBtdXN0IHVzZSBrZXkge0BsaW5rIFZhbGlkYXRpb25LZXlzI1JFUVVJUkVEfVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV0gdGhlIGVycm9yIG1lc3NhZ2UuIERlZmF1bHRzIHRvIHtAbGluayBERUZBVUxUX0VSUk9SX01FU1NBR0VTI1JFUVVJUkVEfVxuICpcbiAqIEBmdW5jdGlvbiByZXF1aXJlZFxuICpcbiAqIEBjYXRlZ29yeSBEZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXF1aXJlZChtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlJFUVVJUkVEKSB7XG4gIHJldHVybiBtZXRhZGF0YTxWYWxpZGF0aW9uTWV0YWRhdGE+KFxuICAgIGdldFZhbGlkYXRpb25LZXkoVmFsaWRhdGlvbktleXMuUkVRVUlSRUQpLFxuICAgIHtcbiAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXG4gICAgfSxcbiAgKTtcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBEZWZpbmVzIGEgbWluaW11bSB2YWx1ZSBmb3IgdGhlIHByb3BlcnR5XG4gKiBAZGVzY3JpcHRpb24gVmFsaWRhdG9ycyB0byB2YWxpZGF0ZSBhIGRlY29yYXRlZCBwcm9wZXJ0eSBtdXN0IHVzZSBrZXkge0BsaW5rIFZhbGlkYXRpb25LZXlzI01JTn1cbiAqXG4gKiBAcGFyYW0ge251bWJlciB8IERhdGV9IHZhbHVlXG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdIHRoZSBlcnJvciBtZXNzYWdlLiBEZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNNSU59XG4gKlxuICogQGZ1bmN0aW9uIG1pblxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5EZWNvcmF0b3JzLlZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBEZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtaW4oXG4gIHZhbHVlOiBudW1iZXIgfCBEYXRlIHwgc3RyaW5nLFxuICBtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLk1JTixcbikge1xuICByZXR1cm4gbWV0YWRhdGE8VmFsaWRhdGlvbk1ldGFkYXRhPihnZXRWYWxpZGF0aW9uS2V5KFZhbGlkYXRpb25LZXlzLk1JTiksIHtcbiAgICB2YWx1ZTogdmFsdWUsXG4gICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICB0eXBlczogW051bWJlci5uYW1lLCBEYXRlLm5hbWVdLFxuICB9KTtcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBEZWZpbmVzIGEgbWF4aW11bSB2YWx1ZSBmb3IgdGhlIHByb3BlcnR5XG4gKiBAZGVzY3JpcHRpb24gVmFsaWRhdG9ycyB0byB2YWxpZGF0ZSBhIGRlY29yYXRlZCBwcm9wZXJ0eSBtdXN0IHVzZSBrZXkge0BsaW5rIFZhbGlkYXRpb25LZXlzI01BWH1cbiAqXG4gKiBAcGFyYW0ge251bWJlciB8IERhdGV9IHZhbHVlXG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdIHRoZSBlcnJvciBtZXNzYWdlLiBEZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNNQVh9XG4gKlxuICogQGZ1bmN0aW9uIG1heFxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5EZWNvcmF0b3JzLlZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBEZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXgoXG4gIHZhbHVlOiBudW1iZXIgfCBEYXRlIHwgc3RyaW5nLFxuICBtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLk1BWCxcbikge1xuICByZXR1cm4gbWV0YWRhdGE8VmFsaWRhdGlvbk1ldGFkYXRhPihnZXRWYWxpZGF0aW9uS2V5KFZhbGlkYXRpb25LZXlzLk1BWCksIHtcbiAgICB2YWx1ZTogdmFsdWUsXG4gICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICB0eXBlczogW051bWJlci5uYW1lLCBEYXRlLm5hbWVdLFxuICB9KTtcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBEZWZpbmVzIGEgc3RlcCB2YWx1ZSBmb3IgdGhlIHByb3BlcnR5XG4gKiBAZGVzY3JpcHRpb24gVmFsaWRhdG9ycyB0byB2YWxpZGF0ZSBhIGRlY29yYXRlZCBwcm9wZXJ0eSBtdXN0IHVzZSBrZXkge0BsaW5rIFZhbGlkYXRpb25LZXlzI1NURVB9XG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IHZhbHVlXG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdIHRoZSBlcnJvciBtZXNzYWdlLiBEZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNTVEVQfVxuICpcbiAqIEBmdW5jdGlvbiBzdGVwXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uLkRlY29yYXRvcnMuVmFsaWRhdGlvblxuICogQGNhdGVnb3J5IERlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0ZXAoXG4gIHZhbHVlOiBudW1iZXIsXG4gIG1lc3NhZ2U6IHN0cmluZyA9IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuU1RFUCxcbikge1xuICByZXR1cm4gbWV0YWRhdGE8VmFsaWRhdGlvbk1ldGFkYXRhPihnZXRWYWxpZGF0aW9uS2V5KFZhbGlkYXRpb25LZXlzLlNURVApLCB7XG4gICAgdmFsdWU6IHZhbHVlLFxuICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXG4gICAgdHlwZXM6IFtOdW1iZXIubmFtZV0sXG4gIH0pO1xufVxuXG4vKipcbiAqIEBzdW1tYXJ5IERlZmluZXMgYSBtaW5pbXVtIGxlbmd0aCBmb3IgdGhlIHByb3BlcnR5XG4gKiBAZGVzY3JpcHRpb24gVmFsaWRhdG9ycyB0byB2YWxpZGF0ZSBhIGRlY29yYXRlZCBwcm9wZXJ0eSBtdXN0IHVzZSBrZXkge0BsaW5rIFZhbGlkYXRpb25LZXlzI01JTl9MRU5HVEh9XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdIHRoZSBlcnJvciBtZXNzYWdlLiBEZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNNSU5fTEVOR1RIfVxuICpcbiAqIEBmdW5jdGlvbiBtaW5sZW5ndGhcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uRGVjb3JhdG9ycy5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgRGVjb3JhdG9yc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbWlubGVuZ3RoKFxuICB2YWx1ZTogbnVtYmVyLFxuICBtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLk1JTl9MRU5HVEgsXG4pIHtcbiAgcmV0dXJuIG1ldGFkYXRhPFZhbGlkYXRpb25NZXRhZGF0YT4oXG4gICAgZ2V0VmFsaWRhdGlvbktleShWYWxpZGF0aW9uS2V5cy5NSU5fTEVOR1RIKSxcbiAgICB7XG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICAgICAgdHlwZXM6IFtTdHJpbmcubmFtZSwgQXJyYXkubmFtZSwgU2V0Lm5hbWVdLFxuICAgIH0sXG4gICk7XG59XG5cbi8qKlxuICogQHN1bW1hcnkgRGVmaW5lcyBhIG1heGltdW0gbGVuZ3RoIGZvciB0aGUgcHJvcGVydHlcbiAqIEBkZXNjcmlwdGlvbiBWYWxpZGF0b3JzIHRvIHZhbGlkYXRlIGEgZGVjb3JhdGVkIHByb3BlcnR5IG11c3QgdXNlIGtleSB7QGxpbmsgVmFsaWRhdGlvbktleXMjTUFYX0xFTkdUSH1cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV0gdGhlIGVycm9yIG1lc3NhZ2UuIERlZmF1bHRzIHRvIHtAbGluayBERUZBVUxUX0VSUk9SX01FU1NBR0VTI01BWF9MRU5HVEh9XG4gKlxuICogQGZ1bmN0aW9uIG1heGxlbmd0aFxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5EZWNvcmF0b3JzLlZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBEZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXhsZW5ndGgoXG4gIHZhbHVlOiBudW1iZXIsXG4gIG1lc3NhZ2U6IHN0cmluZyA9IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuTUFYX0xFTkdUSCxcbikge1xuICByZXR1cm4gbWV0YWRhdGE8VmFsaWRhdGlvbk1ldGFkYXRhPihcbiAgICBnZXRWYWxpZGF0aW9uS2V5KFZhbGlkYXRpb25LZXlzLk1BWF9MRU5HVEgpLFxuICAgIHtcbiAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXG4gICAgICB0eXBlczogW1N0cmluZy5uYW1lLCBBcnJheS5uYW1lLCBTZXQubmFtZV0sXG4gICAgfSxcbiAgKTtcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBEZWZpbmVzIGEgUmVnRXhwIHBhdHRlcm4gdGhlIHByb3BlcnR5IG11c3QgcmVzcGVjdFxuICogQGRlc2NyaXB0aW9uIFZhbGlkYXRvcnMgdG8gdmFsaWRhdGUgYSBkZWNvcmF0ZWQgcHJvcGVydHkgbXVzdCB1c2Uga2V5IHtAbGluayBWYWxpZGF0aW9uS2V5cyNQQVRURVJOfVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXSB0aGUgZXJyb3IgbWVzc2FnZS4gRGVmYXVsdHMgdG8ge0BsaW5rIERFRkFVTFRfRVJST1JfTUVTU0FHRVMjUEFUVEVSTn1cbiAqXG4gKiBAZnVuY3Rpb24gcGF0dGVyblxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5EZWNvcmF0b3JzLlZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBEZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXR0ZXJuKFxuICB2YWx1ZTogUmVnRXhwIHwgc3RyaW5nLFxuICBtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlBBVFRFUk4sXG4pIHtcbiAgcmV0dXJuIG1ldGFkYXRhPFZhbGlkYXRpb25NZXRhZGF0YT4oXG4gICAgZ2V0VmFsaWRhdGlvbktleShWYWxpZGF0aW9uS2V5cy5QQVRURVJOKSxcbiAgICB7XG4gICAgICB2YWx1ZTogdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiID8gdmFsdWUgOiB2YWx1ZS50b1N0cmluZygpLFxuICAgICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICAgIHR5cGVzOiBbU3RyaW5nLm5hbWVdLFxuICAgIH0sXG4gICk7XG59XG5cbi8qKlxuICogQHN1bW1hcnkgRGVmaW5lcyB0aGUgcHJvcGVydHkgYXMgYW4gZW1haWxcbiAqIEBkZXNjcmlwdGlvbiBWYWxpZGF0b3JzIHRvIHZhbGlkYXRlIGEgZGVjb3JhdGVkIHByb3BlcnR5IG11c3QgdXNlIGtleSB7QGxpbmsgVmFsaWRhdGlvbktleXMjRU1BSUx9XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXSB0aGUgZXJyb3IgbWVzc2FnZS4gRGVmYXVsdHMgdG8ge0BsaW5rIERFRkFVTFRfRVJST1JfTUVTU0FHRVMjRU1BSUx9XG4gKlxuICogQGZ1bmN0aW9uIGVtYWlsXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uLkRlY29yYXRvcnMuVmFsaWRhdGlvblxuICogQGNhdGVnb3J5IERlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVtYWlsKG1lc3NhZ2U6IHN0cmluZyA9IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuRU1BSUwpIHtcbiAgcmV0dXJuIG1ldGFkYXRhPFZhbGlkYXRpb25NZXRhZGF0YT4oZ2V0VmFsaWRhdGlvbktleShWYWxpZGF0aW9uS2V5cy5FTUFJTCksIHtcbiAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICAgIHR5cGVzOiBbU3RyaW5nLm5hbWVdLFxuICB9KTtcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSBwcm9wZXJ0eSBhcyBhbiBVUkxcbiAqIEBkZXNjcmlwdGlvbiBWYWxpZGF0b3JzIHRvIHZhbGlkYXRlIGEgZGVjb3JhdGVkIHByb3BlcnR5IG11c3QgdXNlIGtleSB7QGxpbmsgVmFsaWRhdGlvbktleXMjVVJMfVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV0gdGhlIGVycm9yIG1lc3NhZ2UuIERlZmF1bHRzIHRvIHtAbGluayBERUZBVUxUX0VSUk9SX01FU1NBR0VTI1VSTH1cbiAqXG4gKiBAZnVuY3Rpb24gdXJsXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uLkRlY29yYXRvcnMuVmFsaWRhdGlvblxuICogQGNhdGVnb3J5IERlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVybChtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlVSTCkge1xuICByZXR1cm4gbWV0YWRhdGE8VmFsaWRhdGlvbk1ldGFkYXRhPihnZXRWYWxpZGF0aW9uS2V5KFZhbGlkYXRpb25LZXlzLlVSTCksIHtcbiAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICAgIHR5cGVzOiBbU3RyaW5nLm5hbWVdLFxuICB9KTtcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBFbmZvcmNlcyB0eXBlIHZlcmlmaWNhdGlvblxuICogQGRlc2NyaXB0aW9uIFZhbGlkYXRvcnMgdG8gdmFsaWRhdGUgYSBkZWNvcmF0ZWQgcHJvcGVydHkgbXVzdCB1c2Uga2V5IHtAbGluayBWYWxpZGF0aW9uS2V5cyNUWVBFfVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nW10gfCBzdHJpbmd9IHR5cGVzIGFjY2VwdGVkIHR5cGVzXG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdIHRoZSBlcnJvciBtZXNzYWdlLiBEZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNUWVBFfVxuICpcbiAqIEBmdW5jdGlvbiB0eXBlXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uLkRlY29yYXRvcnMuVmFsaWRhdGlvblxuICogQGNhdGVnb3J5IERlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR5cGUoXG4gIHR5cGVzOiBzdHJpbmdbXSB8IHN0cmluZyxcbiAgbWVzc2FnZTogc3RyaW5nID0gREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5UWVBFLFxuKSB7XG4gIHJldHVybiBtZXRhZGF0YTxWYWxpZGF0aW9uTWV0YWRhdGE+KGdldFZhbGlkYXRpb25LZXkoVmFsaWRhdGlvbktleXMuVFlQRSksIHtcbiAgICBjdXN0b21UeXBlczogdHlwZXMsXG4gICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgfSk7XG59XG5cbi8qKlxuICogQHN1bW1hcnkgRGF0ZSBIYW5kbGVyIERlY29yYXRvclxuICogQGRlc2NyaXB0aW9uIFZhbGlkYXRvcnMgdG8gdmFsaWRhdGUgYSBkZWNvcmF0ZWQgcHJvcGVydHkgbXVzdCB1c2Uga2V5IHtAbGluayBWYWxpZGF0aW9uS2V5cyNEQVRFfVxuICpcbiAqIFdpbGwgZW5mb3JjZSBzZXJpYWxpemF0aW9uIGFjY29yZGluZyB0byB0aGUgc2VsZWN0ZWQgZm9ybWF0XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGZvcm1hdCBhY2NlcHRlZCBmb3JtYXQgYWNjb3JkaW5nIHRvIHtAbGluayBmb3JtYXREYXRlfVxuICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXSB0aGUgZXJyb3IgbWVzc2FnZS4gRGVmYXVsdHMgdG8ge0BsaW5rIERFRkFVTFRfRVJST1JfTUVTU0FHRVMjREFURX1cbiAqIEBwYXJhbSB7Q29uc3RydWN0b3I8VmFsaWRhdG9yPn0gW3ZhbGlkYXRvcl0gdGhlIFZhbGlkYXRvciB0byBiZSB1c2VkLiBEZWZhdWx0cyB0byB7QGxpbmsgRGF0ZVZhbGlkYXRvcn1cbiAqXG4gKiBAZnVuY3Rpb24gZGF0ZVxuICpcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uRGVjb3JhdG9ycy5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgRGVjb3JhdG9yc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZGF0ZShcbiAgZm9ybWF0OiBzdHJpbmcgPSBcImRkL01NL3l5eXlcIixcbiAgbWVzc2FnZTogc3RyaW5nID0gREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5EQVRFLFxuKSB7XG4gIHJldHVybiAodGFyZ2V0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogYW55ID0+IHtcbiAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFxuICAgICAgZ2V0VmFsaWRhdGlvbktleShWYWxpZGF0aW9uS2V5cy5EQVRFKSxcbiAgICAgIHtcbiAgICAgICAgZm9ybWF0OiBmb3JtYXQsXG4gICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXG4gICAgICAgIHR5cGVzOiBbRGF0ZS5uYW1lXSxcbiAgICAgIH0sXG4gICAgICB0YXJnZXQsXG4gICAgICBwcm9wZXJ0eUtleSxcbiAgICApO1xuXG4gICAgY29uc3QgdmFsdWVzID0gbmV3IFdlYWtNYXAoKTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5S2V5LCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgc2V0KHRoaXM6IGFueSwgbmV3VmFsdWU6IHN0cmluZyB8IERhdGUpIHtcbiAgICAgICAgY29uc3QgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGhpcywgcHJvcGVydHlLZXkpO1xuICAgICAgICBpZiAoIWRlc2NyaXB0b3IgfHwgZGVzY3JpcHRvci5jb25maWd1cmFibGUpXG4gICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIHByb3BlcnR5S2V5LCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGdldDogKCkgPT4gdmFsdWVzLmdldCh0aGlzKSxcbiAgICAgICAgICAgIHNldDogKG5ld1ZhbHVlOiBzdHJpbmcgfCBEYXRlIHwgbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAgIGxldCB2YWw6IERhdGUgfCB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgdmFsID0gcGFyc2VEYXRlKGZvcm1hdCwgbmV3VmFsdWUpO1xuICAgICAgICAgICAgICAgIHZhbHVlcy5zZXQodGhpcywgdmFsKTtcbiAgICAgICAgICAgICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihzZihcIkZhaWxlZCB0byBwYXJzZSBkYXRlOiB7MH1cIiwgZS5tZXNzYWdlIHx8IGUpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgdGhpc1twcm9wZXJ0eUtleV0gPSBuZXdWYWx1ZTtcbiAgICAgIH0sXG4gICAgICBnZXQoKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiaGVyZVwiKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG59XG5cbi8qKlxuICogQHN1bW1hcnkgUGFzc3dvcmQgSGFuZGxlciBEZWNvcmF0b3JcbiAqIEBkZXNjcmlwdGlvbiBWYWxpZGF0b3JzIHRvIHZhbGlkYXRlIGEgZGVjb3JhdGVkIHByb3BlcnR5IG11c3QgdXNlIGtleSB7QGxpbmsgVmFsaWRhdGlvbktleXMjUEFTU1dPUkR9XG4gKlxuICogQHBhcmFtIHtSZWdFeHB9IFtwYXR0ZXJuXSBkZWZhdWx0cyB0byB7QGxpbmsgUGFzc3dvcmRQYXR0ZXJucyNDSEFSOF9PTkVfT0ZfRUFDSH1cbiAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV0gdGhlIGVycm9yIG1lc3NhZ2UuIERlZmF1bHRzIHRvIHtAbGluayBERUZBVUxUX0VSUk9SX01FU1NBR0VTI1BBU1NXT1JEfVxuICogQHBhcmFtIHtDb25zdHJ1Y3RvcjxWYWxpZGF0b3I+fSBbdmFsaWRhdG9yXSBEZWZhdWx0cyB0byB7QGxpbmsgUGFzc3dvcmRWYWxpZGF0b3J9XG4gKlxuICogQGZ1bmN0aW9uIHBhc3N3b3JkXG4gKlxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5EZWNvcmF0b3JzLlZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBEZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXNzd29yZChcbiAgcGF0dGVybjogUmVnRXhwID0gREVGQVVMVF9QQVRURVJOUy5QQVNTV09SRC5DSEFSOF9PTkVfT0ZfRUFDSCxcbiAgbWVzc2FnZTogc3RyaW5nID0gREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5QQVNTV09SRCxcbiAgdmFsaWRhdG9yOiBDb25zdHJ1Y3RvcjxWYWxpZGF0b3I+ID0gUGFzc3dvcmRWYWxpZGF0b3IsXG4pIHtcbiAgcmV0dXJuICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZykgPT4ge1xuICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoXG4gICAgICBnZXRWYWxpZGF0aW9uS2V5KFZhbGlkYXRpb25LZXlzLlBBU1NXT1JEKSxcbiAgICAgIHtcbiAgICAgICAgcGF0dGVybjogcGF0dGVybixcbiAgICAgICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICAgICAgdHlwZXM6IFtTdHJpbmcubmFtZV0sXG4gICAgICB9LFxuICAgICAgdGFyZ2V0LFxuICAgICAgcHJvcGVydHlLZXksXG4gICAgKTtcbiAgICBWYWxpZGF0aW9uLnJlZ2lzdGVyKHtcbiAgICAgIHZhbGlkYXRvcjogdmFsaWRhdG9yLFxuICAgICAgdmFsaWRhdGlvbktleTogVmFsaWRhdGlvbktleXMuUEFTU1dPUkQsXG4gICAgICBzYXZlOiB0cnVlLFxuICAgIH0gYXMgVmFsaWRhdG9yRGVmaW5pdGlvbik7XG4gIH07XG59XG5cbi8qKlxuICogQHN1bW1hcnkgTGlzdCBEZWNvcmF0b3JcbiAqIEBkZXNjcmlwdGlvbiBBbHNvIHNldHMgdGhlIHtAbGluayB0eXBlfSB0byB0aGUgcHJvdmlkZWQgY29sbGVjdGlvblxuICpcbiAqIEBwYXJhbSB7TW9kZWxDb25zdHJ1Y3Rvcn0gY2xhenpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbY29sbGVjdGlvbl0gVGhlIGNvbGxlY3Rpb24gYmVpbmcgdXNlZC4gZGVmYXVsdHMgdG8gQXJyYXlcbiAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV0gZGVmYXVsdHMgdG8ge0BsaW5rIERFRkFVTFRfRVJST1JfTUVTU0FHRVMjTElTVH1cbiAqIEBwYXJhbSB7Q29uc3RydWN0b3I8VmFsaWRhdG9yPn0gW3ZhbGlkYXRvcl0gZGVmYXVsdHMgdG8ge0BsaW5rIExpc3RWYWxpZGF0b3J9XG4gKlxuICogQGZ1bmN0aW9uIGxpc3RcbiAqXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uLkRlY29yYXRvcnMuVmFsaWRhdGlvblxuICogQGNhdGVnb3J5IERlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxpc3QoXG4gIGNsYXp6OiBNb2RlbENvbnN0cnVjdG9yPGFueT4sXG4gIGNvbGxlY3Rpb246IFwiQXJyYXlcIiB8IFwiU2V0XCIgPSBcIkFycmF5XCIsXG4gIG1lc3NhZ2U6IHN0cmluZyA9IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuTElTVCxcbiAgdmFsaWRhdG9yOiBDb25zdHJ1Y3RvcjxWYWxpZGF0b3I+ID0gTGlzdFZhbGlkYXRvcixcbikge1xuICByZXR1cm4gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogYW55ID0+IHtcbiAgICB0eXBlKGNvbGxlY3Rpb24pKHRhcmdldCwgcHJvcGVydHlLZXkpO1xuICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoXG4gICAgICBnZXRWYWxpZGF0aW9uS2V5KFZhbGlkYXRpb25LZXlzLkxJU1QpLFxuICAgICAge1xuICAgICAgICBjbGFzczogY2xhenoubmFtZSxcbiAgICAgICAgdHlwZTogY29sbGVjdGlvbixcbiAgICAgICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICAgIH0sXG4gICAgICB0YXJnZXQsXG4gICAgICBwcm9wZXJ0eUtleSxcbiAgICApO1xuICAgIFZhbGlkYXRpb24ucmVnaXN0ZXIoe1xuICAgICAgdmFsaWRhdG9yOiB2YWxpZGF0b3IsXG4gICAgICB2YWxpZGF0aW9uS2V5OiBWYWxpZGF0aW9uS2V5cy5MSVNULFxuICAgICAgc2F2ZTogdHJ1ZSxcbiAgICB9IGFzIFZhbGlkYXRvckRlZmluaXRpb24pO1xuICB9O1xufVxuXG4vKipcbiAqIEBzdW1tYXJ5IFNldCBEZWNvcmF0b3JcbiAqIEBkZXNjcmlwdGlvbiBXcmFwcGVyIGZvciB7QGxpbmsgbGlzdH0gd2l0aCB0aGUgJ1NldCcgQ29sbGVjdGlvblxuICpcbiAqIEBwYXJhbSB7TW9kZWxDb25zdHJ1Y3Rvcn0gY2xhenpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV0gZGVmYXVsdHMgdG8ge0BsaW5rIERFRkFVTFRfRVJST1JfTUVTU0FHRVMjTElTVH1cbiAqIEBwYXJhbSB7Q29uc3RydWN0b3I8VmFsaWRhdG9yPn0gW3ZhbGlkYXRvcl1cbiAqXG4gKiBAZnVuY3Rpb24gc2V0XG4gKlxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5EZWNvcmF0b3JzLlZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBEZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXQoXG4gIGNsYXp6OiBNb2RlbENvbnN0cnVjdG9yPGFueT4sXG4gIG1lc3NhZ2U6IHN0cmluZyA9IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuTElTVCxcbiAgdmFsaWRhdG9yPzogQ29uc3RydWN0b3I8VmFsaWRhdG9yPixcbikge1xuICByZXR1cm4gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nKTogYW55ID0+IHtcbiAgICBsaXN0KGNsYXp6LCBcIlNldFwiLCBtZXNzYWdlLCB2YWxpZGF0b3IpKHRhcmdldCwgcHJvcGVydHlLZXkpO1xuICB9O1xufVxuIl19
306
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL2RlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF1QkEsNEJBT0M7QUFhRCxrQkFTQztBQWFELGtCQVNDO0FBYUQsb0JBU0M7QUFhRCw4QkFZQztBQWFELDhCQVlDO0FBYUQsMEJBWUM7QUFZRCxzQkFNQztBQVlELGtCQU1DO0FBYUQsb0JBUUM7QUFpQkQsb0JBdUNDO0FBZUQsNEJBU0M7QUFnQkQsb0JBVUM7QUFlRCxrQkFLQztBQWxXRCw0QkFBMEI7QUFFMUIsc0RBSWdDO0FBQ2hDLDhDQUFzQztBQUV0QyxtQ0FBMkM7QUFDM0MscURBQWdEO0FBQ2hELDBDQUEyQztBQUUzQzs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFnQixRQUFRLENBQUMsVUFBa0Isa0NBQXNCLENBQUMsUUFBUTtJQUN4RSxPQUFPLElBQUEscUJBQVEsRUFDYixJQUFBLHdCQUFnQixFQUFDLDBCQUFjLENBQUMsUUFBUSxDQUFDLEVBQ3pDO1FBQ0UsT0FBTyxFQUFFLE9BQU87S0FDakIsQ0FDRixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxTQUFnQixHQUFHLENBQ2pCLEtBQTZCLEVBQzdCLFVBQWtCLGtDQUFzQixDQUFDLEdBQUc7SUFFNUMsT0FBTyxJQUFBLHFCQUFRLEVBQXFCLElBQUEsd0JBQWdCLEVBQUMsMEJBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN4RSxLQUFLLEVBQUUsS0FBSztRQUNaLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQztLQUNoQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILFNBQWdCLEdBQUcsQ0FDakIsS0FBNkIsRUFDN0IsVUFBa0Isa0NBQXNCLENBQUMsR0FBRztJQUU1QyxPQUFPLElBQUEscUJBQVEsRUFBcUIsSUFBQSx3QkFBZ0IsRUFBQywwQkFBYyxD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QixPQUFPLEVBQ3JDLFVBQWtCLGtDQUFzQixDQUFDLElBQUk7SUFFN0MsT0FBTyxJQUFBLHFCQUFRLEVBQUMsSUFBQSx3QkFBZ0IsRUFBQywwQkFBYyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3JELEtBQUssRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUNyRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixPQUFPLEVBQUUsT0FBTztLQUNqQixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsU0FBZ0IsR0FBRyxDQUNqQixLQUE0QixFQUM1QixVQUFrQixrQ0FBc0IsQ0FBQyxJQUFJO0lBRTdDLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDckMsQ0FBQyIsImZpbGUiOiJ2YWxpZGF0aW9uL2RlY29yYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJyZWZsZWN0LW1ldGFkYXRhXCI7XG5pbXBvcnQgeyBWYWxpZGF0aW9uTWV0YWRhdGEgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyxcbiAgREVGQVVMVF9QQVRURVJOUyxcbiAgVmFsaWRhdGlvbktleXMsXG59IGZyb20gXCIuL1ZhbGlkYXRvcnMvY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBzZiB9IGZyb20gXCIuLi91dGlscy9zdHJpbmdzXCI7XG5pbXBvcnQgeyBNb2RlbENvbnN0cnVjdG9yIH0gZnJvbSBcIi4uL21vZGVsL3R5cGVzXCI7XG5pbXBvcnQgeyBnZXRWYWxpZGF0aW9uS2V5IH0gZnJvbSBcIi4vdXRpbHNcIjtcbmltcG9ydCB7IG1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9yZWZsZWN0aW9uXCI7XG5pbXBvcnQgeyBwYXJzZURhdGUgfSBmcm9tIFwiLi4vdXRpbHMvZGF0ZXNcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBNYXJrcyB0aGUgcHJvcGVydHkgYXMgcmVxdWlyZWQuXG4gKiBAZGVzY3JpcHRpb24gVmFsaWRhdG9ycyB0byB2YWxpZGF0ZSBhIGRlY29yYXRlZCBwcm9wZXJ0eSBtdXN0IHVzZSBrZXkge0BsaW5rIFZhbGlkYXRpb25LZXlzI1JFUVVJUkVEfVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV0gdGhlIGVycm9yIG1lc3NhZ2UuIERlZmF1bHRzIHRvIHtAbGluayBERUZBVUxUX0VSUk9SX01FU1NBR0VTI1JFUVVJUkVEfVxuICpcbiAqIEBmdW5jdGlvbiByZXF1aXJlZFxuICpcbiAqIEBjYXRlZ29yeSBEZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXF1aXJlZChtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlJFUVVJUkVEKSB7XG4gIHJldHVybiBtZXRhZGF0YTxWYWxpZGF0aW9uTWV0YWRhdGE+KFxuICAgIGdldFZhbGlkYXRpb25LZXkoVmFsaWRhdGlvbktleXMuUkVRVUlSRUQpLFxuICAgIHtcbiAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXG4gICAgfSxcbiAgKTtcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBEZWZpbmVzIGEgbWluaW11bSB2YWx1ZSBmb3IgdGhlIHByb3BlcnR5XG4gKiBAZGVzY3JpcHRpb24gVmFsaWRhdG9ycyB0byB2YWxpZGF0ZSBhIGRlY29yYXRlZCBwcm9wZXJ0eSBtdXN0IHVzZSBrZXkge0BsaW5rIFZhbGlkYXRpb25LZXlzI01JTn1cbiAqXG4gKiBAcGFyYW0ge251bWJlciB8IERhdGV9IHZhbHVlXG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdIHRoZSBlcnJvciBtZXNzYWdlLiBEZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNNSU59XG4gKlxuICogQGZ1bmN0aW9uIG1pblxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5EZWNvcmF0b3JzLlZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBEZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtaW4oXG4gIHZhbHVlOiBudW1iZXIgfCBEYXRlIHwgc3RyaW5nLFxuICBtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLk1JTixcbikge1xuICByZXR1cm4gbWV0YWRhdGE8VmFsaWRhdGlvbk1ldGFkYXRhPihnZXRWYWxpZGF0aW9uS2V5KFZhbGlkYXRpb25LZXlzLk1JTiksIHtcbiAgICB2YWx1ZTogdmFsdWUsXG4gICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICB0eXBlczogW051bWJlci5uYW1lLCBEYXRlLm5hbWVdLFxuICB9KTtcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBEZWZpbmVzIGEgbWF4aW11bSB2YWx1ZSBmb3IgdGhlIHByb3BlcnR5XG4gKiBAZGVzY3JpcHRpb24gVmFsaWRhdG9ycyB0byB2YWxpZGF0ZSBhIGRlY29yYXRlZCBwcm9wZXJ0eSBtdXN0IHVzZSBrZXkge0BsaW5rIFZhbGlkYXRpb25LZXlzI01BWH1cbiAqXG4gKiBAcGFyYW0ge251bWJlciB8IERhdGV9IHZhbHVlXG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdIHRoZSBlcnJvciBtZXNzYWdlLiBEZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNNQVh9XG4gKlxuICogQGZ1bmN0aW9uIG1heFxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5EZWNvcmF0b3JzLlZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBEZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXgoXG4gIHZhbHVlOiBudW1iZXIgfCBEYXRlIHwgc3RyaW5nLFxuICBtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLk1BWCxcbikge1xuICByZXR1cm4gbWV0YWRhdGE8VmFsaWRhdGlvbk1ldGFkYXRhPihnZXRWYWxpZGF0aW9uS2V5KFZhbGlkYXRpb25LZXlzLk1BWCksIHtcbiAgICB2YWx1ZTogdmFsdWUsXG4gICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICB0eXBlczogW051bWJlci5uYW1lLCBEYXRlLm5hbWVdLFxuICB9KTtcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBEZWZpbmVzIGEgc3RlcCB2YWx1ZSBmb3IgdGhlIHByb3BlcnR5XG4gKiBAZGVzY3JpcHRpb24gVmFsaWRhdG9ycyB0byB2YWxpZGF0ZSBhIGRlY29yYXRlZCBwcm9wZXJ0eSBtdXN0IHVzZSBrZXkge0BsaW5rIFZhbGlkYXRpb25LZXlzI1NURVB9XG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IHZhbHVlXG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdIHRoZSBlcnJvciBtZXNzYWdlLiBEZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNTVEVQfVxuICpcbiAqIEBmdW5jdGlvbiBzdGVwXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uLkRlY29yYXRvcnMuVmFsaWRhdGlvblxuICogQGNhdGVnb3J5IERlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0ZXAoXG4gIHZhbHVlOiBudW1iZXIsXG4gIG1lc3NhZ2U6IHN0cmluZyA9IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuU1RFUCxcbikge1xuICByZXR1cm4gbWV0YWRhdGE8VmFsaWRhdGlvbk1ldGFkYXRhPihnZXRWYWxpZGF0aW9uS2V5KFZhbGlkYXRpb25LZXlzLlNURVApLCB7XG4gICAgdmFsdWU6IHZhbHVlLFxuICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXG4gICAgdHlwZXM6IFtOdW1iZXIubmFtZV0sXG4gIH0pO1xufVxuXG4vKipcbiAqIEBzdW1tYXJ5IERlZmluZXMgYSBtaW5pbXVtIGxlbmd0aCBmb3IgdGhlIHByb3BlcnR5XG4gKiBAZGVzY3JpcHRpb24gVmFsaWRhdG9ycyB0byB2YWxpZGF0ZSBhIGRlY29yYXRlZCBwcm9wZXJ0eSBtdXN0IHVzZSBrZXkge0BsaW5rIFZhbGlkYXRpb25LZXlzI01JTl9MRU5HVEh9XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdIHRoZSBlcnJvciBtZXNzYWdlLiBEZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNNSU5fTEVOR1RIfVxuICpcbiAqIEBmdW5jdGlvbiBtaW5sZW5ndGhcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uRGVjb3JhdG9ycy5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgRGVjb3JhdG9yc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbWlubGVuZ3RoKFxuICB2YWx1ZTogbnVtYmVyLFxuICBtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLk1JTl9MRU5HVEgsXG4pIHtcbiAgcmV0dXJuIG1ldGFkYXRhPFZhbGlkYXRpb25NZXRhZGF0YT4oXG4gICAgZ2V0VmFsaWRhdGlvbktleShWYWxpZGF0aW9uS2V5cy5NSU5fTEVOR1RIKSxcbiAgICB7XG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICAgICAgdHlwZXM6IFtTdHJpbmcubmFtZSwgQXJyYXkubmFtZSwgU2V0Lm5hbWVdLFxuICAgIH0sXG4gICk7XG59XG5cbi8qKlxuICogQHN1bW1hcnkgRGVmaW5lcyBhIG1heGltdW0gbGVuZ3RoIGZvciB0aGUgcHJvcGVydHlcbiAqIEBkZXNjcmlwdGlvbiBWYWxpZGF0b3JzIHRvIHZhbGlkYXRlIGEgZGVjb3JhdGVkIHByb3BlcnR5IG11c3QgdXNlIGtleSB7QGxpbmsgVmFsaWRhdGlvbktleXMjTUFYX0xFTkdUSH1cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV0gdGhlIGVycm9yIG1lc3NhZ2UuIERlZmF1bHRzIHRvIHtAbGluayBERUZBVUxUX0VSUk9SX01FU1NBR0VTI01BWF9MRU5HVEh9XG4gKlxuICogQGZ1bmN0aW9uIG1heGxlbmd0aFxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5EZWNvcmF0b3JzLlZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBEZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXhsZW5ndGgoXG4gIHZhbHVlOiBudW1iZXIsXG4gIG1lc3NhZ2U6IHN0cmluZyA9IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuTUFYX0xFTkdUSCxcbikge1xuICByZXR1cm4gbWV0YWRhdGE8VmFsaWRhdGlvbk1ldGFkYXRhPihcbiAgICBnZXRWYWxpZGF0aW9uS2V5KFZhbGlkYXRpb25LZXlzLk1BWF9MRU5HVEgpLFxuICAgIHtcbiAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXG4gICAgICB0eXBlczogW1N0cmluZy5uYW1lLCBBcnJheS5uYW1lLCBTZXQubmFtZV0sXG4gICAgfSxcbiAgKTtcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBEZWZpbmVzIGEgUmVnRXhwIHBhdHRlcm4gdGhlIHByb3BlcnR5IG11c3QgcmVzcGVjdFxuICogQGRlc2NyaXB0aW9uIFZhbGlkYXRvcnMgdG8gdmFsaWRhdGUgYSBkZWNvcmF0ZWQgcHJvcGVydHkgbXVzdCB1c2Uga2V5IHtAbGluayBWYWxpZGF0aW9uS2V5cyNQQVRURVJOfVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXSB0aGUgZXJyb3IgbWVzc2FnZS4gRGVmYXVsdHMgdG8ge0BsaW5rIERFRkFVTFRfRVJST1JfTUVTU0FHRVMjUEFUVEVSTn1cbiAqXG4gKiBAZnVuY3Rpb24gcGF0dGVyblxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5EZWNvcmF0b3JzLlZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBEZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXR0ZXJuKFxuICB2YWx1ZTogUmVnRXhwIHwgc3RyaW5nLFxuICBtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlBBVFRFUk4sXG4pIHtcbiAgcmV0dXJuIG1ldGFkYXRhPFZhbGlkYXRpb25NZXRhZGF0YT4oXG4gICAgZ2V0VmFsaWRhdGlvbktleShWYWxpZGF0aW9uS2V5cy5QQVRURVJOKSxcbiAgICB7XG4gICAgICB2YWx1ZTogdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiID8gdmFsdWUgOiB2YWx1ZS50b1N0cmluZygpLFxuICAgICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICAgIHR5cGVzOiBbU3RyaW5nLm5hbWVdLFxuICAgIH0sXG4gICk7XG59XG5cbi8qKlxuICogQHN1bW1hcnkgRGVmaW5lcyB0aGUgcHJvcGVydHkgYXMgYW4gZW1haWxcbiAqIEBkZXNjcmlwdGlvbiBWYWxpZGF0b3JzIHRvIHZhbGlkYXRlIGEgZGVjb3JhdGVkIHByb3BlcnR5IG11c3QgdXNlIGtleSB7QGxpbmsgVmFsaWRhdGlvbktleXMjRU1BSUx9XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXSB0aGUgZXJyb3IgbWVzc2FnZS4gRGVmYXVsdHMgdG8ge0BsaW5rIERFRkFVTFRfRVJST1JfTUVTU0FHRVMjRU1BSUx9XG4gKlxuICogQGZ1bmN0aW9uIGVtYWlsXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uLkRlY29yYXRvcnMuVmFsaWRhdGlvblxuICogQGNhdGVnb3J5IERlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVtYWlsKG1lc3NhZ2U6IHN0cmluZyA9IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuRU1BSUwpIHtcbiAgcmV0dXJuIG1ldGFkYXRhPFZhbGlkYXRpb25NZXRhZGF0YT4oZ2V0VmFsaWRhdGlvbktleShWYWxpZGF0aW9uS2V5cy5FTUFJTCksIHtcbiAgICBwYXR0ZXJuOiBERUZBVUxUX1BBVFRFUk5TLkVNQUlMLFxuICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXG4gICAgdHlwZXM6IFtTdHJpbmcubmFtZV0sXG4gIH0pO1xufVxuXG4vKipcbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIHByb3BlcnR5IGFzIGFuIFVSTFxuICogQGRlc2NyaXB0aW9uIFZhbGlkYXRvcnMgdG8gdmFsaWRhdGUgYSBkZWNvcmF0ZWQgcHJvcGVydHkgbXVzdCB1c2Uga2V5IHtAbGluayBWYWxpZGF0aW9uS2V5cyNVUkx9XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXSB0aGUgZXJyb3IgbWVzc2FnZS4gRGVmYXVsdHMgdG8ge0BsaW5rIERFRkFVTFRfRVJST1JfTUVTU0FHRVMjVVJMfVxuICpcbiAqIEBmdW5jdGlvbiB1cmxcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uRGVjb3JhdG9ycy5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgRGVjb3JhdG9yc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXJsKG1lc3NhZ2U6IHN0cmluZyA9IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuVVJMKSB7XG4gIHJldHVybiBtZXRhZGF0YTxWYWxpZGF0aW9uTWV0YWRhdGE+KGdldFZhbGlkYXRpb25LZXkoVmFsaWRhdGlvbktleXMuVVJMKSwge1xuICAgIHBhdHRlcm46IERFRkFVTFRfUEFUVEVSTlMuVVJMLFxuICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXG4gICAgdHlwZXM6IFtTdHJpbmcubmFtZV0sXG4gIH0pO1xufVxuXG4vKipcbiAqIEBzdW1tYXJ5IEVuZm9yY2VzIHR5cGUgdmVyaWZpY2F0aW9uXG4gKiBAZGVzY3JpcHRpb24gVmFsaWRhdG9ycyB0byB2YWxpZGF0ZSBhIGRlY29yYXRlZCBwcm9wZXJ0eSBtdXN0IHVzZSBrZXkge0BsaW5rIFZhbGlkYXRpb25LZXlzI1RZUEV9XG4gKlxuICogQHBhcmFtIHtzdHJpbmdbXSB8IHN0cmluZ30gdHlwZXMgYWNjZXB0ZWQgdHlwZXNcbiAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV0gdGhlIGVycm9yIG1lc3NhZ2UuIERlZmF1bHRzIHRvIHtAbGluayBERUZBVUxUX0VSUk9SX01FU1NBR0VTI1RZUEV9XG4gKlxuICogQGZ1bmN0aW9uIHR5cGVcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uRGVjb3JhdG9ycy5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgRGVjb3JhdG9yc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdHlwZShcbiAgdHlwZXM6IHN0cmluZ1tdIHwgc3RyaW5nLFxuICBtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlRZUEUsXG4pIHtcbiAgcmV0dXJuIG1ldGFkYXRhPFZhbGlkYXRpb25NZXRhZGF0YT4oZ2V0VmFsaWRhdGlvbktleShWYWxpZGF0aW9uS2V5cy5UWVBFKSwge1xuICAgIGN1c3RvbVR5cGVzOiB0eXBlcyxcbiAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICB9KTtcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBEYXRlIEhhbmRsZXIgRGVjb3JhdG9yXG4gKiBAZGVzY3JpcHRpb24gVmFsaWRhdG9ycyB0byB2YWxpZGF0ZSBhIGRlY29yYXRlZCBwcm9wZXJ0eSBtdXN0IHVzZSBrZXkge0BsaW5rIFZhbGlkYXRpb25LZXlzI0RBVEV9XG4gKlxuICogV2lsbCBlbmZvcmNlIHNlcmlhbGl6YXRpb24gYWNjb3JkaW5nIHRvIHRoZSBzZWxlY3RlZCBmb3JtYXRcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gZm9ybWF0IGFjY2VwdGVkIGZvcm1hdCBhY2NvcmRpbmcgdG8ge0BsaW5rIGZvcm1hdERhdGV9XG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdIHRoZSBlcnJvciBtZXNzYWdlLiBEZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNEQVRFfVxuICogQHBhcmFtIHtDb25zdHJ1Y3RvcjxWYWxpZGF0b3I+fSBbdmFsaWRhdG9yXSB0aGUgVmFsaWRhdG9yIHRvIGJlIHVzZWQuIERlZmF1bHRzIHRvIHtAbGluayBEYXRlVmFsaWRhdG9yfVxuICpcbiAqIEBmdW5jdGlvbiBkYXRlXG4gKlxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5EZWNvcmF0b3JzLlZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBEZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkYXRlKFxuICBmb3JtYXQ6IHN0cmluZyA9IFwiZGQvTU0veXl5eVwiLFxuICBtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLkRBVEUsXG4pIHtcbiAgcmV0dXJuICh0YXJnZXQ6IFJlY29yZDxzdHJpbmcsIGFueT4sIHByb3BlcnR5S2V5OiBzdHJpbmcpOiBhbnkgPT4ge1xuICAgIG1ldGFkYXRhKGdldFZhbGlkYXRpb25LZXkoVmFsaWRhdGlvbktleXMuREFURSksIHtcbiAgICAgIGZvcm1hdDogZm9ybWF0LFxuICAgICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICAgIHR5cGVzOiBbRGF0ZS5uYW1lXSxcbiAgICB9KSh0YXJnZXQsIHByb3BlcnR5S2V5KTtcblxuICAgIGNvbnN0IHZhbHVlcyA9IG5ldyBXZWFrTWFwKCk7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBwcm9wZXJ0eUtleSwge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIHNldCh0aGlzOiBhbnksIG5ld1ZhbHVlOiBzdHJpbmcgfCBEYXRlKSB7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRoaXMsIHByb3BlcnR5S2V5KTtcbiAgICAgICAgaWYgKCFkZXNjcmlwdG9yIHx8IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlKVxuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBwcm9wZXJ0eUtleSwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBnZXQ6ICgpID0+IHZhbHVlcy5nZXQodGhpcyksXG4gICAgICAgICAgICBzZXQ6IChuZXdWYWx1ZTogc3RyaW5nIHwgRGF0ZSB8IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICBsZXQgdmFsOiBEYXRlIHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHZhbCA9IHBhcnNlRGF0ZShmb3JtYXQsIG5ld1ZhbHVlKTtcbiAgICAgICAgICAgICAgICB2YWx1ZXMuc2V0KHRoaXMsIHZhbCk7XG4gICAgICAgICAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3Ioc2YoXCJGYWlsZWQgdG8gcGFyc2UgZGF0ZTogezB9XCIsIGUubWVzc2FnZSB8fCBlKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIHRoaXNbcHJvcGVydHlLZXldID0gbmV3VmFsdWU7XG4gICAgICB9LFxuICAgICAgZ2V0KCkge1xuICAgICAgICBjb25zb2xlLmxvZyhcImhlcmVcIik7XG4gICAgICB9LFxuICAgIH0pO1xuICB9O1xufVxuXG4vKipcbiAqIEBzdW1tYXJ5IFBhc3N3b3JkIEhhbmRsZXIgRGVjb3JhdG9yXG4gKiBAZGVzY3JpcHRpb24gVmFsaWRhdG9ycyB0byB2YWxpZGF0ZSBhIGRlY29yYXRlZCBwcm9wZXJ0eSBtdXN0IHVzZSBrZXkge0BsaW5rIFZhbGlkYXRpb25LZXlzI1BBU1NXT1JEfVxuICpcbiAqIEBwYXJhbSB7UmVnRXhwfSBbcGF0dGVybl0gZGVmYXVsdHMgdG8ge0BsaW5rIFBhc3N3b3JkUGF0dGVybnMjQ0hBUjhfT05FX09GX0VBQ0h9XG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdIHRoZSBlcnJvciBtZXNzYWdlLiBEZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNQQVNTV09SRH1cbiAqIEBwYXJhbSB7Q29uc3RydWN0b3I8VmFsaWRhdG9yPn0gW3ZhbGlkYXRvcl0gRGVmYXVsdHMgdG8ge0BsaW5rIFBhc3N3b3JkVmFsaWRhdG9yfVxuICpcbiAqIEBmdW5jdGlvbiBwYXNzd29yZFxuICpcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uRGVjb3JhdG9ycy5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgRGVjb3JhdG9yc1xuICovXG5leHBvcnQgZnVuY3Rpb24gcGFzc3dvcmQoXG4gIHBhdHRlcm46IFJlZ0V4cCA9IERFRkFVTFRfUEFUVEVSTlMuUEFTU1dPUkQuQ0hBUjhfT05FX09GX0VBQ0gsXG4gIG1lc3NhZ2U6IHN0cmluZyA9IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuUEFTU1dPUkQsXG4pIHtcbiAgcmV0dXJuIG1ldGFkYXRhKGdldFZhbGlkYXRpb25LZXkoVmFsaWRhdGlvbktleXMuUEFTU1dPUkQpLCB7XG4gICAgcGF0dGVybjogcGF0dGVybixcbiAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICAgIHR5cGVzOiBbU3RyaW5nLm5hbWVdLFxuICB9KTtcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBMaXN0IERlY29yYXRvclxuICogQGRlc2NyaXB0aW9uIEFsc28gc2V0cyB0aGUge0BsaW5rIHR5cGV9IHRvIHRoZSBwcm92aWRlZCBjb2xsZWN0aW9uXG4gKlxuICogQHBhcmFtIHtNb2RlbENvbnN0cnVjdG9yfSBjbGF6elxuICogQHBhcmFtIHtzdHJpbmd9IFtjb2xsZWN0aW9uXSBUaGUgY29sbGVjdGlvbiBiZWluZyB1c2VkLiBkZWZhdWx0cyB0byBBcnJheVxuICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXSBkZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNMSVNUfVxuICogQHBhcmFtIHtDb25zdHJ1Y3RvcjxWYWxpZGF0b3I+fSBbdmFsaWRhdG9yXSBkZWZhdWx0cyB0byB7QGxpbmsgTGlzdFZhbGlkYXRvcn1cbiAqXG4gKiBAZnVuY3Rpb24gbGlzdFxuICpcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uRGVjb3JhdG9ycy5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgRGVjb3JhdG9yc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbGlzdChcbiAgY2xheno6IE1vZGVsQ29uc3RydWN0b3I8YW55PiB8IE1vZGVsQ29uc3RydWN0b3I8YW55PltdLFxuICBjb2xsZWN0aW9uOiBcIkFycmF5XCIgfCBcIlNldFwiID0gXCJBcnJheVwiLFxuICBtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLkxJU1QsXG4pIHtcbiAgcmV0dXJuIG1ldGFkYXRhKGdldFZhbGlkYXRpb25LZXkoVmFsaWRhdGlvbktleXMuTElTVCksIHtcbiAgICBjbGFzczogQXJyYXkuaXNBcnJheShjbGF6eikgPyBjbGF6ei5tYXAoKGMpID0+IGMubmFtZSkgOiBbY2xhenoubmFtZV0sXG4gICAgdHlwZTogY29sbGVjdGlvbixcbiAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICB9KTtcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBTZXQgRGVjb3JhdG9yXG4gKiBAZGVzY3JpcHRpb24gV3JhcHBlciBmb3Ige0BsaW5rIGxpc3R9IHdpdGggdGhlICdTZXQnIENvbGxlY3Rpb25cbiAqXG4gKiBAcGFyYW0ge01vZGVsQ29uc3RydWN0b3J9IGNsYXp6XG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdIGRlZmF1bHRzIHRvIHtAbGluayBERUZBVUxUX0VSUk9SX01FU1NBR0VTI0xJU1R9XG4gKiBAcGFyYW0ge0NvbnN0cnVjdG9yPFZhbGlkYXRvcj59IFt2YWxpZGF0b3JdXG4gKlxuICogQGZ1bmN0aW9uIHNldFxuICpcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uRGVjb3JhdG9ycy5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgRGVjb3JhdG9yc1xuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0KFxuICBjbGF6ejogTW9kZWxDb25zdHJ1Y3Rvcjxhbnk+LFxuICBtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLkxJU1QsXG4pIHtcbiAgcmV0dXJuIGxpc3QoY2xhenosIFwiU2V0XCIsIG1lc3NhZ2UpO1xufVxuIl19
@@ -1,6 +1,5 @@
1
1
  import "reflect-metadata";
2
- import { Constructor, ModelConstructor } from "../model/types";
3
- import { Validator } from "./Validators/Validator";
2
+ import { ModelConstructor } from "../model/types";
4
3
  /**
5
4
  * @summary Marks the property as required.
6
5
  * @description Validators to validate a decorated property must use key {@link ValidationKeys#REQUIRED}
@@ -147,7 +146,7 @@ export declare function date(format?: string, message?: string): (target: Record
147
146
  * @memberOf module:decorator-validation.Decorators.Validation
148
147
  * @category Decorators
149
148
  */
150
- export declare function password(pattern?: RegExp, message?: string, validator?: Constructor<Validator>): (target: any, propertyKey: string) => void;
149
+ export declare function password(pattern?: RegExp, message?: string): import("@decaf-ts/reflection").CustomDecorator<V>;
151
150
  /**
152
151
  * @summary List Decorator
153
152
  * @description Also sets the {@link type} to the provided collection
@@ -162,7 +161,7 @@ export declare function password(pattern?: RegExp, message?: string, validator?:
162
161
  * @memberOf module:decorator-validation.Decorators.Validation
163
162
  * @category Decorators
164
163
  */
165
- export declare function list(clazz: ModelConstructor<any>, collection?: "Array" | "Set", message?: string, validator?: Constructor<Validator>): (target: any, propertyKey: string) => any;
164
+ export declare function list(clazz: ModelConstructor<any> | ModelConstructor<any>[], collection?: "Array" | "Set", message?: string): import("@decaf-ts/reflection").CustomDecorator<V>;
166
165
  /**
167
166
  * @summary Set Decorator
168
167
  * @description Wrapper for {@link list} with the 'Set' Collection
@@ -176,4 +175,4 @@ export declare function list(clazz: ModelConstructor<any>, collection?: "Array"
176
175
  * @memberOf module:decorator-validation.Decorators.Validation
177
176
  * @category Decorators
178
177
  */
179
- export declare function set(clazz: ModelConstructor<any>, message?: string, validator?: Constructor<Validator>): (target: any, propertyKey: string) => any;
178
+ export declare function set(clazz: ModelConstructor<any>, message?: string): import("@decaf-ts/reflection").CustomDecorator<V>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decaf-ts/decorator-validation",
3
- "version": "1.1.8",
3
+ "version": "1.3.1",
4
4
  "description": "simple decorator based validation engine",
5
5
  "type": "module",
6
6
  "exports": {
@@ -1,54 +0,0 @@
1
- import { DateValidator } from "./DateValidator";
2
- import { TypeValidator } from "./TypeValidator";
3
- import { PasswordValidator } from "./PasswordValidator";
4
- import { StepValidator } from "./StepValidator";
5
- import { URLValidator } from "./URLValidator";
6
- import { PatternValidator } from "./PatternValidator";
7
- import { MinValidator } from "./MinValidator";
8
- import { MinLengthValidator } from "./MinLengthValidator";
9
- import { MaxValidator } from "./MaxValidator";
10
- import { MaxLengthValidator } from "./MaxLengthValidator";
11
- import { RequiredValidator } from "./RequiredValidator";
12
- import { EmailValidator } from "./EmailValidator";
13
- import { ListValidator } from "./ListValidator";
14
- export * from "./constants";
15
- export * from "./DateValidator";
16
- export * from "./decorators";
17
- export * from "./EmailValidator";
18
- export * from "./ListValidator";
19
- export * from "./MaxLengthValidator";
20
- export * from "./MaxValidator";
21
- export * from "./MinLengthValidator";
22
- export * from "./MinValidator";
23
- export * from "./PasswordValidator";
24
- export * from "./PatternValidator";
25
- export * from "./RequiredValidator";
26
- export * from "./StepValidator";
27
- export * from "./types";
28
- export * from "./TypeValidator";
29
- export * from "./URLValidator";
30
- export * from "./Validator";
31
- export * from "./ValidatorRegistry";
32
- /**
33
- * @summary constant holding all {@link Validator}s
34
- * @constant Validators
35
- * @memberOf module:decorator-validation.Validation.Validators
36
- * @category Validation
37
- */
38
- export const Validators = {
39
- EmailValidator,
40
- RequiredValidator,
41
- MaxLengthValidator,
42
- MaxValidator,
43
- MinLengthValidator,
44
- MinValidator,
45
- PatternValidator,
46
- URLValidator,
47
- StepValidator,
48
- DateValidator,
49
- TypeValidator,
50
- PasswordValidator,
51
- ListValidator,
52
- };
53
-
54
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRCxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMscUJBQXFCLENBQUM7QUFDcEM7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDeEIsY0FBYztJQUNkLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWixhQUFhO0lBQ2IsYUFBYTtJQUNiLGFBQWE7SUFDYixpQkFBaUI7SUFDakIsYUFBYTtDQUNkLENBQUMiLCJmaWxlIjoidmFsaWRhdGlvbi9WYWxpZGF0b3JzL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVZhbGlkYXRvciB9IGZyb20gXCIuL0RhdGVWYWxpZGF0b3JcIjtcbmltcG9ydCB7IFR5cGVWYWxpZGF0b3IgfSBmcm9tIFwiLi9UeXBlVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBQYXNzd29yZFZhbGlkYXRvciB9IGZyb20gXCIuL1Bhc3N3b3JkVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBTdGVwVmFsaWRhdG9yIH0gZnJvbSBcIi4vU3RlcFZhbGlkYXRvclwiO1xuaW1wb3J0IHsgVVJMVmFsaWRhdG9yIH0gZnJvbSBcIi4vVVJMVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBQYXR0ZXJuVmFsaWRhdG9yIH0gZnJvbSBcIi4vUGF0dGVyblZhbGlkYXRvclwiO1xuaW1wb3J0IHsgTWluVmFsaWRhdG9yIH0gZnJvbSBcIi4vTWluVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBNaW5MZW5ndGhWYWxpZGF0b3IgfSBmcm9tIFwiLi9NaW5MZW5ndGhWYWxpZGF0b3JcIjtcbmltcG9ydCB7IE1heFZhbGlkYXRvciB9IGZyb20gXCIuL01heFZhbGlkYXRvclwiO1xuaW1wb3J0IHsgTWF4TGVuZ3RoVmFsaWRhdG9yIH0gZnJvbSBcIi4vTWF4TGVuZ3RoVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBSZXF1aXJlZFZhbGlkYXRvciB9IGZyb20gXCIuL1JlcXVpcmVkVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBFbWFpbFZhbGlkYXRvciB9IGZyb20gXCIuL0VtYWlsVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBMaXN0VmFsaWRhdG9yIH0gZnJvbSBcIi4vTGlzdFZhbGlkYXRvclwiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0RhdGVWYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0VtYWlsVmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9MaXN0VmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9NYXhMZW5ndGhWYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL01heFZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vTWluTGVuZ3RoVmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9NaW5WYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1Bhc3N3b3JkVmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9QYXR0ZXJuVmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9SZXF1aXJlZFZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vU3RlcFZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1R5cGVWYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1VSTFZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vVmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9WYWxpZGF0b3JSZWdpc3RyeVwiO1xuLyoqXG4gKiBAc3VtbWFyeSBjb25zdGFudCBob2xkaW5nIGFsbCB7QGxpbmsgVmFsaWRhdG9yfXNcbiAqIEBjb25zdGFudCBWYWxpZGF0b3JzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uLlZhbGlkYXRpb24uVmFsaWRhdG9yc1xuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IFZhbGlkYXRvcnMgPSB7XG4gIEVtYWlsVmFsaWRhdG9yLFxuICBSZXF1aXJlZFZhbGlkYXRvcixcbiAgTWF4TGVuZ3RoVmFsaWRhdG9yLFxuICBNYXhWYWxpZGF0b3IsXG4gIE1pbkxlbmd0aFZhbGlkYXRvcixcbiAgTWluVmFsaWRhdG9yLFxuICBQYXR0ZXJuVmFsaWRhdG9yLFxuICBVUkxWYWxpZGF0b3IsXG4gIFN0ZXBWYWxpZGF0b3IsXG4gIERhdGVWYWxpZGF0b3IsXG4gIFR5cGVWYWxpZGF0b3IsXG4gIFBhc3N3b3JkVmFsaWRhdG9yLFxuICBMaXN0VmFsaWRhdG9yLFxufTtcbiJdfQ==
@@ -1,3 +0,0 @@
1
- export {};
2
-
3
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJ2YWxpZGF0aW9uL1ZhbGlkYXRvcnMvdHlwZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3IgfSBmcm9tIFwiLi9WYWxpZGF0b3JcIjtcbmltcG9ydCB7IElSZWdpc3RyeSB9IGZyb20gXCIuLi8uLi91dGlscy9yZWdpc3RyeVwiO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tIFwiLi4vLi4vbW9kZWwvdHlwZXNcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBVdGlsIHR5cGUgZm9yIHtAbGluayBWYWxpZGF0b3J9IGNvbmZpZ3VyYXRpb25cbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uVmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IHR5cGUgVmFsaWRhdG9yRGVmaW5pdGlvbiA9IHtcbiAgdmFsaWRhdG9yOiBDb25zdHJ1Y3RvcjxWYWxpZGF0b3I+O1xuICB2YWxpZGF0aW9uS2V5OiBzdHJpbmc7XG4gIHNhdmU6IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIEBzdW1tYXJ5IEJhc2UgQVBJIGZvciBhIHtAbGluayBWYWxpZGF0b3J9IHJlZ2lzdHJ5XG4gKlxuICogQGludGVyZmFjZSBWYWxpZGF0b3JSZWdpc3RyeVxuICogQGV4dGVuZHMgSVJlZ2lzdHJ5XG4gKlxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJVmFsaWRhdG9yUmVnaXN0cnk8VCBleHRlbmRzIFZhbGlkYXRvcj4gZXh0ZW5kcyBJUmVnaXN0cnk8VD4ge1xuICAvKipcbiAgICogQHN1bW1hcnkgcmV0cmlldmVzIHRoZSBjdXN0b20ga2V5c1xuICAgKiBAbWV0aG9kXG4gICAqL1xuICBnZXRDdXN0b21LZXlzKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFJldHJpZXZlcyB0aGUgUmVnaXN0ZXJlZCB2YWxpZGF0b3Iga2V5c1xuICAgKiBAcmV0dXJuIHtzdHJpbmdbXX0gdGhlIHJlZ2lzdGVyZWQgdmFsaWRhdG9ycyBrZXlzXG4gICAqIEBtZXRob2RcbiAgICovXG4gIGdldEtleXMoKTogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFJlZ2lzdGVycyB0aGUgcHJvdmlkZWQgdmFsaWRhdG9ycyBvbnRvIHRoZSByZWdpc3RyeVxuICAgKlxuICAgKiBAdHlwZWRlZiBUIGV4dGVuZHMgVmFsaWRhdG9yXG4gICAqIEBwYXJhbSB7VFtdIHwgVmFsaWRhdG9yRGVmaW5pdGlvbltdfSB2YWxpZGF0b3JcbiAgICogQG1ldGhvZFxuICAgKi9cbiAgcmVnaXN0ZXI8VCBleHRlbmRzIFZhbGlkYXRvcj4oXG4gICAgLi4udmFsaWRhdG9yOiAoVCB8IFZhbGlkYXRvckRlZmluaXRpb24pW11cbiAgKTogdm9pZDtcblxuICAvKipcbiAgICogQHN1bW1hcnkgUmV0cmlldmVzIHRoZSBWYWxpZGF0b3IgY29uc3RydWN0b3IgaWYgcmVnaXN0ZXJlZFxuICAgKlxuICAgKiBAdHlwZWRlZiBUIGV4dGVuZHMgVmFsaWRhdG9yXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgb25lIG9mIHRoZSB7QGxpbmsgVmFsaWRhdGlvbktleXN9XG4gICAqIEByZXR1cm4ge1ZhbGlkYXRvciB8IHVuZGVmaW5lZH0gdGhlIHJlZ2lzdGVyZWQgVmFsaWRhdG9yIG9yIHVuZGVmaW5lZCBpZiB0aGVyZSBpcyBub25vIG1hdGNoaW5nIHRoZSBwcm92aWRlZCBrZXlcbiAgICogQG1ldGhvZFxuICAgKi9cbiAgZ2V0PFQgZXh0ZW5kcyBWYWxpZGF0b3I+KGtleTogc3RyaW5nKTogVCB8IHVuZGVmaW5lZDtcbn1cbiJdfQ==