@decaf-ts/decorator-validation 1.7.3 → 1.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/LICENSE.md +21 -157
  2. package/dist/decorator-validation.cjs +461 -265
  3. package/dist/decorator-validation.esm.cjs +459 -265
  4. package/lib/constants/errors.cjs +19 -0
  5. package/lib/constants/errors.d.ts +11 -0
  6. package/lib/constants/index.cjs +2 -1
  7. package/lib/constants/index.d.ts +1 -0
  8. package/lib/esm/constants/errors.d.ts +11 -0
  9. package/lib/esm/constants/errors.js +16 -0
  10. package/lib/esm/constants/index.d.ts +1 -0
  11. package/lib/esm/constants/index.js +3 -2
  12. package/lib/esm/index.d.ts +1 -1
  13. package/lib/esm/index.js +6 -6
  14. package/lib/esm/mcp/ModelContextProtocol.d.ts +31 -0
  15. package/lib/esm/mcp/ModelContextProtocol.js +66 -0
  16. package/lib/esm/mcp/mcp1.d.ts +0 -0
  17. package/lib/esm/mcp/mcp1.js +405 -0
  18. package/lib/esm/mcp/tools/createModel.tool.d.ts +0 -0
  19. package/lib/esm/mcp/tools/createModel.tool.js +67 -0
  20. package/lib/esm/mcp/tools/validateModel.tool.d.ts +0 -0
  21. package/lib/esm/mcp/tools/validateModel.tool.js +2 -0
  22. package/lib/esm/mcp/types.d.ts +3 -0
  23. package/lib/esm/mcp/types.js +2 -0
  24. package/lib/esm/model/Builder.d.ts +0 -0
  25. package/lib/esm/model/Builder.js +130 -0
  26. package/lib/esm/model/Model.d.ts +1 -0
  27. package/lib/esm/model/Model.js +19 -9
  28. package/lib/esm/model/construction.js +2 -2
  29. package/lib/esm/model/decorators.d.ts +10 -0
  30. package/lib/esm/model/decorators.js +16 -4
  31. package/lib/esm/model/index.js +9 -9
  32. package/lib/esm/model/utils.js +2 -2
  33. package/lib/esm/model/validation.js +16 -13
  34. package/lib/esm/utils/Decoration.js +2 -2
  35. package/lib/esm/utils/PathProxy.d.ts +43 -0
  36. package/lib/esm/utils/PathProxy.js +89 -0
  37. package/lib/esm/utils/constants.d.ts +1 -0
  38. package/lib/esm/utils/constants.js +2 -1
  39. package/lib/esm/utils/dates.js +3 -3
  40. package/lib/esm/utils/decorators.js +2 -2
  41. package/lib/esm/utils/index.d.ts +1 -0
  42. package/lib/esm/utils/index.js +11 -10
  43. package/lib/esm/utils/serialization.js +4 -4
  44. package/lib/esm/validation/Validation.d.ts +3 -0
  45. package/lib/esm/validation/Validation.js +14 -3
  46. package/lib/esm/validation/Validators/DateValidator.js +4 -4
  47. package/lib/esm/validation/Validators/DiffValidator.d.ts +4 -2
  48. package/lib/esm/validation/Validators/DiffValidator.js +8 -8
  49. package/lib/esm/validation/Validators/EmailValidator.js +4 -4
  50. package/lib/esm/validation/Validators/EqualsValidator.d.ts +4 -2
  51. package/lib/esm/validation/Validators/EqualsValidator.js +8 -8
  52. package/lib/esm/validation/Validators/GreaterThanOrEqualValidator.d.ts +4 -2
  53. package/lib/esm/validation/Validators/GreaterThanOrEqualValidator.js +9 -8
  54. package/lib/esm/validation/Validators/GreaterThanValidator.d.ts +4 -2
  55. package/lib/esm/validation/Validators/GreaterThanValidator.js +9 -8
  56. package/lib/esm/validation/Validators/LessThanOrEqualValidator.d.ts +4 -2
  57. package/lib/esm/validation/Validators/LessThanOrEqualValidator.js +9 -8
  58. package/lib/esm/validation/Validators/LessThanValidator.d.ts +4 -2
  59. package/lib/esm/validation/Validators/LessThanValidator.js +9 -8
  60. package/lib/esm/validation/Validators/ListValidator.js +4 -4
  61. package/lib/esm/validation/Validators/MaxLengthValidator.js +4 -4
  62. package/lib/esm/validation/Validators/MaxValidator.js +4 -4
  63. package/lib/esm/validation/Validators/MinLengthValidator.js +4 -4
  64. package/lib/esm/validation/Validators/MinValidator.js +4 -4
  65. package/lib/esm/validation/Validators/PasswordValidator.js +4 -4
  66. package/lib/esm/validation/Validators/PatternValidator.js +4 -4
  67. package/lib/esm/validation/Validators/RequiredValidator.js +4 -4
  68. package/lib/esm/validation/Validators/StepValidator.js +4 -4
  69. package/lib/esm/validation/Validators/TypeValidator.js +6 -6
  70. package/lib/esm/validation/Validators/URLValidator.js +4 -4
  71. package/lib/esm/validation/Validators/Validator.d.ts +3 -2
  72. package/lib/esm/validation/Validators/Validator.js +3 -3
  73. package/lib/esm/validation/Validators/ValidatorRegistry.js +2 -2
  74. package/lib/esm/validation/Validators/constants.d.ts +0 -13
  75. package/lib/esm/validation/Validators/constants.js +2 -15
  76. package/lib/esm/validation/Validators/decorators.js +3 -3
  77. package/lib/esm/validation/Validators/index.js +25 -25
  78. package/lib/esm/validation/Validators/utils.d.ts +0 -14
  79. package/lib/esm/validation/Validators/utils.js +69 -56
  80. package/lib/esm/validation/decorators.d.ts +26 -3
  81. package/lib/esm/validation/decorators.js +107 -58
  82. package/lib/esm/validation/index.js +5 -5
  83. package/lib/esm/validation/types.d.ts +11 -5
  84. package/lib/esm/validation/types.js +2 -2
  85. package/lib/index.cjs +1 -1
  86. package/lib/index.d.ts +1 -1
  87. package/lib/mcp/ModelContextProtocol.cjs +70 -0
  88. package/lib/mcp/ModelContextProtocol.d.ts +31 -0
  89. package/lib/mcp/mcp1.cjs +405 -0
  90. package/lib/mcp/mcp1.d.ts +0 -0
  91. package/lib/mcp/tools/createModel.tool.cjs +67 -0
  92. package/lib/mcp/tools/createModel.tool.d.ts +0 -0
  93. package/lib/mcp/tools/validateModel.tool.cjs +2 -0
  94. package/lib/mcp/tools/validateModel.tool.d.ts +0 -0
  95. package/lib/mcp/types.cjs +3 -0
  96. package/lib/mcp/types.d.ts +3 -0
  97. package/lib/model/Builder.cjs +130 -0
  98. package/lib/model/Builder.d.ts +0 -0
  99. package/lib/model/Model.cjs +12 -2
  100. package/lib/model/Model.d.ts +1 -0
  101. package/lib/model/decorators.cjs +14 -1
  102. package/lib/model/decorators.d.ts +10 -0
  103. package/lib/model/validation.cjs +8 -5
  104. package/lib/utils/PathProxy.cjs +93 -0
  105. package/lib/utils/PathProxy.d.ts +43 -0
  106. package/lib/utils/constants.cjs +2 -1
  107. package/lib/utils/constants.d.ts +1 -0
  108. package/lib/utils/index.cjs +2 -1
  109. package/lib/utils/index.d.ts +1 -0
  110. package/lib/validation/Validation.cjs +12 -1
  111. package/lib/validation/Validation.d.ts +3 -0
  112. package/lib/validation/Validators/DiffValidator.cjs +5 -5
  113. package/lib/validation/Validators/DiffValidator.d.ts +4 -2
  114. package/lib/validation/Validators/EqualsValidator.cjs +5 -5
  115. package/lib/validation/Validators/EqualsValidator.d.ts +4 -2
  116. package/lib/validation/Validators/GreaterThanOrEqualValidator.cjs +5 -4
  117. package/lib/validation/Validators/GreaterThanOrEqualValidator.d.ts +4 -2
  118. package/lib/validation/Validators/GreaterThanValidator.cjs +5 -4
  119. package/lib/validation/Validators/GreaterThanValidator.d.ts +4 -2
  120. package/lib/validation/Validators/LessThanOrEqualValidator.cjs +5 -4
  121. package/lib/validation/Validators/LessThanOrEqualValidator.d.ts +4 -2
  122. package/lib/validation/Validators/LessThanValidator.cjs +5 -4
  123. package/lib/validation/Validators/LessThanValidator.d.ts +4 -2
  124. package/lib/validation/Validators/Validator.cjs +1 -1
  125. package/lib/validation/Validators/Validator.d.ts +3 -2
  126. package/lib/validation/Validators/constants.cjs +2 -15
  127. package/lib/validation/Validators/constants.d.ts +0 -13
  128. package/lib/validation/Validators/utils.cjs +79 -67
  129. package/lib/validation/Validators/utils.d.ts +0 -14
  130. package/lib/validation/decorators.cjs +102 -52
  131. package/lib/validation/decorators.d.ts +26 -3
  132. package/lib/validation/types.cjs +1 -1
  133. package/lib/validation/types.d.ts +11 -5
  134. package/package.json +16 -5
@@ -1,6 +1,6 @@
1
- import { Model } from "../model/Model";
2
- import { ModelKeys } from "./constants";
3
- import { getMetadata } from "../model/utils";
1
+ import { Model } from "./../model/Model.js";
2
+ import { ModelKeys } from "./constants.js";
3
+ import { getMetadata } from "./../model/utils.js";
4
4
  export const DefaultSerializationMethod = "json";
5
5
  /**
6
6
  * @summary Concrete implementation of a {@link Serializer} in JSON format
@@ -88,4 +88,4 @@ export class Serialization {
88
88
  this.current = this.get(method);
89
89
  }
90
90
  }
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXphdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9zZXJpYWxpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxNQUFNLENBQUM7QUFFakQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFDekIsZ0JBQWUsQ0FBQztJQUNoQjs7Ozs7OztPQU9HO0lBQ08sWUFBWSxDQUFDLEtBQVE7UUFDN0IsNkVBQTZFO1FBQzdFLE1BQU0sV0FBVyxHQUF3QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsRSxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxRQUFRLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDbkUsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsV0FBVyxDQUFDLEdBQVc7UUFDckIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QyxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxTQUFTO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sS0FBSyxHQUFNLEtBQUssQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLFNBQVMsQ0FBaUIsQ0FBQztRQUN6RSxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFNBQVMsQ0FBQyxLQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGFBQWE7YUFDVCxZQUFPLEdBQVcsMEJBQTBCLENBQUM7YUFFN0MsVUFBSyxHQUFvQztRQUN0RCxJQUFJLEVBQUUsSUFBSSxjQUFjLEVBQUU7S0FDM0IsQ0FBQztJQUVGLGdCQUF1QixDQUFDO0lBRWhCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBVztRQUM1QixJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUNiLEdBQVcsRUFDWCxJQUFrQyxFQUNsQyxVQUFVLEdBQUcsS0FBSztRQUVsQixJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSztZQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixHQUFHLHFCQUFxQixDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksVUFBVTtZQUFFLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQVEsRUFBRSxNQUFlLEVBQUUsR0FBRyxJQUFXO1FBQ3hELElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDbkUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFXLEVBQUUsTUFBZSxFQUFFLEdBQUcsSUFBVztRQUM3RCxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBYztRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSBcIi4uL21vZGVsL3R5cGVzXCI7XG5pbXBvcnQgeyBTZXJpYWxpemVyIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIi4uL21vZGVsL01vZGVsXCI7XG5pbXBvcnQgeyBNb2RlbEtleXMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGdldE1ldGFkYXRhIH0gZnJvbSBcIi4uL21vZGVsL3V0aWxzXCI7XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0U2VyaWFsaXphdGlvbk1ldGhvZCA9IFwianNvblwiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IENvbmNyZXRlIGltcGxlbWVudGF0aW9uIG9mIGEge0BsaW5rIFNlcmlhbGl6ZXJ9IGluIEpTT04gZm9ybWF0XG4gKiBAZGVzY3JpcHRpb24gSlMncyBuYXRpdmUgSlNPTi5zdHJpbmdpZnkgKHVzZWQgaGVyZSkgaXMgbm90IGRldGVybWluaXN0aWNcbiAqIGFuZCB0aGVyZWZvcmUgc2hvdWxkIG5vdCBiZSB1c2VkIGZvciBoYXNoaW5nIHB1cnBvc2VzXG4gKlxuICogVG8ga2VlcCBkZXBlbmRlbmNpZXMgbG93LCB3ZSB3aWxsIG5vdCBpbXBsZW1lbnQgdGhpcywgYnV0IHdlIHJlY29tbWVuZFxuICogaW1wbGVtZW50aW5nIGEgc2ltaWxhciB7QGxpbmsgSlNPTlNlcmlhbGl6ZXJ9IHVzaW5nICdkZXRlcm1pbmlzdGljLWpzb24nIGxpYnJhcmllc1xuICpcbiAqIEBjbGFzcyBKU09OU2VyaWFsaXplclxuICogQGltcGxlbWVudHMgU2VyaWFsaXplclxuICpcbiAqIEBjYXRlZ29yeSBNb2RlbFxuICovXG5leHBvcnQgY2xhc3MgSlNPTlNlcmlhbGl6ZXI8VCBleHRlbmRzIE1vZGVsPiBpbXBsZW1lbnRzIFNlcmlhbGl6ZXI8VD4ge1xuICBjb25zdHJ1Y3RvcigpIHt9XG4gIC8qKlxuICAgKiBAc3VtbWFyeSBwcmVwYXJlcyB0aGUgbW9kZWwgZm9yIHNlcmlhbGl6YXRpb25cbiAgICogQGRlc2NyaXB0aW9uIHJldHVybnMgYSBzaGFsbG93IGNvcHkgb2YgdGhlIG9iamVjdCwgY29udGFpbmluZyBhbiBlbnVtZXJhYmxlIHtAbGluayBNb2RlbEtleXMjQU5DSE9SfSBwcm9wZXJ0eVxuICAgKiBzbyB0aGUgb2JqZWN0IGNhbiBiZSByZWNvZ25pemVkIHVwb24gZGVzZXJpYWxpemF0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7VH0gbW9kZWxcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIHByZVNlcmlhbGl6ZShtb2RlbDogVCkge1xuICAgIC8vIFRPRE86IG5lc3RlZCBwcmVzZXJpYWxpemF0aW9uIChzbyBpbmNyZWFzZSBwZXJmb3JtYW5jZSB3aGVuIGRlc2VyaWFsaXppbmcpXG4gICAgY29uc3QgdG9TZXJpYWxpemU6IFJlY29yZDxzdHJpbmcsIGFueT4gPSBPYmplY3QuYXNzaWduKHt9LCBtb2RlbCk7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBnZXRNZXRhZGF0YShtb2RlbCk7XG4gICAgdG9TZXJpYWxpemVbTW9kZWxLZXlzLkFOQ0hPUl0gPSBtZXRhZGF0YSB8fCBtb2RlbC5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgIHJldHVybiB0b1NlcmlhbGl6ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBSZWJ1aWxkcyBhIG1vZGVsIGZyb20gYSBzZXJpYWxpemF0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzdHJcbiAgICpcbiAgICogQHRocm93cyB7RXJyb3J9IElmIGl0IGZhaWxzIHRvIHBhcnNlIHRoZSBzdHJpbmcsIG9yIHRvIGJ1aWxkIHRoZSBtb2RlbFxuICAgKi9cbiAgZGVzZXJpYWxpemUoc3RyOiBzdHJpbmcpOiBUIHtcbiAgICBjb25zdCBkZXNlcmlhbGl6YXRpb24gPSBKU09OLnBhcnNlKHN0cik7XG4gICAgY29uc3QgY2xhc3NOYW1lID0gZGVzZXJpYWxpemF0aW9uW01vZGVsS2V5cy5BTkNIT1JdO1xuICAgIGlmICghY2xhc3NOYW1lKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ291bGQgbm90IGZpbmQgY2xhc3MgcmVmZXJlbmNlIGluIHNlcmlhbGl6ZWQgbW9kZWxcIik7XG4gICAgY29uc3QgbW9kZWw6IFQgPSBNb2RlbC5idWlsZChkZXNlcmlhbGl6YXRpb24sIGNsYXNzTmFtZSkgYXMgdW5rbm93biBhcyBUO1xuICAgIHJldHVybiBtb2RlbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBTZXJpYWxpemVzIGEgbW9kZWxcbiAgICogQHBhcmFtIHtUfSBtb2RlbFxuICAgKlxuICAgKiBAdGhyb3dzIHtFcnJvcn0gaWYgZmFpbHMgdG8gc2VyaWFsaXplXG4gICAqL1xuICBzZXJpYWxpemUobW9kZWw6IFQpOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzLnByZVNlcmlhbGl6ZShtb2RlbCkpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTZXJpYWxpemF0aW9uIHtcbiAgcHJpdmF0ZSBzdGF0aWMgY3VycmVudDogc3RyaW5nID0gRGVmYXVsdFNlcmlhbGl6YXRpb25NZXRob2Q7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY2FjaGU6IFJlY29yZDxzdHJpbmcsIFNlcmlhbGl6ZXI8YW55Pj4gPSB7XG4gICAganNvbjogbmV3IEpTT05TZXJpYWxpemVyKCksXG4gIH07XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0KGtleTogc3RyaW5nKTogYW55IHtcbiAgICBpZiAoa2V5IGluIHRoaXMuY2FjaGUpIHJldHVybiB0aGlzLmNhY2hlW2tleV07XG4gICAgdGhyb3cgbmV3IEVycm9yKGBObyBzZXJpYWxpemF0aW9uIG1ldGhvZCByZWdpc3RlcmVkIHVuZGVyICR7a2V5fWApO1xuICB9XG5cbiAgc3RhdGljIHJlZ2lzdGVyKFxuICAgIGtleTogc3RyaW5nLFxuICAgIGZ1bmM6IENvbnN0cnVjdG9yPFNlcmlhbGl6ZXI8YW55Pj4sXG4gICAgc2V0RGVmYXVsdCA9IGZhbHNlXG4gICk6IHZvaWQge1xuICAgIGlmIChrZXkgaW4gdGhpcy5jYWNoZSlcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU2VyaWFsaXphdGlvbiBtZXRob2QgJHtrZXl9IGFscmVhZHkgcmVnaXN0ZXJlZGApO1xuICAgIHRoaXMuY2FjaGVba2V5XSA9IG5ldyBmdW5jKCk7XG4gICAgaWYgKHNldERlZmF1bHQpIHRoaXMuY3VycmVudCA9IGtleTtcbiAgfVxuXG4gIHN0YXRpYyBzZXJpYWxpemUob2JqOiBhbnksIG1ldGhvZD86IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgICBpZiAoIW1ldGhvZCkgcmV0dXJuIHRoaXMuZ2V0KHRoaXMuY3VycmVudCkuc2VyaWFsaXplKG9iaiwgLi4uYXJncyk7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KG1ldGhvZCkuc2VyaWFsaXplKG9iaiwgLi4uYXJncyk7XG4gIH1cblxuICBzdGF0aWMgZGVzZXJpYWxpemUob2JqOiBzdHJpbmcsIG1ldGhvZD86IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgICBpZiAoIW1ldGhvZCkgcmV0dXJuIHRoaXMuZ2V0KHRoaXMuY3VycmVudCkuZGVzZXJpYWxpemUob2JqLCAuLi5hcmdzKTtcbiAgICByZXR1cm4gdGhpcy5nZXQobWV0aG9kKS5kZXNlcmlhbGl6ZShvYmosIC4uLmFyZ3MpO1xuICB9XG5cbiAgc3RhdGljIHNldERlZmF1bHQobWV0aG9kOiBzdHJpbmcpIHtcbiAgICB0aGlzLmN1cnJlbnQgPSB0aGlzLmdldChtZXRob2QpO1xuICB9XG59XG4iXX0=
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXphdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9zZXJpYWxpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxLQUFLLEVBQUUsNEJBQXVCO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQW9CO0FBQ3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsNEJBQXVCO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLE1BQU0sQ0FBQztBQUVqRDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFNLE9BQU8sY0FBYztJQUN6QixnQkFBZSxDQUFDO0lBQ2hCOzs7Ozs7O09BT0c7SUFDTyxZQUFZLENBQUMsS0FBUTtRQUM3Qiw2RUFBNkU7UUFDN0UsTUFBTSxXQUFXLEdBQXdCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNuRSxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxXQUFXLENBQUMsR0FBVztRQUNyQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFNBQVM7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7UUFDeEUsTUFBTSxLQUFLLEdBQU0sS0FBSyxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsU0FBUyxDQUFpQixDQUFDO1FBQ3pFLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLEtBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sYUFBYTthQUNULFlBQU8sR0FBVywwQkFBMEIsQ0FBQzthQUU3QyxVQUFLLEdBQW9DO1FBQ3RELElBQUksRUFBRSxJQUFJLGNBQWMsRUFBRTtLQUMzQixDQUFDO0lBRUYsZ0JBQXVCLENBQUM7SUFFaEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFXO1FBQzVCLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQ2IsR0FBVyxFQUNYLElBQWtDLEVBQ2xDLFVBQVUsR0FBRyxLQUFLO1FBRWxCLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLO1lBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLEdBQUcscUJBQXFCLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDN0IsSUFBSSxVQUFVO1lBQUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7SUFDckMsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBUSxFQUFFLE1BQWUsRUFBRSxHQUFHLElBQVc7UUFDeEQsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNuRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQVcsRUFBRSxNQUFlLEVBQUUsR0FBRyxJQUFXO1FBQzdELElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDckUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFjO1FBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tIFwiLi4vbW9kZWwvdHlwZXNcIjtcbmltcG9ydCB7IFNlcmlhbGl6ZXIgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWwvTW9kZWxcIjtcbmltcG9ydCB7IE1vZGVsS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZ2V0TWV0YWRhdGEgfSBmcm9tIFwiLi4vbW9kZWwvdXRpbHNcIjtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRTZXJpYWxpemF0aW9uTWV0aG9kID0gXCJqc29uXCI7XG5cbi8qKlxuICogQHN1bW1hcnkgQ29uY3JldGUgaW1wbGVtZW50YXRpb24gb2YgYSB7QGxpbmsgU2VyaWFsaXplcn0gaW4gSlNPTiBmb3JtYXRcbiAqIEBkZXNjcmlwdGlvbiBKUydzIG5hdGl2ZSBKU09OLnN0cmluZ2lmeSAodXNlZCBoZXJlKSBpcyBub3QgZGV0ZXJtaW5pc3RpY1xuICogYW5kIHRoZXJlZm9yZSBzaG91bGQgbm90IGJlIHVzZWQgZm9yIGhhc2hpbmcgcHVycG9zZXNcbiAqXG4gKiBUbyBrZWVwIGRlcGVuZGVuY2llcyBsb3csIHdlIHdpbGwgbm90IGltcGxlbWVudCB0aGlzLCBidXQgd2UgcmVjb21tZW5kXG4gKiBpbXBsZW1lbnRpbmcgYSBzaW1pbGFyIHtAbGluayBKU09OU2VyaWFsaXplcn0gdXNpbmcgJ2RldGVybWluaXN0aWMtanNvbicgbGlicmFyaWVzXG4gKlxuICogQGNsYXNzIEpTT05TZXJpYWxpemVyXG4gKiBAaW1wbGVtZW50cyBTZXJpYWxpemVyXG4gKlxuICogQGNhdGVnb3J5IE1vZGVsXG4gKi9cbmV4cG9ydCBjbGFzcyBKU09OU2VyaWFsaXplcjxUIGV4dGVuZHMgTW9kZWw+IGltcGxlbWVudHMgU2VyaWFsaXplcjxUPiB7XG4gIGNvbnN0cnVjdG9yKCkge31cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IHByZXBhcmVzIHRoZSBtb2RlbCBmb3Igc2VyaWFsaXphdGlvblxuICAgKiBAZGVzY3JpcHRpb24gcmV0dXJucyBhIHNoYWxsb3cgY29weSBvZiB0aGUgb2JqZWN0LCBjb250YWluaW5nIGFuIGVudW1lcmFibGUge0BsaW5rIE1vZGVsS2V5cyNBTkNIT1J9IHByb3BlcnR5XG4gICAqIHNvIHRoZSBvYmplY3QgY2FuIGJlIHJlY29nbml6ZWQgdXBvbiBkZXNlcmlhbGl6YXRpb25cbiAgICpcbiAgICogQHBhcmFtIHtUfSBtb2RlbFxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgcHJlU2VyaWFsaXplKG1vZGVsOiBUKSB7XG4gICAgLy8gVE9ETzogbmVzdGVkIHByZXNlcmlhbGl6YXRpb24gKHNvIGluY3JlYXNlIHBlcmZvcm1hbmNlIHdoZW4gZGVzZXJpYWxpemluZylcbiAgICBjb25zdCB0b1NlcmlhbGl6ZTogUmVjb3JkPHN0cmluZywgYW55PiA9IE9iamVjdC5hc3NpZ24oe30sIG1vZGVsKTtcbiAgICBjb25zdCBtZXRhZGF0YSA9IGdldE1ldGFkYXRhKG1vZGVsKTtcbiAgICB0b1NlcmlhbGl6ZVtNb2RlbEtleXMuQU5DSE9SXSA9IG1ldGFkYXRhIHx8IG1vZGVsLmNvbnN0cnVjdG9yLm5hbWU7XG4gICAgcmV0dXJuIHRvU2VyaWFsaXplO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFJlYnVpbGRzIGEgbW9kZWwgZnJvbSBhIHNlcmlhbGl6YXRpb25cbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0clxuICAgKlxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgaXQgZmFpbHMgdG8gcGFyc2UgdGhlIHN0cmluZywgb3IgdG8gYnVpbGQgdGhlIG1vZGVsXG4gICAqL1xuICBkZXNlcmlhbGl6ZShzdHI6IHN0cmluZyk6IFQge1xuICAgIGNvbnN0IGRlc2VyaWFsaXphdGlvbiA9IEpTT04ucGFyc2Uoc3RyKTtcbiAgICBjb25zdCBjbGFzc05hbWUgPSBkZXNlcmlhbGl6YXRpb25bTW9kZWxLZXlzLkFOQ0hPUl07XG4gICAgaWYgKCFjbGFzc05hbWUpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZCBub3QgZmluZCBjbGFzcyByZWZlcmVuY2UgaW4gc2VyaWFsaXplZCBtb2RlbFwiKTtcbiAgICBjb25zdCBtb2RlbDogVCA9IE1vZGVsLmJ1aWxkKGRlc2VyaWFsaXphdGlvbiwgY2xhc3NOYW1lKSBhcyB1bmtub3duIGFzIFQ7XG4gICAgcmV0dXJuIG1vZGVsO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFNlcmlhbGl6ZXMgYSBtb2RlbFxuICAgKiBAcGFyYW0ge1R9IG1vZGVsXG4gICAqXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBpZiBmYWlscyB0byBzZXJpYWxpemVcbiAgICovXG4gIHNlcmlhbGl6ZShtb2RlbDogVCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMucHJlU2VyaWFsaXplKG1vZGVsKSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNlcmlhbGl6YXRpb24ge1xuICBwcml2YXRlIHN0YXRpYyBjdXJyZW50OiBzdHJpbmcgPSBEZWZhdWx0U2VyaWFsaXphdGlvbk1ldGhvZDtcblxuICBwcml2YXRlIHN0YXRpYyBjYWNoZTogUmVjb3JkPHN0cmluZywgU2VyaWFsaXplcjxhbnk+PiA9IHtcbiAgICBqc29uOiBuZXcgSlNPTlNlcmlhbGl6ZXIoKSxcbiAgfTtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge31cblxuICBwcml2YXRlIHN0YXRpYyBnZXQoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgIGlmIChrZXkgaW4gdGhpcy5jYWNoZSkgcmV0dXJuIHRoaXMuY2FjaGVba2V5XTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHNlcmlhbGl6YXRpb24gbWV0aG9kIHJlZ2lzdGVyZWQgdW5kZXIgJHtrZXl9YCk7XG4gIH1cblxuICBzdGF0aWMgcmVnaXN0ZXIoXG4gICAga2V5OiBzdHJpbmcsXG4gICAgZnVuYzogQ29uc3RydWN0b3I8U2VyaWFsaXplcjxhbnk+PixcbiAgICBzZXREZWZhdWx0ID0gZmFsc2VcbiAgKTogdm9pZCB7XG4gICAgaWYgKGtleSBpbiB0aGlzLmNhY2hlKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBTZXJpYWxpemF0aW9uIG1ldGhvZCAke2tleX0gYWxyZWFkeSByZWdpc3RlcmVkYCk7XG4gICAgdGhpcy5jYWNoZVtrZXldID0gbmV3IGZ1bmMoKTtcbiAgICBpZiAoc2V0RGVmYXVsdCkgdGhpcy5jdXJyZW50ID0ga2V5O1xuICB9XG5cbiAgc3RhdGljIHNlcmlhbGl6ZShvYmo6IGFueSwgbWV0aG9kPzogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmICghbWV0aG9kKSByZXR1cm4gdGhpcy5nZXQodGhpcy5jdXJyZW50KS5zZXJpYWxpemUob2JqLCAuLi5hcmdzKTtcbiAgICByZXR1cm4gdGhpcy5nZXQobWV0aG9kKS5zZXJpYWxpemUob2JqLCAuLi5hcmdzKTtcbiAgfVxuXG4gIHN0YXRpYyBkZXNlcmlhbGl6ZShvYmo6IHN0cmluZywgbWV0aG9kPzogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSkge1xuICAgIGlmICghbWV0aG9kKSByZXR1cm4gdGhpcy5nZXQodGhpcy5jdXJyZW50KS5kZXNlcmlhbGl6ZShvYmosIC4uLmFyZ3MpO1xuICAgIHJldHVybiB0aGlzLmdldChtZXRob2QpLmRlc2VyaWFsaXplKG9iaiwgLi4uYXJncyk7XG4gIH1cblxuICBzdGF0aWMgc2V0RGVmYXVsdChtZXRob2Q6IHN0cmluZykge1xuICAgIHRoaXMuY3VycmVudCA9IHRoaXMuZ2V0KG1ldGhvZCk7XG4gIH1cbn1cbiJdfQ==
@@ -10,6 +10,7 @@ import { IValidatorRegistry, ValidatorDefinition } from "./types";
10
10
  */
11
11
  export declare class Validation {
12
12
  private static actingValidatorRegistry?;
13
+ private static loadedDecorators;
13
14
  private constructor();
14
15
  /**
15
16
  * @summary Defines the acting ValidatorRegistry
@@ -48,4 +49,6 @@ export declare class Validation {
48
49
  * @summary Returns all registered validation keys
49
50
  */
50
51
  static keys(): string[];
52
+ static registerDecorator(key: string, decorator: PropertyDecorator): void;
53
+ static decoratorFromKey(key: string): PropertyDecorator;
51
54
  }
@@ -1,5 +1,5 @@
1
- import { ValidatorRegistry } from "./Validators/ValidatorRegistry";
2
- import { ValidationKeys } from "./Validators/constants";
1
+ import { ValidatorRegistry } from "./Validators/ValidatorRegistry.js";
2
+ import { ValidationKeys } from "./Validators/constants.js";
3
3
  /**
4
4
  * @summary Static class acting as a namespace for the Validation
5
5
  *
@@ -10,6 +10,7 @@ import { ValidationKeys } from "./Validators/constants";
10
10
  */
11
11
  export class Validation {
12
12
  static { this.actingValidatorRegistry = undefined; }
13
+ static { this.loadedDecorators = {}; }
13
14
  constructor() { }
14
15
  /**
15
16
  * @summary Defines the acting ValidatorRegistry
@@ -68,5 +69,15 @@ export class Validation {
68
69
  static keys() {
69
70
  return this.getRegistry().getKeys();
70
71
  }
72
+ static registerDecorator(key, decorator) {
73
+ if (key in this.loadedDecorators)
74
+ return;
75
+ this.loadedDecorators[key] = decorator;
76
+ }
77
+ static decoratorFromKey(key) {
78
+ if (!(key in this.loadedDecorators))
79
+ throw new Error(`No decorator registered under ${key}`);
80
+ return this.loadedDecorators[key];
81
+ }
71
82
  }
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92YWxpZGF0aW9uL1ZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXhEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLE9BQU8sVUFBVTthQUNOLDRCQUF1QixHQUNwQyxTQUFTLENBQUM7SUFFWixnQkFBdUIsQ0FBQztJQUV4Qjs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxXQUFXLENBQ2hCLGlCQUFnRCxFQUNoRCxnQkFBc0Q7UUFFdEQsSUFBSSxnQkFBZ0IsSUFBSSxVQUFVLENBQUMsdUJBQXVCO1lBQ3hELFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFTLEVBQUUsRUFBRTtnQkFDakUsTUFBTSxTQUFTLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLFNBQVM7b0JBQUUsaUJBQWlCLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDekUsQ0FBQyxDQUFDLENBQUM7UUFDTCxVQUFVLENBQUMsdUJBQXVCLEdBQUcsaUJBQWlCLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxNQUFNLENBQUMsV0FBVztRQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLHVCQUF1QjtZQUNyQyxVQUFVLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQy9ELE9BQU8sVUFBVSxDQUFDLHVCQUF1QixDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxHQUFHLENBQXNCLFlBQW9CO1FBQ2xELE9BQU8sVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxRQUFRLENBQ2IsR0FBRyxTQUFzQztRQUV6QyxPQUFPLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQVc7UUFDcEIsT0FBTyxjQUFjLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsSUFBSTtRQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3RDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3IgfSBmcm9tIFwiLi9WYWxpZGF0b3JzL1ZhbGlkYXRvclwiO1xuaW1wb3J0IHsgSVZhbGlkYXRvclJlZ2lzdHJ5LCBWYWxpZGF0b3JEZWZpbml0aW9uIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IFZhbGlkYXRvclJlZ2lzdHJ5IH0gZnJvbSBcIi4vVmFsaWRhdG9ycy9WYWxpZGF0b3JSZWdpc3RyeVwiO1xuaW1wb3J0IHsgVmFsaWRhdGlvbktleXMgfSBmcm9tIFwiLi9WYWxpZGF0b3JzL2NvbnN0YW50c1wiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IFN0YXRpYyBjbGFzcyBhY3RpbmcgYXMgYSBuYW1lc3BhY2UgZm9yIHRoZSBWYWxpZGF0aW9uXG4gKlxuICogQGNsYXNzIFZhbGlkYXRpb25cbiAqIEBzdGF0aWNcbiAqXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbiB7XG4gIHByaXZhdGUgc3RhdGljIGFjdGluZ1ZhbGlkYXRvclJlZ2lzdHJ5PzogSVZhbGlkYXRvclJlZ2lzdHJ5PFZhbGlkYXRvcj4gPVxuICAgIHVuZGVmaW5lZDtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge31cblxuICAvKipcbiAgICogQHN1bW1hcnkgRGVmaW5lcyB0aGUgYWN0aW5nIFZhbGlkYXRvclJlZ2lzdHJ5XG4gICAqXG4gICAqIEBwYXJhbSB7SVZhbGlkYXRvclJlZ2lzdHJ5fSB2YWxpZGF0b3JSZWdpc3RyeSB0aGUgbmV3IGltcGxlbWVudGF0aW9uIG9mIHRoZSB2YWxpZGF0b3IgUmVnaXN0cnlcbiAgICogQHBhcmFtIHtmdW5jdGlvbihWYWxpZGF0b3IpOiBWYWxpZGF0b3J9IFttaWdyYXRpb25IYW5kbGVyXSB0aGUgbWV0aG9kIHRvIG1hcCB0aGUgdmFsaWRhdG9yIGlmIHJlcXVpcmVkO1xuICAgKi9cbiAgc3RhdGljIHNldFJlZ2lzdHJ5KFxuICAgIHZhbGlkYXRvclJlZ2lzdHJ5OiBJVmFsaWRhdG9yUmVnaXN0cnk8VmFsaWRhdG9yPixcbiAgICBtaWdyYXRpb25IYW5kbGVyPzogKHZhbGlkYXRvcjogVmFsaWRhdG9yKSA9PiBWYWxpZGF0b3JcbiAgKSB7XG4gICAgaWYgKG1pZ3JhdGlvbkhhbmRsZXIgJiYgVmFsaWRhdGlvbi5hY3RpbmdWYWxpZGF0b3JSZWdpc3RyeSlcbiAgICAgIFZhbGlkYXRpb24uYWN0aW5nVmFsaWRhdG9yUmVnaXN0cnkuZ2V0S2V5cygpLmZvckVhY2goKGs6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB2YWxpZGF0b3IgPSB2YWxpZGF0b3JSZWdpc3RyeS5nZXQoayk7XG4gICAgICAgIGlmICh2YWxpZGF0b3IpIHZhbGlkYXRvclJlZ2lzdHJ5LnJlZ2lzdGVyKG1pZ3JhdGlvbkhhbmRsZXIodmFsaWRhdG9yKSk7XG4gICAgICB9KTtcbiAgICBWYWxpZGF0aW9uLmFjdGluZ1ZhbGlkYXRvclJlZ2lzdHJ5ID0gdmFsaWRhdG9yUmVnaXN0cnk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgUmV0dXJucyB0aGUgY3VycmVudCBWYWxpZGF0b3JSZWdpc3RyeVxuICAgKlxuICAgKiBAcmV0dXJuIElWYWxpZGF0b3JSZWdpc3RyeSwgZGVmYXVsdHMgdG8ge0BsaW5rIFZhbGlkYXRvclJlZ2lzdHJ5fVxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0UmVnaXN0cnkoKSB7XG4gICAgaWYgKCFWYWxpZGF0aW9uLmFjdGluZ1ZhbGlkYXRvclJlZ2lzdHJ5KVxuICAgICAgVmFsaWRhdGlvbi5hY3RpbmdWYWxpZGF0b3JSZWdpc3RyeSA9IG5ldyBWYWxpZGF0b3JSZWdpc3RyeSgpO1xuICAgIHJldHVybiBWYWxpZGF0aW9uLmFjdGluZ1ZhbGlkYXRvclJlZ2lzdHJ5O1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFJldHJpZXZlcyBhIHZhbGlkYXRvclxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsaWRhdG9yS2V5IG9uZSBvZiB0aGUge0BsaW5rIFZhbGlkYXRpb25LZXlzfVxuICAgKiBAcmV0dXJuIHtWYWxpZGF0b3IgfCB1bmRlZmluZWR9IHRoZSByZWdpc3RlcmVkIFZhbGlkYXRvciBvciB1bmRlZmluZWQgaWYgdGhlcmUgaXMgbm9ubyBtYXRjaGluZyB0aGUgcHJvdmlkZWQga2V5XG4gICAqL1xuICBzdGF0aWMgZ2V0PFQgZXh0ZW5kcyBWYWxpZGF0b3I+KHZhbGlkYXRvcktleTogc3RyaW5nKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIFZhbGlkYXRpb24uZ2V0UmVnaXN0cnkoKS5nZXQodmFsaWRhdG9yS2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBSZWdpc3RlcnMgdGhlIHByb3ZpZGVkIHZhbGlkYXRvcnMgb250byB0aGUgcmVnaXN0cnlcbiAgICpcbiAgICogQHBhcmFtIHtUW10gfCBWYWxpZGF0b3JEZWZpbml0aW9uW119IHZhbGlkYXRvclxuICAgKi9cbiAgc3RhdGljIHJlZ2lzdGVyPFQgZXh0ZW5kcyBWYWxpZGF0b3I+KFxuICAgIC4uLnZhbGlkYXRvcjogKFZhbGlkYXRvckRlZmluaXRpb24gfCBUKVtdXG4gICk6IHZvaWQge1xuICAgIHJldHVybiBWYWxpZGF0aW9uLmdldFJlZ2lzdHJ5KCkucmVnaXN0ZXIoLi4udmFsaWRhdG9yKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBCdWlsZHMgdGhlIGtleSB0byBzdG9yZSBhcyBNZXRhZGF0YSB1bmRlciBSZWZsZWN0aW9uc1xuICAgKiBAZGVzY3JpcHRpb24gY29uY2F0ZW5hdGVzIHtAbGluayBWYWxpZGF0aW9uS2V5cyNSRUZMRUNUfSB3aXRoIHRoZSBwcm92aWRlZCBrZXlcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICAgKi9cbiAgc3RhdGljIGtleShrZXk6IHN0cmluZykge1xuICAgIHJldHVybiBWYWxpZGF0aW9uS2V5cy5SRUZMRUNUICsga2V5O1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFJldHVybnMgYWxsIHJlZ2lzdGVyZWQgdmFsaWRhdGlvbiBrZXlzXG4gICAqL1xuICBzdGF0aWMga2V5cygpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRSZWdpc3RyeSgpLmdldEtleXMoKTtcbiAgfVxufVxuIl19
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92YWxpZGF0aW9uL1ZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLDBDQUF1QztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGtDQUErQjtBQUV4RDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLFVBQVU7YUFDTiw0QkFBdUIsR0FDcEMsU0FBUyxDQUFDO2FBRUcscUJBQWdCLEdBQXNDLEVBQUUsQ0FBQztJQUN4RSxnQkFBdUIsQ0FBQztJQUV4Qjs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxXQUFXLENBQ2hCLGlCQUFnRCxFQUNoRCxnQkFBc0Q7UUFFdEQsSUFBSSxnQkFBZ0IsSUFBSSxVQUFVLENBQUMsdUJBQXVCO1lBQ3hELFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFTLEVBQUUsRUFBRTtnQkFDakUsTUFBTSxTQUFTLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLFNBQVM7b0JBQUUsaUJBQWlCLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDekUsQ0FBQyxDQUFDLENBQUM7UUFDTCxVQUFVLENBQUMsdUJBQXVCLEdBQUcsaUJBQWlCLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxNQUFNLENBQUMsV0FBVztRQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLHVCQUF1QjtZQUNyQyxVQUFVLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQy9ELE9BQU8sVUFBVSxDQUFDLHVCQUF1QixDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxHQUFHLENBQXNCLFlBQW9CO1FBQ2xELE9BQU8sVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxRQUFRLENBQ2IsR0FBRyxTQUFzQztRQUV6QyxPQUFPLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQVc7UUFDcEIsT0FBTyxjQUFjLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsSUFBSTtRQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBVyxFQUFFLFNBQTRCO1FBQ2hFLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxnQkFBZ0I7WUFBRSxPQUFPO1FBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUM7SUFDekMsQ0FBQztJQUVELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFXO1FBQ2pDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUM7WUFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMxRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yIH0gZnJvbSBcIi4vVmFsaWRhdG9ycy9WYWxpZGF0b3JcIjtcbmltcG9ydCB7IElWYWxpZGF0b3JSZWdpc3RyeSwgVmFsaWRhdG9yRGVmaW5pdGlvbiB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBWYWxpZGF0b3JSZWdpc3RyeSB9IGZyb20gXCIuL1ZhbGlkYXRvcnMvVmFsaWRhdG9yUmVnaXN0cnlcIjtcbmltcG9ydCB7IFZhbGlkYXRpb25LZXlzIH0gZnJvbSBcIi4vVmFsaWRhdG9ycy9jb25zdGFudHNcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBTdGF0aWMgY2xhc3MgYWN0aW5nIGFzIGEgbmFtZXNwYWNlIGZvciB0aGUgVmFsaWRhdGlvblxuICpcbiAqIEBjbGFzcyBWYWxpZGF0aW9uXG4gKiBAc3RhdGljXG4gKlxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb24ge1xuICBwcml2YXRlIHN0YXRpYyBhY3RpbmdWYWxpZGF0b3JSZWdpc3RyeT86IElWYWxpZGF0b3JSZWdpc3RyeTxWYWxpZGF0b3I+ID1cbiAgICB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbG9hZGVkRGVjb3JhdG9yczogUmVjb3JkPHN0cmluZywgUHJvcGVydHlEZWNvcmF0b3I+ID0ge307XG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSBhY3RpbmcgVmFsaWRhdG9yUmVnaXN0cnlcbiAgICpcbiAgICogQHBhcmFtIHtJVmFsaWRhdG9yUmVnaXN0cnl9IHZhbGlkYXRvclJlZ2lzdHJ5IHRoZSBuZXcgaW1wbGVtZW50YXRpb24gb2YgdGhlIHZhbGlkYXRvciBSZWdpc3RyeVxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKFZhbGlkYXRvcik6IFZhbGlkYXRvcn0gW21pZ3JhdGlvbkhhbmRsZXJdIHRoZSBtZXRob2QgdG8gbWFwIHRoZSB2YWxpZGF0b3IgaWYgcmVxdWlyZWQ7XG4gICAqL1xuICBzdGF0aWMgc2V0UmVnaXN0cnkoXG4gICAgdmFsaWRhdG9yUmVnaXN0cnk6IElWYWxpZGF0b3JSZWdpc3RyeTxWYWxpZGF0b3I+LFxuICAgIG1pZ3JhdGlvbkhhbmRsZXI/OiAodmFsaWRhdG9yOiBWYWxpZGF0b3IpID0+IFZhbGlkYXRvclxuICApIHtcbiAgICBpZiAobWlncmF0aW9uSGFuZGxlciAmJiBWYWxpZGF0aW9uLmFjdGluZ1ZhbGlkYXRvclJlZ2lzdHJ5KVxuICAgICAgVmFsaWRhdGlvbi5hY3RpbmdWYWxpZGF0b3JSZWdpc3RyeS5nZXRLZXlzKCkuZm9yRWFjaCgoazogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRvciA9IHZhbGlkYXRvclJlZ2lzdHJ5LmdldChrKTtcbiAgICAgICAgaWYgKHZhbGlkYXRvcikgdmFsaWRhdG9yUmVnaXN0cnkucmVnaXN0ZXIobWlncmF0aW9uSGFuZGxlcih2YWxpZGF0b3IpKTtcbiAgICAgIH0pO1xuICAgIFZhbGlkYXRpb24uYWN0aW5nVmFsaWRhdG9yUmVnaXN0cnkgPSB2YWxpZGF0b3JSZWdpc3RyeTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBSZXR1cm5zIHRoZSBjdXJyZW50IFZhbGlkYXRvclJlZ2lzdHJ5XG4gICAqXG4gICAqIEByZXR1cm4gSVZhbGlkYXRvclJlZ2lzdHJ5LCBkZWZhdWx0cyB0byB7QGxpbmsgVmFsaWRhdG9yUmVnaXN0cnl9XG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBnZXRSZWdpc3RyeSgpIHtcbiAgICBpZiAoIVZhbGlkYXRpb24uYWN0aW5nVmFsaWRhdG9yUmVnaXN0cnkpXG4gICAgICBWYWxpZGF0aW9uLmFjdGluZ1ZhbGlkYXRvclJlZ2lzdHJ5ID0gbmV3IFZhbGlkYXRvclJlZ2lzdHJ5KCk7XG4gICAgcmV0dXJuIFZhbGlkYXRpb24uYWN0aW5nVmFsaWRhdG9yUmVnaXN0cnk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgUmV0cmlldmVzIGEgdmFsaWRhdG9yXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWxpZGF0b3JLZXkgb25lIG9mIHRoZSB7QGxpbmsgVmFsaWRhdGlvbktleXN9XG4gICAqIEByZXR1cm4ge1ZhbGlkYXRvciB8IHVuZGVmaW5lZH0gdGhlIHJlZ2lzdGVyZWQgVmFsaWRhdG9yIG9yIHVuZGVmaW5lZCBpZiB0aGVyZSBpcyBub25vIG1hdGNoaW5nIHRoZSBwcm92aWRlZCBrZXlcbiAgICovXG4gIHN0YXRpYyBnZXQ8VCBleHRlbmRzIFZhbGlkYXRvcj4odmFsaWRhdG9yS2V5OiBzdHJpbmcpOiBUIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gVmFsaWRhdGlvbi5nZXRSZWdpc3RyeSgpLmdldCh2YWxpZGF0b3JLZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFJlZ2lzdGVycyB0aGUgcHJvdmlkZWQgdmFsaWRhdG9ycyBvbnRvIHRoZSByZWdpc3RyeVxuICAgKlxuICAgKiBAcGFyYW0ge1RbXSB8IFZhbGlkYXRvckRlZmluaXRpb25bXX0gdmFsaWRhdG9yXG4gICAqL1xuICBzdGF0aWMgcmVnaXN0ZXI8VCBleHRlbmRzIFZhbGlkYXRvcj4oXG4gICAgLi4udmFsaWRhdG9yOiAoVmFsaWRhdG9yRGVmaW5pdGlvbiB8IFQpW11cbiAgKTogdm9pZCB7XG4gICAgcmV0dXJuIFZhbGlkYXRpb24uZ2V0UmVnaXN0cnkoKS5yZWdpc3RlciguLi52YWxpZGF0b3IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IEJ1aWxkcyB0aGUga2V5IHRvIHN0b3JlIGFzIE1ldGFkYXRhIHVuZGVyIFJlZmxlY3Rpb25zXG4gICAqIEBkZXNjcmlwdGlvbiBjb25jYXRlbmF0ZXMge0BsaW5rIFZhbGlkYXRpb25LZXlzI1JFRkxFQ1R9IHdpdGggdGhlIHByb3ZpZGVkIGtleVxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5XG4gICAqL1xuICBzdGF0aWMga2V5KGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFZhbGlkYXRpb25LZXlzLlJFRkxFQ1QgKyBrZXk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgUmV0dXJucyBhbGwgcmVnaXN0ZXJlZCB2YWxpZGF0aW9uIGtleXNcbiAgICovXG4gIHN0YXRpYyBrZXlzKCkge1xuICAgIHJldHVybiB0aGlzLmdldFJlZ2lzdHJ5KCkuZ2V0S2V5cygpO1xuICB9XG5cbiAgc3RhdGljIHJlZ2lzdGVyRGVjb3JhdG9yKGtleTogc3RyaW5nLCBkZWNvcmF0b3I6IFByb3BlcnR5RGVjb3JhdG9yKSB7XG4gICAgaWYgKGtleSBpbiB0aGlzLmxvYWRlZERlY29yYXRvcnMpIHJldHVybjtcbiAgICB0aGlzLmxvYWRlZERlY29yYXRvcnNba2V5XSA9IGRlY29yYXRvcjtcbiAgfVxuXG4gIHN0YXRpYyBkZWNvcmF0b3JGcm9tS2V5KGtleTogc3RyaW5nKSB7XG4gICAgaWYgKCEoa2V5IGluIHRoaXMubG9hZGVkRGVjb3JhdG9ycykpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIGRlY29yYXRvciByZWdpc3RlcmVkIHVuZGVyICR7a2V5fWApO1xuICAgIHJldHVybiB0aGlzLmxvYWRlZERlY29yYXRvcnNba2V5XTtcbiAgfVxufVxuIl19
@@ -7,9 +7,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { Validator } from "./Validator";
11
- import { DEFAULT_ERROR_MESSAGES, ValidationKeys } from "./constants";
12
- import { validator } from "./decorators";
10
+ import { Validator } from "./Validator.js";
11
+ import { DEFAULT_ERROR_MESSAGES, ValidationKeys } from "./constants.js";
12
+ import { validator } from "./decorators.js";
13
13
  /**
14
14
  * @description Validator for checking if a value is a valid date
15
15
  * @summary The DateValidator checks if a value is a valid date object or a string that can be converted to a valid date.
@@ -84,4 +84,4 @@ DateValidator = __decorate([
84
84
  __metadata("design:paramtypes", [String])
85
85
  ], DateValidator);
86
86
  export { DateValidator };
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZVZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvRGF0ZVZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUd6Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQ0c7QUFFSSxJQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUFjLFNBQVEsU0FBK0I7SUFDaEUsWUFBWSxVQUFrQixzQkFBc0IsQ0FBQyxJQUFJO1FBQ3ZELEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFDSSxTQUFTLENBQ2QsS0FBb0IsRUFDcEIsVUFBZ0MsRUFBRTtRQUVsQyxJQUFJLEtBQUssS0FBSyxTQUFTO1lBQUUsT0FBTztRQUVoQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVE7WUFBRSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdkQsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDbEMsTUFBTSxFQUFFLE9BQU8sR0FBRyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUM7WUFDakMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNILENBQUM7Q0FDRixDQUFBO0FBakNZLGFBQWE7SUFEekIsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7O0dBQ2xCLGFBQWEsQ0FpQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yIH0gZnJvbSBcIi4vVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBERUZBVUxUX0VSUk9SX01FU1NBR0VTLCBWYWxpZGF0aW9uS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgdmFsaWRhdG9yIH0gZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgRGF0ZVZhbGlkYXRvck9wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gVmFsaWRhdG9yIGZvciBjaGVja2luZyBpZiBhIHZhbHVlIGlzIGEgdmFsaWQgZGF0ZVxuICogQHN1bW1hcnkgVGhlIERhdGVWYWxpZGF0b3IgY2hlY2tzIGlmIGEgdmFsdWUgaXMgYSB2YWxpZCBkYXRlIG9iamVjdCBvciBhIHN0cmluZyB0aGF0IGNhbiBiZSBjb252ZXJ0ZWQgdG8gYSB2YWxpZCBkYXRlLlxuICogSXQgdmFsaWRhdGVzIHRoYXQgdGhlIHZhbHVlIHJlcHJlc2VudHMgYSByZWFsIGRhdGUgYW5kIG5vdCBhbiBpbnZhbGlkIGRhdGUgbGlrZSBcIjIwMjMtMDItMzFcIi5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV0gLSBDdXN0b20gZXJyb3IgbWVzc2FnZSB0byBkaXNwbGF5IHdoZW4gdmFsaWRhdGlvbiBmYWlscywgZGVmYXVsdHMgdG8ge0BsaW5rIERFRkFVTFRfRVJST1JfTUVTU0FHRVMjREFURX1cbiAqIEBjbGFzcyBEYXRlVmFsaWRhdG9yXG4gKiBAZXh0ZW5kcyBWYWxpZGF0b3JcbiAqXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdG9yc1xuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIENyZWF0ZSBhIGRhdGUgdmFsaWRhdG9yIHdpdGggZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBjb25zdCBkYXRlVmFsaWRhdG9yID0gbmV3IERhdGVWYWxpZGF0b3IoKTtcbiAqXG4gKiAvLyBDcmVhdGUgYSBkYXRlIHZhbGlkYXRvciB3aXRoIGN1c3RvbSBlcnJvciBtZXNzYWdlXG4gKiBjb25zdCBjdXN0b21EYXRlVmFsaWRhdG9yID0gbmV3IERhdGVWYWxpZGF0b3IoXCJQbGVhc2UgZW50ZXIgYSB2YWxpZCBkYXRlXCIpO1xuICpcbiAqIC8vIFZhbGlkYXRlIGEgZGF0ZVxuICogY29uc3QgcmVzdWx0ID0gZGF0ZVZhbGlkYXRvci5oYXNFcnJvcnMobmV3IERhdGUoKSk7IC8vIHVuZGVmaW5lZCAodmFsaWQpXG4gKiBjb25zdCBpbnZhbGlkUmVzdWx0ID0gZGF0ZVZhbGlkYXRvci5oYXNFcnJvcnMoXCJub3QgYSBkYXRlXCIpOyAvLyBSZXR1cm5zIGVycm9yIG1lc3NhZ2UgKGludmFsaWQpXG4gKiBgYGBcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgQyBhcyBDbGllbnRcbiAqICAgcGFydGljaXBhbnQgViBhcyBEYXRlVmFsaWRhdG9yXG4gKlxuICogICBDLT4+VjogbmV3IERhdGVWYWxpZGF0b3IobWVzc2FnZSlcbiAqICAgQy0+PlY6IGhhc0Vycm9ycyh2YWx1ZSwgb3B0aW9ucylcbiAqICAgYWx0IHZhbHVlIGlzIHVuZGVmaW5lZFxuICogICAgIFYtLT4+QzogdW5kZWZpbmVkICh2YWxpZClcbiAqICAgZWxzZSB2YWx1ZSBpcyBzdHJpbmdcbiAqICAgICBWLT4+VjogQ29udmVydCB0byBEYXRlXG4gKiAgIGVuZFxuICogICBhbHQgRGF0ZSBpcyBpbnZhbGlkIChOYU4pXG4gKiAgICAgVi0tPj5DOiBFcnJvciBtZXNzYWdlXG4gKiAgIGVsc2UgRGF0ZSBpcyB2YWxpZFxuICogICAgIFYtLT4+QzogdW5kZWZpbmVkICh2YWxpZClcbiAqICAgZW5kXG4gKi9cbkB2YWxpZGF0b3IoVmFsaWRhdGlvbktleXMuREFURSlcbmV4cG9ydCBjbGFzcyBEYXRlVmFsaWRhdG9yIGV4dGVuZHMgVmFsaWRhdG9yPERhdGVWYWxpZGF0b3JPcHRpb25zPiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuREFURSkge1xuICAgIHN1cGVyKG1lc3NhZ2UsIE51bWJlci5uYW1lLCBEYXRlLm5hbWUsIFN0cmluZy5uYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ2hlY2tzIGlmIHRoZSBwcm92aWRlZCB2YWx1ZSBpcyBhIHZhbGlkIGRhdGVcbiAgICogQHN1bW1hcnkgVmFsaWRhdGVzIHRoYXQgdGhlIGdpdmVuIHZhbHVlIGlzIGEgdmFsaWQgZGF0ZS4gSWYgdGhlIHZhbHVlIGlzIGEgc3RyaW5nLFxuICAgKiBpdCBhdHRlbXB0cyB0byBjb252ZXJ0IGl0IHRvIGEgRGF0ZSBvYmplY3QuIFJldHVybnMgYW4gZXJyb3IgbWVzc2FnZSBpZiB0aGUgZGF0ZSBpcyBpbnZhbGlkLFxuICAgKiBvciB1bmRlZmluZWQgaWYgdGhlIGRhdGUgaXMgdmFsaWQgb3IgaWYgdGhlIHZhbHVlIGlzIHVuZGVmaW5lZC5cbiAgICpcbiAgICogQHBhcmFtIHtEYXRlIHwgc3RyaW5nfSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byB2YWxpZGF0ZSwgY2FuIGJlIGEgRGF0ZSBvYmplY3Qgb3IgYSBzdHJpbmdcbiAgICogQHBhcmFtIHtEYXRlVmFsaWRhdG9yT3B0aW9uc30gW29wdGlvbnM9e31dIC0gT3B0aW9uYWwgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgdmFsaWRhdG9yXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZyB8IHVuZGVmaW5lZH0gRXJyb3IgbWVzc2FnZSBpZiB2YWxpZGF0aW9uIGZhaWxzLCB1bmRlZmluZWQgaWYgdmFsaWRhdGlvbiBwYXNzZXNcbiAgICpcbiAgICogQG92ZXJyaWRlXG4gICAqXG4gICAqIEBzZWUgVmFsaWRhdG9yI2hhc0Vycm9yc1xuICAgKi9cbiAgcHVibGljIGhhc0Vycm9ycyhcbiAgICB2YWx1ZTogRGF0ZSB8IHN0cmluZyxcbiAgICBvcHRpb25zOiBEYXRlVmFsaWRhdG9yT3B0aW9ucyA9IHt9XG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHZhbHVlID0gbmV3IERhdGUodmFsdWUpO1xuXG4gICAgaWYgKE51bWJlci5pc05hTih2YWx1ZS5nZXREYXRlKCkpKSB7XG4gICAgICBjb25zdCB7IG1lc3NhZ2UgPSBcIlwiIH0gPSBvcHRpb25zO1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0TWVzc2FnZShtZXNzYWdlIHx8IHRoaXMubWVzc2FnZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZVZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvRGF0ZVZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUFvQjtBQUN4QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsY0FBYyxFQUFFLHVCQUFvQjtBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLHdCQUFxQjtBQUd6Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQ0c7QUFFSSxJQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUFjLFNBQVEsU0FBK0I7SUFDaEUsWUFBWSxVQUFrQixzQkFBc0IsQ0FBQyxJQUFJO1FBQ3ZELEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFDSSxTQUFTLENBQ2QsS0FBb0IsRUFDcEIsVUFBZ0MsRUFBRTtRQUVsQyxJQUFJLEtBQUssS0FBSyxTQUFTO1lBQUUsT0FBTztRQUVoQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVE7WUFBRSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdkQsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDbEMsTUFBTSxFQUFFLE9BQU8sR0FBRyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUM7WUFDakMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNILENBQUM7Q0FDRixDQUFBO0FBakNZLGFBQWE7SUFEekIsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7O0dBQ2xCLGFBQWEsQ0FpQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yIH0gZnJvbSBcIi4vVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBERUZBVUxUX0VSUk9SX01FU1NBR0VTLCBWYWxpZGF0aW9uS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgdmFsaWRhdG9yIH0gZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgRGF0ZVZhbGlkYXRvck9wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gVmFsaWRhdG9yIGZvciBjaGVja2luZyBpZiBhIHZhbHVlIGlzIGEgdmFsaWQgZGF0ZVxuICogQHN1bW1hcnkgVGhlIERhdGVWYWxpZGF0b3IgY2hlY2tzIGlmIGEgdmFsdWUgaXMgYSB2YWxpZCBkYXRlIG9iamVjdCBvciBhIHN0cmluZyB0aGF0IGNhbiBiZSBjb252ZXJ0ZWQgdG8gYSB2YWxpZCBkYXRlLlxuICogSXQgdmFsaWRhdGVzIHRoYXQgdGhlIHZhbHVlIHJlcHJlc2VudHMgYSByZWFsIGRhdGUgYW5kIG5vdCBhbiBpbnZhbGlkIGRhdGUgbGlrZSBcIjIwMjMtMDItMzFcIi5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV0gLSBDdXN0b20gZXJyb3IgbWVzc2FnZSB0byBkaXNwbGF5IHdoZW4gdmFsaWRhdGlvbiBmYWlscywgZGVmYXVsdHMgdG8ge0BsaW5rIERFRkFVTFRfRVJST1JfTUVTU0FHRVMjREFURX1cbiAqIEBjbGFzcyBEYXRlVmFsaWRhdG9yXG4gKiBAZXh0ZW5kcyBWYWxpZGF0b3JcbiAqXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdG9yc1xuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIENyZWF0ZSBhIGRhdGUgdmFsaWRhdG9yIHdpdGggZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBjb25zdCBkYXRlVmFsaWRhdG9yID0gbmV3IERhdGVWYWxpZGF0b3IoKTtcbiAqXG4gKiAvLyBDcmVhdGUgYSBkYXRlIHZhbGlkYXRvciB3aXRoIGN1c3RvbSBlcnJvciBtZXNzYWdlXG4gKiBjb25zdCBjdXN0b21EYXRlVmFsaWRhdG9yID0gbmV3IERhdGVWYWxpZGF0b3IoXCJQbGVhc2UgZW50ZXIgYSB2YWxpZCBkYXRlXCIpO1xuICpcbiAqIC8vIFZhbGlkYXRlIGEgZGF0ZVxuICogY29uc3QgcmVzdWx0ID0gZGF0ZVZhbGlkYXRvci5oYXNFcnJvcnMobmV3IERhdGUoKSk7IC8vIHVuZGVmaW5lZCAodmFsaWQpXG4gKiBjb25zdCBpbnZhbGlkUmVzdWx0ID0gZGF0ZVZhbGlkYXRvci5oYXNFcnJvcnMoXCJub3QgYSBkYXRlXCIpOyAvLyBSZXR1cm5zIGVycm9yIG1lc3NhZ2UgKGludmFsaWQpXG4gKiBgYGBcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgQyBhcyBDbGllbnRcbiAqICAgcGFydGljaXBhbnQgViBhcyBEYXRlVmFsaWRhdG9yXG4gKlxuICogICBDLT4+VjogbmV3IERhdGVWYWxpZGF0b3IobWVzc2FnZSlcbiAqICAgQy0+PlY6IGhhc0Vycm9ycyh2YWx1ZSwgb3B0aW9ucylcbiAqICAgYWx0IHZhbHVlIGlzIHVuZGVmaW5lZFxuICogICAgIFYtLT4+QzogdW5kZWZpbmVkICh2YWxpZClcbiAqICAgZWxzZSB2YWx1ZSBpcyBzdHJpbmdcbiAqICAgICBWLT4+VjogQ29udmVydCB0byBEYXRlXG4gKiAgIGVuZFxuICogICBhbHQgRGF0ZSBpcyBpbnZhbGlkIChOYU4pXG4gKiAgICAgVi0tPj5DOiBFcnJvciBtZXNzYWdlXG4gKiAgIGVsc2UgRGF0ZSBpcyB2YWxpZFxuICogICAgIFYtLT4+QzogdW5kZWZpbmVkICh2YWxpZClcbiAqICAgZW5kXG4gKi9cbkB2YWxpZGF0b3IoVmFsaWRhdGlvbktleXMuREFURSlcbmV4cG9ydCBjbGFzcyBEYXRlVmFsaWRhdG9yIGV4dGVuZHMgVmFsaWRhdG9yPERhdGVWYWxpZGF0b3JPcHRpb25zPiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuREFURSkge1xuICAgIHN1cGVyKG1lc3NhZ2UsIE51bWJlci5uYW1lLCBEYXRlLm5hbWUsIFN0cmluZy5uYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ2hlY2tzIGlmIHRoZSBwcm92aWRlZCB2YWx1ZSBpcyBhIHZhbGlkIGRhdGVcbiAgICogQHN1bW1hcnkgVmFsaWRhdGVzIHRoYXQgdGhlIGdpdmVuIHZhbHVlIGlzIGEgdmFsaWQgZGF0ZS4gSWYgdGhlIHZhbHVlIGlzIGEgc3RyaW5nLFxuICAgKiBpdCBhdHRlbXB0cyB0byBjb252ZXJ0IGl0IHRvIGEgRGF0ZSBvYmplY3QuIFJldHVybnMgYW4gZXJyb3IgbWVzc2FnZSBpZiB0aGUgZGF0ZSBpcyBpbnZhbGlkLFxuICAgKiBvciB1bmRlZmluZWQgaWYgdGhlIGRhdGUgaXMgdmFsaWQgb3IgaWYgdGhlIHZhbHVlIGlzIHVuZGVmaW5lZC5cbiAgICpcbiAgICogQHBhcmFtIHtEYXRlIHwgc3RyaW5nfSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byB2YWxpZGF0ZSwgY2FuIGJlIGEgRGF0ZSBvYmplY3Qgb3IgYSBzdHJpbmdcbiAgICogQHBhcmFtIHtEYXRlVmFsaWRhdG9yT3B0aW9uc30gW29wdGlvbnM9e31dIC0gT3B0aW9uYWwgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgdmFsaWRhdG9yXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZyB8IHVuZGVmaW5lZH0gRXJyb3IgbWVzc2FnZSBpZiB2YWxpZGF0aW9uIGZhaWxzLCB1bmRlZmluZWQgaWYgdmFsaWRhdGlvbiBwYXNzZXNcbiAgICpcbiAgICogQG92ZXJyaWRlXG4gICAqXG4gICAqIEBzZWUgVmFsaWRhdG9yI2hhc0Vycm9yc1xuICAgKi9cbiAgcHVibGljIGhhc0Vycm9ycyhcbiAgICB2YWx1ZTogRGF0ZSB8IHN0cmluZyxcbiAgICBvcHRpb25zOiBEYXRlVmFsaWRhdG9yT3B0aW9ucyA9IHt9XG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHZhbHVlID0gbmV3IERhdGUodmFsdWUpO1xuXG4gICAgaWYgKE51bWJlci5pc05hTih2YWx1ZS5nZXREYXRlKCkpKSB7XG4gICAgICBjb25zdCB7IG1lc3NhZ2UgPSBcIlwiIH0gPSBvcHRpb25zO1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0TWVzc2FnZShtZXNzYWdlIHx8IHRoaXMubWVzc2FnZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,5 +1,6 @@
1
1
  import { Validator } from "./Validator";
2
2
  import { DiffValidatorOptions } from "../types";
3
+ import type { PathProxy } from "../../utils";
3
4
  /**
4
5
  * @summary Diff Validator
5
6
  *
@@ -16,12 +17,13 @@ export declare class DiffValidator extends Validator<DiffValidatorOptions> {
16
17
  * @summary Validates a model
17
18
  *
18
19
  * @param {string} value
19
- * @param {ComparisonValidatorOptions} options
20
+ * @param {DiffValidatorOptions} options
21
+ * @param {PathProxy<any>} accessor - Proxy-like object used to resolve values from nested structures via path strings.
20
22
  *
21
23
  * @return {string | undefined}
22
24
  *
23
25
  * @override
24
26
  * @see Validator#hasErrors
25
27
  */
26
- hasErrors(value: any, options: DiffValidatorOptions, instance: any): string | undefined;
28
+ hasErrors(value: any, options: DiffValidatorOptions, accessor: PathProxy<any>): string | undefined;
27
29
  }
@@ -7,11 +7,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { Validator } from "./Validator";
11
- import { DEFAULT_ERROR_MESSAGES, ValidationKeys } from "./constants";
12
- import { validator } from "./decorators";
10
+ import { Validator } from "./Validator.js";
11
+ import { DEFAULT_ERROR_MESSAGES, ValidationKeys } from "./constants.js";
12
+ import { validator } from "./decorators.js";
13
13
  import { isEqual } from "@decaf-ts/reflection";
14
- import { getValueByPath } from "./utils";
15
14
  /**
16
15
  * @summary Diff Validator
17
16
  *
@@ -30,17 +29,18 @@ let DiffValidator = class DiffValidator extends Validator {
30
29
  * @summary Validates a model
31
30
  *
32
31
  * @param {string} value
33
- * @param {ComparisonValidatorOptions} options
32
+ * @param {DiffValidatorOptions} options
33
+ * @param {PathProxy<any>} accessor - Proxy-like object used to resolve values from nested structures via path strings.
34
34
  *
35
35
  * @return {string | undefined}
36
36
  *
37
37
  * @override
38
38
  * @see Validator#hasErrors
39
39
  */
40
- hasErrors(value, options, instance) {
40
+ hasErrors(value, options, accessor) {
41
41
  let comparisonPropertyValue;
42
42
  try {
43
- comparisonPropertyValue = getValueByPath(instance, options[ValidationKeys.DIFF]);
43
+ comparisonPropertyValue = accessor.getValueFromPath(options[ValidationKeys.DIFF]);
44
44
  }
45
45
  catch (e) {
46
46
  return this.getMessage(e.message || this.message);
@@ -55,4 +55,4 @@ DiffValidator = __decorate([
55
55
  __metadata("design:paramtypes", [String])
56
56
  ], DiffValidator);
57
57
  export { DiffValidator };
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlmZlZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvRGlmZlZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV6Qzs7Ozs7Ozs7O0dBU0c7QUFFSSxJQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUFjLFNBQVEsU0FBK0I7SUFDaEUsWUFBWSxVQUFrQixzQkFBc0IsQ0FBQyxJQUFJO1FBQ3ZELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLFNBQVMsQ0FDZCxLQUFVLEVBQ1YsT0FBNkIsRUFDN0IsUUFBYTtRQUViLElBQUksdUJBQTRCLENBQUM7UUFDakMsSUFBSSxDQUFDO1lBQ0gsdUJBQXVCLEdBQUcsY0FBYyxDQUN0QyxRQUFRLEVBQ1IsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FDN0IsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLHVCQUF1QixDQUFDO1lBQzVDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUNiLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sRUFDL0IsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FDN0I7WUFDSCxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2hCLENBQUM7Q0FDRixDQUFBO0FBdENZLGFBQWE7SUFEekIsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7O0dBQ2xCLGFBQWEsQ0FzQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yIH0gZnJvbSBcIi4vVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBERUZBVUxUX0VSUk9SX01FU1NBR0VTLCBWYWxpZGF0aW9uS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgdmFsaWRhdG9yIH0gZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgRGlmZlZhbGlkYXRvck9wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tIFwiQGRlY2FmLXRzL3JlZmxlY3Rpb25cIjtcbmltcG9ydCB7IGdldFZhbHVlQnlQYXRoIH0gZnJvbSBcIi4vdXRpbHNcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBEaWZmIFZhbGlkYXRvclxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV0gZGVmYXVsdHMgdG8ge0BsaW5rIERFRkFVTFRfRVJST1JfTUVTU0FHRVMjRGlmZlZhbGlkYXRvcn1cbiAqXG4gKiBAY2xhc3MgRGlmZlZhbGlkYXRvclxuICogQGV4dGVuZHMgVmFsaWRhdG9yXG4gKlxuICogQGNhdGVnb3J5IFZhbGlkYXRvcnNcbiAqL1xuQHZhbGlkYXRvcihWYWxpZGF0aW9uS2V5cy5ESUZGKVxuZXhwb3J0IGNsYXNzIERpZmZWYWxpZGF0b3IgZXh0ZW5kcyBWYWxpZGF0b3I8RGlmZlZhbGlkYXRvck9wdGlvbnM+IHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nID0gREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5ESUZGKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgVmFsaWRhdGVzIGEgbW9kZWxcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gICAqIEBwYXJhbSB7Q29tcGFyaXNvblZhbGlkYXRvck9wdGlvbnN9IG9wdGlvbnNcbiAgICpcbiAgICogQHJldHVybiB7c3RyaW5nIHwgdW5kZWZpbmVkfVxuICAgKlxuICAgKiBAb3ZlcnJpZGVcbiAgICogQHNlZSBWYWxpZGF0b3IjaGFzRXJyb3JzXG4gICAqL1xuICBwdWJsaWMgaGFzRXJyb3JzKFxuICAgIHZhbHVlOiBhbnksXG4gICAgb3B0aW9uczogRGlmZlZhbGlkYXRvck9wdGlvbnMsXG4gICAgaW5zdGFuY2U6IGFueVxuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGxldCBjb21wYXJpc29uUHJvcGVydHlWYWx1ZTogYW55O1xuICAgIHRyeSB7XG4gICAgICBjb21wYXJpc29uUHJvcGVydHlWYWx1ZSA9IGdldFZhbHVlQnlQYXRoKFxuICAgICAgICBpbnN0YW5jZSxcbiAgICAgICAgb3B0aW9uc1tWYWxpZGF0aW9uS2V5cy5ESUZGXVxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldE1lc3NhZ2UoZS5tZXNzYWdlIHx8IHRoaXMubWVzc2FnZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGlzRXF1YWwodmFsdWUsIGNvbXBhcmlzb25Qcm9wZXJ0eVZhbHVlKVxuICAgICAgPyB0aGlzLmdldE1lc3NhZ2UoXG4gICAgICAgICAgb3B0aW9ucy5tZXNzYWdlIHx8IHRoaXMubWVzc2FnZSxcbiAgICAgICAgICBvcHRpb25zW1ZhbGlkYXRpb25LZXlzLkRJRkZdXG4gICAgICAgIClcbiAgICAgIDogdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlmZlZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvRGlmZlZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUFvQjtBQUN4QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsY0FBYyxFQUFFLHVCQUFvQjtBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLHdCQUFxQjtBQUV6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHL0M7Ozs7Ozs7OztHQVNHO0FBRUksSUFBTSxhQUFhLEdBQW5CLE1BQU0sYUFBYyxTQUFRLFNBQStCO0lBQ2hFLFlBQVksVUFBa0Isc0JBQXNCLENBQUMsSUFBSTtRQUN2RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0ksU0FBUyxDQUNkLEtBQVUsRUFDVixPQUE2QixFQUM3QixRQUF3QjtRQUV4QixJQUFJLHVCQUE0QixDQUFDO1FBQ2pDLElBQUksQ0FBQztZQUNILHVCQUF1QixHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FDakQsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FDN0IsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLHVCQUF1QixDQUFDO1lBQzVDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUNiLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sRUFDL0IsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FDN0I7WUFDSCxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2hCLENBQUM7Q0FDRixDQUFBO0FBdENZLGFBQWE7SUFEekIsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7O0dBQ2xCLGFBQWEsQ0FzQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yIH0gZnJvbSBcIi4vVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBERUZBVUxUX0VSUk9SX01FU1NBR0VTLCBWYWxpZGF0aW9uS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgdmFsaWRhdG9yIH0gZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgRGlmZlZhbGlkYXRvck9wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tIFwiQGRlY2FmLXRzL3JlZmxlY3Rpb25cIjtcbmltcG9ydCB0eXBlIHsgUGF0aFByb3h5IH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XG5cbi8qKlxuICogQHN1bW1hcnkgRGlmZiBWYWxpZGF0b3JcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdIGRlZmF1bHRzIHRvIHtAbGluayBERUZBVUxUX0VSUk9SX01FU1NBR0VTI0RpZmZWYWxpZGF0b3J9XG4gKlxuICogQGNsYXNzIERpZmZWYWxpZGF0b3JcbiAqIEBleHRlbmRzIFZhbGlkYXRvclxuICpcbiAqIEBjYXRlZ29yeSBWYWxpZGF0b3JzXG4gKi9cbkB2YWxpZGF0b3IoVmFsaWRhdGlvbktleXMuRElGRilcbmV4cG9ydCBjbGFzcyBEaWZmVmFsaWRhdG9yIGV4dGVuZHMgVmFsaWRhdG9yPERpZmZWYWxpZGF0b3JPcHRpb25zPiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuRElGRikge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFZhbGlkYXRlcyBhIG1vZGVsXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICAgKiBAcGFyYW0ge0RpZmZWYWxpZGF0b3JPcHRpb25zfSBvcHRpb25zXG4gICAqIEBwYXJhbSB7UGF0aFByb3h5PGFueT59IGFjY2Vzc29yIC0gUHJveHktbGlrZSBvYmplY3QgdXNlZCB0byByZXNvbHZlIHZhbHVlcyBmcm9tIG5lc3RlZCBzdHJ1Y3R1cmVzIHZpYSBwYXRoIHN0cmluZ3MuXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZyB8IHVuZGVmaW5lZH1cbiAgICpcbiAgICogQG92ZXJyaWRlXG4gICAqIEBzZWUgVmFsaWRhdG9yI2hhc0Vycm9yc1xuICAgKi9cbiAgcHVibGljIGhhc0Vycm9ycyhcbiAgICB2YWx1ZTogYW55LFxuICAgIG9wdGlvbnM6IERpZmZWYWxpZGF0b3JPcHRpb25zLFxuICAgIGFjY2Vzc29yOiBQYXRoUHJveHk8YW55PlxuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGxldCBjb21wYXJpc29uUHJvcGVydHlWYWx1ZTogYW55O1xuICAgIHRyeSB7XG4gICAgICBjb21wYXJpc29uUHJvcGVydHlWYWx1ZSA9IGFjY2Vzc29yLmdldFZhbHVlRnJvbVBhdGgoXG4gICAgICAgIG9wdGlvbnNbVmFsaWRhdGlvbktleXMuRElGRl1cbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRNZXNzYWdlKGUubWVzc2FnZSB8fCB0aGlzLm1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHJldHVybiBpc0VxdWFsKHZhbHVlLCBjb21wYXJpc29uUHJvcGVydHlWYWx1ZSlcbiAgICAgID8gdGhpcy5nZXRNZXNzYWdlKFxuICAgICAgICAgIG9wdGlvbnMubWVzc2FnZSB8fCB0aGlzLm1lc3NhZ2UsXG4gICAgICAgICAgb3B0aW9uc1tWYWxpZGF0aW9uS2V5cy5ESUZGXVxuICAgICAgICApXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
@@ -7,9 +7,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { DEFAULT_ERROR_MESSAGES, DEFAULT_PATTERNS, ValidationKeys, } from "./constants";
11
- import { PatternValidator } from "./PatternValidator";
12
- import { validator } from "./decorators";
10
+ import { DEFAULT_ERROR_MESSAGES, DEFAULT_PATTERNS, ValidationKeys, } from "./constants.js";
11
+ import { PatternValidator } from "./PatternValidator.js";
12
+ import { validator } from "./decorators.js";
13
13
  /**
14
14
  * @description Validator for checking if a string is a valid email address
15
15
  * @summary The EmailValidator checks if a string matches a standard email address pattern.
@@ -81,4 +81,4 @@ EmailValidator = __decorate([
81
81
  __metadata("design:paramtypes", [String])
82
82
  ], EmailValidator);
83
83
  export { EmailValidator };
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW1haWxWYWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdmFsaWRhdGlvbi9WYWxpZGF0b3JzL0VtYWlsVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsZ0JBQWdCLEVBQ2hCLGNBQWMsR0FDZixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR3pDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNDRztBQUVJLElBQU0sY0FBYyxHQUFwQixNQUFNLGNBQWUsU0FBUSxnQkFBZ0I7SUFDbEQsWUFBWSxVQUFrQixzQkFBc0IsQ0FBQyxLQUFLO1FBQ3hELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFDYSxTQUFTLENBQ3ZCLEtBQWEsRUFDYixVQUFtQyxFQUFFO1FBRXJDLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUU7WUFDNUIsR0FBRyxPQUFPO1lBQ1YsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU87WUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLElBQUksZ0JBQWdCLENBQUMsS0FBSztTQUNwRCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YsQ0FBQTtBQTlCWSxjQUFjO0lBRDFCLFNBQVMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDOztHQUNuQixjQUFjLENBOEIxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERFRkFVTFRfRVJST1JfTUVTU0FHRVMsXG4gIERFRkFVTFRfUEFUVEVSTlMsXG4gIFZhbGlkYXRpb25LZXlzLFxufSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IFBhdHRlcm5WYWxpZGF0b3IgfSBmcm9tIFwiLi9QYXR0ZXJuVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyB2YWxpZGF0b3IgfSBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucyB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBWYWxpZGF0b3IgZm9yIGNoZWNraW5nIGlmIGEgc3RyaW5nIGlzIGEgdmFsaWQgZW1haWwgYWRkcmVzc1xuICogQHN1bW1hcnkgVGhlIEVtYWlsVmFsaWRhdG9yIGNoZWNrcyBpZiBhIHN0cmluZyBtYXRjaGVzIGEgc3RhbmRhcmQgZW1haWwgYWRkcmVzcyBwYXR0ZXJuLlxuICogSXQgZXh0ZW5kcyB0aGUgUGF0dGVyblZhbGlkYXRvciBhbmQgdXNlcyBhIHByZWRlZmluZWQgZW1haWwgcmVnZXggcGF0dGVybiB0byB2YWxpZGF0ZSBlbWFpbCBhZGRyZXNzZXMuXG4gKiBUaGlzIHZhbGlkYXRvciBpcyB0eXBpY2FsbHkgdXNlZCB3aXRoIHRoZSBAZW1haWwgZGVjb3JhdG9yLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV0gLSBDdXN0b20gZXJyb3IgbWVzc2FnZSB0byBkaXNwbGF5IHdoZW4gdmFsaWRhdGlvbiBmYWlscywgZGVmYXVsdHMgdG8ge0BsaW5rIERFRkFVTFRfRVJST1JfTUVTU0FHRVMjRU1BSUx9XG4gKlxuICogQGNsYXNzIEVtYWlsVmFsaWRhdG9yXG4gKiBAZXh0ZW5kcyBQYXR0ZXJuVmFsaWRhdG9yXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIENyZWF0ZSBhbiBlbWFpbCB2YWxpZGF0b3Igd2l0aCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIGNvbnN0IGVtYWlsVmFsaWRhdG9yID0gbmV3IEVtYWlsVmFsaWRhdG9yKCk7XG4gKlxuICogLy8gQ3JlYXRlIGFuIGVtYWlsIHZhbGlkYXRvciB3aXRoIGN1c3RvbSBlcnJvciBtZXNzYWdlXG4gKiBjb25zdCBjdXN0b21FbWFpbFZhbGlkYXRvciA9IG5ldyBFbWFpbFZhbGlkYXRvcihcIlBsZWFzZSBlbnRlciBhIHZhbGlkIGVtYWlsIGFkZHJlc3NcIik7XG4gKlxuICogLy8gVmFsaWRhdGUgYW4gZW1haWxcbiAqIGNvbnN0IHJlc3VsdCA9IGVtYWlsVmFsaWRhdG9yLmhhc0Vycm9ycyhcInVzZXJAZXhhbXBsZS5jb21cIik7IC8vIHVuZGVmaW5lZCAodmFsaWQpXG4gKiBjb25zdCBpbnZhbGlkUmVzdWx0ID0gZW1haWxWYWxpZGF0b3IuaGFzRXJyb3JzKFwiaW52YWxpZC1lbWFpbFwiKTsgLy8gUmV0dXJucyBlcnJvciBtZXNzYWdlIChpbnZhbGlkKVxuICogYGBgXG4gKlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBDIGFzIENsaWVudFxuICogICBwYXJ0aWNpcGFudCBFIGFzIEVtYWlsVmFsaWRhdG9yXG4gKiAgIHBhcnRpY2lwYW50IFAgYXMgUGF0dGVyblZhbGlkYXRvclxuICpcbiAqICAgQy0+PkU6IG5ldyBFbWFpbFZhbGlkYXRvcihtZXNzYWdlKVxuICogICBFLT4+UDogc3VwZXIobWVzc2FnZSlcbiAqICAgQy0+PkU6IGhhc0Vycm9ycyh2YWx1ZSwgb3B0aW9ucylcbiAqICAgRS0+PlA6IHN1cGVyLmhhc0Vycm9ycyh2YWx1ZSwgb3B0aW9ucyB3aXRoIEVNQUlMIHBhdHRlcm4pXG4gKiAgIFAtLT4+RTogdmFsaWRhdGlvbiByZXN1bHRcbiAqICAgRS0tPj5DOiB2YWxpZGF0aW9uIHJlc3VsdFxuICpcbiAqIEBjYXRlZ29yeSBWYWxpZGF0b3JzXG4gKi9cbkB2YWxpZGF0b3IoVmFsaWRhdGlvbktleXMuRU1BSUwpXG5leHBvcnQgY2xhc3MgRW1haWxWYWxpZGF0b3IgZXh0ZW5kcyBQYXR0ZXJuVmFsaWRhdG9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nID0gREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5FTUFJTCkge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDaGVja3MgaWYgYSBzdHJpbmcgaXMgYSB2YWxpZCBlbWFpbCBhZGRyZXNzXG4gICAqIEBzdW1tYXJ5IFZhbGlkYXRlcyB0aGF0IHRoZSBwcm92aWRlZCBzdHJpbmcgbWF0Y2hlcyB0aGUgZW1haWwgcGF0dGVybi5cbiAgICogVGhpcyBtZXRob2QgZXh0ZW5kcyB0aGUgUGF0dGVyblZhbGlkYXRvcidzIGhhc0Vycm9ycyBtZXRob2QgYnkgZW5zdXJpbmdcbiAgICogdGhlIGVtYWlsIHBhdHRlcm4gaXMgdXNlZCwgZXZlbiBpZiBub3QgZXhwbGljaXRseSBwcm92aWRlZCBpbiB0aGUgb3B0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIC0gVGhlIHN0cmluZyB0byB2YWxpZGF0ZSBhcyBhbiBlbWFpbCBhZGRyZXNzXG4gICAqIEBwYXJhbSB7UGF0dGVyblZhbGlkYXRvck9wdGlvbnN9IFtvcHRpb25zPXt9XSAtIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gb3B0aW9uc1xuICAgKlxuICAgKiBAcmV0dXJuIHtzdHJpbmcgfCB1bmRlZmluZWR9IEVycm9yIG1lc3NhZ2UgaWYgdmFsaWRhdGlvbiBmYWlscywgdW5kZWZpbmVkIGlmIHZhbGlkYXRpb24gcGFzc2VzXG4gICAqXG4gICAqIEBvdmVycmlkZVxuICAgKlxuICAgKiBAc2VlIFBhdHRlcm5WYWxpZGF0b3IjaGFzRXJyb3JzXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgaGFzRXJyb3JzKFxuICAgIHZhbHVlOiBzdHJpbmcsXG4gICAgb3B0aW9uczogUGF0dGVyblZhbGlkYXRvck9wdGlvbnMgPSB7fVxuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBzdXBlci5oYXNFcnJvcnModmFsdWUsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBtZXNzYWdlOiBvcHRpb25zLm1lc3NhZ2UgfHwgdGhpcy5tZXNzYWdlLFxuICAgICAgcGF0dGVybjogb3B0aW9ucz8ucGF0dGVybiB8fCBERUZBVUxUX1BBVFRFUk5TLkVNQUlMLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW1haWxWYWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdmFsaWRhdGlvbi9WYWxpZGF0b3JzL0VtYWlsVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsZ0JBQWdCLEVBQ2hCLGNBQWMsR0FDZix1QkFBb0I7QUFDckIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLDhCQUEyQjtBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLHdCQUFxQjtBQUd6Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQ0c7QUFFSSxJQUFNLGNBQWMsR0FBcEIsTUFBTSxjQUFlLFNBQVEsZ0JBQWdCO0lBQ2xELFlBQVksVUFBa0Isc0JBQXNCLENBQUMsS0FBSztRQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7OztPQWNHO0lBQ2EsU0FBUyxDQUN2QixLQUFhLEVBQ2IsVUFBbUMsRUFBRTtRQUVyQyxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFO1lBQzVCLEdBQUcsT0FBTztZQUNWLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPO1lBQ3hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxJQUFJLGdCQUFnQixDQUFDLEtBQUs7U0FDcEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGLENBQUE7QUE5QlksY0FBYztJQUQxQixTQUFTLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQzs7R0FDbkIsY0FBYyxDQThCMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBERUZBVUxUX0VSUk9SX01FU1NBR0VTLFxuICBERUZBVUxUX1BBVFRFUk5TLFxuICBWYWxpZGF0aW9uS2V5cyxcbn0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBQYXR0ZXJuVmFsaWRhdG9yIH0gZnJvbSBcIi4vUGF0dGVyblZhbGlkYXRvclwiO1xuaW1wb3J0IHsgdmFsaWRhdG9yIH0gZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gVmFsaWRhdG9yIGZvciBjaGVja2luZyBpZiBhIHN0cmluZyBpcyBhIHZhbGlkIGVtYWlsIGFkZHJlc3NcbiAqIEBzdW1tYXJ5IFRoZSBFbWFpbFZhbGlkYXRvciBjaGVja3MgaWYgYSBzdHJpbmcgbWF0Y2hlcyBhIHN0YW5kYXJkIGVtYWlsIGFkZHJlc3MgcGF0dGVybi5cbiAqIEl0IGV4dGVuZHMgdGhlIFBhdHRlcm5WYWxpZGF0b3IgYW5kIHVzZXMgYSBwcmVkZWZpbmVkIGVtYWlsIHJlZ2V4IHBhdHRlcm4gdG8gdmFsaWRhdGUgZW1haWwgYWRkcmVzc2VzLlxuICogVGhpcyB2YWxpZGF0b3IgaXMgdHlwaWNhbGx5IHVzZWQgd2l0aCB0aGUgQGVtYWlsIGRlY29yYXRvci5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdIC0gQ3VzdG9tIGVycm9yIG1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIHZhbGlkYXRpb24gZmFpbHMsIGRlZmF1bHRzIHRvIHtAbGluayBERUZBVUxUX0VSUk9SX01FU1NBR0VTI0VNQUlMfVxuICpcbiAqIEBjbGFzcyBFbWFpbFZhbGlkYXRvclxuICogQGV4dGVuZHMgUGF0dGVyblZhbGlkYXRvclxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBDcmVhdGUgYW4gZW1haWwgdmFsaWRhdG9yIHdpdGggZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBjb25zdCBlbWFpbFZhbGlkYXRvciA9IG5ldyBFbWFpbFZhbGlkYXRvcigpO1xuICpcbiAqIC8vIENyZWF0ZSBhbiBlbWFpbCB2YWxpZGF0b3Igd2l0aCBjdXN0b20gZXJyb3IgbWVzc2FnZVxuICogY29uc3QgY3VzdG9tRW1haWxWYWxpZGF0b3IgPSBuZXcgRW1haWxWYWxpZGF0b3IoXCJQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzXCIpO1xuICpcbiAqIC8vIFZhbGlkYXRlIGFuIGVtYWlsXG4gKiBjb25zdCByZXN1bHQgPSBlbWFpbFZhbGlkYXRvci5oYXNFcnJvcnMoXCJ1c2VyQGV4YW1wbGUuY29tXCIpOyAvLyB1bmRlZmluZWQgKHZhbGlkKVxuICogY29uc3QgaW52YWxpZFJlc3VsdCA9IGVtYWlsVmFsaWRhdG9yLmhhc0Vycm9ycyhcImludmFsaWQtZW1haWxcIik7IC8vIFJldHVybnMgZXJyb3IgbWVzc2FnZSAoaW52YWxpZClcbiAqIGBgYFxuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgQyBhcyBDbGllbnRcbiAqICAgcGFydGljaXBhbnQgRSBhcyBFbWFpbFZhbGlkYXRvclxuICogICBwYXJ0aWNpcGFudCBQIGFzIFBhdHRlcm5WYWxpZGF0b3JcbiAqXG4gKiAgIEMtPj5FOiBuZXcgRW1haWxWYWxpZGF0b3IobWVzc2FnZSlcbiAqICAgRS0+PlA6IHN1cGVyKG1lc3NhZ2UpXG4gKiAgIEMtPj5FOiBoYXNFcnJvcnModmFsdWUsIG9wdGlvbnMpXG4gKiAgIEUtPj5QOiBzdXBlci5oYXNFcnJvcnModmFsdWUsIG9wdGlvbnMgd2l0aCBFTUFJTCBwYXR0ZXJuKVxuICogICBQLS0+PkU6IHZhbGlkYXRpb24gcmVzdWx0XG4gKiAgIEUtLT4+QzogdmFsaWRhdGlvbiByZXN1bHRcbiAqXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdG9yc1xuICovXG5AdmFsaWRhdG9yKFZhbGlkYXRpb25LZXlzLkVNQUlMKVxuZXhwb3J0IGNsYXNzIEVtYWlsVmFsaWRhdG9yIGV4dGVuZHMgUGF0dGVyblZhbGlkYXRvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuRU1BSUwpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ2hlY2tzIGlmIGEgc3RyaW5nIGlzIGEgdmFsaWQgZW1haWwgYWRkcmVzc1xuICAgKiBAc3VtbWFyeSBWYWxpZGF0ZXMgdGhhdCB0aGUgcHJvdmlkZWQgc3RyaW5nIG1hdGNoZXMgdGhlIGVtYWlsIHBhdHRlcm4uXG4gICAqIFRoaXMgbWV0aG9kIGV4dGVuZHMgdGhlIFBhdHRlcm5WYWxpZGF0b3IncyBoYXNFcnJvcnMgbWV0aG9kIGJ5IGVuc3VyaW5nXG4gICAqIHRoZSBlbWFpbCBwYXR0ZXJuIGlzIHVzZWQsIGV2ZW4gaWYgbm90IGV4cGxpY2l0bHkgcHJvdmlkZWQgaW4gdGhlIG9wdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSAtIFRoZSBzdHJpbmcgdG8gdmFsaWRhdGUgYXMgYW4gZW1haWwgYWRkcmVzc1xuICAgKiBAcGFyYW0ge1BhdHRlcm5WYWxpZGF0b3JPcHRpb25zfSBbb3B0aW9ucz17fV0gLSBPcHRpb25hbCBjb25maWd1cmF0aW9uIG9wdGlvbnNcbiAgICpcbiAgICogQHJldHVybiB7c3RyaW5nIHwgdW5kZWZpbmVkfSBFcnJvciBtZXNzYWdlIGlmIHZhbGlkYXRpb24gZmFpbHMsIHVuZGVmaW5lZCBpZiB2YWxpZGF0aW9uIHBhc3Nlc1xuICAgKlxuICAgKiBAb3ZlcnJpZGVcbiAgICpcbiAgICogQHNlZSBQYXR0ZXJuVmFsaWRhdG9yI2hhc0Vycm9yc1xuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGhhc0Vycm9ycyhcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIG9wdGlvbnM6IFBhdHRlcm5WYWxpZGF0b3JPcHRpb25zID0ge31cbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gc3VwZXIuaGFzRXJyb3JzKHZhbHVlLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgbWVzc2FnZTogb3B0aW9ucy5tZXNzYWdlIHx8IHRoaXMubWVzc2FnZSxcbiAgICAgIHBhdHRlcm46IG9wdGlvbnM/LnBhdHRlcm4gfHwgREVGQVVMVF9QQVRURVJOUy5FTUFJTCxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,5 +1,6 @@
1
1
  import { Validator } from "./Validator";
2
2
  import { EqualsValidatorOptions } from "../types";
3
+ import type { PathProxy } from "../../utils";
3
4
  /**
4
5
  * @summary Equals Validator
5
6
  *
@@ -16,12 +17,13 @@ export declare class EqualsValidator extends Validator<EqualsValidatorOptions> {
16
17
  * @summary Validates a model
17
18
  *
18
19
  * @param {string} value
19
- * @param {ComparisonValidatorOptions} options
20
+ * @param {EqualsValidatorOptions} options
21
+ * @param {PathProxy<any>} accessor - Proxy-like object used to resolve values from nested structures via path strings.
20
22
  *
21
23
  * @return {string | undefined}
22
24
  *
23
25
  * @override
24
26
  * @see Validator#hasErrors
25
27
  */
26
- hasErrors(value: any, options: EqualsValidatorOptions, instance: any): string | undefined;
28
+ hasErrors(value: any, options: EqualsValidatorOptions, accessor: PathProxy<any>): string | undefined;
27
29
  }
@@ -7,11 +7,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { Validator } from "./Validator";
11
- import { DEFAULT_ERROR_MESSAGES, ValidationKeys } from "./constants";
12
- import { validator } from "./decorators";
10
+ import { Validator } from "./Validator.js";
11
+ import { DEFAULT_ERROR_MESSAGES, ValidationKeys } from "./constants.js";
12
+ import { validator } from "./decorators.js";
13
13
  import { isEqual } from "@decaf-ts/reflection";
14
- import { getValueByPath } from "./utils";
15
14
  /**
16
15
  * @summary Equals Validator
17
16
  *
@@ -30,17 +29,18 @@ let EqualsValidator = class EqualsValidator extends Validator {
30
29
  * @summary Validates a model
31
30
  *
32
31
  * @param {string} value
33
- * @param {ComparisonValidatorOptions} options
32
+ * @param {EqualsValidatorOptions} options
33
+ * @param {PathProxy<any>} accessor - Proxy-like object used to resolve values from nested structures via path strings.
34
34
  *
35
35
  * @return {string | undefined}
36
36
  *
37
37
  * @override
38
38
  * @see Validator#hasErrors
39
39
  */
40
- hasErrors(value, options, instance) {
40
+ hasErrors(value, options, accessor) {
41
41
  let comparisonPropertyValue;
42
42
  try {
43
- comparisonPropertyValue = getValueByPath(instance, options[ValidationKeys.EQUALS]);
43
+ comparisonPropertyValue = accessor.getValueFromPath(options[ValidationKeys.EQUALS]);
44
44
  }
45
45
  catch (e) {
46
46
  return this.getMessage(e.message || this.message);
@@ -60,4 +60,4 @@ export { EqualsValidator };
60
60
  // validationKey: ValidationKeys.EQUALS,
61
61
  // save: false,
62
62
  // } as ValidatorDefinition);
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXF1YWxzVmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3ZhbGlkYXRpb24vVmFsaWRhdG9ycy9FcXVhbHNWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFekM7Ozs7Ozs7OztHQVNHO0FBRUksSUFBTSxlQUFlLEdBQXJCLE1BQU0sZUFBZ0IsU0FBUSxTQUFpQztJQUNwRSxZQUFZLFVBQWtCLHNCQUFzQixDQUFDLE1BQU07UUFDekQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksU0FBUyxDQUNkLEtBQVUsRUFDVixPQUErQixFQUMvQixRQUFhO1FBRWIsSUFBSSx1QkFBNEIsQ0FBQztRQUNqQyxJQUFJLENBQUM7WUFDSCx1QkFBdUIsR0FBRyxjQUFjLENBQ3RDLFFBQVEsRUFDUixPQUFPLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUMvQixDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLEVBQUUsdUJBQXVCLENBQUM7WUFDNUMsQ0FBQyxDQUFDLFNBQVM7WUFDWCxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FDYixPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQy9CLE9BQU8sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQy9CLENBQUM7SUFDUixDQUFDO0NBQ0YsQ0FBQTtBQXRDWSxlQUFlO0lBRDNCLFNBQVMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDOztHQUNwQixlQUFlLENBc0MzQjs7QUFFRCx3QkFBd0I7QUFDeEIsZ0NBQWdDO0FBQ2hDLDBDQUEwQztBQUMxQyxpQkFBaUI7QUFDakIsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yIH0gZnJvbSBcIi4vVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBERUZBVUxUX0VSUk9SX01FU1NBR0VTLCBWYWxpZGF0aW9uS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgdmFsaWRhdG9yIH0gZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgRXF1YWxzVmFsaWRhdG9yT3B0aW9ucyB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gXCJAZGVjYWYtdHMvcmVmbGVjdGlvblwiO1xuaW1wb3J0IHsgZ2V0VmFsdWVCeVBhdGggfSBmcm9tIFwiLi91dGlsc1wiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IEVxdWFscyBWYWxpZGF0b3JcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdIGRlZmF1bHRzIHRvIHtAbGluayBERUZBVUxUX0VSUk9SX01FU1NBR0VTI0VRVUFMU31cbiAqXG4gKiBAY2xhc3MgRXF1YWxzVmFsaWRhdG9yXG4gKiBAZXh0ZW5kcyBWYWxpZGF0b3JcbiAqXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdG9yc1xuICovXG5AdmFsaWRhdG9yKFZhbGlkYXRpb25LZXlzLkVRVUFMUylcbmV4cG9ydCBjbGFzcyBFcXVhbHNWYWxpZGF0b3IgZXh0ZW5kcyBWYWxpZGF0b3I8RXF1YWxzVmFsaWRhdG9yT3B0aW9ucz4ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLkVRVUFMUykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFZhbGlkYXRlcyBhIG1vZGVsXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICAgKiBAcGFyYW0ge0NvbXBhcmlzb25WYWxpZGF0b3JPcHRpb25zfSBvcHRpb25zXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZyB8IHVuZGVmaW5lZH1cbiAgICpcbiAgICogQG92ZXJyaWRlXG4gICAqIEBzZWUgVmFsaWRhdG9yI2hhc0Vycm9yc1xuICAgKi9cbiAgcHVibGljIGhhc0Vycm9ycyhcbiAgICB2YWx1ZTogYW55LFxuICAgIG9wdGlvbnM6IEVxdWFsc1ZhbGlkYXRvck9wdGlvbnMsXG4gICAgaW5zdGFuY2U6IGFueVxuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGxldCBjb21wYXJpc29uUHJvcGVydHlWYWx1ZTogYW55O1xuICAgIHRyeSB7XG4gICAgICBjb21wYXJpc29uUHJvcGVydHlWYWx1ZSA9IGdldFZhbHVlQnlQYXRoKFxuICAgICAgICBpbnN0YW5jZSxcbiAgICAgICAgb3B0aW9uc1tWYWxpZGF0aW9uS2V5cy5FUVVBTFNdXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0TWVzc2FnZShlLm1lc3NhZ2UgfHwgdGhpcy5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXNFcXVhbCh2YWx1ZSwgY29tcGFyaXNvblByb3BlcnR5VmFsdWUpXG4gICAgICA/IHVuZGVmaW5lZFxuICAgICAgOiB0aGlzLmdldE1lc3NhZ2UoXG4gICAgICAgICAgb3B0aW9ucy5tZXNzYWdlIHx8IHRoaXMubWVzc2FnZSxcbiAgICAgICAgICBvcHRpb25zW1ZhbGlkYXRpb25LZXlzLkVRVUFMU11cbiAgICAgICAgKTtcbiAgfVxufVxuXG4vLyBWYWxpZGF0aW9uLnJlZ2lzdGVyKHtcbi8vICAgdmFsaWRhdG9yOiBFcXVhbHNWYWxpZGF0b3IsXG4vLyAgIHZhbGlkYXRpb25LZXk6IFZhbGlkYXRpb25LZXlzLkVRVUFMUyxcbi8vICAgc2F2ZTogZmFsc2UsXG4vLyB9IGFzIFZhbGlkYXRvckRlZmluaXRpb24pO1xuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXF1YWxzVmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3ZhbGlkYXRpb24vVmFsaWRhdG9ycy9FcXVhbHNWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBb0I7QUFDeEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGNBQWMsRUFBRSx1QkFBb0I7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSx3QkFBcUI7QUFFekMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRy9DOzs7Ozs7Ozs7R0FTRztBQUVJLElBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWdCLFNBQVEsU0FBaUM7SUFDcEUsWUFBWSxVQUFrQixzQkFBc0IsQ0FBQyxNQUFNO1FBQ3pELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxTQUFTLENBQ2QsS0FBVSxFQUNWLE9BQStCLEVBQy9CLFFBQXdCO1FBRXhCLElBQUksdUJBQTRCLENBQUM7UUFDakMsSUFBSSxDQUFDO1lBQ0gsdUJBQXVCLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUNqRCxPQUFPLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUMvQixDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLEVBQUUsdUJBQXVCLENBQUM7WUFDNUMsQ0FBQyxDQUFDLFNBQVM7WUFDWCxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FDYixPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQy9CLE9BQU8sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQy9CLENBQUM7SUFDUixDQUFDO0NBQ0YsQ0FBQTtBQXRDWSxlQUFlO0lBRDNCLFNBQVMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDOztHQUNwQixlQUFlLENBc0MzQjs7QUFFRCx3QkFBd0I7QUFDeEIsZ0NBQWdDO0FBQ2hDLDBDQUEwQztBQUMxQyxpQkFBaUI7QUFDakIsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yIH0gZnJvbSBcIi4vVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBERUZBVUxUX0VSUk9SX01FU1NBR0VTLCBWYWxpZGF0aW9uS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgdmFsaWRhdG9yIH0gZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgRXF1YWxzVmFsaWRhdG9yT3B0aW9ucyB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gXCJAZGVjYWYtdHMvcmVmbGVjdGlvblwiO1xuaW1wb3J0IHR5cGUgeyBQYXRoUHJveHkgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBFcXVhbHMgVmFsaWRhdG9yXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXSBkZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNFUVVBTFN9XG4gKlxuICogQGNsYXNzIEVxdWFsc1ZhbGlkYXRvclxuICogQGV4dGVuZHMgVmFsaWRhdG9yXG4gKlxuICogQGNhdGVnb3J5IFZhbGlkYXRvcnNcbiAqL1xuQHZhbGlkYXRvcihWYWxpZGF0aW9uS2V5cy5FUVVBTFMpXG5leHBvcnQgY2xhc3MgRXF1YWxzVmFsaWRhdG9yIGV4dGVuZHMgVmFsaWRhdG9yPEVxdWFsc1ZhbGlkYXRvck9wdGlvbnM+IHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nID0gREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5FUVVBTFMpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBWYWxpZGF0ZXMgYSBtb2RlbFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAgICogQHBhcmFtIHtFcXVhbHNWYWxpZGF0b3JPcHRpb25zfSBvcHRpb25zXG4gICAqIEBwYXJhbSB7UGF0aFByb3h5PGFueT59IGFjY2Vzc29yIC0gUHJveHktbGlrZSBvYmplY3QgdXNlZCB0byByZXNvbHZlIHZhbHVlcyBmcm9tIG5lc3RlZCBzdHJ1Y3R1cmVzIHZpYSBwYXRoIHN0cmluZ3MuXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZyB8IHVuZGVmaW5lZH1cbiAgICpcbiAgICogQG92ZXJyaWRlXG4gICAqIEBzZWUgVmFsaWRhdG9yI2hhc0Vycm9yc1xuICAgKi9cbiAgcHVibGljIGhhc0Vycm9ycyhcbiAgICB2YWx1ZTogYW55LFxuICAgIG9wdGlvbnM6IEVxdWFsc1ZhbGlkYXRvck9wdGlvbnMsXG4gICAgYWNjZXNzb3I6IFBhdGhQcm94eTxhbnk+XG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IGNvbXBhcmlzb25Qcm9wZXJ0eVZhbHVlOiBhbnk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbXBhcmlzb25Qcm9wZXJ0eVZhbHVlID0gYWNjZXNzb3IuZ2V0VmFsdWVGcm9tUGF0aChcbiAgICAgICAgb3B0aW9uc1tWYWxpZGF0aW9uS2V5cy5FUVVBTFNdXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0TWVzc2FnZShlLm1lc3NhZ2UgfHwgdGhpcy5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXNFcXVhbCh2YWx1ZSwgY29tcGFyaXNvblByb3BlcnR5VmFsdWUpXG4gICAgICA/IHVuZGVmaW5lZFxuICAgICAgOiB0aGlzLmdldE1lc3NhZ2UoXG4gICAgICAgICAgb3B0aW9ucy5tZXNzYWdlIHx8IHRoaXMubWVzc2FnZSxcbiAgICAgICAgICBvcHRpb25zW1ZhbGlkYXRpb25LZXlzLkVRVUFMU11cbiAgICAgICAgKTtcbiAgfVxufVxuXG4vLyBWYWxpZGF0aW9uLnJlZ2lzdGVyKHtcbi8vICAgdmFsaWRhdG9yOiBFcXVhbHNWYWxpZGF0b3IsXG4vLyAgIHZhbGlkYXRpb25LZXk6IFZhbGlkYXRpb25LZXlzLkVRVUFMUyxcbi8vICAgc2F2ZTogZmFsc2UsXG4vLyB9IGFzIFZhbGlkYXRvckRlZmluaXRpb24pO1xuIl19
@@ -1,5 +1,6 @@
1
1
  import { Validator } from "./Validator";
2
2
  import { GreaterThanOrEqualValidatorOptions } from "../types";
3
+ import type { PathProxy } from "../../utils/PathProxy";
3
4
  /**
4
5
  * @summary Greater Than or Equal Validator
5
6
  *
@@ -16,12 +17,13 @@ export declare class GreaterThanOrEqualValidator extends Validator<GreaterThanOr
16
17
  * @summary Validates a model
17
18
  *
18
19
  * @param {string} value
19
- * @param {ComparisonValidatorOptions} options
20
+ * @param {GreaterThanOrEqualValidatorOptions} options
21
+ * @param {PathProxy<any>} accessor - Proxy-like object used to resolve values from nested structures via path strings.
20
22
  *
21
23
  * @return {string | undefined}
22
24
  *
23
25
  * @override
24
26
  * @see Validator#hasErrors
25
27
  */
26
- hasErrors(value: any, options: GreaterThanOrEqualValidatorOptions, instance: any): string | undefined;
28
+ hasErrors(value: any, options: GreaterThanOrEqualValidatorOptions, accessor: PathProxy<any>): string | undefined;
27
29
  }
@@ -7,10 +7,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { Validator } from "./Validator";
11
- import { DEFAULT_ERROR_MESSAGES, ValidationKeys } from "./constants";
12
- import { validator } from "./decorators";
13
- import { getValueByPath, isGreaterThan, isValidForGteOrLteComparison, } from "./utils";
10
+ import { Validator } from "./Validator.js";
11
+ import { DEFAULT_ERROR_MESSAGES, ValidationKeys } from "./constants.js";
12
+ import { validator } from "./decorators.js";
13
+ import { isGreaterThan, isValidForGteOrLteComparison } from "./utils.js";
14
14
  import { isEqual } from "@decaf-ts/reflection";
15
15
  /**
16
16
  * @summary Greater Than or Equal Validator
@@ -30,17 +30,18 @@ let GreaterThanOrEqualValidator = class GreaterThanOrEqualValidator extends Vali
30
30
  * @summary Validates a model
31
31
  *
32
32
  * @param {string} value
33
- * @param {ComparisonValidatorOptions} options
33
+ * @param {GreaterThanOrEqualValidatorOptions} options
34
+ * @param {PathProxy<any>} accessor - Proxy-like object used to resolve values from nested structures via path strings.
34
35
  *
35
36
  * @return {string | undefined}
36
37
  *
37
38
  * @override
38
39
  * @see Validator#hasErrors
39
40
  */
40
- hasErrors(value, options, instance) {
41
+ hasErrors(value, options, accessor) {
41
42
  let comparisonPropertyValue;
42
43
  try {
43
- comparisonPropertyValue = getValueByPath(instance, options[ValidationKeys.GREATER_THAN_OR_EQUAL]);
44
+ comparisonPropertyValue = accessor.getValueFromPath(options[ValidationKeys.GREATER_THAN_OR_EQUAL]);
44
45
  }
45
46
  catch (e) {
46
47
  return this.getMessage(e.message || this.message);
@@ -62,4 +63,4 @@ GreaterThanOrEqualValidator = __decorate([
62
63
  __metadata("design:paramtypes", [String])
63
64
  ], GreaterThanOrEqualValidator);
64
65
  export { GreaterThanOrEqualValidator };
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JlYXRlclRoYW5PckVxdWFsVmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3ZhbGlkYXRpb24vVmFsaWRhdG9ycy9HcmVhdGVyVGhhbk9yRXF1YWxWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekMsT0FBTyxFQUNMLGNBQWMsRUFDZCxhQUFhLEVBQ2IsNEJBQTRCLEdBQzdCLE1BQU0sU0FBUyxDQUFDO0FBQ2pCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUvQzs7Ozs7Ozs7O0dBU0c7QUFFSSxJQUFNLDJCQUEyQixHQUFqQyxNQUFNLDJCQUE0QixTQUFRLFNBQTZDO0lBQzVGLFlBQVksVUFBa0Isc0JBQXNCLENBQUMscUJBQXFCO1FBQ3hFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLFNBQVMsQ0FDZCxLQUFVLEVBQ1YsT0FBMkMsRUFDM0MsUUFBYTtRQUViLElBQUksdUJBQTRCLENBQUM7UUFDakMsSUFBSSxDQUFDO1lBQ0gsdUJBQXVCLEdBQUcsY0FBYyxDQUN0QyxRQUFRLEVBQ1IsT0FBTyxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUM5QyxDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFFRCxJQUFJLENBQUM7WUFDSCxJQUNFLENBQUMsNEJBQTRCLENBQUMsS0FBSyxFQUFFLHVCQUF1QixDQUFDO2dCQUMzRCxPQUFPLENBQUMsS0FBSyxFQUFFLHVCQUF1QixDQUFDLENBQUM7Z0JBQzFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsdUJBQXVCLENBQUM7Z0JBRTdDLE9BQU8sU0FBUyxDQUFDO1lBRW5CLE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUNwQixDQUFDLENBQUMsT0FBTyxFQUNULE9BQU8sQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsQ0FDOUMsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0NBQ0YsQ0FBQTtBQS9DWSwyQkFBMkI7SUFEdkMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQzs7R0FDbkMsMkJBQTJCLENBK0N2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRvciB9IGZyb20gXCIuL1ZhbGlkYXRvclwiO1xuaW1wb3J0IHsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUywgVmFsaWRhdGlvbktleXMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHZhbGlkYXRvciB9IGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IEdyZWF0ZXJUaGFuT3JFcXVhbFZhbGlkYXRvck9wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7XG4gIGdldFZhbHVlQnlQYXRoLFxuICBpc0dyZWF0ZXJUaGFuLFxuICBpc1ZhbGlkRm9yR3RlT3JMdGVDb21wYXJpc29uLFxufSBmcm9tIFwiLi91dGlsc1wiO1xuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gXCJAZGVjYWYtdHMvcmVmbGVjdGlvblwiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IEdyZWF0ZXIgVGhhbiBvciBFcXVhbCBWYWxpZGF0b3JcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdIGRlZmF1bHRzIHRvIHtAbGluayBERUZBVUxUX0VSUk9SX01FU1NBR0VTI0dSRUFURVJfVEhBTl9PUl9FUVVBTH1cbiAqXG4gKiBAY2xhc3MgR3JlYXRlclRoYW5PckVxdWFsVmFsaWRhdG9yXG4gKiBAZXh0ZW5kcyBWYWxpZGF0b3JcbiAqXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdG9yc1xuICovXG5AdmFsaWRhdG9yKFZhbGlkYXRpb25LZXlzLkdSRUFURVJfVEhBTl9PUl9FUVVBTClcbmV4cG9ydCBjbGFzcyBHcmVhdGVyVGhhbk9yRXF1YWxWYWxpZGF0b3IgZXh0ZW5kcyBWYWxpZGF0b3I8R3JlYXRlclRoYW5PckVxdWFsVmFsaWRhdG9yT3B0aW9ucz4ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLkdSRUFURVJfVEhBTl9PUl9FUVVBTCkge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFZhbGlkYXRlcyBhIG1vZGVsXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICAgKiBAcGFyYW0ge0NvbXBhcmlzb25WYWxpZGF0b3JPcHRpb25zfSBvcHRpb25zXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZyB8IHVuZGVmaW5lZH1cbiAgICpcbiAgICogQG92ZXJyaWRlXG4gICAqIEBzZWUgVmFsaWRhdG9yI2hhc0Vycm9yc1xuICAgKi9cbiAgcHVibGljIGhhc0Vycm9ycyhcbiAgICB2YWx1ZTogYW55LFxuICAgIG9wdGlvbnM6IEdyZWF0ZXJUaGFuT3JFcXVhbFZhbGlkYXRvck9wdGlvbnMsXG4gICAgaW5zdGFuY2U6IGFueVxuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGxldCBjb21wYXJpc29uUHJvcGVydHlWYWx1ZTogYW55O1xuICAgIHRyeSB7XG4gICAgICBjb21wYXJpc29uUHJvcGVydHlWYWx1ZSA9IGdldFZhbHVlQnlQYXRoKFxuICAgICAgICBpbnN0YW5jZSxcbiAgICAgICAgb3B0aW9uc1tWYWxpZGF0aW9uS2V5cy5HUkVBVEVSX1RIQU5fT1JfRVFVQUxdXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0TWVzc2FnZShlLm1lc3NhZ2UgfHwgdGhpcy5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgaWYgKFxuICAgICAgICAoaXNWYWxpZEZvckd0ZU9yTHRlQ29tcGFyaXNvbih2YWx1ZSwgY29tcGFyaXNvblByb3BlcnR5VmFsdWUpICYmXG4gICAgICAgICAgaXNFcXVhbCh2YWx1ZSwgY29tcGFyaXNvblByb3BlcnR5VmFsdWUpKSB8fFxuICAgICAgICBpc0dyZWF0ZXJUaGFuKHZhbHVlLCBjb21wYXJpc29uUHJvcGVydHlWYWx1ZSlcbiAgICAgIClcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgICAgdGhyb3cgbmV3IEVycm9yKG9wdGlvbnMubWVzc2FnZSB8fCB0aGlzLm1lc3NhZ2UpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0TWVzc2FnZShcbiAgICAgICAgZS5tZXNzYWdlLFxuICAgICAgICBvcHRpb25zW1ZhbGlkYXRpb25LZXlzLkdSRUFURVJfVEhBTl9PUl9FUVVBTF1cbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JlYXRlclRoYW5PckVxdWFsVmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3ZhbGlkYXRpb24vVmFsaWRhdG9ycy9HcmVhdGVyVGhhbk9yRXF1YWxWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBb0I7QUFDeEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGNBQWMsRUFBRSx1QkFBb0I7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSx3QkFBcUI7QUFFekMsT0FBTyxFQUFFLGFBQWEsRUFBRSw0QkFBNEIsRUFBRSxtQkFBZ0I7QUFDdEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRy9DOzs7Ozs7Ozs7R0FTRztBQUVJLElBQU0sMkJBQTJCLEdBQWpDLE1BQU0sMkJBQTRCLFNBQVEsU0FBNkM7SUFDNUYsWUFBWSxVQUFrQixzQkFBc0IsQ0FBQyxxQkFBcUI7UUFDeEUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNJLFNBQVMsQ0FDZCxLQUFVLEVBQ1YsT0FBMkMsRUFDM0MsUUFBd0I7UUFFeEIsSUFBSSx1QkFBNEIsQ0FBQztRQUNqQyxJQUFJLENBQUM7WUFDSCx1QkFBdUIsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQ2pELE9BQU8sQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsQ0FDOUMsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBRUQsSUFBSSxDQUFDO1lBQ0gsSUFDRSxDQUFDLDRCQUE0QixDQUFDLEtBQUssRUFBRSx1QkFBdUIsQ0FBQztnQkFDM0QsT0FBTyxDQUFDLEtBQUssRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO2dCQUMxQyxhQUFhLENBQUMsS0FBSyxFQUFFLHVCQUF1QixDQUFDO2dCQUU3QyxPQUFPLFNBQVMsQ0FBQztZQUVuQixNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FDcEIsQ0FBQyxDQUFDLE9BQU8sRUFDVCxPQUFPLENBQUMsY0FBYyxDQUFDLHFCQUFxQixDQUFDLENBQzlDLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUEvQ1ksMkJBQTJCO0lBRHZDLFNBQVMsQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUM7O0dBQ25DLDJCQUEyQixDQStDdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3IgfSBmcm9tIFwiLi9WYWxpZGF0b3JcIjtcbmltcG9ydCB7IERFRkFVTFRfRVJST1JfTUVTU0FHRVMsIFZhbGlkYXRpb25LZXlzIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyB2YWxpZGF0b3IgfSBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBHcmVhdGVyVGhhbk9yRXF1YWxWYWxpZGF0b3JPcHRpb25zIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBpc0dyZWF0ZXJUaGFuLCBpc1ZhbGlkRm9yR3RlT3JMdGVDb21wYXJpc29uIH0gZnJvbSBcIi4vdXRpbHNcIjtcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tIFwiQGRlY2FmLXRzL3JlZmxlY3Rpb25cIjtcbmltcG9ydCB0eXBlIHsgUGF0aFByb3h5IH0gZnJvbSBcIi4uLy4uL3V0aWxzL1BhdGhQcm94eVwiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IEdyZWF0ZXIgVGhhbiBvciBFcXVhbCBWYWxpZGF0b3JcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdIGRlZmF1bHRzIHRvIHtAbGluayBERUZBVUxUX0VSUk9SX01FU1NBR0VTI0dSRUFURVJfVEhBTl9PUl9FUVVBTH1cbiAqXG4gKiBAY2xhc3MgR3JlYXRlclRoYW5PckVxdWFsVmFsaWRhdG9yXG4gKiBAZXh0ZW5kcyBWYWxpZGF0b3JcbiAqXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdG9yc1xuICovXG5AdmFsaWRhdG9yKFZhbGlkYXRpb25LZXlzLkdSRUFURVJfVEhBTl9PUl9FUVVBTClcbmV4cG9ydCBjbGFzcyBHcmVhdGVyVGhhbk9yRXF1YWxWYWxpZGF0b3IgZXh0ZW5kcyBWYWxpZGF0b3I8R3JlYXRlclRoYW5PckVxdWFsVmFsaWRhdG9yT3B0aW9ucz4ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLkdSRUFURVJfVEhBTl9PUl9FUVVBTCkge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFZhbGlkYXRlcyBhIG1vZGVsXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICAgKiBAcGFyYW0ge0dyZWF0ZXJUaGFuT3JFcXVhbFZhbGlkYXRvck9wdGlvbnN9IG9wdGlvbnNcbiAgICogQHBhcmFtIHtQYXRoUHJveHk8YW55Pn0gYWNjZXNzb3IgLSBQcm94eS1saWtlIG9iamVjdCB1c2VkIHRvIHJlc29sdmUgdmFsdWVzIGZyb20gbmVzdGVkIHN0cnVjdHVyZXMgdmlhIHBhdGggc3RyaW5ncy5cbiAgICpcbiAgICogQHJldHVybiB7c3RyaW5nIHwgdW5kZWZpbmVkfVxuICAgKlxuICAgKiBAb3ZlcnJpZGVcbiAgICogQHNlZSBWYWxpZGF0b3IjaGFzRXJyb3JzXG4gICAqL1xuICBwdWJsaWMgaGFzRXJyb3JzKFxuICAgIHZhbHVlOiBhbnksXG4gICAgb3B0aW9uczogR3JlYXRlclRoYW5PckVxdWFsVmFsaWRhdG9yT3B0aW9ucyxcbiAgICBhY2Nlc3NvcjogUGF0aFByb3h5PGFueT5cbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBsZXQgY29tcGFyaXNvblByb3BlcnR5VmFsdWU6IGFueTtcbiAgICB0cnkge1xuICAgICAgY29tcGFyaXNvblByb3BlcnR5VmFsdWUgPSBhY2Nlc3Nvci5nZXRWYWx1ZUZyb21QYXRoKFxuICAgICAgICBvcHRpb25zW1ZhbGlkYXRpb25LZXlzLkdSRUFURVJfVEhBTl9PUl9FUVVBTF1cbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRNZXNzYWdlKGUubWVzc2FnZSB8fCB0aGlzLm1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBpZiAoXG4gICAgICAgIChpc1ZhbGlkRm9yR3RlT3JMdGVDb21wYXJpc29uKHZhbHVlLCBjb21wYXJpc29uUHJvcGVydHlWYWx1ZSkgJiZcbiAgICAgICAgICBpc0VxdWFsKHZhbHVlLCBjb21wYXJpc29uUHJvcGVydHlWYWx1ZSkpIHx8XG4gICAgICAgIGlzR3JlYXRlclRoYW4odmFsdWUsIGNvbXBhcmlzb25Qcm9wZXJ0eVZhbHVlKVxuICAgICAgKVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgICB0aHJvdyBuZXcgRXJyb3Iob3B0aW9ucy5tZXNzYWdlIHx8IHRoaXMubWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRNZXNzYWdlKFxuICAgICAgICBlLm1lc3NhZ2UsXG4gICAgICAgIG9wdGlvbnNbVmFsaWRhdGlvbktleXMuR1JFQVRFUl9USEFOX09SX0VRVUFMXVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,6 @@
1
1
  import { Validator } from "./Validator";
2
2
  import { GreaterThanValidatorOptions } from "../types";
3
+ import type { PathProxy } from "../../utils/PathProxy";
3
4
  /**
4
5
  * @summary Greater Than Validator
5
6
  *
@@ -16,12 +17,13 @@ export declare class GreaterThanValidator extends Validator<GreaterThanValidator
16
17
  * @summary Validates a model
17
18
  *
18
19
  * @param {string} value
19
- * @param {ComparisonValidatorOptions} options
20
+ * @param {GreaterThanValidatorOptions} options
21
+ * @param {PathProxy<any>} accessor - Proxy-like object used to resolve values from nested structures via path strings.
20
22
  *
21
23
  * @return {string | undefined}
22
24
  *
23
25
  * @override
24
26
  * @see Validator#hasErrors
25
27
  */
26
- hasErrors(value: any, options: GreaterThanValidatorOptions, instance: any): string | undefined;
28
+ hasErrors(value: any, options: GreaterThanValidatorOptions, accessor: PathProxy<any>): string | undefined;
27
29
  }
@@ -7,10 +7,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { Validator } from "./Validator";
11
- import { DEFAULT_ERROR_MESSAGES, ValidationKeys } from "./constants";
12
- import { validator } from "./decorators";
13
- import { getValueByPath, isGreaterThan } from "./utils";
10
+ import { Validator } from "./Validator.js";
11
+ import { DEFAULT_ERROR_MESSAGES, ValidationKeys } from "./constants.js";
12
+ import { validator } from "./decorators.js";
13
+ import { isGreaterThan } from "./utils.js";
14
14
  /**
15
15
  * @summary Greater Than Validator
16
16
  *
@@ -29,17 +29,18 @@ let GreaterThanValidator = class GreaterThanValidator extends Validator {
29
29
  * @summary Validates a model
30
30
  *
31
31
  * @param {string} value
32
- * @param {ComparisonValidatorOptions} options
32
+ * @param {GreaterThanValidatorOptions} options
33
+ * @param {PathProxy<any>} accessor - Proxy-like object used to resolve values from nested structures via path strings.
33
34
  *
34
35
  * @return {string | undefined}
35
36
  *
36
37
  * @override
37
38
  * @see Validator#hasErrors
38
39
  */
39
- hasErrors(value, options, instance) {
40
+ hasErrors(value, options, accessor) {
40
41
  let comparisonPropertyValue;
41
42
  try {
42
- comparisonPropertyValue = getValueByPath(instance, options[ValidationKeys.GREATER_THAN]);
43
+ comparisonPropertyValue = accessor.getValueFromPath(options[ValidationKeys.GREATER_THAN]);
43
44
  }
44
45
  catch (e) {
45
46
  return this.getMessage(e.message || this.message);
@@ -59,4 +60,4 @@ GreaterThanValidator = __decorate([
59
60
  __metadata("design:paramtypes", [String])
60
61
  ], GreaterThanValidator);
61
62
  export { GreaterThanValidator };
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JlYXRlclRoYW5WYWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdmFsaWRhdGlvbi9WYWxpZGF0b3JzL0dyZWF0ZXJUaGFuVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpDLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXhEOzs7Ozs7Ozs7R0FTRztBQUVJLElBQU0sb0JBQW9CLEdBQTFCLE1BQU0sb0JBQXFCLFNBQVEsU0FBc0M7SUFDOUUsWUFBWSxVQUFrQixzQkFBc0IsQ0FBQyxZQUFZO1FBQy9ELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLFNBQVMsQ0FDZCxLQUFVLEVBQ1YsT0FBb0MsRUFDcEMsUUFBYTtRQUViLElBQUksdUJBQTRCLENBQUM7UUFDakMsSUFBSSxDQUFDO1lBQ0gsdUJBQXVCLEdBQUcsY0FBYyxDQUN0QyxRQUFRLEVBQ1IsT0FBTyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FDckMsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBRUQsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsdUJBQXVCLENBQUM7Z0JBQ2hELE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQzFFLENBQUM7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0YsQ0FBQTtBQXhDWSxvQkFBb0I7SUFEaEMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUM7O0dBQzFCLG9CQUFvQixDQXdDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3IgfSBmcm9tIFwiLi9WYWxpZGF0b3JcIjtcbmltcG9ydCB7IERFRkFVTFRfRVJST1JfTUVTU0FHRVMsIFZhbGlkYXRpb25LZXlzIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyB2YWxpZGF0b3IgfSBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBHcmVhdGVyVGhhblZhbGlkYXRvck9wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IGdldFZhbHVlQnlQYXRoLCBpc0dyZWF0ZXJUaGFuIH0gZnJvbSBcIi4vdXRpbHNcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBHcmVhdGVyIFRoYW4gVmFsaWRhdG9yXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXSBkZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNHUkVBVEVSX1RIQU59XG4gKlxuICogQGNsYXNzIEdyZWF0ZXJUaGFuVmFsaWRhdG9yXG4gKiBAZXh0ZW5kcyBWYWxpZGF0b3JcbiAqXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdG9yc1xuICovXG5AdmFsaWRhdG9yKFZhbGlkYXRpb25LZXlzLkdSRUFURVJfVEhBTilcbmV4cG9ydCBjbGFzcyBHcmVhdGVyVGhhblZhbGlkYXRvciBleHRlbmRzIFZhbGlkYXRvcjxHcmVhdGVyVGhhblZhbGlkYXRvck9wdGlvbnM+IHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nID0gREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5HUkVBVEVSX1RIQU4pIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBWYWxpZGF0ZXMgYSBtb2RlbFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAgICogQHBhcmFtIHtDb21wYXJpc29uVmFsaWRhdG9yT3B0aW9uc30gb3B0aW9uc1xuICAgKlxuICAgKiBAcmV0dXJuIHtzdHJpbmcgfCB1bmRlZmluZWR9XG4gICAqXG4gICAqIEBvdmVycmlkZVxuICAgKiBAc2VlIFZhbGlkYXRvciNoYXNFcnJvcnNcbiAgICovXG4gIHB1YmxpYyBoYXNFcnJvcnMoXG4gICAgdmFsdWU6IGFueSxcbiAgICBvcHRpb25zOiBHcmVhdGVyVGhhblZhbGlkYXRvck9wdGlvbnMsXG4gICAgaW5zdGFuY2U6IGFueVxuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGxldCBjb21wYXJpc29uUHJvcGVydHlWYWx1ZTogYW55O1xuICAgIHRyeSB7XG4gICAgICBjb21wYXJpc29uUHJvcGVydHlWYWx1ZSA9IGdldFZhbHVlQnlQYXRoKFxuICAgICAgICBpbnN0YW5jZSxcbiAgICAgICAgb3B0aW9uc1tWYWxpZGF0aW9uS2V5cy5HUkVBVEVSX1RIQU5dXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0TWVzc2FnZShlLm1lc3NhZ2UgfHwgdGhpcy5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgaWYgKCFpc0dyZWF0ZXJUaGFuKHZhbHVlLCBjb21wYXJpc29uUHJvcGVydHlWYWx1ZSkpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihvcHRpb25zLm1lc3NhZ2UgfHwgdGhpcy5tZXNzYWdlKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldE1lc3NhZ2UoZS5tZXNzYWdlLCBvcHRpb25zW1ZhbGlkYXRpb25LZXlzLkdSRUFURVJfVEhBTl0pO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JlYXRlclRoYW5WYWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdmFsaWRhdGlvbi9WYWxpZGF0b3JzL0dyZWF0ZXJUaGFuVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQW9CO0FBQ3hDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsdUJBQW9CO0FBQ3JFLE9BQU8sRUFBRSxTQUFTLEVBQUUsd0JBQXFCO0FBRXpDLE9BQU8sRUFBRSxhQUFhLEVBQUUsbUJBQWdCO0FBR3hDOzs7Ozs7Ozs7R0FTRztBQUVJLElBQU0sb0JBQW9CLEdBQTFCLE1BQU0sb0JBQXFCLFNBQVEsU0FBc0M7SUFDOUUsWUFBWSxVQUFrQixzQkFBc0IsQ0FBQyxZQUFZO1FBQy9ELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxTQUFTLENBQ2QsS0FBVSxFQUNWLE9BQW9DLEVBQ3BDLFFBQXdCO1FBRXhCLElBQUksdUJBQTRCLENBQUM7UUFDakMsSUFBSSxDQUFDO1lBQ0gsdUJBQXVCLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUNqRCxPQUFPLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUNyQyxDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFFRCxJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSx1QkFBdUIsQ0FBQztnQkFDaEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FDRixDQUFBO0FBeENZLG9CQUFvQjtJQURoQyxTQUFTLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQzs7R0FDMUIsb0JBQW9CLENBd0NoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRvciB9IGZyb20gXCIuL1ZhbGlkYXRvclwiO1xuaW1wb3J0IHsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUywgVmFsaWRhdGlvbktleXMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHZhbGlkYXRvciB9IGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IEdyZWF0ZXJUaGFuVmFsaWRhdG9yT3B0aW9ucyB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgaXNHcmVhdGVyVGhhbiB9IGZyb20gXCIuL3V0aWxzXCI7XG5pbXBvcnQgdHlwZSB7IFBhdGhQcm94eSB9IGZyb20gXCIuLi8uLi91dGlscy9QYXRoUHJveHlcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBHcmVhdGVyIFRoYW4gVmFsaWRhdG9yXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXSBkZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNHUkVBVEVSX1RIQU59XG4gKlxuICogQGNsYXNzIEdyZWF0ZXJUaGFuVmFsaWRhdG9yXG4gKiBAZXh0ZW5kcyBWYWxpZGF0b3JcbiAqXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdG9yc1xuICovXG5AdmFsaWRhdG9yKFZhbGlkYXRpb25LZXlzLkdSRUFURVJfVEhBTilcbmV4cG9ydCBjbGFzcyBHcmVhdGVyVGhhblZhbGlkYXRvciBleHRlbmRzIFZhbGlkYXRvcjxHcmVhdGVyVGhhblZhbGlkYXRvck9wdGlvbnM+IHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nID0gREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5HUkVBVEVSX1RIQU4pIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBWYWxpZGF0ZXMgYSBtb2RlbFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAgICogQHBhcmFtIHtHcmVhdGVyVGhhblZhbGlkYXRvck9wdGlvbnN9IG9wdGlvbnNcbiAgICogQHBhcmFtIHtQYXRoUHJveHk8YW55Pn0gYWNjZXNzb3IgLSBQcm94eS1saWtlIG9iamVjdCB1c2VkIHRvIHJlc29sdmUgdmFsdWVzIGZyb20gbmVzdGVkIHN0cnVjdHVyZXMgdmlhIHBhdGggc3RyaW5ncy5cbiAgICpcbiAgICogQHJldHVybiB7c3RyaW5nIHwgdW5kZWZpbmVkfVxuICAgKlxuICAgKiBAb3ZlcnJpZGVcbiAgICogQHNlZSBWYWxpZGF0b3IjaGFzRXJyb3JzXG4gICAqL1xuICBwdWJsaWMgaGFzRXJyb3JzKFxuICAgIHZhbHVlOiBhbnksXG4gICAgb3B0aW9uczogR3JlYXRlclRoYW5WYWxpZGF0b3JPcHRpb25zLFxuICAgIGFjY2Vzc29yOiBQYXRoUHJveHk8YW55PlxuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGxldCBjb21wYXJpc29uUHJvcGVydHlWYWx1ZTogYW55O1xuICAgIHRyeSB7XG4gICAgICBjb21wYXJpc29uUHJvcGVydHlWYWx1ZSA9IGFjY2Vzc29yLmdldFZhbHVlRnJvbVBhdGgoXG4gICAgICAgIG9wdGlvbnNbVmFsaWRhdGlvbktleXMuR1JFQVRFUl9USEFOXVxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldE1lc3NhZ2UoZS5tZXNzYWdlIHx8IHRoaXMubWVzc2FnZSk7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGlmICghaXNHcmVhdGVyVGhhbih2YWx1ZSwgY29tcGFyaXNvblByb3BlcnR5VmFsdWUpKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3Iob3B0aW9ucy5tZXNzYWdlIHx8IHRoaXMubWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRNZXNzYWdlKGUubWVzc2FnZSwgb3B0aW9uc1tWYWxpZGF0aW9uS2V5cy5HUkVBVEVSX1RIQU5dKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,6 @@
1
1
  import { Validator } from "./Validator";
2
2
  import type { LessThanOrEqualValidatorOptions } from "../types";
3
+ import type { PathProxy } from "../../utils/PathProxy";
3
4
  /**
4
5
  * @summary Less Than or Equal Validator
5
6
  *
@@ -16,12 +17,13 @@ export declare class LessThanOrEqualValidator extends Validator<LessThanOrEqualV
16
17
  * @summary Validates a model
17
18
  *
18
19
  * @param {string} value
19
- * @param {ComparisonValidatorOptions} options
20
+ * @param {LessThanOrEqualValidatorOptions} options
21
+ * @param {PathProxy<any>} accessor - Proxy-like object used to resolve values from nested structures via path strings.
20
22
  *
21
23
  * @return {string | undefined}
22
24
  *
23
25
  * @override
24
26
  * @see Validator#hasErrors
25
27
  */
26
- hasErrors(value: any, options: LessThanOrEqualValidatorOptions, instance: any): string | undefined;
28
+ hasErrors(value: any, options: LessThanOrEqualValidatorOptions, accessor: PathProxy<any>): string | undefined;
27
29
  }