@decaf-ts/decorator-validation 1.6.3 → 1.6.4

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 (167) hide show
  1. package/dist/decorator-validation.cjs +1016 -1164
  2. package/dist/decorator-validation.esm.cjs +971 -1134
  3. package/lib/constants/index.cjs +18 -0
  4. package/lib/constants/index.d.ts +1 -0
  5. package/lib/constants/validation.cjs +14 -0
  6. package/lib/constants/validation.d.ts +10 -0
  7. package/lib/esm/constants/index.d.ts +1 -0
  8. package/lib/esm/constants/index.js +2 -0
  9. package/lib/esm/constants/validation.d.ts +10 -0
  10. package/lib/esm/constants/validation.js +11 -0
  11. package/lib/esm/index.d.ts +37 -5
  12. package/lib/esm/index.js +38 -6
  13. package/lib/esm/model/Model.d.ts +29 -100
  14. package/lib/esm/model/Model.js +37 -104
  15. package/lib/esm/model/constants.d.ts +3 -3
  16. package/lib/esm/model/constants.js +4 -4
  17. package/lib/esm/model/construction.d.ts +3 -3
  18. package/lib/esm/model/construction.js +4 -4
  19. package/lib/esm/model/decorators.d.ts +4 -4
  20. package/lib/esm/model/decorators.js +5 -6
  21. package/lib/esm/model/types.d.ts +11 -30
  22. package/lib/esm/model/types.js +1 -1
  23. package/lib/esm/model/validation.d.ts +2 -2
  24. package/lib/esm/model/validation.js +18 -7
  25. package/lib/esm/utils/constants.d.ts +9 -27
  26. package/lib/esm/utils/constants.js +10 -28
  27. package/lib/esm/utils/dates.d.ts +16 -26
  28. package/lib/esm/utils/dates.js +17 -27
  29. package/lib/esm/utils/decorators.d.ts +0 -41
  30. package/lib/esm/utils/decorators.js +1 -42
  31. package/lib/esm/utils/hashing.d.ts +6 -50
  32. package/lib/esm/utils/hashing.js +5 -49
  33. package/lib/esm/utils/index.d.ts +0 -1
  34. package/lib/esm/utils/index.js +1 -2
  35. package/lib/esm/utils/registry.d.ts +2 -2
  36. package/lib/esm/utils/registry.js +1 -1
  37. package/lib/esm/utils/serialization.d.ts +1 -1
  38. package/lib/esm/utils/serialization.js +2 -2
  39. package/lib/esm/utils/strings.d.ts +4 -4
  40. package/lib/esm/utils/strings.js +5 -5
  41. package/lib/esm/utils/types.d.ts +16 -123
  42. package/lib/esm/utils/types.js +1 -1
  43. package/lib/esm/validation/Validators/DateValidator.d.ts +8 -40
  44. package/lib/esm/validation/Validators/DateValidator.js +9 -41
  45. package/lib/esm/validation/Validators/DiffValidator.d.ts +27 -0
  46. package/lib/esm/validation/Validators/DiffValidator.js +58 -0
  47. package/lib/esm/validation/Validators/EmailValidator.d.ts +7 -39
  48. package/lib/esm/validation/Validators/EmailValidator.js +8 -40
  49. package/lib/esm/validation/Validators/EqualsValidator.d.ts +27 -0
  50. package/lib/esm/validation/Validators/EqualsValidator.js +63 -0
  51. package/lib/esm/validation/Validators/GreaterThanOrEqualValidator.d.ts +27 -0
  52. package/lib/esm/validation/Validators/GreaterThanOrEqualValidator.js +65 -0
  53. package/lib/esm/validation/Validators/GreaterThanValidator.d.ts +27 -0
  54. package/lib/esm/validation/Validators/GreaterThanValidator.js +62 -0
  55. package/lib/esm/validation/Validators/LessThanOrEqualValidator.d.ts +27 -0
  56. package/lib/esm/validation/Validators/LessThanOrEqualValidator.js +65 -0
  57. package/lib/esm/validation/Validators/LessThanValidator.d.ts +27 -0
  58. package/lib/esm/validation/Validators/LessThanValidator.js +62 -0
  59. package/lib/esm/validation/Validators/ListValidator.d.ts +6 -44
  60. package/lib/esm/validation/Validators/ListValidator.js +7 -45
  61. package/lib/esm/validation/Validators/MaxValidator.d.ts +6 -52
  62. package/lib/esm/validation/Validators/MaxValidator.js +7 -53
  63. package/lib/esm/validation/Validators/MinValidator.d.ts +6 -52
  64. package/lib/esm/validation/Validators/MinValidator.js +7 -53
  65. package/lib/esm/validation/Validators/PatternValidator.d.ts +9 -75
  66. package/lib/esm/validation/Validators/PatternValidator.js +10 -76
  67. package/lib/esm/validation/Validators/RequiredValidator.d.ts +6 -52
  68. package/lib/esm/validation/Validators/RequiredValidator.js +7 -53
  69. package/lib/esm/validation/Validators/TypeValidator.d.ts +6 -60
  70. package/lib/esm/validation/Validators/TypeValidator.js +7 -69
  71. package/lib/esm/validation/Validators/URLValidator.d.ts +7 -41
  72. package/lib/esm/validation/Validators/URLValidator.js +8 -42
  73. package/lib/esm/validation/Validators/Validator.d.ts +17 -77
  74. package/lib/esm/validation/Validators/Validator.js +11 -68
  75. package/lib/esm/validation/Validators/ValidatorRegistry.d.ts +7 -1
  76. package/lib/esm/validation/Validators/ValidatorRegistry.js +11 -4
  77. package/lib/esm/validation/Validators/constants.d.ts +41 -0
  78. package/lib/esm/validation/Validators/constants.js +43 -1
  79. package/lib/esm/validation/Validators/index.d.ts +7 -0
  80. package/lib/esm/validation/Validators/index.js +8 -1
  81. package/lib/esm/validation/Validators/utils.d.ts +52 -0
  82. package/lib/esm/validation/Validators/utils.js +174 -0
  83. package/lib/esm/validation/decorators.d.ts +124 -50
  84. package/lib/esm/validation/decorators.js +173 -102
  85. package/lib/esm/validation/types.d.ts +31 -146
  86. package/lib/esm/validation/types.js +1 -1
  87. package/lib/index.cjs +39 -7
  88. package/lib/index.d.ts +37 -5
  89. package/lib/model/Model.cjs +39 -104
  90. package/lib/model/Model.d.ts +29 -100
  91. package/lib/model/constants.cjs +4 -4
  92. package/lib/model/constants.d.ts +3 -3
  93. package/lib/model/construction.cjs +4 -4
  94. package/lib/model/construction.d.ts +3 -3
  95. package/lib/model/decorators.cjs +5 -6
  96. package/lib/model/decorators.d.ts +4 -4
  97. package/lib/model/types.cjs +1 -1
  98. package/lib/model/types.d.ts +11 -30
  99. package/lib/model/validation.cjs +25 -14
  100. package/lib/model/validation.d.ts +2 -2
  101. package/lib/utils/constants.cjs +11 -29
  102. package/lib/utils/constants.d.ts +9 -27
  103. package/lib/utils/dates.cjs +17 -27
  104. package/lib/utils/dates.d.ts +16 -26
  105. package/lib/utils/decorators.cjs +1 -42
  106. package/lib/utils/decorators.d.ts +0 -41
  107. package/lib/utils/hashing.cjs +5 -49
  108. package/lib/utils/hashing.d.ts +6 -50
  109. package/lib/utils/index.cjs +1 -2
  110. package/lib/utils/index.d.ts +0 -1
  111. package/lib/utils/registry.cjs +1 -1
  112. package/lib/utils/registry.d.ts +2 -2
  113. package/lib/utils/serialization.cjs +2 -2
  114. package/lib/utils/serialization.d.ts +1 -1
  115. package/lib/utils/strings.cjs +5 -5
  116. package/lib/utils/strings.d.ts +4 -4
  117. package/lib/utils/types.cjs +1 -1
  118. package/lib/utils/types.d.ts +16 -123
  119. package/lib/validation/Validators/DateValidator.cjs +9 -41
  120. package/lib/validation/Validators/DateValidator.d.ts +8 -40
  121. package/lib/validation/Validators/DiffValidator.cjs +61 -0
  122. package/lib/validation/Validators/DiffValidator.d.ts +27 -0
  123. package/lib/validation/Validators/EmailValidator.cjs +8 -40
  124. package/lib/validation/Validators/EmailValidator.d.ts +7 -39
  125. package/lib/validation/Validators/EqualsValidator.cjs +66 -0
  126. package/lib/validation/Validators/EqualsValidator.d.ts +27 -0
  127. package/lib/validation/Validators/GreaterThanOrEqualValidator.cjs +68 -0
  128. package/lib/validation/Validators/GreaterThanOrEqualValidator.d.ts +27 -0
  129. package/lib/validation/Validators/GreaterThanValidator.cjs +65 -0
  130. package/lib/validation/Validators/GreaterThanValidator.d.ts +27 -0
  131. package/lib/validation/Validators/LessThanOrEqualValidator.cjs +68 -0
  132. package/lib/validation/Validators/LessThanOrEqualValidator.d.ts +27 -0
  133. package/lib/validation/Validators/LessThanValidator.cjs +65 -0
  134. package/lib/validation/Validators/LessThanValidator.d.ts +27 -0
  135. package/lib/validation/Validators/ListValidator.cjs +7 -45
  136. package/lib/validation/Validators/ListValidator.d.ts +6 -44
  137. package/lib/validation/Validators/MaxValidator.cjs +7 -53
  138. package/lib/validation/Validators/MaxValidator.d.ts +6 -52
  139. package/lib/validation/Validators/MinValidator.cjs +7 -53
  140. package/lib/validation/Validators/MinValidator.d.ts +6 -52
  141. package/lib/validation/Validators/PatternValidator.cjs +10 -76
  142. package/lib/validation/Validators/PatternValidator.d.ts +9 -75
  143. package/lib/validation/Validators/RequiredValidator.cjs +7 -53
  144. package/lib/validation/Validators/RequiredValidator.d.ts +6 -52
  145. package/lib/validation/Validators/TypeValidator.cjs +7 -69
  146. package/lib/validation/Validators/TypeValidator.d.ts +6 -60
  147. package/lib/validation/Validators/URLValidator.cjs +8 -42
  148. package/lib/validation/Validators/URLValidator.d.ts +7 -41
  149. package/lib/validation/Validators/Validator.cjs +11 -68
  150. package/lib/validation/Validators/Validator.d.ts +17 -77
  151. package/lib/validation/Validators/ValidatorRegistry.cjs +12 -4
  152. package/lib/validation/Validators/ValidatorRegistry.d.ts +7 -1
  153. package/lib/validation/Validators/constants.cjs +44 -2
  154. package/lib/validation/Validators/constants.d.ts +41 -0
  155. package/lib/validation/Validators/index.cjs +8 -1
  156. package/lib/validation/Validators/index.d.ts +7 -0
  157. package/lib/validation/Validators/utils.cjs +180 -0
  158. package/lib/validation/Validators/utils.d.ts +52 -0
  159. package/lib/validation/decorators.cjs +179 -102
  160. package/lib/validation/decorators.d.ts +124 -50
  161. package/lib/validation/types.cjs +1 -1
  162. package/lib/validation/types.d.ts +31 -146
  163. package/package.json +1 -1
  164. package/lib/esm/utils/Decoration.d.ts +0 -123
  165. package/lib/esm/utils/Decoration.js +0 -188
  166. package/lib/utils/Decoration.cjs +0 -192
  167. package/lib/utils/Decoration.d.ts +0 -123
@@ -3,17 +3,9 @@ import { Constructor } from "../model";
3
3
  import { ValidationKeys, Validator } from "./Validators";
4
4
  import { IRegistry } from "../utils";
5
5
  /**
6
- * @description Type definition for metadata used by validation decorators
7
- * @summary Defines the structure of metadata attached to properties by validation decorators.
8
- * This metadata is used during validation to determine validation rules and error messages.
9
- *
10
- * @property {any[]} [args] - Optional arguments for the validator
11
- * @property {string} message - Error message to display when validation fails
12
- * @property {string[]} [types] - Array of type names that the property can have
13
- *
14
- * @typedef {Object} ValidationMetadata
15
- * @memberOf module:decorator-validation
16
- * @category Validation
6
+ * @summary Type for validation decorator metadata
7
+ * @memberOf module:decorator-validation.Reflection
8
+ * @category Reflection
17
9
  */
18
10
  export type ValidationMetadata = {
19
11
  [indexer: string]: any;
@@ -22,15 +14,8 @@ export type ValidationMetadata = {
22
14
  types?: string[];
23
15
  };
24
16
  /**
25
- * @description Type definition for property-level validation decorator configuration
26
- * @summary Defines the structure that associates a property with its validation decorators.
27
- * This type is used to track which decorators are applied to a specific property during validation.
28
- *
29
- * @property {string|symbol} prop - The property name or symbol that the decorators are applied to
30
- * @property {ValidationDecoratorDefinition[]} decorators - Array of decorator definitions applied to the property
31
- *
32
- * @typedef {Object} ValidationPropertyDecoratorDefinition
33
- * @memberOf module:decorator-validation
17
+ * @summary Type for a validator property decorator definition
18
+ * @memberOf module:decorator-validation.Validation
34
19
  * @category Validation
35
20
  */
36
21
  export type ValidationPropertyDecoratorDefinition = {
@@ -38,14 +23,8 @@ export type ValidationPropertyDecoratorDefinition = {
38
23
  decorators: ValidationDecoratorDefinition[];
39
24
  };
40
25
  /**
41
- * @description Type definition for individual validation decorator metadata
42
- * @summary Extends the base DecoratorMetadata type with validation-specific properties.
43
- * This type represents the metadata for a single validation decorator applied to a property.
44
- *
45
- * @property {ValidationElementDefinition} props - The validation element properties and configuration
46
- *
47
- * @typedef {Object} ValidationDecoratorDefinition
48
- * @memberOf module:decorator-validation
26
+ * @summary Type for a validator decorator definition
27
+ * @memberOf module:decorator-validation.Validation
49
28
  * @category Validation
50
29
  */
51
30
  export type ValidationDecoratorDefinition = DecoratorMetadata & {
@@ -53,7 +32,7 @@ export type ValidationDecoratorDefinition = DecoratorMetadata & {
53
32
  };
54
33
  /**
55
34
  * @summary Type for a validator element metadata
56
- * @memberOf module:decorator-validation
35
+ * @memberOf module:decorator-validation.Validation
57
36
  * @category Validation
58
37
  */
59
38
  export type ValidationElementDefinition = {
@@ -64,13 +43,13 @@ export type ValidationElementDefinition = {
64
43
  };
65
44
  /**
66
45
  * @summary Type for a model errors
67
- * @memberOf module:decorator-validation
46
+ * @memberOf module:decorator-validation.Validation
68
47
  * @category Validation
69
48
  */
70
49
  export type ModelErrors = Record<string, Record<string, string | undefined>>;
71
50
  /**
72
51
  * @summary Util type for {@link Validator} configuration
73
- * @memberOf module:decorator-validation
52
+ * @memberOf module:decorator-validation.Validation
74
53
  * @category Validation
75
54
  */
76
55
  export type ValidatorDefinition = {
@@ -79,174 +58,80 @@ export type ValidatorDefinition = {
79
58
  save: boolean;
80
59
  };
81
60
  /**
82
- * @description Interface for a registry that manages validator instances
83
- * @summary Defines the contract for a registry that stores and retrieves validators.
84
- * The registry is responsible for maintaining a collection of validators and providing
85
- * access to them by key.
61
+ * @summary Base API for a {@link Validator} registry
62
+ *
63
+ * @interface ValidatorRegistry
64
+ * @extends IRegistry
86
65
  *
87
- * @interface IValidatorRegistry
88
- * @template T Type of validator, must extend Validator
89
- * @extends IRegistry<T>
90
- * @memberOf module:decorator-validation
91
66
  * @category Validation
92
67
  */
93
68
  export interface IValidatorRegistry<T extends Validator> extends IRegistry<T> {
94
69
  /**
95
- * @description Retrieves custom validation keys defined in the registry
96
- * @summary Returns a mapping of custom validation keys to their corresponding standard keys.
97
- * This allows for aliasing validation keys for specific use cases.
98
- *
99
- * @return {Record<string, string>} Object mapping custom keys to standard validation keys
70
+ * @summary retrieves the custom keys
71
+ * @method
100
72
  */
101
73
  getCustomKeys(): Record<string, string>;
102
74
  /**
103
- * @description Gets all registered validator keys
104
- * @summary Returns an array of all validation keys that have registered validators.
105
- *
106
- * @return {string[]} Array of registered validator keys
75
+ * @summary Retrieves the Registered validator keys
76
+ * @return {string[]} the registered validators keys
77
+ * @method
107
78
  */
108
79
  getKeys(): string[];
109
80
  /**
110
- * @description Registers one or more validators with the registry
111
- * @summary Adds validators to the registry, making them available for validation operations.
112
- * Validators can be provided as instances or as validator definitions.
81
+ * @summary Registers the provided validators onto the registry
113
82
  *
114
- * @param {...(T|ValidatorDefinition)} validator - Validator instances or definitions to register
115
- * @return {void}
83
+ * @typedef T extends Validator
84
+ * @param {T[] | ValidatorDefinition[]} validator
85
+ * @method
116
86
  */
117
87
  register<T extends Validator>(...validator: (T | ValidatorDefinition)[]): void;
118
88
  /**
119
- * @description Retrieves a validator by its key
120
- * @summary Looks up a validator in the registry using its validation key.
121
- * Returns the validator if found, or undefined if no validator is registered for the key.
89
+ * @summary Retrieves the Validator constructor if registered
122
90
  *
123
- * @param {string} key - The validation key to look up, typically one of the {@link ValidationKeys}
124
- * @return {T|undefined} The registered validator or undefined if none matches the provided key
91
+ * @typedef T extends Validator
92
+ * @param {string} key one of the {@link ValidationKeys}
93
+ * @return {Validator | undefined} the registered Validator or undefined if there is nono matching the provided key
94
+ * @method
125
95
  */
126
96
  get<T extends Validator>(key: string): T | undefined;
127
97
  }
128
- /**
129
- * @description Base options type for all validators
130
- * @summary Defines the common properties available to all validators
131
- * @typedef ValidatorOptions
132
- * @property {string} [message] - Custom error message to display when validation fails
133
- * @memberOf module:decorator-validation
134
- * @category Validation
135
- */
136
98
  export type ValidatorOptions = {
137
99
  message?: string;
138
100
  };
139
- /**
140
- * @description URL validation options interface
141
- * @summary Defines options for URL validation, including allowed URL types
142
- * @interface URLValidatorOptions
143
- * @property {(string|string[]|{ name: string })} types - Specifies the allowed URL types or patterns
144
- * @memberOf module:decorator-validation
145
- * @category Validation
146
- */
147
101
  export interface URLValidatorOptions extends ValidatorOptions {
148
102
  types: string | string[] | {
149
103
  name: string;
150
104
  };
151
105
  }
152
- /**
153
- * @description Type validation options interface
154
- * @summary Defines options for type validation, specifying allowed types
155
- * @interface TypeValidatorOptions
156
- * @property {(string|string[]|{ name: string })} types - Specifies the allowed data types
157
- * @memberOf module:decorator-validation
158
- * @category Validation
159
- */
160
106
  export interface TypeValidatorOptions extends ValidatorOptions {
161
107
  types: string | string[] | {
162
108
  name: string;
163
109
  };
164
110
  }
165
- /**
166
- * @description Step validation options interface
167
- * @summary Defines options for step validation, specifying the step increment
168
- * @interface StepValidatorOptions
169
- * @property {(number|string)} [ValidationKeys.STEP] - The step value for numerical validation
170
- * @memberOf module:decorator-validation
171
- * @category Validation
172
- */
173
111
  export interface StepValidatorOptions extends ValidatorOptions {
174
112
  [ValidationKeys.STEP]: number | string;
175
113
  }
176
- /**
177
- * @description Pattern validation options interface
178
- * @summary Defines options for pattern validation using regular expressions
179
- * @interface PatternValidatorOptions
180
- * @property {(RegExp|string)} [ValidationKeys.PATTERN] - The pattern to match against
181
- * @memberOf module:decorator-validation
182
- * @category Validation
183
- */
184
114
  export interface PatternValidatorOptions extends ValidatorOptions {
185
115
  [ValidationKeys.PATTERN]?: RegExp | string;
186
116
  }
187
- /**
188
- * @description Minimum value validation options interface
189
- * @summary Defines options for minimum value validation
190
- * @interface MinValidatorOptions
191
- * @property {(number|Date|string)} [ValidationKeys.MIN] - The minimum allowed value
192
- * @memberOf module:decorator-validation
193
- * @category Validation
194
- */
195
117
  export interface MinValidatorOptions extends ValidatorOptions {
196
118
  [ValidationKeys.MIN]: number | Date | string;
197
119
  }
198
- /**
199
- * @description Minimum length validation options interface
200
- * @summary Defines options for minimum length validation
201
- * @interface MinLengthValidatorOptions
202
- * @property {number} [ValidationKeys.MIN_LENGTH] - The minimum allowed length
203
- * @memberOf module:decorator-validation
204
- * @category Validation
205
- */
206
120
  export interface MinLengthValidatorOptions extends ValidatorOptions {
207
121
  [ValidationKeys.MIN_LENGTH]: number;
208
122
  }
209
- /**
210
- * @description Maximum value validation options interface
211
- * @summary Defines options for maximum value validation
212
- * @interface MaxValidatorOptions
213
- * @property {(number|Date|string)} [ValidationKeys.MAX] - The maximum allowed value
214
- * @memberOf module:decorator-validation
215
- * @category Validation
216
- */
217
123
  export interface MaxValidatorOptions extends ValidatorOptions {
218
124
  [ValidationKeys.MAX]: number | Date | string;
219
125
  }
220
- /**
221
- * @description Maximum length validation options interface
222
- * @summary Defines options for maximum length validation
223
- * @interface MaxLengthValidatorOptions
224
- * @property {number} [ValidationKeys.MAX_LENGTH] - The maximum allowed length
225
- * @memberOf module:decorator-validation
226
- * @category Validation
227
- */
228
126
  export interface MaxLengthValidatorOptions extends ValidatorOptions {
229
127
  [ValidationKeys.MAX_LENGTH]: number;
230
128
  }
231
- /**
232
- * @description List validation options interface
233
- * @summary Defines options for list validation
234
- * @interface ListValidatorOptions
235
- * @property {string[]} clazz - Array of allowed class names or types
236
- * @memberOf module:decorator-validation
237
- * @category Validation
238
- */
239
129
  export interface ListValidatorOptions extends ValidatorOptions {
240
130
  clazz: string[];
241
131
  }
242
- /**
243
- * @description Date validation options interface
244
- * @summary Defines options for date validation
245
- * @interface DateValidatorOptions
246
- * @property {string} [ValidationKeys.FORMAT] - The expected date format pattern
247
- * @memberOf module:decorator-validation
248
- * @category Validation
249
- */
250
132
  export interface DateValidatorOptions extends ValidatorOptions {
251
133
  [ValidationKeys.FORMAT]?: string;
252
134
  }
135
+ export interface ComparisonValidatorOptions extends ValidatorOptions {
136
+ propertyToCompare: string;
137
+ }
@@ -1,2 +1,2 @@
1
1
  import { ValidationKeys } from "./Validators";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdmFsaWRhdGlvbi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsY0FBYyxFQUFhLE1BQU0sY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVjb3JhdG9yTWV0YWRhdGEgfSBmcm9tIFwiQGRlY2FmLXRzL3JlZmxlY3Rpb25cIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSBcIi4uL21vZGVsXCI7XG5pbXBvcnQgeyBWYWxpZGF0aW9uS2V5cywgVmFsaWRhdG9yIH0gZnJvbSBcIi4vVmFsaWRhdG9yc1wiO1xuaW1wb3J0IHsgSVJlZ2lzdHJ5IH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFR5cGUgZGVmaW5pdGlvbiBmb3IgbWV0YWRhdGEgdXNlZCBieSB2YWxpZGF0aW9uIGRlY29yYXRvcnNcbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIHN0cnVjdHVyZSBvZiBtZXRhZGF0YSBhdHRhY2hlZCB0byBwcm9wZXJ0aWVzIGJ5IHZhbGlkYXRpb24gZGVjb3JhdG9ycy5cbiAqIFRoaXMgbWV0YWRhdGEgaXMgdXNlZCBkdXJpbmcgdmFsaWRhdGlvbiB0byBkZXRlcm1pbmUgdmFsaWRhdGlvbiBydWxlcyBhbmQgZXJyb3IgbWVzc2FnZXMuXG4gKlxuICogQHByb3BlcnR5IHthbnlbXX0gW2FyZ3NdIC0gT3B0aW9uYWwgYXJndW1lbnRzIGZvciB0aGUgdmFsaWRhdG9yXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbWVzc2FnZSAtIEVycm9yIG1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIHZhbGlkYXRpb24gZmFpbHNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IFt0eXBlc10gLSBBcnJheSBvZiB0eXBlIG5hbWVzIHRoYXQgdGhlIHByb3BlcnR5IGNhbiBoYXZlXG4gKlxuICogQHR5cGVkZWYge09iamVjdH0gVmFsaWRhdGlvbk1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgdHlwZSBWYWxpZGF0aW9uTWV0YWRhdGEgPSB7XG4gIFtpbmRleGVyOiBzdHJpbmddOiBhbnk7XG4gIGFyZ3M/OiBhbnlbXTtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICB0eXBlcz86IHN0cmluZ1tdO1xufTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gVHlwZSBkZWZpbml0aW9uIGZvciBwcm9wZXJ0eS1sZXZlbCB2YWxpZGF0aW9uIGRlY29yYXRvciBjb25maWd1cmF0aW9uXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSBzdHJ1Y3R1cmUgdGhhdCBhc3NvY2lhdGVzIGEgcHJvcGVydHkgd2l0aCBpdHMgdmFsaWRhdGlvbiBkZWNvcmF0b3JzLlxuICogVGhpcyB0eXBlIGlzIHVzZWQgdG8gdHJhY2sgd2hpY2ggZGVjb3JhdG9ycyBhcmUgYXBwbGllZCB0byBhIHNwZWNpZmljIHByb3BlcnR5IGR1cmluZyB2YWxpZGF0aW9uLlxuICpcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfHN5bWJvbH0gcHJvcCAtIFRoZSBwcm9wZXJ0eSBuYW1lIG9yIHN5bWJvbCB0aGF0IHRoZSBkZWNvcmF0b3JzIGFyZSBhcHBsaWVkIHRvXG4gKiBAcHJvcGVydHkge1ZhbGlkYXRpb25EZWNvcmF0b3JEZWZpbml0aW9uW119IGRlY29yYXRvcnMgLSBBcnJheSBvZiBkZWNvcmF0b3IgZGVmaW5pdGlvbnMgYXBwbGllZCB0byB0aGUgcHJvcGVydHlcbiAqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBWYWxpZGF0aW9uUHJvcGVydHlEZWNvcmF0b3JEZWZpbml0aW9uXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgdHlwZSBWYWxpZGF0aW9uUHJvcGVydHlEZWNvcmF0b3JEZWZpbml0aW9uID0ge1xuICBwcm9wOiBzdHJpbmcgfCBzeW1ib2w7XG4gIGRlY29yYXRvcnM6IFZhbGlkYXRpb25EZWNvcmF0b3JEZWZpbml0aW9uW107XG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBUeXBlIGRlZmluaXRpb24gZm9yIGluZGl2aWR1YWwgdmFsaWRhdGlvbiBkZWNvcmF0b3IgbWV0YWRhdGFcbiAqIEBzdW1tYXJ5IEV4dGVuZHMgdGhlIGJhc2UgRGVjb3JhdG9yTWV0YWRhdGEgdHlwZSB3aXRoIHZhbGlkYXRpb24tc3BlY2lmaWMgcHJvcGVydGllcy5cbiAqIFRoaXMgdHlwZSByZXByZXNlbnRzIHRoZSBtZXRhZGF0YSBmb3IgYSBzaW5nbGUgdmFsaWRhdGlvbiBkZWNvcmF0b3IgYXBwbGllZCB0byBhIHByb3BlcnR5LlxuICpcbiAqIEBwcm9wZXJ0eSB7VmFsaWRhdGlvbkVsZW1lbnREZWZpbml0aW9ufSBwcm9wcyAtIFRoZSB2YWxpZGF0aW9uIGVsZW1lbnQgcHJvcGVydGllcyBhbmQgY29uZmlndXJhdGlvblxuICpcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFZhbGlkYXRpb25EZWNvcmF0b3JEZWZpbml0aW9uXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgdHlwZSBWYWxpZGF0aW9uRGVjb3JhdG9yRGVmaW5pdGlvbiA9IERlY29yYXRvck1ldGFkYXRhICYge1xuICBwcm9wczogVmFsaWRhdGlvbkVsZW1lbnREZWZpbml0aW9uO1xufTtcblxuLyoqXG4gKiBAc3VtbWFyeSBUeXBlIGZvciBhIHZhbGlkYXRvciBlbGVtZW50IG1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgdHlwZSBWYWxpZGF0aW9uRWxlbWVudERlZmluaXRpb24gPSB7XG4gIFtpbmRleGVyOiBzdHJpbmddOiBhbnk7XG5cbiAgdmFsdWU/OiBzdHJpbmcgfCBudW1iZXI7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgdHlwZXM/OiBzdHJpbmdbXTtcbn07XG5cbi8qKlxuICogQHN1bW1hcnkgVHlwZSBmb3IgYSBtb2RlbCBlcnJvcnNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBWYWxpZGF0aW9uXG4gKi9cbmV4cG9ydCB0eXBlIE1vZGVsRXJyb3JzID0gUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkPj47XG5cbi8qKlxuICogQHN1bW1hcnkgVXRpbCB0eXBlIGZvciB7QGxpbmsgVmFsaWRhdG9yfSBjb25maWd1cmF0aW9uXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgdHlwZSBWYWxpZGF0b3JEZWZpbml0aW9uID0ge1xuICB2YWxpZGF0b3I6IENvbnN0cnVjdG9yPFZhbGlkYXRvcj47XG4gIHZhbGlkYXRpb25LZXk6IHN0cmluZztcbiAgc2F2ZTogYm9vbGVhbjtcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEludGVyZmFjZSBmb3IgYSByZWdpc3RyeSB0aGF0IG1hbmFnZXMgdmFsaWRhdG9yIGluc3RhbmNlc1xuICogQHN1bW1hcnkgRGVmaW5lcyB0aGUgY29udHJhY3QgZm9yIGEgcmVnaXN0cnkgdGhhdCBzdG9yZXMgYW5kIHJldHJpZXZlcyB2YWxpZGF0b3JzLlxuICogVGhlIHJlZ2lzdHJ5IGlzIHJlc3BvbnNpYmxlIGZvciBtYWludGFpbmluZyBhIGNvbGxlY3Rpb24gb2YgdmFsaWRhdG9ycyBhbmQgcHJvdmlkaW5nXG4gKiBhY2Nlc3MgdG8gdGhlbSBieSBrZXkuXG4gKlxuICogQGludGVyZmFjZSBJVmFsaWRhdG9yUmVnaXN0cnlcbiAqIEB0ZW1wbGF0ZSBUIFR5cGUgb2YgdmFsaWRhdG9yLCBtdXN0IGV4dGVuZCBWYWxpZGF0b3JcbiAqIEBleHRlbmRzIElSZWdpc3RyeTxUPlxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJVmFsaWRhdG9yUmVnaXN0cnk8VCBleHRlbmRzIFZhbGlkYXRvcj4gZXh0ZW5kcyBJUmVnaXN0cnk8VD4ge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJldHJpZXZlcyBjdXN0b20gdmFsaWRhdGlvbiBrZXlzIGRlZmluZWQgaW4gdGhlIHJlZ2lzdHJ5XG4gICAqIEBzdW1tYXJ5IFJldHVybnMgYSBtYXBwaW5nIG9mIGN1c3RvbSB2YWxpZGF0aW9uIGtleXMgdG8gdGhlaXIgY29ycmVzcG9uZGluZyBzdGFuZGFyZCBrZXlzLlxuICAgKiBUaGlzIGFsbG93cyBmb3IgYWxpYXNpbmcgdmFsaWRhdGlvbiBrZXlzIGZvciBzcGVjaWZpYyB1c2UgY2FzZXMuXG4gICAqXG4gICAqIEByZXR1cm4ge1JlY29yZDxzdHJpbmcsIHN0cmluZz59IE9iamVjdCBtYXBwaW5nIGN1c3RvbSBrZXlzIHRvIHN0YW5kYXJkIHZhbGlkYXRpb24ga2V5c1xuICAgKi9cbiAgZ2V0Q3VzdG9tS2V5cygpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gR2V0cyBhbGwgcmVnaXN0ZXJlZCB2YWxpZGF0b3Iga2V5c1xuICAgKiBAc3VtbWFyeSBSZXR1cm5zIGFuIGFycmF5IG9mIGFsbCB2YWxpZGF0aW9uIGtleXMgdGhhdCBoYXZlIHJlZ2lzdGVyZWQgdmFsaWRhdG9ycy5cbiAgICpcbiAgICogQHJldHVybiB7c3RyaW5nW119IEFycmF5IG9mIHJlZ2lzdGVyZWQgdmFsaWRhdG9yIGtleXNcbiAgICovXG4gIGdldEtleXMoKTogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZWdpc3RlcnMgb25lIG9yIG1vcmUgdmFsaWRhdG9ycyB3aXRoIHRoZSByZWdpc3RyeVxuICAgKiBAc3VtbWFyeSBBZGRzIHZhbGlkYXRvcnMgdG8gdGhlIHJlZ2lzdHJ5LCBtYWtpbmcgdGhlbSBhdmFpbGFibGUgZm9yIHZhbGlkYXRpb24gb3BlcmF0aW9ucy5cbiAgICogVmFsaWRhdG9ycyBjYW4gYmUgcHJvdmlkZWQgYXMgaW5zdGFuY2VzIG9yIGFzIHZhbGlkYXRvciBkZWZpbml0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIHsuLi4oVHxWYWxpZGF0b3JEZWZpbml0aW9uKX0gdmFsaWRhdG9yIC0gVmFsaWRhdG9yIGluc3RhbmNlcyBvciBkZWZpbml0aW9ucyB0byByZWdpc3RlclxuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKi9cbiAgcmVnaXN0ZXI8VCBleHRlbmRzIFZhbGlkYXRvcj4oXG4gICAgLi4udmFsaWRhdG9yOiAoVCB8IFZhbGlkYXRvckRlZmluaXRpb24pW11cbiAgKTogdm9pZDtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJldHJpZXZlcyBhIHZhbGlkYXRvciBieSBpdHMga2V5XG4gICAqIEBzdW1tYXJ5IExvb2tzIHVwIGEgdmFsaWRhdG9yIGluIHRoZSByZWdpc3RyeSB1c2luZyBpdHMgdmFsaWRhdGlvbiBrZXkuXG4gICAqIFJldHVybnMgdGhlIHZhbGlkYXRvciBpZiBmb3VuZCwgb3IgdW5kZWZpbmVkIGlmIG5vIHZhbGlkYXRvciBpcyByZWdpc3RlcmVkIGZvciB0aGUga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IC0gVGhlIHZhbGlkYXRpb24ga2V5IHRvIGxvb2sgdXAsIHR5cGljYWxseSBvbmUgb2YgdGhlIHtAbGluayBWYWxpZGF0aW9uS2V5c31cbiAgICogQHJldHVybiB7VHx1bmRlZmluZWR9IFRoZSByZWdpc3RlcmVkIHZhbGlkYXRvciBvciB1bmRlZmluZWQgaWYgbm9uZSBtYXRjaGVzIHRoZSBwcm92aWRlZCBrZXlcbiAgICovXG4gIGdldDxUIGV4dGVuZHMgVmFsaWRhdG9yPihrZXk6IHN0cmluZyk6IFQgfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEJhc2Ugb3B0aW9ucyB0eXBlIGZvciBhbGwgdmFsaWRhdG9yc1xuICogQHN1bW1hcnkgRGVmaW5lcyB0aGUgY29tbW9uIHByb3BlcnRpZXMgYXZhaWxhYmxlIHRvIGFsbCB2YWxpZGF0b3JzXG4gKiBAdHlwZWRlZiBWYWxpZGF0b3JPcHRpb25zXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW21lc3NhZ2VdIC0gQ3VzdG9tIGVycm9yIG1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIHZhbGlkYXRpb24gZmFpbHNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBWYWxpZGF0aW9uXG4gKi9cbmV4cG9ydCB0eXBlIFZhbGlkYXRvck9wdGlvbnMgPSB7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBVUkwgdmFsaWRhdGlvbiBvcHRpb25zIGludGVyZmFjZVxuICogQHN1bW1hcnkgRGVmaW5lcyBvcHRpb25zIGZvciBVUkwgdmFsaWRhdGlvbiwgaW5jbHVkaW5nIGFsbG93ZWQgVVJMIHR5cGVzXG4gKiBAaW50ZXJmYWNlIFVSTFZhbGlkYXRvck9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7KHN0cmluZ3xzdHJpbmdbXXx7IG5hbWU6IHN0cmluZyB9KX0gdHlwZXMgLSBTcGVjaWZpZXMgdGhlIGFsbG93ZWQgVVJMIHR5cGVzIG9yIHBhdHRlcm5zXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVSTFZhbGlkYXRvck9wdGlvbnMgZXh0ZW5kcyBWYWxpZGF0b3JPcHRpb25zIHtcbiAgdHlwZXM6IHN0cmluZyB8IHN0cmluZ1tdIHwgeyBuYW1lOiBzdHJpbmcgfTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gVHlwZSB2YWxpZGF0aW9uIG9wdGlvbnMgaW50ZXJmYWNlXG4gKiBAc3VtbWFyeSBEZWZpbmVzIG9wdGlvbnMgZm9yIHR5cGUgdmFsaWRhdGlvbiwgc3BlY2lmeWluZyBhbGxvd2VkIHR5cGVzXG4gKiBAaW50ZXJmYWNlIFR5cGVWYWxpZGF0b3JPcHRpb25zXG4gKiBAcHJvcGVydHkgeyhzdHJpbmd8c3RyaW5nW118eyBuYW1lOiBzdHJpbmcgfSl9IHR5cGVzIC0gU3BlY2lmaWVzIHRoZSBhbGxvd2VkIGRhdGEgdHlwZXNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBWYWxpZGF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVZhbGlkYXRvck9wdGlvbnMgZXh0ZW5kcyBWYWxpZGF0b3JPcHRpb25zIHtcbiAgdHlwZXM6IHN0cmluZyB8IHN0cmluZ1tdIHwgeyBuYW1lOiBzdHJpbmcgfTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gU3RlcCB2YWxpZGF0aW9uIG9wdGlvbnMgaW50ZXJmYWNlXG4gKiBAc3VtbWFyeSBEZWZpbmVzIG9wdGlvbnMgZm9yIHN0ZXAgdmFsaWRhdGlvbiwgc3BlY2lmeWluZyB0aGUgc3RlcCBpbmNyZW1lbnRcbiAqIEBpbnRlcmZhY2UgU3RlcFZhbGlkYXRvck9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7KG51bWJlcnxzdHJpbmcpfSBbVmFsaWRhdGlvbktleXMuU1RFUF0gLSBUaGUgc3RlcCB2YWx1ZSBmb3IgbnVtZXJpY2FsIHZhbGlkYXRpb25cbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBWYWxpZGF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RlcFZhbGlkYXRvck9wdGlvbnMgZXh0ZW5kcyBWYWxpZGF0b3JPcHRpb25zIHtcbiAgW1ZhbGlkYXRpb25LZXlzLlNURVBdOiBudW1iZXIgfCBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFBhdHRlcm4gdmFsaWRhdGlvbiBvcHRpb25zIGludGVyZmFjZVxuICogQHN1bW1hcnkgRGVmaW5lcyBvcHRpb25zIGZvciBwYXR0ZXJuIHZhbGlkYXRpb24gdXNpbmcgcmVndWxhciBleHByZXNzaW9uc1xuICogQGludGVyZmFjZSBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9uc1xuICogQHByb3BlcnR5IHsoUmVnRXhwfHN0cmluZyl9IFtWYWxpZGF0aW9uS2V5cy5QQVRURVJOXSAtIFRoZSBwYXR0ZXJuIHRvIG1hdGNoIGFnYWluc3RcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBWYWxpZGF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMgZXh0ZW5kcyBWYWxpZGF0b3JPcHRpb25zIHtcbiAgW1ZhbGlkYXRpb25LZXlzLlBBVFRFUk5dPzogUmVnRXhwIHwgc3RyaW5nO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBNaW5pbXVtIHZhbHVlIHZhbGlkYXRpb24gb3B0aW9ucyBpbnRlcmZhY2VcbiAqIEBzdW1tYXJ5IERlZmluZXMgb3B0aW9ucyBmb3IgbWluaW11bSB2YWx1ZSB2YWxpZGF0aW9uXG4gKiBAaW50ZXJmYWNlIE1pblZhbGlkYXRvck9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7KG51bWJlcnxEYXRlfHN0cmluZyl9IFtWYWxpZGF0aW9uS2V5cy5NSU5dIC0gVGhlIG1pbmltdW0gYWxsb3dlZCB2YWx1ZVxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNaW5WYWxpZGF0b3JPcHRpb25zIGV4dGVuZHMgVmFsaWRhdG9yT3B0aW9ucyB7XG4gIFtWYWxpZGF0aW9uS2V5cy5NSU5dOiBudW1iZXIgfCBEYXRlIHwgc3RyaW5nO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBNaW5pbXVtIGxlbmd0aCB2YWxpZGF0aW9uIG9wdGlvbnMgaW50ZXJmYWNlXG4gKiBAc3VtbWFyeSBEZWZpbmVzIG9wdGlvbnMgZm9yIG1pbmltdW0gbGVuZ3RoIHZhbGlkYXRpb25cbiAqIEBpbnRlcmZhY2UgTWluTGVuZ3RoVmFsaWRhdG9yT3B0aW9uc1xuICogQHByb3BlcnR5IHtudW1iZXJ9IFtWYWxpZGF0aW9uS2V5cy5NSU5fTEVOR1RIXSAtIFRoZSBtaW5pbXVtIGFsbG93ZWQgbGVuZ3RoXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1pbkxlbmd0aFZhbGlkYXRvck9wdGlvbnMgZXh0ZW5kcyBWYWxpZGF0b3JPcHRpb25zIHtcbiAgW1ZhbGlkYXRpb25LZXlzLk1JTl9MRU5HVEhdOiBudW1iZXI7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIE1heGltdW0gdmFsdWUgdmFsaWRhdGlvbiBvcHRpb25zIGludGVyZmFjZVxuICogQHN1bW1hcnkgRGVmaW5lcyBvcHRpb25zIGZvciBtYXhpbXVtIHZhbHVlIHZhbGlkYXRpb25cbiAqIEBpbnRlcmZhY2UgTWF4VmFsaWRhdG9yT3B0aW9uc1xuICogQHByb3BlcnR5IHsobnVtYmVyfERhdGV8c3RyaW5nKX0gW1ZhbGlkYXRpb25LZXlzLk1BWF0gLSBUaGUgbWF4aW11bSBhbGxvd2VkIHZhbHVlXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1heFZhbGlkYXRvck9wdGlvbnMgZXh0ZW5kcyBWYWxpZGF0b3JPcHRpb25zIHtcbiAgW1ZhbGlkYXRpb25LZXlzLk1BWF06IG51bWJlciB8IERhdGUgfCBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIE1heGltdW0gbGVuZ3RoIHZhbGlkYXRpb24gb3B0aW9ucyBpbnRlcmZhY2VcbiAqIEBzdW1tYXJ5IERlZmluZXMgb3B0aW9ucyBmb3IgbWF4aW11bSBsZW5ndGggdmFsaWRhdGlvblxuICogQGludGVyZmFjZSBNYXhMZW5ndGhWYWxpZGF0b3JPcHRpb25zXG4gKiBAcHJvcGVydHkge251bWJlcn0gW1ZhbGlkYXRpb25LZXlzLk1BWF9MRU5HVEhdIC0gVGhlIG1heGltdW0gYWxsb3dlZCBsZW5ndGhcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBWYWxpZGF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWF4TGVuZ3RoVmFsaWRhdG9yT3B0aW9ucyBleHRlbmRzIFZhbGlkYXRvck9wdGlvbnMge1xuICBbVmFsaWRhdGlvbktleXMuTUFYX0xFTkdUSF06IG51bWJlcjtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gTGlzdCB2YWxpZGF0aW9uIG9wdGlvbnMgaW50ZXJmYWNlXG4gKiBAc3VtbWFyeSBEZWZpbmVzIG9wdGlvbnMgZm9yIGxpc3QgdmFsaWRhdGlvblxuICogQGludGVyZmFjZSBMaXN0VmFsaWRhdG9yT3B0aW9uc1xuICogQHByb3BlcnR5IHtzdHJpbmdbXX0gY2xhenogLSBBcnJheSBvZiBhbGxvd2VkIGNsYXNzIG5hbWVzIG9yIHR5cGVzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpc3RWYWxpZGF0b3JPcHRpb25zIGV4dGVuZHMgVmFsaWRhdG9yT3B0aW9ucyB7XG4gIGNsYXp6OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGF0ZSB2YWxpZGF0aW9uIG9wdGlvbnMgaW50ZXJmYWNlXG4gKiBAc3VtbWFyeSBEZWZpbmVzIG9wdGlvbnMgZm9yIGRhdGUgdmFsaWRhdGlvblxuICogQGludGVyZmFjZSBEYXRlVmFsaWRhdG9yT3B0aW9uc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFtWYWxpZGF0aW9uS2V5cy5GT1JNQVRdIC0gVGhlIGV4cGVjdGVkIGRhdGUgZm9ybWF0IHBhdHRlcm5cbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBWYWxpZGF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZVZhbGlkYXRvck9wdGlvbnMgZXh0ZW5kcyBWYWxpZGF0b3JPcHRpb25zIHtcbiAgW1ZhbGlkYXRpb25LZXlzLkZPUk1BVF0/OiBzdHJpbmc7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdmFsaWRhdGlvbi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsY0FBYyxFQUFhLE1BQU0sY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVjb3JhdG9yTWV0YWRhdGEgfSBmcm9tIFwiQGRlY2FmLXRzL3JlZmxlY3Rpb25cIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSBcIi4uL21vZGVsXCI7XG5pbXBvcnQgeyBWYWxpZGF0aW9uS2V5cywgVmFsaWRhdG9yIH0gZnJvbSBcIi4vVmFsaWRhdG9yc1wiO1xuaW1wb3J0IHsgSVJlZ2lzdHJ5IH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbi8qKlxuICogQHN1bW1hcnkgVHlwZSBmb3IgdmFsaWRhdGlvbiBkZWNvcmF0b3IgbWV0YWRhdGFcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uUmVmbGVjdGlvblxuICogQGNhdGVnb3J5IFJlZmxlY3Rpb25cbiAqL1xuZXhwb3J0IHR5cGUgVmFsaWRhdGlvbk1ldGFkYXRhID0ge1xuICBbaW5kZXhlcjogc3RyaW5nXTogYW55O1xuICBhcmdzPzogYW55W107XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgdHlwZXM/OiBzdHJpbmdbXTtcbn07XG5cbi8qKlxuICogQHN1bW1hcnkgVHlwZSBmb3IgYSB2YWxpZGF0b3IgcHJvcGVydHkgZGVjb3JhdG9yIGRlZmluaXRpb25cbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uVmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IHR5cGUgVmFsaWRhdGlvblByb3BlcnR5RGVjb3JhdG9yRGVmaW5pdGlvbiA9IHtcbiAgcHJvcDogc3RyaW5nIHwgc3ltYm9sO1xuICBkZWNvcmF0b3JzOiBWYWxpZGF0aW9uRGVjb3JhdG9yRGVmaW5pdGlvbltdO1xufTtcblxuLyoqXG4gKiBAc3VtbWFyeSBUeXBlIGZvciBhIHZhbGlkYXRvciBkZWNvcmF0b3IgZGVmaW5pdGlvblxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgdHlwZSBWYWxpZGF0aW9uRGVjb3JhdG9yRGVmaW5pdGlvbiA9IERlY29yYXRvck1ldGFkYXRhICYge1xuICBwcm9wczogVmFsaWRhdGlvbkVsZW1lbnREZWZpbml0aW9uO1xufTtcblxuLyoqXG4gKiBAc3VtbWFyeSBUeXBlIGZvciBhIHZhbGlkYXRvciBlbGVtZW50IG1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uLlZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBWYWxpZGF0aW9uXG4gKi9cbmV4cG9ydCB0eXBlIFZhbGlkYXRpb25FbGVtZW50RGVmaW5pdGlvbiA9IHtcbiAgW2luZGV4ZXI6IHN0cmluZ106IGFueTtcblxuICB2YWx1ZT86IHN0cmluZyB8IG51bWJlcjtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICB0eXBlcz86IHN0cmluZ1tdO1xufTtcblxuLyoqXG4gKiBAc3VtbWFyeSBUeXBlIGZvciBhIG1vZGVsIGVycm9yc1xuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgdHlwZSBNb2RlbEVycm9ycyA9IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHVuZGVmaW5lZD4+O1xuXG4vKipcbiAqIEBzdW1tYXJ5IFV0aWwgdHlwZSBmb3Ige0BsaW5rIFZhbGlkYXRvcn0gY29uZmlndXJhdGlvblxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgdHlwZSBWYWxpZGF0b3JEZWZpbml0aW9uID0ge1xuICB2YWxpZGF0b3I6IENvbnN0cnVjdG9yPFZhbGlkYXRvcj47XG4gIHZhbGlkYXRpb25LZXk6IHN0cmluZztcbiAgc2F2ZTogYm9vbGVhbjtcbn07XG5cbi8qKlxuICogQHN1bW1hcnkgQmFzZSBBUEkgZm9yIGEge0BsaW5rIFZhbGlkYXRvcn0gcmVnaXN0cnlcbiAqXG4gKiBAaW50ZXJmYWNlIFZhbGlkYXRvclJlZ2lzdHJ5XG4gKiBAZXh0ZW5kcyBJUmVnaXN0cnlcbiAqXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIElWYWxpZGF0b3JSZWdpc3RyeTxUIGV4dGVuZHMgVmFsaWRhdG9yPiBleHRlbmRzIElSZWdpc3RyeTxUPiB7XG4gIC8qKlxuICAgKiBAc3VtbWFyeSByZXRyaWV2ZXMgdGhlIGN1c3RvbSBrZXlzXG4gICAqIEBtZXRob2RcbiAgICovXG4gIGdldEN1c3RvbUtleXMoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogQHN1bW1hcnkgUmV0cmlldmVzIHRoZSBSZWdpc3RlcmVkIHZhbGlkYXRvciBrZXlzXG4gICAqIEByZXR1cm4ge3N0cmluZ1tdfSB0aGUgcmVnaXN0ZXJlZCB2YWxpZGF0b3JzIGtleXNcbiAgICogQG1ldGhvZFxuICAgKi9cbiAgZ2V0S2V5cygpOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQHN1bW1hcnkgUmVnaXN0ZXJzIHRoZSBwcm92aWRlZCB2YWxpZGF0b3JzIG9udG8gdGhlIHJlZ2lzdHJ5XG4gICAqXG4gICAqIEB0eXBlZGVmIFQgZXh0ZW5kcyBWYWxpZGF0b3JcbiAgICogQHBhcmFtIHtUW10gfCBWYWxpZGF0b3JEZWZpbml0aW9uW119IHZhbGlkYXRvclxuICAgKiBAbWV0aG9kXG4gICAqL1xuICByZWdpc3RlcjxUIGV4dGVuZHMgVmFsaWRhdG9yPihcbiAgICAuLi52YWxpZGF0b3I6IChUIHwgVmFsaWRhdG9yRGVmaW5pdGlvbilbXVxuICApOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBSZXRyaWV2ZXMgdGhlIFZhbGlkYXRvciBjb25zdHJ1Y3RvciBpZiByZWdpc3RlcmVkXG4gICAqXG4gICAqIEB0eXBlZGVmIFQgZXh0ZW5kcyBWYWxpZGF0b3JcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBvbmUgb2YgdGhlIHtAbGluayBWYWxpZGF0aW9uS2V5c31cbiAgICogQHJldHVybiB7VmFsaWRhdG9yIHwgdW5kZWZpbmVkfSB0aGUgcmVnaXN0ZXJlZCBWYWxpZGF0b3Igb3IgdW5kZWZpbmVkIGlmIHRoZXJlIGlzIG5vbm8gbWF0Y2hpbmcgdGhlIHByb3ZpZGVkIGtleVxuICAgKiBAbWV0aG9kXG4gICAqL1xuICBnZXQ8VCBleHRlbmRzIFZhbGlkYXRvcj4oa2V5OiBzdHJpbmcpOiBUIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgdHlwZSBWYWxpZGF0b3JPcHRpb25zID0ge1xuICBtZXNzYWdlPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBVUkxWYWxpZGF0b3JPcHRpb25zIGV4dGVuZHMgVmFsaWRhdG9yT3B0aW9ucyB7XG4gIHR5cGVzOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHsgbmFtZTogc3RyaW5nIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVZhbGlkYXRvck9wdGlvbnMgZXh0ZW5kcyBWYWxpZGF0b3JPcHRpb25zIHtcbiAgdHlwZXM6IHN0cmluZyB8IHN0cmluZ1tdIHwgeyBuYW1lOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGVwVmFsaWRhdG9yT3B0aW9ucyBleHRlbmRzIFZhbGlkYXRvck9wdGlvbnMge1xuICBbVmFsaWRhdGlvbktleXMuU1RFUF06IG51bWJlciB8IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucyBleHRlbmRzIFZhbGlkYXRvck9wdGlvbnMge1xuICBbVmFsaWRhdGlvbktleXMuUEFUVEVSTl0/OiBSZWdFeHAgfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWluVmFsaWRhdG9yT3B0aW9ucyBleHRlbmRzIFZhbGlkYXRvck9wdGlvbnMge1xuICBbVmFsaWRhdGlvbktleXMuTUlOXTogbnVtYmVyIHwgRGF0ZSB8IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaW5MZW5ndGhWYWxpZGF0b3JPcHRpb25zIGV4dGVuZHMgVmFsaWRhdG9yT3B0aW9ucyB7XG4gIFtWYWxpZGF0aW9uS2V5cy5NSU5fTEVOR1RIXTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1heFZhbGlkYXRvck9wdGlvbnMgZXh0ZW5kcyBWYWxpZGF0b3JPcHRpb25zIHtcbiAgW1ZhbGlkYXRpb25LZXlzLk1BWF06IG51bWJlciB8IERhdGUgfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWF4TGVuZ3RoVmFsaWRhdG9yT3B0aW9ucyBleHRlbmRzIFZhbGlkYXRvck9wdGlvbnMge1xuICBbVmFsaWRhdGlvbktleXMuTUFYX0xFTkdUSF06IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0VmFsaWRhdG9yT3B0aW9ucyBleHRlbmRzIFZhbGlkYXRvck9wdGlvbnMge1xuICBjbGF6ejogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZVZhbGlkYXRvck9wdGlvbnMgZXh0ZW5kcyBWYWxpZGF0b3JPcHRpb25zIHtcbiAgW1ZhbGlkYXRpb25LZXlzLkZPUk1BVF0/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGFyaXNvblZhbGlkYXRvck9wdGlvbnMgZXh0ZW5kcyBWYWxpZGF0b3JPcHRpb25zIHtcbiAgcHJvcGVydHlUb0NvbXBhcmU6IHN0cmluZztcbn1cbiJdfQ==
package/lib/index.cjs CHANGED
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
+ /**
3
+ * @module decorator-validation
4
+ */
2
5
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
6
  if (k2 === undefined) k2 = k;
4
7
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -16,14 +19,43 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
19
  Object.defineProperty(exports, "__esModule", { value: true });
17
20
  exports.VERSION = void 0;
18
21
  /**
19
- * @module decorator-validation
20
- * @description TypeScript decorator-based validation library
21
- * @summary This module provides a comprehensive validation framework using TypeScript decorators.
22
- * It exposes utility functions, validation decorators, and model-related functionality for
23
- * implementing type-safe, declarative validation in TypeScript applications.
22
+ * @summary Model definition functionality
23
+ * @description defines the base class and related functionality
24
+ *
25
+ * @namespace Model
26
+ * @memberOf module:decorator-validation
27
+ */
28
+ /**
29
+ * @summary Holds all the supported decorators
30
+ * @namespace Decorators
31
+ * @memberOf module:decorator-validation
32
+ */
33
+ /**
34
+ * @summary Validation related functionality
35
+ * @description Defines the Model validation apis and base classes for validators
36
+ *
37
+ * @namespace Validation
38
+ * @memberOf module:decorator-validation
39
+ */
40
+ /**
41
+ * @namespace Dates
42
+ * @memberOf module:decorator-validation
43
+ */
44
+ /**
45
+ * @namespace Hashing
46
+ * @memberOf module:decorator-validation
47
+ */
48
+ /**
49
+ * @namespace Serialization
50
+ * @memberOf module:decorator-validation
51
+ */
52
+ /**
53
+ * @namespace Format
54
+ * @memberOf module:decorator-validation
24
55
  */
56
+ __exportStar(require("./constants/index.cjs"), exports);
25
57
  __exportStar(require("./utils/index.cjs"), exports);
26
58
  __exportStar(require("./validation/index.cjs"), exports);
27
59
  __exportStar(require("./model/index.cjs"), exports);
28
- exports.VERSION = "1.6.3";
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7O0dBTUc7QUFDSCwwQ0FBd0I7QUFDeEIsK0NBQTZCO0FBQzdCLDBDQUF3QjtBQUVYLFFBQUEsT0FBTyxHQUFHLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBkZWNvcmF0b3ItdmFsaWRhdGlvblxuICogQGRlc2NyaXB0aW9uIFR5cGVTY3JpcHQgZGVjb3JhdG9yLWJhc2VkIHZhbGlkYXRpb24gbGlicmFyeVxuICogQHN1bW1hcnkgVGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBjb21wcmVoZW5zaXZlIHZhbGlkYXRpb24gZnJhbWV3b3JrIHVzaW5nIFR5cGVTY3JpcHQgZGVjb3JhdG9ycy5cbiAqIEl0IGV4cG9zZXMgdXRpbGl0eSBmdW5jdGlvbnMsIHZhbGlkYXRpb24gZGVjb3JhdG9ycywgYW5kIG1vZGVsLXJlbGF0ZWQgZnVuY3Rpb25hbGl0eSBmb3JcbiAqIGltcGxlbWVudGluZyB0eXBlLXNhZmUsIGRlY2xhcmF0aXZlIHZhbGlkYXRpb24gaW4gVHlwZVNjcmlwdCBhcHBsaWNhdGlvbnMuXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi92YWxpZGF0aW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tb2RlbFwiO1xuXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IFwiIyNWRVJTSU9OIyNcIjtcbiJdfQ==
60
+ exports.VERSION = "1.6.4";
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7Ozs7Ozs7Ozs7Ozs7OztBQUVIOzs7Ozs7R0FNRztBQUVIOzs7O0dBSUc7QUFFSDs7Ozs7O0dBTUc7QUFFSDs7O0dBR0c7QUFFSDs7O0dBR0c7QUFFSDs7O0dBR0c7QUFFSDs7O0dBR0c7QUFFSCw4Q0FBNEI7QUFDNUIsMENBQXdCO0FBQ3hCLCtDQUE2QjtBQUM3QiwwQ0FBd0I7QUFFWCxRQUFBLE9BQU8sR0FBRyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgZGVjb3JhdG9yLXZhbGlkYXRpb25cbiAqL1xuXG4vKipcbiAqIEBzdW1tYXJ5IE1vZGVsIGRlZmluaXRpb24gZnVuY3Rpb25hbGl0eVxuICogQGRlc2NyaXB0aW9uIGRlZmluZXMgdGhlIGJhc2UgY2xhc3MgYW5kIHJlbGF0ZWQgZnVuY3Rpb25hbGl0eVxuICpcbiAqIEBuYW1lc3BhY2UgTW9kZWxcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb25cbiAqL1xuXG4vKipcbiAqIEBzdW1tYXJ5IEhvbGRzIGFsbCB0aGUgc3VwcG9ydGVkIGRlY29yYXRvcnNcbiAqIEBuYW1lc3BhY2UgRGVjb3JhdG9yc1xuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvblxuICovXG5cbi8qKlxuICogQHN1bW1hcnkgVmFsaWRhdGlvbiByZWxhdGVkIGZ1bmN0aW9uYWxpdHlcbiAqIEBkZXNjcmlwdGlvbiBEZWZpbmVzIHRoZSBNb2RlbCB2YWxpZGF0aW9uIGFwaXMgYW5kIGJhc2UgY2xhc3NlcyBmb3IgdmFsaWRhdG9yc1xuICpcbiAqIEBuYW1lc3BhY2UgVmFsaWRhdGlvblxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvblxuICovXG5cbi8qKlxuICogQG5hbWVzcGFjZSBEYXRlc1xuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvblxuICovXG5cbi8qKlxuICogQG5hbWVzcGFjZSBIYXNoaW5nXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKi9cblxuLyoqXG4gKiBAbmFtZXNwYWNlIFNlcmlhbGl6YXRpb25cbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb25cbiAqL1xuXG4vKipcbiAqIEBuYW1lc3BhY2UgRm9ybWF0XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlsc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmFsaWRhdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbW9kZWxcIjtcblxuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSBcIiMjVkVSU0lPTiMjXCI7XG4iXX0=
package/lib/index.d.ts CHANGED
@@ -1,11 +1,43 @@
1
1
  /**
2
2
  * @module decorator-validation
3
- * @description TypeScript decorator-based validation library
4
- * @summary This module provides a comprehensive validation framework using TypeScript decorators.
5
- * It exposes utility functions, validation decorators, and model-related functionality for
6
- * implementing type-safe, declarative validation in TypeScript applications.
7
3
  */
4
+ /**
5
+ * @summary Model definition functionality
6
+ * @description defines the base class and related functionality
7
+ *
8
+ * @namespace Model
9
+ * @memberOf module:decorator-validation
10
+ */
11
+ /**
12
+ * @summary Holds all the supported decorators
13
+ * @namespace Decorators
14
+ * @memberOf module:decorator-validation
15
+ */
16
+ /**
17
+ * @summary Validation related functionality
18
+ * @description Defines the Model validation apis and base classes for validators
19
+ *
20
+ * @namespace Validation
21
+ * @memberOf module:decorator-validation
22
+ */
23
+ /**
24
+ * @namespace Dates
25
+ * @memberOf module:decorator-validation
26
+ */
27
+ /**
28
+ * @namespace Hashing
29
+ * @memberOf module:decorator-validation
30
+ */
31
+ /**
32
+ * @namespace Serialization
33
+ * @memberOf module:decorator-validation
34
+ */
35
+ /**
36
+ * @namespace Format
37
+ * @memberOf module:decorator-validation
38
+ */
39
+ export * from "./constants";
8
40
  export * from "./utils";
9
41
  export * from "./validation";
10
42
  export * from "./model";
11
- export declare const VERSION = "1.6.3";
43
+ export declare const VERSION = "1.6.4";