@decaf-ts/decorator-validation 1.10.5 → 1.11.0

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 (218) hide show
  1. package/README.md +1 -1
  2. package/dist/decorator-validation.cjs +1 -1
  3. package/dist/decorator-validation.cjs.map +1 -1
  4. package/dist/decorator-validation.js +1 -1
  5. package/dist/decorator-validation.js.map +1 -1
  6. package/lib/esm/index.d.ts +2 -1
  7. package/lib/esm/index.js +2 -1
  8. package/lib/esm/index.js.map +1 -1
  9. package/lib/esm/model/Builder.d.ts +84 -0
  10. package/lib/esm/model/Builder.js +395 -129
  11. package/lib/esm/model/Builder.js.map +1 -1
  12. package/lib/esm/model/Model.d.ts +21 -19
  13. package/lib/esm/model/Model.js +112 -105
  14. package/lib/esm/model/Model.js.map +1 -1
  15. package/lib/esm/model/constants.d.ts +8 -8
  16. package/lib/esm/model/constants.js +8 -9
  17. package/lib/esm/model/constants.js.map +1 -1
  18. package/lib/esm/model/decorators.d.ts +2 -12
  19. package/lib/esm/model/decorators.js +5 -39
  20. package/lib/esm/model/decorators.js.map +1 -1
  21. package/lib/esm/model/index.d.ts +1 -0
  22. package/lib/esm/model/index.js +1 -0
  23. package/lib/esm/model/index.js.map +1 -1
  24. package/lib/esm/model/types.d.ts +0 -12
  25. package/lib/esm/model/utils.d.ts +0 -3
  26. package/lib/esm/model/utils.js +0 -10
  27. package/lib/esm/model/utils.js.map +1 -1
  28. package/lib/esm/model/validation.d.ts +4 -37
  29. package/lib/esm/model/validation.js +30 -106
  30. package/lib/esm/model/validation.js.map +1 -1
  31. package/lib/esm/overrides/Metadata.d.ts +128 -0
  32. package/lib/esm/overrides/Metadata.js +2 -0
  33. package/lib/esm/overrides/Metadata.js.map +1 -0
  34. package/lib/esm/overrides/index.d.ts +3 -0
  35. package/lib/esm/overrides/index.js +4 -0
  36. package/lib/esm/overrides/index.js.map +1 -0
  37. package/lib/esm/overrides/overrides.d.ts +1 -0
  38. package/lib/esm/overrides/overrides.js +79 -0
  39. package/lib/esm/overrides/overrides.js.map +1 -0
  40. package/lib/esm/overrides/types.d.ts +9 -0
  41. package/lib/esm/overrides/types.js +2 -0
  42. package/lib/esm/overrides/types.js.map +1 -0
  43. package/lib/esm/types/validation.d.ts +4 -2
  44. package/lib/esm/utils/constants.d.ts +4 -18
  45. package/lib/esm/utils/constants.js +4 -17
  46. package/lib/esm/utils/constants.js.map +1 -1
  47. package/lib/esm/utils/dates.d.ts +0 -1
  48. package/lib/esm/utils/dates.js +0 -1
  49. package/lib/esm/utils/dates.js.map +1 -1
  50. package/lib/esm/utils/equality.d.ts +56 -0
  51. package/lib/esm/utils/equality.js +160 -0
  52. package/lib/esm/utils/equality.js.map +1 -0
  53. package/lib/esm/utils/index.d.ts +1 -2
  54. package/lib/esm/utils/index.js +1 -2
  55. package/lib/esm/utils/index.js.map +1 -1
  56. package/lib/esm/utils/registry.d.ts +1 -1
  57. package/lib/esm/utils/serialization.d.ts +2 -2
  58. package/lib/esm/utils/serialization.js +10 -2
  59. package/lib/esm/utils/serialization.js.map +1 -1
  60. package/lib/esm/utils/types.d.ts +0 -102
  61. package/lib/esm/validation/Validation.d.ts +2 -3
  62. package/lib/esm/validation/Validation.js +11 -6
  63. package/lib/esm/validation/Validation.js.map +1 -1
  64. package/lib/esm/validation/Validators/BaseValidator.js +7 -3
  65. package/lib/esm/validation/Validators/BaseValidator.js.map +1 -1
  66. package/lib/esm/validation/Validators/DiffValidator.js +1 -1
  67. package/lib/esm/validation/Validators/DiffValidator.js.map +1 -1
  68. package/lib/esm/validation/Validators/EqualsValidator.js +1 -1
  69. package/lib/esm/validation/Validators/EqualsValidator.js.map +1 -1
  70. package/lib/esm/validation/Validators/GreaterThanOrEqualValidator.js +1 -1
  71. package/lib/esm/validation/Validators/GreaterThanOrEqualValidator.js.map +1 -1
  72. package/lib/esm/validation/Validators/LessThanOrEqualValidator.js +1 -1
  73. package/lib/esm/validation/Validators/LessThanOrEqualValidator.js.map +1 -1
  74. package/lib/esm/validation/Validators/ListValidator.js +4 -4
  75. package/lib/esm/validation/Validators/ListValidator.js.map +1 -1
  76. package/lib/esm/validation/Validators/MaxLengthValidator.js +3 -2
  77. package/lib/esm/validation/Validators/MaxLengthValidator.js.map +1 -1
  78. package/lib/esm/validation/Validators/MaxValidator.js +1 -1
  79. package/lib/esm/validation/Validators/MaxValidator.js.map +1 -1
  80. package/lib/esm/validation/Validators/MinLengthValidator.js +3 -2
  81. package/lib/esm/validation/Validators/MinLengthValidator.js.map +1 -1
  82. package/lib/esm/validation/Validators/MinValidator.js +1 -1
  83. package/lib/esm/validation/Validators/MinValidator.js.map +1 -1
  84. package/lib/esm/validation/Validators/OptionValidator.d.ts +29 -0
  85. package/lib/esm/validation/Validators/OptionValidator.js +61 -0
  86. package/lib/esm/validation/Validators/OptionValidator.js.map +1 -0
  87. package/lib/esm/validation/Validators/TypeValidator.js +2 -2
  88. package/lib/esm/validation/Validators/TypeValidator.js.map +1 -1
  89. package/lib/esm/validation/Validators/constants.d.ts +2 -1
  90. package/lib/esm/validation/Validators/constants.js +3 -2
  91. package/lib/esm/validation/Validators/constants.js.map +1 -1
  92. package/lib/esm/validation/Validators/decorators.d.ts +1 -1
  93. package/lib/esm/validation/Validators/decorators.js +2 -2
  94. package/lib/esm/validation/Validators/decorators.js.map +1 -1
  95. package/lib/esm/validation/Validators/index.d.ts +1 -0
  96. package/lib/esm/validation/Validators/index.js +1 -0
  97. package/lib/esm/validation/Validators/index.js.map +1 -1
  98. package/lib/esm/validation/Validators/utils.d.ts +33 -0
  99. package/lib/esm/validation/Validators/utils.js +62 -0
  100. package/lib/esm/validation/Validators/utils.js.map +1 -1
  101. package/lib/esm/validation/decorators.d.ts +28 -17
  102. package/lib/esm/validation/decorators.js +86 -55
  103. package/lib/esm/validation/decorators.js.map +1 -1
  104. package/lib/esm/validation/types.d.ts +15 -5
  105. package/lib/esm/validation/types.js.map +1 -1
  106. package/lib/index.cjs +2 -1
  107. package/lib/index.d.ts +2 -1
  108. package/lib/index.js.map +1 -1
  109. package/lib/model/Builder.cjs +399 -128
  110. package/lib/model/Builder.d.ts +84 -0
  111. package/lib/model/Builder.js.map +1 -1
  112. package/lib/model/Model.cjs +114 -107
  113. package/lib/model/Model.d.ts +21 -19
  114. package/lib/model/Model.js.map +1 -1
  115. package/lib/model/constants.cjs +8 -9
  116. package/lib/model/constants.d.ts +8 -8
  117. package/lib/model/constants.js.map +1 -1
  118. package/lib/model/decorators.cjs +4 -39
  119. package/lib/model/decorators.d.ts +2 -12
  120. package/lib/model/decorators.js.map +1 -1
  121. package/lib/model/index.cjs +1 -0
  122. package/lib/model/index.d.ts +1 -0
  123. package/lib/model/index.js.map +1 -1
  124. package/lib/model/types.d.ts +0 -12
  125. package/lib/model/utils.cjs +0 -12
  126. package/lib/model/utils.d.ts +0 -3
  127. package/lib/model/utils.js.map +1 -1
  128. package/lib/model/validation.cjs +30 -108
  129. package/lib/model/validation.d.ts +4 -37
  130. package/lib/model/validation.js.map +1 -1
  131. package/lib/overrides/Metadata.cjs +3 -0
  132. package/lib/overrides/Metadata.d.ts +128 -0
  133. package/lib/overrides/Metadata.js.map +1 -0
  134. package/lib/overrides/index.cjs +20 -0
  135. package/lib/overrides/index.d.ts +3 -0
  136. package/lib/overrides/index.js.map +1 -0
  137. package/lib/overrides/overrides.cjs +81 -0
  138. package/lib/overrides/overrides.d.ts +1 -0
  139. package/lib/overrides/overrides.js.map +1 -0
  140. package/lib/overrides/types.cjs +3 -0
  141. package/lib/overrides/types.d.ts +9 -0
  142. package/lib/overrides/types.js.map +1 -0
  143. package/lib/types/validation.d.ts +4 -2
  144. package/lib/utils/constants.cjs +5 -18
  145. package/lib/utils/constants.d.ts +4 -18
  146. package/lib/utils/constants.js.map +1 -1
  147. package/lib/utils/dates.cjs +0 -1
  148. package/lib/utils/dates.d.ts +0 -1
  149. package/lib/utils/dates.js.map +1 -1
  150. package/lib/utils/equality.cjs +163 -0
  151. package/lib/utils/equality.d.ts +56 -0
  152. package/lib/utils/equality.js.map +1 -0
  153. package/lib/utils/index.cjs +1 -2
  154. package/lib/utils/index.d.ts +1 -2
  155. package/lib/utils/index.js.map +1 -1
  156. package/lib/utils/registry.d.ts +1 -1
  157. package/lib/utils/serialization.cjs +10 -2
  158. package/lib/utils/serialization.d.ts +2 -2
  159. package/lib/utils/serialization.js.map +1 -1
  160. package/lib/utils/types.d.ts +0 -102
  161. package/lib/validation/Validation.cjs +11 -6
  162. package/lib/validation/Validation.d.ts +2 -3
  163. package/lib/validation/Validation.js.map +1 -1
  164. package/lib/validation/Validators/BaseValidator.cjs +7 -3
  165. package/lib/validation/Validators/BaseValidator.js.map +1 -1
  166. package/lib/validation/Validators/DiffValidator.cjs +2 -2
  167. package/lib/validation/Validators/DiffValidator.js.map +1 -1
  168. package/lib/validation/Validators/EqualsValidator.cjs +2 -2
  169. package/lib/validation/Validators/EqualsValidator.js.map +1 -1
  170. package/lib/validation/Validators/GreaterThanOrEqualValidator.cjs +2 -2
  171. package/lib/validation/Validators/GreaterThanOrEqualValidator.js.map +1 -1
  172. package/lib/validation/Validators/LessThanOrEqualValidator.cjs +2 -2
  173. package/lib/validation/Validators/LessThanOrEqualValidator.js.map +1 -1
  174. package/lib/validation/Validators/ListValidator.cjs +4 -4
  175. package/lib/validation/Validators/ListValidator.js.map +1 -1
  176. package/lib/validation/Validators/MaxLengthValidator.cjs +3 -2
  177. package/lib/validation/Validators/MaxLengthValidator.js.map +1 -1
  178. package/lib/validation/Validators/MaxValidator.cjs +1 -1
  179. package/lib/validation/Validators/MaxValidator.js.map +1 -1
  180. package/lib/validation/Validators/MinLengthValidator.cjs +3 -2
  181. package/lib/validation/Validators/MinLengthValidator.js.map +1 -1
  182. package/lib/validation/Validators/MinValidator.cjs +1 -1
  183. package/lib/validation/Validators/MinValidator.js.map +1 -1
  184. package/lib/validation/Validators/OptionValidator.cjs +64 -0
  185. package/lib/validation/Validators/OptionValidator.d.ts +29 -0
  186. package/lib/validation/Validators/OptionValidator.js.map +1 -0
  187. package/lib/validation/Validators/TypeValidator.cjs +2 -2
  188. package/lib/validation/Validators/TypeValidator.js.map +1 -1
  189. package/lib/validation/Validators/constants.cjs +5 -4
  190. package/lib/validation/Validators/constants.d.ts +2 -1
  191. package/lib/validation/Validators/constants.js.map +1 -1
  192. package/lib/validation/Validators/decorators.cjs +3 -3
  193. package/lib/validation/Validators/decorators.d.ts +1 -1
  194. package/lib/validation/Validators/decorators.js.map +1 -1
  195. package/lib/validation/Validators/index.cjs +1 -0
  196. package/lib/validation/Validators/index.d.ts +1 -0
  197. package/lib/validation/Validators/index.js.map +1 -1
  198. package/lib/validation/Validators/utils.cjs +66 -0
  199. package/lib/validation/Validators/utils.d.ts +33 -0
  200. package/lib/validation/Validators/utils.js.map +1 -1
  201. package/lib/validation/decorators.cjs +102 -69
  202. package/lib/validation/decorators.d.ts +28 -17
  203. package/lib/validation/decorators.js.map +1 -1
  204. package/lib/validation/types.d.ts +15 -5
  205. package/lib/validation/types.js.map +1 -1
  206. package/package.json +2 -3
  207. package/lib/esm/utils/Decoration.d.ts +0 -135
  208. package/lib/esm/utils/Decoration.js +0 -227
  209. package/lib/esm/utils/Decoration.js.map +0 -1
  210. package/lib/esm/utils/decorators.d.ts +0 -38
  211. package/lib/esm/utils/decorators.js +0 -64
  212. package/lib/esm/utils/decorators.js.map +0 -1
  213. package/lib/utils/Decoration.cjs +0 -231
  214. package/lib/utils/Decoration.d.ts +0 -135
  215. package/lib/utils/Decoration.js.map +0 -1
  216. package/lib/utils/decorators.cjs +0 -68
  217. package/lib/utils/decorators.d.ts +0 -38
  218. package/lib/utils/decorators.js.map +0 -1
@@ -4,11 +4,9 @@ exports.modelBaseDecorator = modelBaseDecorator;
4
4
  exports.model = model;
5
5
  exports.hashedBy = hashedBy;
6
6
  exports.serializedBy = serializedBy;
7
- exports.description = description;
8
7
  const construction_1 = require("./construction.cjs");
9
8
  const constants_1 = require("./../utils/constants.cjs");
10
9
  const Model_1 = require("./Model.cjs");
11
- const reflection_1 = require("@decaf-ts/reflection");
12
10
  const decoration_1 = require("@decaf-ts/decoration");
13
11
  function modelBaseDecorator(original) {
14
12
  // the new constructor behaviour
@@ -19,15 +17,10 @@ function modelBaseDecorator(original) {
19
17
  const builder = Model_1.Model.getBuilder();
20
18
  if (builder)
21
19
  builder(instance, args.length ? args[0] : undefined);
22
- (0, reflection_1.metadata)(Model_1.Model.key(constants_1.ModelKeys.MODEL), original.name)(instance.constructor);
23
20
  return instance;
24
21
  };
25
22
  // copy prototype so instanceof operator still works
26
23
  newConstructor.prototype = original.prototype;
27
- (0, reflection_1.metadata)(Model_1.Model.key(constants_1.ModelKeys.MODEL), original.name)(original);
28
- Reflect.getMetadataKeys(original).forEach((key) => {
29
- Reflect.defineMetadata(key, Reflect.getMetadata(key, original), newConstructor);
30
- });
31
24
  // Sets the proper constructor name for type verification
32
25
  Object.defineProperty(newConstructor, "name", {
33
26
  writable: false,
@@ -35,23 +28,7 @@ function modelBaseDecorator(original) {
35
28
  configurable: false,
36
29
  value: original.prototype.constructor.name,
37
30
  });
38
- //
39
- // anchors the original constructor for future reference
40
- Object.defineProperty(newConstructor, constants_1.ModelKeys.ANCHOR, {
41
- writable: false,
42
- enumerable: false,
43
- configurable: false,
44
- value: original,
45
- });
46
- decoration_1.Metadata.set(newConstructor, decoration_1.DecorationKeys.CONSTRUCTOR, original);
47
- //
48
- // // anchors the new constructor for future reference
49
- // Object.defineProperty(original, ModelKeys.ANCHOR, {
50
- // writable: false,
51
- // enumerable: true,
52
- // configurable: false,
53
- // value: newConstructor,
54
- // });
31
+ (0, decoration_1.metadata)(constants_1.ModelKeys.CONSTRUCTOR, original)(newConstructor);
55
32
  Model_1.Model.register(newConstructor, original.name);
56
33
  // return new constructor (will override original)
57
34
  return newConstructor;
@@ -69,7 +46,7 @@ function modelBaseDecorator(original) {
69
46
  * @category Class Decorators
70
47
  */
71
48
  function model() {
72
- const key = Model_1.Model.key(constants_1.ModelKeys.MODEL);
49
+ const key = constants_1.ModelKeys.MODEL;
73
50
  return decoration_1.Decoration.for(key).define(modelBaseDecorator).apply();
74
51
  }
75
52
  /**
@@ -87,7 +64,7 @@ function model() {
87
64
  * @category Class Decorators
88
65
  */
89
66
  function hashedBy(algorithm, ...args) {
90
- return (0, reflection_1.metadata)(Model_1.Model.key(constants_1.ModelKeys.HASHING), {
67
+ return (0, decoration_1.metadata)(constants_1.ModelKeys.HASHING, {
91
68
  algorithm: algorithm,
92
69
  args: args,
93
70
  });
@@ -102,21 +79,9 @@ function hashedBy(algorithm, ...args) {
102
79
  * @category Class Decorators
103
80
  */
104
81
  function serializedBy(serializer, ...args) {
105
- return (0, reflection_1.metadata)(Model_1.Model.key(constants_1.ModelKeys.SERIALIZATION), {
82
+ return (0, decoration_1.metadata)(constants_1.ModelKeys.SERIALIZATION, {
106
83
  serializer: serializer,
107
84
  args: args,
108
85
  });
109
86
  }
110
- /**
111
- * @summary Applies descriptive metadata to a class, property or method
112
- *
113
- * @param {string} description the description to apply
114
- *
115
- * @function description
116
- *
117
- * @category Decorators
118
- */
119
- function description(description) {
120
- return (0, reflection_1.metadata)(Model_1.Model.key(constants_1.ModelKeys.DESCRIPTION), description);
121
- }
122
87
  //# sourceMappingURL=decorators.js.map
@@ -26,7 +26,7 @@ export declare function model(): (target: any, propertyKey?: any, descriptor?: T
26
26
  *
27
27
  * @category Class Decorators
28
28
  */
29
- export declare function hashedBy(algorithm: string, ...args: any[]): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
29
+ export declare function hashedBy(algorithm: string, ...args: any[]): (model: any, prop?: any, descriptor?: PropertyDescriptor | number) => void;
30
30
  /**
31
31
  * @summary Defines the serialization algorithm to use on the model
32
32
  *
@@ -36,14 +36,4 @@ export declare function hashedBy(algorithm: string, ...args: any[]): (target: ob
36
36
  *
37
37
  * @category Class Decorators
38
38
  */
39
- export declare function serializedBy(serializer: string, ...args: any[]): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
40
- /**
41
- * @summary Applies descriptive metadata to a class, property or method
42
- *
43
- * @param {string} description the description to apply
44
- *
45
- * @function description
46
- *
47
- * @category Decorators
48
- */
49
- export declare function description(description: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
39
+ export declare function serializedBy(serializer: string, ...args: any[]): (model: any, prop?: any, descriptor?: PropertyDescriptor | number) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/model/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/model/decorators.ts"],"names":[],"mappings":";;AAKA,gDA6BC;AAcD,sBAGC;AAgBD,4BAKC;AAWD,oCAKC;AAxFD,qDAA+D;AAC/D,wDAA+C;AAC/C,uCAAgC;AAChC,qDAA4D;AAE5D,SAAgB,kBAAkB,CAAC,QAAa;IAC9C,gCAAgC;IAChC,MAAM,cAAc,GAAQ,UAAU,GAAG,IAAW;QAClD,MAAM,QAAQ,GAAgC,IAAA,wBAAS,EAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;QAC3E,IAAA,iCAAkB,EAAC,QAAQ,CAAC,CAAC;QAE7B,2EAA2E;QAC3E,MAAM,OAAO,GAAG,aAAK,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,OAAO;YAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAElE,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,oDAAoD;IACpD,cAAc,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;IAE9C,yDAAyD;IACzD,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE;QAC5C,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI;KAC3C,CAAC,CAAC;IAEH,IAAA,qBAAQ,EAAC,qBAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC;IAE1D,aAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,kDAAkD;IAClD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,KAAK;IACnB,MAAM,GAAG,GAAG,qBAAS,CAAC,KAAK,CAAC;IAC5B,OAAO,uBAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;AAChE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,QAAQ,CAAC,SAAiB,EAAE,GAAG,IAAW;IACxD,OAAO,IAAA,qBAAQ,EAAC,qBAAS,CAAC,OAAO,EAAE;QACjC,SAAS,EAAE,SAAS;QACpB,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAAC,UAAkB,EAAE,GAAG,IAAW;IAC7D,OAAO,IAAA,qBAAQ,EAAC,qBAAS,CAAC,aAAa,EAAE;QACvC,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC"}
@@ -19,6 +19,7 @@ __exportStar(require("./construction.cjs"), exports);
19
19
  __exportStar(require("./decorators.cjs"), exports);
20
20
  __exportStar(require("./Model.cjs"), exports);
21
21
  __exportStar(require("./ModelErrorDefinition.cjs"), exports);
22
+ __exportStar(require("./Builder.cjs"), exports);
22
23
  __exportStar(require("./types.cjs"), exports);
23
24
  __exportStar(require("./validation.cjs"), exports);
24
25
  __exportStar(require("./utils.cjs"), exports);
@@ -3,6 +3,7 @@ export * from "./construction";
3
3
  export * from "./decorators";
4
4
  export * from "./Model";
5
5
  export * from "./ModelErrorDefinition";
6
+ export * from "./Builder";
6
7
  export * from "./types";
7
8
  export * from "./validation";
8
9
  export * from "./utils";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA4B;AAC5B,qDAA+B;AAC/B,mDAA6B;AAC7B,8CAAwB;AACxB,6DAAuC;AACvC,8CAAwB;AACxB,mDAA6B;AAC7B,8CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA4B;AAC5B,qDAA+B;AAC/B,mDAA6B;AAC7B,8CAAwB;AACxB,6DAAuC;AACvC,gDAA0B;AAC1B,8CAAwB;AACxB,mDAA6B;AAC7B,8CAAwB"}
@@ -21,18 +21,6 @@ export type ModelBuilderFunction = <T extends Model>(self: T, obj?: T | Record<s
21
21
  * @see ModelConstructor
22
22
  */
23
23
  export type ModelArg<T> = T | Partial<T> | Record<string, any>;
24
- /**
25
- * @description Generic type for class constructor functions
26
- * @summary Definition of a Class Constructor that can create instances of a specified type
27
- * @template T
28
- * @param {any[]} [args] - Constructor arguments
29
- * @return {T} - An instance of the class
30
- * @typedef Constructor
31
- * @memberOf module:decorator-validation
32
- */
33
- export type Constructor<T> = {
34
- new (...args: any[]): T;
35
- };
36
24
  /**
37
25
  * @description Specialized constructor type for Model classes
38
26
  * @summary Definition of a Model Constructor that creates instances of Model subclasses
@@ -1,18 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getModelKey = getModelKey;
4
- exports.getMetadata = getMetadata;
5
3
  exports.toConditionalPromise = toConditionalPromise;
6
- const constants_1 = require("./../utils/constants.cjs");
7
- function getModelKey(str) {
8
- return constants_1.ModelKeys.REFLECT + str;
9
- }
10
- function getMetadata(model) {
11
- const metadata = Reflect.getMetadata(getModelKey(constants_1.ModelKeys.MODEL), model.constructor);
12
- if (!metadata)
13
- throw new Error("could not find metadata for provided " + model.constructor.name);
14
- return metadata;
15
- }
16
4
  /**
17
5
  * Wraps a value in a Promise if the `async` flag is true.
18
6
  *
@@ -1,7 +1,4 @@
1
1
  import { ConditionalAsync } from "../types";
2
- import { Model } from "./Model";
3
- export declare function getModelKey(str: string): string;
4
- export declare function getMetadata<M extends Model>(model: M): any;
5
2
  /**
6
3
  * Wraps a value in a Promise if the `async` flag is true.
7
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/model/utils.ts"],"names":[],"mappings":";;AAIA,kCAEC;AAED,kCAUC;AAaD,oDAKC;AApCD,wDAA+C;AAI/C,SAAgB,WAAW,CAAC,GAAW;IACrC,OAAO,qBAAS,CAAC,OAAO,GAAG,GAAG,CAAC;AACjC,CAAC;AAED,SAAgB,WAAW,CAAkB,KAAQ;IACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAClC,WAAW,CAAC,qBAAS,CAAC,KAAK,CAAC,EAC5B,KAAK,CAAC,WAAW,CAClB,CAAC;IACF,IAAI,CAAC,QAAQ;QACX,MAAM,IAAI,KAAK,CACb,uCAAuC,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CACjE,CAAC;IACJ,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,oBAAoB,CAClC,KAAQ,EACR,KAAa;IAEb,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAA+B,CAAC;AAChF,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/model/utils.ts"],"names":[],"mappings":";;AAaA,oDAKC;AAhBD;;;;;;;;;;GAUG;AACH,SAAgB,oBAAoB,CAClC,KAAQ,EACR,KAAa;IAEb,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAA+B,CAAC;AAChF,CAAC"}
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getValidationDecorators = getValidationDecorators;
4
- exports.getValidatableProperties = getValidatableProperties;
5
3
  exports.validateChildValue = validateChildValue;
6
4
  exports.validateDecorator = validateDecorator;
7
5
  exports.validateDecorators = validateDecorators;
@@ -13,53 +11,8 @@ const Validation_1 = require("./../validation/Validation.cjs");
13
11
  const constants_2 = require("./../validation/Validators/constants.cjs");
14
12
  const PathProxy_1 = require("./../utils/PathProxy.cjs");
15
13
  const constants_3 = require("./../constants/index.cjs");
16
- const reflection_1 = require("@decaf-ts/reflection");
17
14
  const utils_1 = require("./utils.cjs");
18
- /**
19
- * Retrieves the validation metadata decorators associated with a specific property of a model,
20
- * using the reflective metadata key.
21
- *
22
- * @param model - The model instance or class containing the decorated property.
23
- * @param {string} prop - The name of the property whose decorators should be retrieved.
24
- * @param {string} reflectKey - The metadata key used to retrieve the decorators.
25
- * Defaults to `ValidationKeys.REFLECT`.
26
- *
27
- * @returns The validation decorators applied to the property
28
- */
29
- function getValidationDecorators(model, prop, reflectKey = constants_2.ValidationKeys.REFLECT) {
30
- return reflection_1.Reflection.getPropertyDecorators(reflectKey, model, prop);
31
- }
32
- /**
33
- * @description
34
- * Retrieves all validatable property decorators from a given model, excluding specified properties.
35
- *
36
- * @summary
37
- * Iterates through the own enumerable properties of a model instance, filtering out any properties
38
- * listed in the `propsToIgnore` array. For each remaining property, it checks whether validation
39
- * decorators are present using `getValidationDecorators`, and if so, collects them in the result array.
40
- *
41
- * @template M - A generic parameter extending the `Model` class, representing the model type being inspected.
42
- *
43
- * @param {M} model - An instance of a class extending `Model` from which validatable properties will be extracted.
44
- * @param {string[]} propsToIgnore - An array of property names that should be excluded from validation inspection.
45
- *
46
- * @return {ValidationPropertyDecoratorDefinition[]} An array of validation decorator definitions
47
- * associated with the model's properties, excluding those listed in `propsToIgnore`.
48
- *
49
- * @function getValidatableProperties
50
- */
51
- function getValidatableProperties(model, propsToIgnore) {
52
- const decoratedProperties = [];
53
- for (const prop in model) {
54
- if (Object.prototype.hasOwnProperty.call(model, prop) &&
55
- !propsToIgnore.includes(prop)) {
56
- const dec = getValidationDecorators(model, prop);
57
- if (dec)
58
- decoratedProperties.push(dec);
59
- }
60
- }
61
- return decoratedProperties;
62
- }
15
+ const decoration_1 = require("@decaf-ts/decoration");
63
16
  /**
64
17
  * Safely sets temporary metadata on an object
65
18
  */
@@ -121,22 +74,21 @@ function validateChildValue(prop, childValue, parentModel, allowedTypes, async,
121
74
  }));
122
75
  }
123
76
  function validateDecorator(model, value, decorator, async) {
77
+ // throw new Error("validateDecorator is not implemented");
124
78
  const validator = Validation_1.Validation.get(decorator.key);
125
79
  if (!validator) {
126
80
  throw new Error(`Missing validator for ${decorator.key}`);
127
81
  }
128
82
  // skip async decorators if validateDecorators is called synchronously (async = false)
129
- if (!async && decorator.props.async)
83
+ if (!async && decorator.async)
130
84
  return undefined;
131
- const decoratorProps = decorator.key === constants_1.ModelKeys.TYPE
132
- ? [decorator.props]
133
- : decorator.props || {};
85
+ const decoratorProps = decorator.key === constants_1.ModelKeys.TYPE ? [decorator] : decorator || {};
134
86
  const context = PathProxy_1.PathProxyEngine.create(model, {
135
87
  ignoreUndefined: true,
136
88
  ignoreNull: true,
137
89
  });
138
90
  const validatorOptions = decorator.key === constants_1.ModelKeys.TYPE
139
- ? { type: decoratorProps[0].name }
91
+ ? decoratorProps[0]
140
92
  : decoratorProps;
141
93
  const maybeAsyncErrors = validator.hasErrors(value, validatorOptions, context);
142
94
  return (0, utils_1.toConditionalPromise)(maybeAsyncErrors, async);
@@ -159,7 +111,7 @@ function validateDecorator(model, value, decorator, async) {
159
111
  * @param {M} model - The model instance that the validation is associated with.
160
112
  * @param {string} prop - The model field name
161
113
  * @param {any} value - The value to be validated against the provided decorators.
162
- * @param {DecoratorMetadataAsync[]} decorators - An array of metadata objects representing validation decorators.
114
+ * @param {DecoratorMetadataAsync} decorators - An object of metadata representing validation decorators.
163
115
  * @param {Async} [async] - Optional flag indicating whether validation should be performed asynchronously.
164
116
  *
165
117
  * @return {ConditionalAsync<Async, Record<string, string>> | undefined}
@@ -170,9 +122,10 @@ function validateDecorator(model, value, decorator, async) {
170
122
  */
171
123
  function validateDecorators(model, prop, value, decorators, async, ...propsToIgnore) {
172
124
  const result = {};
173
- for (const decorator of decorators) {
125
+ for (const decoratorKey in decorators) {
126
+ const decorator = { ...decorators[decoratorKey], key: decoratorKey };
174
127
  // skip async decorators if validateDecorators is called synchronously (async = false)
175
- if (!async && decorator.props.async)
128
+ if (!async && decorator.async)
176
129
  continue;
177
130
  let validationErrors = validateDecorator(model, value, decorator, async);
178
131
  /*
@@ -180,12 +133,12 @@ function validateDecorators(model, prop, value, decorators, async, ...propsToIgn
180
133
  When 'async' is true, the 'err' will always be a pending promise initially,
181
134
  so the '!err' check will evaluate to false (even if the promise later resolves with no errors)
182
135
  */
183
- if (decorator.key === constants_2.ValidationKeys.LIST && (!validationErrors || async)) {
136
+ if (decoratorKey === constants_2.ValidationKeys.LIST && (!validationErrors || async)) {
184
137
  const values = value instanceof Set ? [...value] : value;
185
138
  if (values && values.length > 0) {
186
- let types = (decorator.props.class ||
187
- decorator.props.clazz ||
188
- decorator.props.customTypes);
139
+ let types = (decorator.class ||
140
+ decorator.clazz ||
141
+ decorator.customTypes);
189
142
  types = (Array.isArray(types) ? types : [types]).map((e) => {
190
143
  e = typeof e === "function" && !e.name ? e() : e;
191
144
  return e.name ? e.name : e;
@@ -214,7 +167,7 @@ function validateDecorators(model, prop, value, decorators, async, ...propsToIgn
214
167
  }
215
168
  }
216
169
  }
217
- const name = decorator.key === constants_1.ModelKeys.TYPE ? constants_2.ValidationKeys.TYPE : decorator.key;
170
+ const name = decoratorKey === constants_1.ModelKeys.TYPE ? constants_2.ValidationKeys.TYPE : decoratorKey;
218
171
  if (validationErrors)
219
172
  result[name] = validationErrors;
220
173
  }
@@ -287,42 +240,21 @@ function validateDecorators(model, prop, value, decorators, async, ...propsToIgn
287
240
  * validate-->>Caller: return ModelErrorDefinition | undefined
288
241
  */
289
242
  function validate(model, async, ...propsToIgnore) {
290
- const decoratedProperties = getValidatableProperties(model, propsToIgnore);
243
+ // throw new Error("validate is not implemented");
244
+ const decoratedProperties = decoration_1.Metadata.validatableProperties(model.constructor, ...propsToIgnore);
291
245
  const result = {};
292
246
  const nestedErrors = {};
293
- for (const { prop, decorators } of decoratedProperties) {
247
+ for (const prop of decoratedProperties) {
294
248
  const propKey = String(prop);
295
- let propValue = model[prop];
296
- if (!decorators?.length)
249
+ const propValue = model[prop];
250
+ const decorators = decoration_1.Metadata.validationFor(model.constructor, prop) || {};
251
+ const { designTypes, designType } = decoration_1.Metadata.getPropDesignTypes(model.constructor, prop);
252
+ if (!designTypes)
297
253
  continue;
298
- // Get the default type validator
299
- const priority = [constants_2.ValidationKeys.TYPE, constants_1.ModelKeys.TYPE];
300
- const designTypeDec = priority
301
- .map((key) => decorators.find((d) => d.key === key))
302
- .find(Boolean);
303
- // Ensures that only one type decorator remains.
304
- if (designTypeDec?.key === constants_2.ValidationKeys.TYPE) {
305
- decorators.splice(0, decorators.length, ...decorators.filter((d) => d.key !== constants_1.ModelKeys.TYPE));
306
- }
307
- if (!designTypeDec)
308
- continue;
309
- const designType = designTypeDec.props.class ||
310
- designTypeDec.props.clazz ||
311
- designTypeDec.props.customTypes ||
312
- designTypeDec.props.name;
313
- // TS emits "Object" as design:type for unions (string | number) and intersections (A & B).
314
- // Since this metadata is ambiguous for validation, skip design:type checks in these cases.
315
- // To enforce design:type validation explicitly, the @type validator can be used.
316
- if (designTypeDec.key === constants_1.ModelKeys.TYPE && designType === "Object")
317
- decorators.shift();
318
- const designTypes = (Array.isArray(designType) ? designType : [designType]).map((e) => {
319
- e = typeof e === "function" && !e.name ? e() : e;
320
- return e.name ? e.name : e;
321
- });
322
254
  // Handle array or Set types and enforce the presence of @list decorator
323
- // if ([Array.name, Set.name].includes(designType)) {}
324
- if (designTypes.some((t) => [Array.name, Set.name].includes(t))) {
325
- if (!decorators.some((d) => d.key === constants_2.ValidationKeys.LIST)) {
255
+ if (designTypes.some((t) => [Array.name, Set.name].includes(t.name))) {
256
+ if (!decorators ||
257
+ !Object.keys(decorators).includes(constants_2.ValidationKeys.LIST)) {
326
258
  result[propKey] = {
327
259
  [constants_2.ValidationKeys.TYPE]: `Array or Set property '${propKey}' requires a @list decorator`,
328
260
  };
@@ -335,13 +267,6 @@ function validate(model, async, ...propsToIgnore) {
335
267
  };
336
268
  continue;
337
269
  }
338
- // Remove design:type decorator, since @list decorator already ensures type
339
- for (let i = decorators.length - 1; i >= 0; i--) {
340
- if (decorators[i].key === constants_1.ModelKeys.TYPE) {
341
- decorators.splice(i, 1);
342
- }
343
- }
344
- propValue = propValue instanceof Set ? [...propValue] : propValue;
345
270
  }
346
271
  const propErrors = validateDecorators(model, propKey, propValue, decorators, async, ...propsToIgnore) || {};
347
272
  // Check for nested properties.
@@ -349,16 +274,13 @@ function validate(model, async, ...propsToIgnore) {
349
274
  // let nestedErrors: Record<string, any> = {};
350
275
  const isConstr = Model_1.Model.isPropertyModel(model, propKey);
351
276
  const hasPropValue = propValue !== null && propValue !== undefined;
352
- if (isConstr && hasPropValue) {
277
+ const isModelInstance = hasPropValue && Model_1.Model.isModel(propValue);
278
+ if (isConstr && hasPropValue && isModelInstance) {
353
279
  const instance = propValue;
354
- const isInvalidModel = typeof instance !== "object" ||
355
- typeof instance.hasErrors !== "function";
356
- if (isInvalidModel) {
357
- // propErrors[ValidationKeys.TYPE] = "Model should be validatable but it's not.";
358
- console.warn("Model should be validatable but it's not.");
359
- }
360
- else {
361
- const Constr = (Array.isArray(designType) ? designType : [designType])
280
+ // If property comes from a relation and has populate flag set to false, this will have the value of the id of that relation, instead of a model.
281
+ // We need to capture that and excempt it from throwing an error
282
+ if (Model_1.Model["shouldValidateNestedHandler"](model, propKey)) {
283
+ const Constr = (Array.isArray(designType) ? designTypes : [designType])
362
284
  .map((d) => {
363
285
  if (typeof d === "function" && !d.name)
364
286
  d = d();
@@ -1,41 +1,8 @@
1
1
  import { ModelErrorDefinition } from "./ModelErrorDefinition";
2
2
  import { Model } from "./Model";
3
- import { ValidationPropertyDecoratorDefinition } from "../validation";
4
- import { ConditionalAsync, DecoratorMetadataAsync } from "../types";
5
- /**
6
- * Retrieves the validation metadata decorators associated with a specific property of a model,
7
- * using the reflective metadata key.
8
- *
9
- * @param model - The model instance or class containing the decorated property.
10
- * @param {string} prop - The name of the property whose decorators should be retrieved.
11
- * @param {string} reflectKey - The metadata key used to retrieve the decorators.
12
- * Defaults to `ValidationKeys.REFLECT`.
13
- *
14
- * @returns The validation decorators applied to the property
15
- */
16
- export declare function getValidationDecorators(model: Record<string, any>, prop: string, reflectKey?: string): ValidationPropertyDecoratorDefinition;
17
- /**
18
- * @description
19
- * Retrieves all validatable property decorators from a given model, excluding specified properties.
20
- *
21
- * @summary
22
- * Iterates through the own enumerable properties of a model instance, filtering out any properties
23
- * listed in the `propsToIgnore` array. For each remaining property, it checks whether validation
24
- * decorators are present using `getValidationDecorators`, and if so, collects them in the result array.
25
- *
26
- * @template M - A generic parameter extending the `Model` class, representing the model type being inspected.
27
- *
28
- * @param {M} model - An instance of a class extending `Model` from which validatable properties will be extracted.
29
- * @param {string[]} propsToIgnore - An array of property names that should be excluded from validation inspection.
30
- *
31
- * @return {ValidationPropertyDecoratorDefinition[]} An array of validation decorator definitions
32
- * associated with the model's properties, excluding those listed in `propsToIgnore`.
33
- *
34
- * @function getValidatableProperties
35
- */
36
- export declare function getValidatableProperties<M extends Model>(model: M, propsToIgnore: string[]): ValidationPropertyDecoratorDefinition[];
3
+ import { ConditionalAsync } from "../types";
37
4
  export declare function validateChildValue<M extends Model>(prop: string, childValue: any, parentModel: M, allowedTypes: string[], async: boolean, ...propsToIgnore: string[]): string | undefined | ModelErrorDefinition | Promise<string | undefined | ModelErrorDefinition>;
38
- export declare function validateDecorator<M extends Model, Async extends boolean = false>(model: M, value: any, decorator: DecoratorMetadataAsync, async?: Async): ConditionalAsync<Async, string | undefined>;
5
+ export declare function validateDecorator<M extends Model, Async extends boolean = false>(model: M, value: any, decorator: any, async?: Async): ConditionalAsync<Async, string | undefined>;
39
6
  /**
40
7
  * @description
41
8
  * Executes validation logic for a set of decorators applied to a model's property, handling both
@@ -54,7 +21,7 @@ export declare function validateDecorator<M extends Model, Async extends boolean
54
21
  * @param {M} model - The model instance that the validation is associated with.
55
22
  * @param {string} prop - The model field name
56
23
  * @param {any} value - The value to be validated against the provided decorators.
57
- * @param {DecoratorMetadataAsync[]} decorators - An array of metadata objects representing validation decorators.
24
+ * @param {DecoratorMetadataAsync} decorators - An object of metadata representing validation decorators.
58
25
  * @param {Async} [async] - Optional flag indicating whether validation should be performed asynchronously.
59
26
  *
60
27
  * @return {ConditionalAsync<Async, Record<string, string>> | undefined}
@@ -63,7 +30,7 @@ export declare function validateDecorator<M extends Model, Async extends boolean
63
30
  *
64
31
  * @function validateDecorators
65
32
  */
66
- export declare function validateDecorators<M extends Model, Async extends boolean = false>(model: M, prop: string, value: any, decorators: DecoratorMetadataAsync[], async?: Async, ...propsToIgnore: string[]): ConditionalAsync<Async, Record<string, string> | undefined>;
33
+ export declare function validateDecorators<M extends Model, Async extends boolean = false>(model: M, prop: string, value: any, decorators: any, async?: Async, ...propsToIgnore: string[]): ConditionalAsync<Async, Record<string, string> | undefined>;
67
34
  /**
68
35
  * @function validate
69
36
  * @template M
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/model/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/model/validation.ts"],"names":[],"mappings":";;AA+DA,gDAkDC;AAED,8CAgCC;AA6BD,gDAmFC;AAqDD,4BA2KC;AAneD,qEAA8D;AAC9D,wDAA+C;AAC/C,uCAAgC;AAChC,+DAAsD;AACtD,wEAAoE;AAMpE,wDAAqD;AACrD,wDAAqE;AAErE,uCAA+C;AAC/C,qDAA6D;AAE7D;;GAEG;AACH,SAAS,mBAAmB,CAC1B,MAAW,EACX,GAAoB,EACpB,KAAc;IAEd,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,MAAW,EAAE,GAAoB;IAChE,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,yBAAyB,CAIhC,WAAc,EACd,WAAe,EACf,OAAe,EACf,GAAG,aAAuB;IAE1B,0CAA0C;IAC1C,IAAI,WAAW,EAAE,CAAC;QAChB,mBAAmB,CAAC,WAAW,EAAE,iCAAqB,EAAE,WAAW,CAAC,CAAC;IACvE,CAAC;IACD,mBAAmB,CAAC,WAAW,EAAE,0BAAc,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAE5D,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,aAAa,CAAQ,CAAC;IAC5D,uBAAuB,CAAC,WAAW,EAAE,iCAAqB,CAAC,CAAC;IAC5D,uBAAuB,CAAC,WAAW,EAAE,0BAAc,CAAC,CAAC;IACrD,OAAO,IAAW,CAAC;AACrB,CAAC;AAED,SAAgB,kBAAkB,CAChC,IAAY,EACZ,UAAe,EACf,WAAc,EACd,YAAsB,EACtB,KAAc,EACd,GAAG,aAAuB;IAM1B,IAAI,GAAG,GAIkD,SAAS,CAAC;IACnE,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,aAAK,CAAC,GAAG,CAAC,WAAW,CAAQ,CAAC;QAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,GAAG,GAAG,IAAI,2CAAoB,CAAC;gBAC7B,CAAC,IAAI,CAAC,EAAE;oBACN,CAAC,0BAAc,CAAC,IAAI,CAAC,EAAE,iEAAiE,WAAW,EAAE;iBACtG;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,UAAU,YAAY,MAAM,EAAE,CAAC;YACjC,iBAAiB,GAAG,IAAI,CAAC;YACzB,GAAG,GAAG,yBAAyB,CAC7B,UAAU,EACV,WAAW,EACX,KAAK,EACL,GAAG,aAAa,CACjB,CAAC;YACF,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,iBAAiB;QAAE,OAAO,GAAG,CAAC;IAElC,OAAO,CACL,GAAG;QACH,IAAI,2CAAoB,CAAC;YACvB,CAAC,IAAI,CAAC,EAAE;gBACN,CAAC,0BAAc,CAAC,IAAI,CAAC,EAAE,2DAA2D,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aAC5G;SACF,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAgB,iBAAiB,CAI/B,KAAQ,EACR,KAAU,EACV,SAAc,EACd,KAAa;IAEb,2DAA2D;IAC3D,MAAM,SAAS,GAAG,uBAAU,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,sFAAsF;IACtF,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK;QAAE,OAAO,SAAgB,CAAC;IACvD,MAAM,cAAc,GAClB,SAAS,CAAC,GAAG,KAAK,qBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;IACnE,MAAM,OAAO,GAAG,2BAAe,CAAC,MAAM,CAAC,KAAK,EAAE;QAC5C,eAAe,EAAE,IAAI;QACrB,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IACH,MAAM,gBAAgB,GACpB,SAAS,CAAC,GAAG,KAAK,qBAAS,CAAC,IAAI;QAC9B,CAAC,CAAG,cAAsB,CAAC,CAAC,CAA0B;QACtD,CAAC,CAAE,cAAmC,CAAC;IAC3C,MAAM,gBAAgB,GAAG,SAAS,CAAC,SAAS,CAC1C,KAAK,EACL,gBAAgB,EAChB,OAAO,CACR,CAAC;IACF,OAAO,IAAA,4BAAoB,EAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,kBAAkB,CAIhC,KAAQ,EACR,IAAY,EACZ,KAAU,EACV,UAAe,EACf,KAAa,EACb,GAAG,aAAuB;IAE1B,MAAM,MAAM,GAA6C,EAAE,CAAC;IAC5D,KAAK,MAAM,YAAY,IAAI,UAAU,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;QACrE,sFAAsF;QACtF,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK;YAAE,SAAS;QACxC,IAAI,gBAAgB,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAEzE;;;;UAIE;QACF,IAAI,YAAY,KAAK,0BAAc,CAAC,IAAI,IAAI,CAAC,CAAC,gBAAgB,IAAI,KAAK,CAAC,EAAE,CAAC;YACzE,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACzD,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,IAAI,KAAK,GAAa,CAAC,SAAS,CAAC,KAAK;oBACpC,SAAS,CAAC,KAAK;oBACf,SAAS,CAAC,WAAW,CAAa,CAAC;gBACrC,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;oBAC9D,CAAC,GAAG,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjD,OAAQ,CAAS,CAAC,IAAI,CAAC,CAAC,CAAE,CAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/C,CAAC,CAAa,CAAC;gBACf,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gBACxE,0FAA0F;gBAC1F,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,UAAe,EAAE,EAAE;oBAC1C,kDAAkD;oBAClD,IAAI,aAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC9B,OAAO,kBAAkB,CACvB,IAAI,EACJ,UAAU,EACV,KAAK,EACL,KAAK,CAAC,IAAI,EAAE,EACZ,CAAC,CAAC,KAAK,EACP,GAAG,aAAa,CACjB,CAAC;wBACF,8DAA8D;oBAChE,CAAC;oBACD,OAAO,YAAY,CAAC,QAAQ,CAAC,OAAO,UAAU,CAAC;wBAC7C,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,+BAA+B,CAAC;gBACtC,CAAC,CAAC,CAAC;gBACH,IAAI,KAAK,EAAE,CAAC;oBACV,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;wBACzC,OAAO,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;oBACvC,CAAC,CAAQ,CAAC;gBACZ,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3D,gBAAgB,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;gBACrE,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GACR,YAAY,KAAK,qBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,0BAAc,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;QACvE,IAAI,gBAAgB;YAAG,MAAc,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,KAAK;QACR,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;YACnC,CAAC,CAAE,MAAc;YACjB,CAAC,CAAE,SAAiB,CAAC;IACzB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAkC,CAAC;IACxE,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE;QACnD,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACrB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC,CAAQ,CAAC;AACZ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,SAAgB,QAAQ,CAItB,KAAQ,EACR,KAAY,EACZ,GAAG,aAAuB;IAE1B,kDAAkD;IAElD,MAAM,mBAAmB,GAAG,qBAAQ,CAAC,qBAAqB,CACxD,KAAK,CAAC,WAAkB,EACxB,GAAG,aAAa,CACjB,CAAC;IAEF,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,MAAM,YAAY,GAAwB,EAAE,CAAC;IAE7C,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,SAAS,GAAI,KAAa,CAAC,IAAI,CAAC,CAAC;QAEvC,MAAM,UAAU,GACd,qBAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,WAA0B,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAEvE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,qBAAQ,CAAC,kBAAkB,CAC7D,KAAK,CAAC,WAAkB,EACxB,IAAI,CACL,CAAC;QACF,IAAI,CAAC,WAAW;YAAE,SAAS;QAE3B,wEAAwE;QACxE,IACE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAmB,EAAE,EAAE,CACvC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CACxC,EACD,CAAC;YACD,IACE,CAAC,UAAU;gBACX,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,0BAAc,CAAC,IAAI,CAAC,EACtD,CAAC;gBACD,MAAM,CAAC,OAAO,CAAC,GAAG;oBAChB,CAAC,0BAAc,CAAC,IAAI,CAAC,EAAE,0BAA0B,OAAO,8BAA8B;iBACvF,CAAC;gBACF,SAAS;YACX,CAAC;YAED,IACE,SAAS;gBACT,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,YAAY,GAAG,CAAC,EACvD,CAAC;gBACD,MAAM,CAAC,OAAO,CAAC,GAAG;oBAChB,CAAC,0BAAc,CAAC,IAAI,CAAC,EAAE,aAAa,MAAM,CAAC,IAAI,CAAC,oCAAoC;iBACrF,CAAC;gBACF,SAAS;YACX,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GACd,kBAAkB,CAChB,KAAK,EACL,OAAO,EACP,SAAS,EACT,UAAU,EACV,KAAK,EACL,GAAG,aAAa,CACjB,IAAI,EAAE,CAAC;QAEV,+BAA+B;QAC/B,iFAAiF;QACjF,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,aAAK,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,CAAC;QACnE,MAAM,eAAe,GACnB,YAAY,IAAI,aAAK,CAAC,OAAO,CAAC,SAAgC,CAAC,CAAC;QAClE,IAAI,QAAQ,IAAI,YAAY,IAAI,eAAe,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,SAAkB,CAAC;YACpC,iJAAiJ;YACjJ,gEAAgE;YAEhE,IAAI,aAAK,CAAC,6BAA6B,CAAC,CAAC,KAAK,EAAE,OAAkB,CAAC,EAAE,CAAC;gBACpE,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;qBACpE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;oBACd,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,CAAC,IAAI;wBAAE,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChD,OAAO,aAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBAChC,CAAC,CAAC;qBACD,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAQ,CAAC;gBAEhC,kDAAkD;gBAClD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,YAAY,MAAM,CAAC,EAAE,CAAC;oBAC7C,UAAU,CAAC,0BAAc,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM;wBACvC,CAAC,CAAC,iEAAiE,WAAW,CAAC,QAAQ,EAAE,YAAY,OAAO,EAAE;wBAC9G,CAAC,CAAC,gCAAgC,MAAM,CAAC,IAAI,EAAE,CAAC;oBAClD,OAAO,UAAU,CAAC,qBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,8BAA8B;gBACnE,CAAC;qBAAM,CAAC;oBACN,YAAY,CAAC,OAAO,CAAC,GAAG,yBAAyB,CAC/C,QAAQ,EACR,KAAK,EACL,KAAK,EACL,GAAG,aAAa,CACjB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,+EAA+E;QAC/E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK;YAC7C,MAAM,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC;QAE/B,+BAA+B;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACnE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,MAAM,CAAC,GAAG,OAAO,IAAI,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;gBACtC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CACL,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;YAC5B,CAAC,CAAC,IAAI,2CAAoB,CAAC,MAAM,CAAC;YAClC,CAAC,CAAC,SAAS,CACP,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAQ,MAAM,CAAC,CAAC,wBAAwB;IAEpD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACzD,MAAM,MAAM,GAAgB,EAAE,CAAC;QAE/B,KAAK,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1E,MAAM,mBAAmB,GAAG,CAAC,MAAM,gBAAgB,CAGlD,CAAC;YAEF,IAAI,mBAAmB;gBACrB,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,OAAO,CACzC,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAAE,EAAE;oBACnC,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;wBACrC,MAAM,SAAS,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACrD,MAAM,CAAC,SAAS,CAAC,GAAG,kBAAkB,CAAC;oBACzC,CAAC;gBACH,CAAC,CACF,CAAC;QACN,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvB,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzD,MAAc,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;YACnC,CAAC;iBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACpC,MAAc,CAAC,GAAG,CAAC;oBAClB,GAAG,CAAC,MAAM,YAAY,KAAK;wBACzB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO;wBACpB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,mBAAmB,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;YACnC,CAAC,CAAC,IAAI,2CAAoB,CAAC,MAAM,CAAC;YAClC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC,CAAQ,CAAC;AACZ,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Metadata.js.map