@elsikora/nestjs-crud-automator 1.8.0-dev.2 → 1.9.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1015) hide show
  1. package/README.md +253 -290
  2. package/dist/cjs/class/api/index.d.ts +1 -1
  3. package/dist/cjs/class/api/service-base.class.d.ts +2 -3
  4. package/dist/cjs/class/api/service-base.class.js.map +1 -1
  5. package/dist/cjs/class/index.d.ts +4 -3
  6. package/dist/cjs/class/metadata-storage.class.d.ts +2 -2
  7. package/dist/cjs/class/metadata-storage.class.js +1 -0
  8. package/dist/cjs/class/metadata-storage.class.js.map +1 -1
  9. package/dist/cjs/class/utility/dto/property/factory/boolean.class.d.ts +4 -3
  10. package/dist/cjs/class/utility/dto/property/factory/boolean.class.js.map +1 -1
  11. package/dist/cjs/class/utility/dto/property/factory/date.class.d.ts +4 -3
  12. package/dist/cjs/class/utility/dto/property/factory/date.class.js.map +1 -1
  13. package/dist/cjs/class/utility/dto/property/factory/enum.class.d.ts +4 -3
  14. package/dist/cjs/class/utility/dto/property/factory/enum.class.js.map +1 -1
  15. package/dist/cjs/class/utility/dto/property/factory/index.d.ts +8 -6
  16. package/dist/cjs/class/utility/dto/property/factory/number.class.d.ts +5 -4
  17. package/dist/cjs/class/utility/dto/property/factory/number.class.js +1 -3
  18. package/dist/cjs/class/utility/dto/property/factory/number.class.js.map +1 -1
  19. package/dist/cjs/class/utility/dto/property/factory/object.class.d.ts +6 -4
  20. package/dist/cjs/class/utility/dto/property/factory/object.class.js +2 -1
  21. package/dist/cjs/class/utility/dto/property/factory/object.class.js.map +1 -1
  22. package/dist/cjs/class/utility/dto/property/factory/relation.class.d.ts +5 -4
  23. package/dist/cjs/class/utility/dto/property/factory/relation.class.js +0 -3
  24. package/dist/cjs/class/utility/dto/property/factory/relation.class.js.map +1 -1
  25. package/dist/cjs/class/utility/dto/property/factory/string.class.d.ts +4 -3
  26. package/dist/cjs/class/utility/dto/property/factory/string.class.js.map +1 -1
  27. package/dist/cjs/class/utility/dto/property/factory/uuid.class.d.ts +4 -3
  28. package/dist/cjs/class/utility/dto/property/factory/uuid.class.js.map +1 -1
  29. package/dist/cjs/class/utility/dto/strategy/body.class.d.ts +3 -3
  30. package/dist/cjs/class/utility/dto/strategy/body.class.js +1 -4
  31. package/dist/cjs/class/utility/dto/strategy/body.class.js.map +1 -1
  32. package/dist/cjs/class/utility/dto/strategy/index.d.ts +4 -4
  33. package/dist/cjs/class/utility/dto/strategy/query.class.d.ts +3 -3
  34. package/dist/cjs/class/utility/dto/strategy/query.class.js +0 -3
  35. package/dist/cjs/class/utility/dto/strategy/query.class.js.map +1 -1
  36. package/dist/cjs/class/utility/dto/strategy/request.class.d.ts +3 -3
  37. package/dist/cjs/class/utility/dto/strategy/request.class.js +0 -3
  38. package/dist/cjs/class/utility/dto/strategy/request.class.js.map +1 -1
  39. package/dist/cjs/class/utility/dto/strategy/response.class.d.ts +3 -3
  40. package/dist/cjs/class/utility/dto/strategy/response.class.js +0 -3
  41. package/dist/cjs/class/utility/dto/strategy/response.class.js.map +1 -1
  42. package/dist/cjs/constant/decorator/api/function.constant.d.ts +1 -1
  43. package/dist/cjs/constant/decorator/api/function.constant.js +0 -15
  44. package/dist/cjs/constant/decorator/api/function.constant.js.map +1 -1
  45. package/dist/cjs/constant/decorator/api/index.d.ts +3 -3
  46. package/dist/cjs/constant/dto/index.d.ts +3 -3
  47. package/dist/cjs/constant/dto/list.constant.d.ts +1 -2
  48. package/dist/cjs/constant/dto/list.constant.js +1 -3
  49. package/dist/cjs/constant/dto/list.constant.js.map +1 -1
  50. package/dist/cjs/constant/factory/dto/get-list-query.constant.d.ts +1 -0
  51. package/dist/cjs/constant/factory/dto/get-list-query.constant.js +2 -0
  52. package/dist/cjs/constant/factory/dto/get-list-query.constant.js.map +1 -1
  53. package/dist/cjs/constant/factory/dto/index.d.ts +1 -1
  54. package/dist/cjs/constant/index.d.ts +8 -6
  55. package/dist/cjs/constant/interface/api/index.d.ts +2 -2
  56. package/dist/cjs/constant/interface/api/property/index.d.ts +2 -2
  57. package/dist/cjs/constant/utility/dto/constant.d.ts +3 -2
  58. package/dist/cjs/constant/utility/dto/constant.js +6 -10
  59. package/dist/cjs/constant/utility/dto/constant.js.map +1 -1
  60. package/dist/cjs/constant/utility/dto/index.d.ts +2 -0
  61. package/dist/cjs/constant/validator/has-paired-custom-suffixes-fields.constant.d.ts +5 -0
  62. package/dist/cjs/constant/validator/has-paired-custom-suffixes-fields.constant.js +89 -0
  63. package/dist/cjs/constant/validator/has-paired-custom-suffixes-fields.constant.js.map +1 -0
  64. package/dist/cjs/constant/validator/index.d.ts +1 -0
  65. package/dist/cjs/decorator/api/controller.decorator.d.ts +3 -2
  66. package/dist/cjs/decorator/api/controller.decorator.js.map +1 -1
  67. package/dist/cjs/decorator/api/function/create.decorator.d.ts +7 -1
  68. package/dist/cjs/decorator/api/function/create.decorator.js +12 -16
  69. package/dist/cjs/decorator/api/function/create.decorator.js.map +1 -1
  70. package/dist/cjs/decorator/api/function/decorator.d.ts +10 -3
  71. package/dist/cjs/decorator/api/function/decorator.js +7 -3
  72. package/dist/cjs/decorator/api/function/decorator.js.map +1 -1
  73. package/dist/cjs/decorator/api/function/delete.decorator.d.ts +7 -1
  74. package/dist/cjs/decorator/api/function/delete.decorator.js +12 -16
  75. package/dist/cjs/decorator/api/function/delete.decorator.js.map +1 -1
  76. package/dist/cjs/decorator/api/function/get-list.decorator.d.ts +8 -2
  77. package/dist/cjs/decorator/api/function/get-list.decorator.js +12 -16
  78. package/dist/cjs/decorator/api/function/get-list.decorator.js.map +1 -1
  79. package/dist/cjs/decorator/api/function/get-many.decorator.d.ts +7 -1
  80. package/dist/cjs/decorator/api/function/get-many.decorator.js +13 -16
  81. package/dist/cjs/decorator/api/function/get-many.decorator.js.map +1 -1
  82. package/dist/cjs/decorator/api/function/get.decorator.d.ts +7 -1
  83. package/dist/cjs/decorator/api/function/get.decorator.js +13 -16
  84. package/dist/cjs/decorator/api/function/get.decorator.js.map +1 -1
  85. package/dist/cjs/decorator/api/function/index.d.ts +7 -7
  86. package/dist/cjs/decorator/api/function/update.decorator.d.ts +7 -1
  87. package/dist/cjs/decorator/api/function/update.decorator.js +12 -16
  88. package/dist/cjs/decorator/api/function/update.decorator.js.map +1 -1
  89. package/dist/cjs/decorator/api/index.d.ts +5 -5
  90. package/dist/cjs/decorator/api/method.decorator.d.ts +8 -1
  91. package/dist/cjs/decorator/api/method.decorator.js +9 -6
  92. package/dist/cjs/decorator/api/method.decorator.js.map +1 -1
  93. package/dist/cjs/decorator/api/property/boolean.decorator.d.ts +52 -1
  94. package/dist/cjs/decorator/api/property/boolean.decorator.js +99 -7
  95. package/dist/cjs/decorator/api/property/boolean.decorator.js.map +1 -1
  96. package/dist/cjs/decorator/api/property/copy.decorator.d.ts +16 -0
  97. package/dist/cjs/decorator/api/property/copy.decorator.js +49 -0
  98. package/dist/cjs/decorator/api/property/copy.decorator.js.map +1 -0
  99. package/dist/cjs/decorator/api/property/date.decorator.d.ts +56 -1
  100. package/dist/cjs/decorator/api/property/date.decorator.js +132 -7
  101. package/dist/cjs/decorator/api/property/date.decorator.js.map +1 -1
  102. package/dist/cjs/decorator/api/property/describe.decorator.d.ts +82 -1
  103. package/dist/cjs/decorator/api/property/describe.decorator.js +81 -16
  104. package/dist/cjs/decorator/api/property/describe.decorator.js.map +1 -1
  105. package/dist/cjs/decorator/api/property/enum.decorator.d.ts +75 -1
  106. package/dist/cjs/decorator/api/property/enum.decorator.js +112 -0
  107. package/dist/cjs/decorator/api/property/enum.decorator.js.map +1 -1
  108. package/dist/cjs/decorator/api/property/index.d.ts +9 -7
  109. package/dist/cjs/decorator/api/property/number.decorator.d.ts +67 -1
  110. package/dist/cjs/decorator/api/property/number.decorator.js +152 -12
  111. package/dist/cjs/decorator/api/property/number.decorator.js.map +1 -1
  112. package/dist/cjs/decorator/api/property/object.decorator.d.ts +27 -1
  113. package/dist/cjs/decorator/api/property/object.decorator.js +145 -3
  114. package/dist/cjs/decorator/api/property/object.decorator.js.map +1 -1
  115. package/dist/cjs/decorator/api/property/string.decorator.d.ts +68 -1
  116. package/dist/cjs/decorator/api/property/string.decorator.js +131 -14
  117. package/dist/cjs/decorator/api/property/string.decorator.js.map +1 -1
  118. package/dist/cjs/decorator/api/property/uuid.decorator.d.ts +42 -1
  119. package/dist/cjs/decorator/api/property/uuid.decorator.js +92 -7
  120. package/dist/cjs/decorator/api/property/uuid.decorator.js.map +1 -1
  121. package/dist/cjs/decorator/api/service.decorator.d.ts +8 -2
  122. package/dist/cjs/decorator/api/service.decorator.js +10 -6
  123. package/dist/cjs/decorator/api/service.decorator.js.map +1 -1
  124. package/dist/cjs/enum/decorator/api/controller/index.d.ts +2 -2
  125. package/dist/cjs/enum/decorator/api/function/index.d.ts +1 -1
  126. package/dist/cjs/enum/decorator/api/index.d.ts +7 -7
  127. package/dist/cjs/enum/decorator/api/property/date/index.d.ts +2 -2
  128. package/dist/cjs/enum/decorator/api/property/index.d.ts +5 -5
  129. package/dist/cjs/enum/index.d.ts +6 -4
  130. package/dist/cjs/enum/utility/index.d.ts +1 -1
  131. package/dist/cjs/enum/validator/has-paired-custom-suffixes-fields-argument-type.enum.d.ts +5 -0
  132. package/dist/cjs/enum/validator/has-paired-custom-suffixes-fields-argument-type.enum.js +9 -0
  133. package/dist/cjs/enum/validator/has-paired-custom-suffixes-fields-argument-type.enum.js.map +1 -0
  134. package/dist/cjs/enum/validator/index.d.ts +2 -0
  135. package/dist/cjs/enum/validator/must-match-one-of-schemas-error-type.enum.d.ts +6 -0
  136. package/dist/cjs/enum/validator/must-match-one-of-schemas-error-type.enum.js +10 -0
  137. package/dist/cjs/enum/validator/must-match-one-of-schemas-error-type.enum.js.map +1 -0
  138. package/dist/cjs/factory/api/controller.factory.d.ts +4 -3
  139. package/dist/cjs/factory/api/controller.factory.js +11 -15
  140. package/dist/cjs/factory/api/controller.factory.js.map +1 -1
  141. package/dist/cjs/factory/api/index.d.ts +1 -1
  142. package/dist/cjs/index.d.ts +10 -10
  143. package/dist/cjs/index.js +132 -0
  144. package/dist/cjs/index.js.map +1 -1
  145. package/dist/cjs/interceptor/index.d.ts +1 -1
  146. package/dist/cjs/interface/api-authentication-request.interface.d.ts +1 -1
  147. package/dist/cjs/interface/api-request-validator.interface.d.ts +3 -2
  148. package/dist/cjs/interface/class/dto/index.d.ts +1 -1
  149. package/dist/cjs/interface/class/dto/strategy.interface.d.ts +2 -2
  150. package/dist/cjs/interface/class/index.d.ts +2 -2
  151. package/dist/cjs/interface/decorator/api/controller/base.interface.d.ts +1 -1
  152. package/dist/cjs/interface/decorator/api/controller/index.d.ts +3 -3
  153. package/dist/cjs/interface/decorator/api/controller/properties/route/authentication.interface.d.ts +1 -1
  154. package/dist/cjs/interface/decorator/api/controller/properties/route/auto-dto-config.interface.d.ts +1 -1
  155. package/dist/cjs/interface/decorator/api/controller/properties/route/base-request.interface.d.ts +3 -3
  156. package/dist/cjs/interface/decorator/api/controller/properties/route/base-response.interface.d.ts +2 -2
  157. package/dist/cjs/interface/decorator/api/controller/properties/route/base.interface.d.ts +2 -4
  158. package/dist/cjs/interface/decorator/api/controller/properties/route/index.d.ts +7 -7
  159. package/dist/cjs/interface/decorator/api/controller/properties/route/with-auto-dto.interface.d.ts +2 -3
  160. package/dist/cjs/interface/decorator/api/controller/properties/route/with-dto.interface.d.ts +2 -2
  161. package/dist/cjs/interface/decorator/api/controller/properties.interface.d.ts +3 -3
  162. package/dist/cjs/interface/decorator/api/function/create-executor-properties.interface.d.ts +2 -2
  163. package/dist/cjs/interface/decorator/api/function/delete-executor-properties.interface.d.ts +2 -2
  164. package/dist/cjs/interface/decorator/api/function/get-executor-properties.interface.d.ts +2 -2
  165. package/dist/cjs/interface/decorator/api/function/get-list-executor-properties.interface.d.ts +2 -2
  166. package/dist/cjs/interface/decorator/api/function/get-many-executor-properties.interface.d.ts +2 -2
  167. package/dist/cjs/interface/decorator/api/function/index.d.ts +7 -7
  168. package/dist/cjs/interface/decorator/api/function/properties.interface.d.ts +1 -1
  169. package/dist/cjs/interface/decorator/api/function/update-executor-properties.interface.d.ts +2 -2
  170. package/dist/cjs/interface/decorator/api/index.d.ts +5 -5
  171. package/dist/cjs/interface/decorator/api/method/index.d.ts +2 -2
  172. package/dist/cjs/interface/decorator/api/method/properties.interface.d.ts +2 -4
  173. package/dist/cjs/interface/dto-generate-factory.interface.d.ts +5 -4
  174. package/dist/cjs/interface/entity/index.d.ts +2 -2
  175. package/dist/cjs/interface/entity/interface.d.ts +2 -2
  176. package/dist/cjs/interface/index.d.ts +10 -8
  177. package/dist/cjs/interface/utility/api/controller/index.d.ts +1 -1
  178. package/dist/cjs/interface/utility/error-string-properties.interface.d.ts +1 -1
  179. package/dist/cjs/interface/utility/get-entity-columns-properties.interface.d.ts +1 -1
  180. package/dist/cjs/interface/utility/index.d.ts +3 -2
  181. package/dist/cjs/interface/validator/index.d.ts +1 -0
  182. package/dist/cjs/interface/validator/must-match-one-of-schemas-discriminator-config.interface.d.ts +6 -0
  183. package/dist/cjs/type/api-request-transformer.type.d.ts +3 -3
  184. package/dist/cjs/type/class/controller/index.d.ts +1 -1
  185. package/dist/cjs/type/class/controller/method.type.d.ts +2 -2
  186. package/dist/cjs/type/class/index.d.ts +3 -3
  187. package/dist/cjs/type/class/metadata.type.d.ts +1 -1
  188. package/dist/cjs/type/decorator/api/controller/constructor.type.d.ts +1 -1
  189. package/dist/cjs/type/decorator/api/controller/get-list-query.type.d.ts +2 -2
  190. package/dist/cjs/type/decorator/api/controller/index.d.ts +5 -5
  191. package/dist/cjs/type/decorator/api/controller/properties/route/base-request-relations.type.d.ts +1 -1
  192. package/dist/cjs/type/decorator/api/controller/properties/route/base-request-transformers.type.d.ts +2 -2
  193. package/dist/cjs/type/decorator/api/controller/properties/route/base-response-transformers.type.d.ts +2 -2
  194. package/dist/cjs/type/decorator/api/controller/properties/route/index.d.ts +3 -3
  195. package/dist/cjs/type/decorator/api/controller/properties-route.type.d.ts +2 -2
  196. package/dist/cjs/type/decorator/api/controller/transformer-config.type.d.ts +2 -2
  197. package/dist/cjs/type/decorator/api/filter/extracted-allowed-types.type.d.ts +1 -1
  198. package/dist/cjs/type/decorator/api/filter/index.d.ts +4 -4
  199. package/dist/cjs/type/decorator/api/filter/order-by.type.d.ts +1 -1
  200. package/dist/cjs/type/decorator/api/function/index.d.ts +9 -9
  201. package/dist/cjs/type/decorator/api/function/properties.type.d.ts +1 -1
  202. package/dist/cjs/type/decorator/api/property/base/array/index.d.ts +2 -2
  203. package/dist/cjs/type/decorator/api/property/base/index.d.ts +4 -4
  204. package/dist/cjs/type/decorator/api/property/base/properties.type.d.ts +2 -4
  205. package/dist/cjs/type/decorator/api/property/date-properties.type.d.ts +2 -2
  206. package/dist/cjs/type/decorator/api/property/describe/array/index.d.ts +2 -2
  207. package/dist/cjs/type/decorator/api/property/describe/base-properties.type.d.ts +1 -1
  208. package/dist/cjs/type/decorator/api/property/describe/boolean-properties.type.d.ts +3 -3
  209. package/dist/cjs/type/decorator/api/property/describe/date-properties.type.d.ts +3 -3
  210. package/dist/cjs/type/decorator/api/property/describe/dto/body-properties.type.d.ts +2 -2
  211. package/dist/cjs/type/decorator/api/property/describe/dto/index.d.ts +6 -5
  212. package/dist/cjs/type/decorator/api/property/describe/dto/properties.type.d.ts +1 -1
  213. package/dist/cjs/type/decorator/api/property/describe/dto/query/index.d.ts +2 -2
  214. package/dist/cjs/type/decorator/api/property/describe/dto/query/properties.type.d.ts +2 -3
  215. package/dist/cjs/type/decorator/api/property/describe/dto/request-properties.type.d.ts +2 -2
  216. package/dist/cjs/type/decorator/api/property/describe/dto/response-properties.type.d.ts +2 -2
  217. package/dist/cjs/type/decorator/api/property/describe/enum-properties.type.d.ts +3 -3
  218. package/dist/cjs/type/decorator/api/property/describe/index.d.ts +14 -13
  219. package/dist/cjs/type/decorator/api/property/describe/number-properties.type.d.ts +4 -4
  220. package/dist/cjs/type/decorator/api/property/describe/object/dynamic-with-discriminator-properties.type.d.ts +15 -0
  221. package/dist/cjs/type/decorator/api/property/describe/object/index.d.ts +4 -0
  222. package/dist/cjs/type/decorator/api/property/describe/object/properties.type.d.ts +4 -0
  223. package/dist/cjs/type/decorator/api/property/describe/object/with-discriminator-properties.type.d.ts +14 -0
  224. package/dist/cjs/type/decorator/api/property/describe/{object-properties.type.d.ts → object/without-discriminator-properties.type.d.ts} +4 -4
  225. package/dist/cjs/type/decorator/api/property/describe/properties/base-dto-properties.type.d.ts +1 -1
  226. package/dist/cjs/type/decorator/api/property/describe/properties/base-properties.type.d.ts +2 -2
  227. package/dist/cjs/type/decorator/api/property/describe/properties/index.d.ts +2 -2
  228. package/dist/cjs/type/decorator/api/property/describe/properties.type.d.ts +8 -8
  229. package/dist/cjs/type/decorator/api/property/describe/relation-properties.type.d.ts +2 -2
  230. package/dist/cjs/type/decorator/api/property/describe/string-properties.type.d.ts +4 -4
  231. package/dist/cjs/type/decorator/api/property/describe/uuid-properties.type.d.ts +3 -3
  232. package/dist/cjs/type/decorator/api/property/enum-properties.type.d.ts +1 -1
  233. package/dist/cjs/type/decorator/api/property/index.d.ts +8 -6
  234. package/dist/cjs/type/decorator/api/property/number-properties.type.d.ts +3 -3
  235. package/dist/cjs/type/decorator/api/property/object/dynamic-with-discriminator-properties.type.d.ts +16 -0
  236. package/dist/cjs/type/decorator/api/property/object/index.d.ts +4 -0
  237. package/dist/cjs/type/decorator/api/property/object/properties.type.d.ts +4 -0
  238. package/dist/cjs/type/decorator/api/property/object/with-discriminator-properties.type.d.ts +15 -0
  239. package/dist/cjs/type/decorator/api/property/{object-properties.type.d.ts → object/without-discriminator-properties.type.d.ts} +4 -2
  240. package/dist/cjs/type/decorator/api/property/string-properties.type.d.ts +2 -2
  241. package/dist/cjs/type/decorator/api/property/uuid-properties.type.d.ts +1 -1
  242. package/dist/cjs/type/decorator/api/service/index.d.ts +2 -2
  243. package/dist/cjs/type/decorator/api/service/keys.type.d.ts +1 -1
  244. package/dist/cjs/type/factory/api/controller/index.d.ts +4 -4
  245. package/dist/cjs/type/factory/api/controller/method-map.type.d.ts +4 -3
  246. package/dist/cjs/type/factory/api/controller/method-name-map.type.d.ts +2 -2
  247. package/dist/cjs/type/factory/api/controller/method-name.type.d.ts +3 -3
  248. package/dist/cjs/type/factory/api/controller/target-methods.type.d.ts +4 -4
  249. package/dist/cjs/type/index.d.ts +10 -5
  250. package/dist/cjs/type/utility/api/controller/transform-data/data.type.d.ts +1 -1
  251. package/dist/cjs/type/utility/api/controller/transform-data/index.d.ts +3 -3
  252. package/dist/cjs/type/utility/api/controller/transform-data/is-validation-properties.type.d.ts +2 -2
  253. package/dist/cjs/type/utility/api/controller/transform-data/object-to-transform.type.d.ts +2 -2
  254. package/dist/cjs/type/utility/date-range-keys.type.d.ts +1 -1
  255. package/dist/cjs/type/utility/dto/generate-allowed-combination.type.d.ts +1 -1
  256. package/dist/cjs/type/utility/dto/generate-is-allowed-combination.type.d.ts +2 -2
  257. package/dist/cjs/type/utility/dto/index.d.ts +2 -2
  258. package/dist/cjs/type/utility/filter-keys.type.d.ts +1 -1
  259. package/dist/cjs/type/utility/index.d.ts +7 -7
  260. package/dist/cjs/type/validator/has-paired-custom-suffixes-fields/index.d.ts +2 -0
  261. package/dist/cjs/type/validator/has-paired-custom-suffixes-fields/operation-config.type.d.ts +7 -0
  262. package/dist/cjs/type/validator/has-paired-custom-suffixes-fields/validation-context.type.d.ts +5 -0
  263. package/dist/cjs/utility/api/controller/apply-decorators.utility.d.ts +18 -3
  264. package/dist/cjs/utility/api/controller/apply-decorators.utility.js +15 -4
  265. package/dist/cjs/utility/api/controller/apply-decorators.utility.js.map +1 -1
  266. package/dist/cjs/utility/api/controller/apply-metadata.utility.d.ts +17 -3
  267. package/dist/cjs/utility/api/controller/apply-metadata.utility.js +21 -12
  268. package/dist/cjs/utility/api/controller/apply-metadata.utility.js.map +1 -1
  269. package/dist/cjs/utility/api/controller/get-list/index.d.ts +2 -2
  270. package/dist/cjs/utility/api/controller/get-list/transform-filter.utility.d.ts +10 -1
  271. package/dist/cjs/utility/api/controller/get-list/transform-filter.utility.js +9 -3
  272. package/dist/cjs/utility/api/controller/get-list/transform-filter.utility.js.map +1 -1
  273. package/dist/cjs/utility/api/controller/get-list/transform-operation.utility.d.ts +8 -1
  274. package/dist/cjs/utility/api/controller/get-list/transform-operation.utility.js +8 -1
  275. package/dist/cjs/utility/api/controller/get-list/transform-operation.utility.js.map +1 -1
  276. package/dist/cjs/utility/api/controller/get-method-name.utility.d.ts +7 -1
  277. package/dist/cjs/utility/api/controller/get-method-name.utility.js +6 -0
  278. package/dist/cjs/utility/api/controller/get-method-name.utility.js.map +1 -1
  279. package/dist/cjs/utility/api/controller/get-primary-column.utility.d.ts +10 -1
  280. package/dist/cjs/utility/api/controller/get-primary-column.utility.js +8 -0
  281. package/dist/cjs/utility/api/controller/get-primary-column.utility.js.map +1 -1
  282. package/dist/cjs/utility/api/controller/handle-request-relations.utility.d.ts +17 -2
  283. package/dist/cjs/utility/api/controller/handle-request-relations.utility.js +15 -5
  284. package/dist/cjs/utility/api/controller/handle-request-relations.utility.js.map +1 -1
  285. package/dist/cjs/utility/api/controller/index.d.ts +10 -9
  286. package/dist/cjs/utility/api/controller/transform-data.utility.d.ts +15 -3
  287. package/dist/cjs/utility/api/controller/transform-data.utility.js +52 -3
  288. package/dist/cjs/utility/api/controller/transform-data.utility.js.map +1 -1
  289. package/dist/cjs/utility/api/controller/validate-request.utility.d.ts +12 -2
  290. package/dist/cjs/utility/api/controller/validate-request.utility.js +9 -0
  291. package/dist/cjs/utility/api/controller/validate-request.utility.js.map +1 -1
  292. package/dist/cjs/utility/api/controller/write-dto-swagger.utility.d.ts +17 -3
  293. package/dist/cjs/utility/api/controller/write-dto-swagger.utility.js +20 -11
  294. package/dist/cjs/utility/api/controller/write-dto-swagger.utility.js.map +1 -1
  295. package/dist/cjs/utility/api/controller/write-method.utility.d.ts +16 -2
  296. package/dist/cjs/utility/api/controller/write-method.utility.js +14 -1
  297. package/dist/cjs/utility/api/controller/write-method.utility.js.map +1 -1
  298. package/dist/cjs/utility/api/filter-order-by-from-entity.utility.d.ts +16 -3
  299. package/dist/cjs/utility/api/filter-order-by-from-entity.utility.js +14 -1
  300. package/dist/cjs/utility/api/filter-order-by-from-entity.utility.js.map +1 -1
  301. package/dist/cjs/utility/api/index.d.ts +2 -2
  302. package/dist/cjs/utility/camel-case-string.utility.d.ts +5 -0
  303. package/dist/cjs/utility/camel-case-string.utility.js +5 -0
  304. package/dist/cjs/utility/camel-case-string.utility.js.map +1 -1
  305. package/dist/cjs/utility/capitalize-string.utility.d.ts +5 -0
  306. package/dist/cjs/utility/capitalize-string.utility.js +5 -0
  307. package/dist/cjs/utility/capitalize-string.utility.js.map +1 -1
  308. package/dist/cjs/utility/dto/analize.utility.d.ts +7 -1
  309. package/dist/cjs/utility/dto/analize.utility.js +6 -16
  310. package/dist/cjs/utility/dto/analize.utility.js.map +1 -1
  311. package/dist/cjs/utility/dto/build-decorator.utility.d.ts +19 -4
  312. package/dist/cjs/utility/dto/build-decorator.utility.js +17 -5
  313. package/dist/cjs/utility/dto/build-decorator.utility.js.map +1 -1
  314. package/dist/cjs/utility/dto/generate-decorator.utility.d.ts +19 -4
  315. package/dist/cjs/utility/dto/generate-decorator.utility.js +16 -2
  316. package/dist/cjs/utility/dto/generate-decorator.utility.js.map +1 -1
  317. package/dist/cjs/utility/dto/generate-dynamic.utility.d.ts +21 -0
  318. package/dist/cjs/utility/dto/generate-dynamic.utility.js +94 -0
  319. package/dist/cjs/utility/dto/generate-dynamic.utility.js.map +1 -0
  320. package/dist/cjs/utility/dto/generate-exception.utility.d.ts +7 -0
  321. package/dist/cjs/utility/dto/generate-exception.utility.js +8 -5
  322. package/dist/cjs/utility/dto/generate-exception.utility.js.map +1 -1
  323. package/dist/cjs/utility/dto/generate-filter-decorator.utility.d.ts +11 -2
  324. package/dist/cjs/utility/dto/generate-filter-decorator.utility.js +9 -3
  325. package/dist/cjs/utility/dto/generate-filter-decorator.utility.js.map +1 -1
  326. package/dist/cjs/utility/dto/generate-get-list-response.utility.d.ts +9 -0
  327. package/dist/cjs/utility/dto/generate-get-list-response.utility.js +25 -19
  328. package/dist/cjs/utility/dto/generate-get-list-response.utility.js.map +1 -1
  329. package/dist/cjs/utility/dto/generate-relation-response.utility.d.ts +12 -2
  330. package/dist/cjs/utility/dto/generate-relation-response.utility.js +10 -0
  331. package/dist/cjs/utility/dto/generate-relation-response.utility.js.map +1 -1
  332. package/dist/cjs/utility/dto/generate.utility.d.ts +17 -2
  333. package/dist/cjs/utility/dto/generate.utility.js +39 -11
  334. package/dist/cjs/utility/dto/generate.utility.js.map +1 -1
  335. package/dist/cjs/utility/dto/get-decorator-config.utility.d.ts +15 -2
  336. package/dist/cjs/utility/dto/get-decorator-config.utility.js +13 -0
  337. package/dist/cjs/utility/dto/get-decorator-config.utility.js.map +1 -1
  338. package/dist/cjs/utility/dto/get-get-list-query-base-class.utility.d.ts +13 -2
  339. package/dist/cjs/utility/dto/get-get-list-query-base-class.utility.js +16 -11
  340. package/dist/cjs/utility/dto/get-get-list-query-base-class.utility.js.map +1 -1
  341. package/dist/cjs/utility/dto/handle-date-property.utility.d.ts +9 -1
  342. package/dist/cjs/utility/dto/handle-date-property.utility.js +8 -3
  343. package/dist/cjs/utility/dto/handle-date-property.utility.js.map +1 -1
  344. package/dist/cjs/utility/dto/index.d.ts +16 -12
  345. package/dist/cjs/utility/dto/is-property-exposed-for-guard.utility.d.ts +10 -2
  346. package/dist/cjs/utility/dto/is-property-exposed-for-guard.utility.js +8 -0
  347. package/dist/cjs/utility/dto/is-property-exposed-for-guard.utility.js.map +1 -1
  348. package/dist/cjs/utility/dto/is-property-should-be-marked.utility.d.ts +12 -2
  349. package/dist/cjs/utility/dto/is-property-should-be-marked.utility.js +10 -3
  350. package/dist/cjs/utility/dto/is-property-should-be-marked.utility.js.map +1 -1
  351. package/dist/cjs/utility/dto/is-should-be-generated.utility.d.ts +11 -1
  352. package/dist/cjs/utility/dto/is-should-be-generated.utility.js +10 -3
  353. package/dist/cjs/utility/dto/is-should-be-generated.utility.js.map +1 -1
  354. package/dist/cjs/utility/dto/validate-property-config.utility.d.ts +1 -1
  355. package/dist/cjs/utility/error-exception.utility.d.ts +5 -0
  356. package/dist/cjs/utility/error-exception.utility.js +5 -0
  357. package/dist/cjs/utility/error-exception.utility.js.map +1 -1
  358. package/dist/cjs/utility/error-string.utility.d.ts +8 -1
  359. package/dist/cjs/utility/error-string.utility.js +6 -0
  360. package/dist/cjs/utility/error-string.utility.js.map +1 -1
  361. package/dist/cjs/utility/generate-entity-information.utility.d.ts +8 -1
  362. package/dist/cjs/utility/generate-entity-information.utility.js +7 -17
  363. package/dist/cjs/utility/generate-entity-information.utility.js.map +1 -1
  364. package/dist/cjs/utility/get-entity-columns.utility.d.ts +7 -1
  365. package/dist/cjs/utility/get-entity-columns.utility.js +6 -0
  366. package/dist/cjs/utility/get-entity-columns.utility.js.map +1 -1
  367. package/dist/cjs/utility/index.d.ts +10 -10
  368. package/dist/cjs/utility/is-error-of-type.utility.d.ts +7 -1
  369. package/dist/cjs/utility/is-error-of-type.utility.js +7 -16
  370. package/dist/cjs/utility/is-error-of-type.utility.js.map +1 -1
  371. package/dist/cjs/utility/logger.utility.d.ts +4 -0
  372. package/dist/cjs/utility/logger.utility.js +4 -0
  373. package/dist/cjs/utility/logger.utility.js.map +1 -1
  374. package/dist/cjs/validator/all-or-none-of-listed-properties.validator.d.ts +1 -1
  375. package/dist/cjs/validator/all-or-none-of-listed-properties.validator.js +3 -3
  376. package/dist/cjs/validator/all-or-none-of-listed-properties.validator.js.map +1 -1
  377. package/dist/cjs/validator/has-at-least-one-and-only-one-of-listed-properties.validator.d.ts +1 -1
  378. package/dist/cjs/validator/has-at-least-one-and-only-one-of-listed-properties.validator.js +3 -3
  379. package/dist/cjs/validator/has-at-least-one-and-only-one-of-listed-properties.validator.js.map +1 -1
  380. package/dist/cjs/validator/has-at-least-one-of-listed-properties.validator.d.ts +1 -1
  381. package/dist/cjs/validator/has-at-least-one-of-listed-properties.validator.js +3 -3
  382. package/dist/cjs/validator/has-at-least-one-of-listed-properties.validator.js.map +1 -1
  383. package/dist/cjs/validator/has-at-least-one-property.validator.d.ts +1 -1
  384. package/dist/cjs/validator/has-at-least-one-property.validator.js +3 -3
  385. package/dist/cjs/validator/has-at-least-one-property.validator.js.map +1 -1
  386. package/dist/cjs/validator/has-paired-custom-suffixes-fields.validator.d.ts +12 -1
  387. package/dist/cjs/validator/has-paired-custom-suffixes-fields.validator.js +25 -95
  388. package/dist/cjs/validator/has-paired-custom-suffixes-fields.validator.js.map +1 -1
  389. package/dist/cjs/validator/index.d.ts +8 -6
  390. package/dist/cjs/validator/is-regular-expression.validator.d.ts +6 -1
  391. package/dist/cjs/validator/is-regular-expression.validator.js +8 -3
  392. package/dist/cjs/validator/is-regular-expression.validator.js.map +1 -1
  393. package/dist/cjs/validator/must-match-one-of-schemas.validator.d.ts +36 -0
  394. package/dist/cjs/validator/must-match-one-of-schemas.validator.js +190 -0
  395. package/dist/cjs/validator/must-match-one-of-schemas.validator.js.map +1 -0
  396. package/dist/cjs/validator/only-one-of-listed-properties.validator.d.ts +1 -1
  397. package/dist/cjs/validator/only-one-of-listed-properties.validator.js +3 -3
  398. package/dist/cjs/validator/only-one-of-listed-properties.validator.js.map +1 -1
  399. package/dist/esm/class/api/index.d.ts +1 -1
  400. package/dist/esm/class/api/service-base.class.d.ts +2 -3
  401. package/dist/esm/class/api/service-base.class.js.map +1 -0
  402. package/dist/esm/class/index.d.ts +4 -3
  403. package/dist/esm/class/metadata-storage.class.d.ts +2 -2
  404. package/dist/esm/{src/class → class}/metadata-storage.class.js +1 -0
  405. package/dist/esm/class/metadata-storage.class.js.map +1 -0
  406. package/dist/esm/class/utility/dto/property/factory/boolean.class.d.ts +4 -3
  407. package/dist/esm/class/utility/dto/property/factory/boolean.class.js.map +1 -0
  408. package/dist/esm/class/utility/dto/property/factory/date.class.d.ts +4 -3
  409. package/dist/esm/class/utility/dto/property/factory/date.class.js.map +1 -0
  410. package/dist/esm/class/utility/dto/property/factory/enum.class.d.ts +4 -3
  411. package/dist/esm/class/utility/dto/property/factory/enum.class.js.map +1 -0
  412. package/dist/esm/class/utility/dto/property/factory/index.d.ts +8 -6
  413. package/dist/esm/class/utility/dto/property/factory/number.class.d.ts +5 -4
  414. package/dist/esm/{src/class → class}/utility/dto/property/factory/number.class.js +1 -3
  415. package/dist/esm/class/utility/dto/property/factory/number.class.js.map +1 -0
  416. package/dist/esm/class/utility/dto/property/factory/object.class.d.ts +6 -4
  417. package/dist/esm/{src/class → class}/utility/dto/property/factory/object.class.js +2 -1
  418. package/dist/esm/class/utility/dto/property/factory/object.class.js.map +1 -0
  419. package/dist/esm/class/utility/dto/property/factory/relation.class.d.ts +5 -4
  420. package/dist/esm/{src/class → class}/utility/dto/property/factory/relation.class.js +0 -3
  421. package/dist/esm/class/utility/dto/property/factory/relation.class.js.map +1 -0
  422. package/dist/esm/class/utility/dto/property/factory/string.class.d.ts +4 -3
  423. package/dist/esm/class/utility/dto/property/factory/string.class.js.map +1 -0
  424. package/dist/esm/class/utility/dto/property/factory/uuid.class.d.ts +4 -3
  425. package/dist/esm/class/utility/dto/property/factory/uuid.class.js.map +1 -0
  426. package/dist/esm/class/utility/dto/strategy/body.class.d.ts +3 -3
  427. package/dist/esm/{src/class → class}/utility/dto/strategy/body.class.js +1 -4
  428. package/dist/esm/class/utility/dto/strategy/body.class.js.map +1 -0
  429. package/dist/esm/class/utility/dto/strategy/index.d.ts +4 -4
  430. package/dist/esm/class/utility/dto/strategy/query.class.d.ts +3 -3
  431. package/dist/esm/{src/class → class}/utility/dto/strategy/query.class.js +0 -3
  432. package/dist/esm/class/utility/dto/strategy/query.class.js.map +1 -0
  433. package/dist/esm/class/utility/dto/strategy/request.class.d.ts +3 -3
  434. package/dist/esm/{src/class → class}/utility/dto/strategy/request.class.js +0 -3
  435. package/dist/esm/class/utility/dto/strategy/request.class.js.map +1 -0
  436. package/dist/esm/class/utility/dto/strategy/response.class.d.ts +3 -3
  437. package/dist/esm/{src/class → class}/utility/dto/strategy/response.class.js +0 -3
  438. package/dist/esm/class/utility/dto/strategy/response.class.js.map +1 -0
  439. package/dist/esm/constant/date.constant.js.map +1 -0
  440. package/dist/esm/constant/decorator/api/controller.constant.js.map +1 -0
  441. package/dist/esm/constant/decorator/api/function.constant.d.ts +1 -1
  442. package/dist/esm/constant/decorator/api/function.constant.js +9 -0
  443. package/dist/esm/constant/decorator/api/function.constant.js.map +1 -0
  444. package/dist/esm/constant/decorator/api/index.d.ts +3 -3
  445. package/dist/esm/constant/decorator/api/property-describe.constant.js.map +1 -0
  446. package/dist/esm/constant/dto/exception.constant.js.map +1 -0
  447. package/dist/esm/constant/dto/index.d.ts +3 -3
  448. package/dist/esm/constant/dto/list.constant.d.ts +1 -2
  449. package/dist/esm/{src/constant → constant}/dto/list.constant.js +1 -1
  450. package/dist/esm/constant/dto/list.constant.js.map +1 -0
  451. package/dist/esm/constant/dto/transformer-value.constant.js.map +1 -0
  452. package/dist/esm/constant/factory/dto/get-list-query.constant.d.ts +1 -0
  453. package/dist/esm/{src/constant → constant}/factory/dto/get-list-query.constant.js +2 -0
  454. package/dist/esm/constant/factory/dto/get-list-query.constant.js.map +1 -0
  455. package/dist/esm/constant/factory/dto/index.d.ts +1 -1
  456. package/dist/esm/constant/index.d.ts +8 -6
  457. package/dist/esm/constant/interface/api/filter.constant.js.map +1 -0
  458. package/dist/esm/constant/interface/api/index.d.ts +2 -2
  459. package/dist/esm/constant/interface/api/property/index.d.ts +2 -2
  460. package/dist/esm/constant/interface/api/property/string.constant.js.map +1 -0
  461. package/dist/esm/constant/interface/api/property/wallet.constant.js.map +1 -0
  462. package/dist/esm/constant/number.constant.js.map +1 -0
  463. package/dist/esm/constant/utility/dto/constant.d.ts +3 -2
  464. package/dist/esm/{src/constant → constant}/utility/dto/constant.js +6 -10
  465. package/dist/esm/constant/utility/dto/constant.js.map +1 -0
  466. package/dist/esm/constant/utility/dto/generate.constant.js.map +1 -0
  467. package/dist/esm/constant/utility/dto/index.d.ts +2 -0
  468. package/dist/esm/constant/validator/has-paired-custom-suffixes-fields.constant.d.ts +5 -0
  469. package/dist/esm/constant/validator/has-paired-custom-suffixes-fields.constant.js +87 -0
  470. package/dist/esm/constant/validator/has-paired-custom-suffixes-fields.constant.js.map +1 -0
  471. package/dist/esm/constant/validator/index.d.ts +1 -0
  472. package/dist/esm/decorator/api/controller.decorator.d.ts +3 -2
  473. package/dist/esm/decorator/api/controller.decorator.js.map +1 -0
  474. package/dist/esm/decorator/api/function/create.decorator.d.ts +7 -1
  475. package/dist/esm/{src/decorator → decorator}/api/function/create.decorator.js +12 -16
  476. package/dist/esm/decorator/api/function/create.decorator.js.map +1 -0
  477. package/dist/esm/decorator/api/function/decorator.d.ts +10 -3
  478. package/dist/esm/{src/decorator → decorator}/api/function/decorator.js +7 -3
  479. package/dist/esm/decorator/api/function/decorator.js.map +1 -0
  480. package/dist/esm/decorator/api/function/delete.decorator.d.ts +7 -1
  481. package/dist/esm/{src/decorator → decorator}/api/function/delete.decorator.js +12 -16
  482. package/dist/esm/decorator/api/function/delete.decorator.js.map +1 -0
  483. package/dist/esm/decorator/api/function/get-list.decorator.d.ts +8 -2
  484. package/dist/esm/{src/decorator → decorator}/api/function/get-list.decorator.js +12 -16
  485. package/dist/esm/decorator/api/function/get-list.decorator.js.map +1 -0
  486. package/dist/esm/decorator/api/function/get-many.decorator.d.ts +7 -1
  487. package/dist/esm/{src/decorator → decorator}/api/function/get-many.decorator.js +13 -16
  488. package/dist/esm/decorator/api/function/get-many.decorator.js.map +1 -0
  489. package/dist/esm/decorator/api/function/get.decorator.d.ts +7 -1
  490. package/dist/esm/{src/decorator → decorator}/api/function/get.decorator.js +13 -16
  491. package/dist/esm/decorator/api/function/get.decorator.js.map +1 -0
  492. package/dist/esm/decorator/api/function/index.d.ts +7 -7
  493. package/dist/esm/decorator/api/function/update.decorator.d.ts +7 -1
  494. package/dist/esm/{src/decorator → decorator}/api/function/update.decorator.js +12 -16
  495. package/dist/esm/decorator/api/function/update.decorator.js.map +1 -0
  496. package/dist/esm/decorator/api/index.d.ts +5 -5
  497. package/dist/esm/decorator/api/method.decorator.d.ts +8 -1
  498. package/dist/esm/{src/decorator → decorator}/api/method.decorator.js +9 -6
  499. package/dist/esm/decorator/api/method.decorator.js.map +1 -0
  500. package/dist/esm/decorator/api/property/boolean.decorator.d.ts +52 -1
  501. package/dist/esm/{src/decorator → decorator}/api/property/boolean.decorator.js +99 -7
  502. package/dist/esm/decorator/api/property/boolean.decorator.js.map +1 -0
  503. package/dist/esm/decorator/api/property/copy.decorator.d.ts +16 -0
  504. package/dist/esm/decorator/api/property/copy.decorator.js +47 -0
  505. package/dist/esm/decorator/api/property/copy.decorator.js.map +1 -0
  506. package/dist/esm/decorator/api/property/date.decorator.d.ts +56 -1
  507. package/dist/esm/{src/decorator → decorator}/api/property/date.decorator.js +132 -7
  508. package/dist/esm/decorator/api/property/date.decorator.js.map +1 -0
  509. package/dist/esm/decorator/api/property/describe.decorator.d.ts +82 -1
  510. package/dist/esm/decorator/api/property/describe.decorator.js +94 -0
  511. package/dist/esm/decorator/api/property/describe.decorator.js.map +1 -0
  512. package/dist/esm/decorator/api/property/enum.decorator.d.ts +75 -1
  513. package/dist/esm/{src/decorator → decorator}/api/property/enum.decorator.js +112 -0
  514. package/dist/esm/decorator/api/property/enum.decorator.js.map +1 -0
  515. package/dist/esm/decorator/api/property/index.d.ts +9 -7
  516. package/dist/esm/decorator/api/property/number.decorator.d.ts +67 -1
  517. package/dist/esm/{src/decorator → decorator}/api/property/number.decorator.js +152 -12
  518. package/dist/esm/decorator/api/property/number.decorator.js.map +1 -0
  519. package/dist/esm/decorator/api/property/object.decorator.d.ts +27 -1
  520. package/dist/esm/decorator/api/property/object.decorator.js +246 -0
  521. package/dist/esm/decorator/api/property/object.decorator.js.map +1 -0
  522. package/dist/esm/decorator/api/property/string.decorator.d.ts +68 -1
  523. package/dist/esm/{src/decorator → decorator}/api/property/string.decorator.js +132 -15
  524. package/dist/esm/decorator/api/property/string.decorator.js.map +1 -0
  525. package/dist/esm/decorator/api/property/uuid.decorator.d.ts +42 -1
  526. package/dist/esm/{src/decorator → decorator}/api/property/uuid.decorator.js +92 -7
  527. package/dist/esm/decorator/api/property/uuid.decorator.js.map +1 -0
  528. package/dist/esm/decorator/api/service.decorator.d.ts +8 -2
  529. package/dist/esm/{src/decorator → decorator}/api/service.decorator.js +10 -6
  530. package/dist/esm/decorator/api/service.decorator.js.map +1 -0
  531. package/dist/esm/enum/decorator/api/action.enum.js.map +1 -0
  532. package/dist/esm/enum/decorator/api/authentication-type.enum.js.map +1 -0
  533. package/dist/esm/enum/decorator/api/controller/index.d.ts +2 -2
  534. package/dist/esm/enum/decorator/api/controller/load-relations-strategy.enum.js.map +1 -0
  535. package/dist/esm/enum/decorator/api/controller/request-transformer-type.enum.js.map +1 -0
  536. package/dist/esm/enum/decorator/api/dto-type.enum.js.map +1 -0
  537. package/dist/esm/enum/decorator/api/function/index.d.ts +1 -1
  538. package/dist/esm/enum/decorator/api/function/type.enum.js.map +1 -0
  539. package/dist/esm/enum/decorator/api/index.d.ts +7 -7
  540. package/dist/esm/enum/decorator/api/property/data-type.enum.js.map +1 -0
  541. package/dist/esm/enum/decorator/api/property/date/identifier.enum.js.map +1 -0
  542. package/dist/esm/enum/decorator/api/property/date/index.d.ts +2 -2
  543. package/dist/esm/enum/decorator/api/property/date/type.enum.js.map +1 -0
  544. package/dist/esm/enum/decorator/api/property/desribe-type.enum.js.map +1 -0
  545. package/dist/esm/enum/decorator/api/property/index.d.ts +5 -5
  546. package/dist/esm/enum/decorator/api/property/number-type.enum.js.map +1 -0
  547. package/dist/esm/enum/decorator/api/property/string-type.enum.js.map +1 -0
  548. package/dist/esm/enum/decorator/api/route-type.enum.js.map +1 -0
  549. package/dist/esm/enum/exception.enum.js.map +1 -0
  550. package/dist/esm/enum/filter-operation.enum.js.map +1 -0
  551. package/dist/esm/enum/filter-order-direction.enum.js.map +1 -0
  552. package/dist/esm/enum/index.d.ts +6 -4
  553. package/dist/esm/enum/utility/error-string-action.enum.js.map +1 -0
  554. package/dist/esm/enum/utility/index.d.ts +1 -1
  555. package/dist/esm/enum/validator/has-paired-custom-suffixes-fields-argument-type.enum.d.ts +5 -0
  556. package/dist/esm/enum/validator/has-paired-custom-suffixes-fields-argument-type.enum.js +9 -0
  557. package/dist/esm/enum/validator/has-paired-custom-suffixes-fields-argument-type.enum.js.map +1 -0
  558. package/dist/esm/enum/validator/index.d.ts +2 -0
  559. package/dist/esm/enum/validator/must-match-one-of-schemas-error-type.enum.d.ts +6 -0
  560. package/dist/esm/enum/validator/must-match-one-of-schemas-error-type.enum.js +10 -0
  561. package/dist/esm/enum/validator/must-match-one-of-schemas-error-type.enum.js.map +1 -0
  562. package/dist/esm/factory/api/controller.factory.d.ts +4 -3
  563. package/dist/esm/{src/factory → factory}/api/controller.factory.js +12 -16
  564. package/dist/esm/factory/api/controller.factory.js.map +1 -0
  565. package/dist/esm/factory/api/index.d.ts +1 -1
  566. package/dist/esm/index.d.ts +10 -10
  567. package/dist/esm/{src/index.js → index.js} +31 -0
  568. package/dist/esm/{src/index.js.map → index.js.map} +1 -1
  569. package/dist/esm/{src/interceptor → interceptor}/correlation-id-response-body.interceptor.js +1 -1
  570. package/dist/esm/interceptor/correlation-id-response-body.interceptor.js.map +1 -0
  571. package/dist/esm/interceptor/index.d.ts +1 -1
  572. package/dist/esm/interface/api-authentication-request.interface.d.ts +1 -1
  573. package/dist/esm/interface/api-request-validator.interface.d.ts +3 -2
  574. package/dist/esm/interface/class/dto/index.d.ts +1 -1
  575. package/dist/esm/interface/class/dto/strategy.interface.d.ts +2 -2
  576. package/dist/esm/interface/class/index.d.ts +2 -2
  577. package/dist/esm/interface/decorator/api/controller/base.interface.d.ts +1 -1
  578. package/dist/esm/interface/decorator/api/controller/index.d.ts +3 -3
  579. package/dist/esm/interface/decorator/api/controller/properties/route/authentication.interface.d.ts +1 -1
  580. package/dist/esm/interface/decorator/api/controller/properties/route/auto-dto-config.interface.d.ts +1 -1
  581. package/dist/esm/interface/decorator/api/controller/properties/route/base-request.interface.d.ts +3 -3
  582. package/dist/esm/interface/decorator/api/controller/properties/route/base-response.interface.d.ts +2 -2
  583. package/dist/esm/interface/decorator/api/controller/properties/route/base.interface.d.ts +2 -4
  584. package/dist/esm/interface/decorator/api/controller/properties/route/index.d.ts +7 -7
  585. package/dist/esm/interface/decorator/api/controller/properties/route/with-auto-dto.interface.d.ts +2 -3
  586. package/dist/esm/interface/decorator/api/controller/properties/route/with-dto.interface.d.ts +2 -2
  587. package/dist/esm/interface/decorator/api/controller/properties.interface.d.ts +3 -3
  588. package/dist/esm/interface/decorator/api/function/create-executor-properties.interface.d.ts +2 -2
  589. package/dist/esm/interface/decorator/api/function/delete-executor-properties.interface.d.ts +2 -2
  590. package/dist/esm/interface/decorator/api/function/get-executor-properties.interface.d.ts +2 -2
  591. package/dist/esm/interface/decorator/api/function/get-list-executor-properties.interface.d.ts +2 -2
  592. package/dist/esm/interface/decorator/api/function/get-many-executor-properties.interface.d.ts +2 -2
  593. package/dist/esm/interface/decorator/api/function/index.d.ts +7 -7
  594. package/dist/esm/interface/decorator/api/function/properties.interface.d.ts +1 -1
  595. package/dist/esm/interface/decorator/api/function/update-executor-properties.interface.d.ts +2 -2
  596. package/dist/esm/interface/decorator/api/index.d.ts +5 -5
  597. package/dist/esm/interface/decorator/api/method/index.d.ts +2 -2
  598. package/dist/esm/interface/decorator/api/method/properties.interface.d.ts +2 -4
  599. package/dist/esm/interface/dto-generate-factory.interface.d.ts +5 -4
  600. package/dist/esm/interface/entity/index.d.ts +2 -2
  601. package/dist/esm/interface/entity/interface.d.ts +2 -2
  602. package/dist/esm/interface/index.d.ts +10 -8
  603. package/dist/esm/interface/utility/api/controller/index.d.ts +1 -1
  604. package/dist/esm/interface/utility/error-string-properties.interface.d.ts +1 -1
  605. package/dist/esm/interface/utility/get-entity-columns-properties.interface.d.ts +1 -1
  606. package/dist/esm/interface/utility/index.d.ts +3 -2
  607. package/dist/esm/interface/validator/index.d.ts +1 -0
  608. package/dist/esm/interface/validator/must-match-one-of-schemas-discriminator-config.interface.d.ts +6 -0
  609. package/dist/esm/type/api-request-transformer.type.d.ts +3 -3
  610. package/dist/esm/type/class/controller/index.d.ts +1 -1
  611. package/dist/esm/type/class/controller/method.type.d.ts +2 -2
  612. package/dist/esm/type/class/index.d.ts +3 -3
  613. package/dist/esm/type/class/metadata.type.d.ts +1 -1
  614. package/dist/esm/type/decorator/api/controller/constructor.type.d.ts +1 -1
  615. package/dist/esm/type/decorator/api/controller/get-list-query.type.d.ts +2 -2
  616. package/dist/esm/type/decorator/api/controller/index.d.ts +5 -5
  617. package/dist/esm/type/decorator/api/controller/properties/route/base-request-relations.type.d.ts +1 -1
  618. package/dist/esm/type/decorator/api/controller/properties/route/base-request-transformers.type.d.ts +2 -2
  619. package/dist/esm/type/decorator/api/controller/properties/route/base-response-transformers.type.d.ts +2 -2
  620. package/dist/esm/type/decorator/api/controller/properties/route/index.d.ts +3 -3
  621. package/dist/esm/type/decorator/api/controller/properties-route.type.d.ts +2 -2
  622. package/dist/esm/type/decorator/api/controller/transformer-config.type.d.ts +2 -2
  623. package/dist/esm/type/decorator/api/filter/extracted-allowed-types.type.d.ts +1 -1
  624. package/dist/esm/type/decorator/api/filter/index.d.ts +4 -4
  625. package/dist/esm/type/decorator/api/filter/order-by.type.d.ts +1 -1
  626. package/dist/esm/type/decorator/api/function/index.d.ts +9 -9
  627. package/dist/esm/type/decorator/api/function/properties.type.d.ts +1 -1
  628. package/dist/esm/type/decorator/api/property/base/array/index.d.ts +2 -2
  629. package/dist/esm/type/decorator/api/property/base/index.d.ts +4 -4
  630. package/dist/esm/type/decorator/api/property/base/properties.type.d.ts +2 -4
  631. package/dist/esm/type/decorator/api/property/date-properties.type.d.ts +2 -2
  632. package/dist/esm/type/decorator/api/property/describe/array/index.d.ts +2 -2
  633. package/dist/esm/type/decorator/api/property/describe/base-properties.type.d.ts +1 -1
  634. package/dist/esm/type/decorator/api/property/describe/boolean-properties.type.d.ts +3 -3
  635. package/dist/esm/type/decorator/api/property/describe/date-properties.type.d.ts +3 -3
  636. package/dist/esm/type/decorator/api/property/describe/dto/body-properties.type.d.ts +2 -2
  637. package/dist/esm/type/decorator/api/property/describe/dto/index.d.ts +6 -5
  638. package/dist/esm/type/decorator/api/property/describe/dto/properties.type.d.ts +1 -1
  639. package/dist/esm/type/decorator/api/property/describe/dto/query/index.d.ts +2 -2
  640. package/dist/esm/type/decorator/api/property/describe/dto/query/properties.type.d.ts +2 -3
  641. package/dist/esm/type/decorator/api/property/describe/dto/request-properties.type.d.ts +2 -2
  642. package/dist/esm/type/decorator/api/property/describe/dto/response-properties.type.d.ts +2 -2
  643. package/dist/esm/type/decorator/api/property/describe/enum-properties.type.d.ts +3 -3
  644. package/dist/esm/type/decorator/api/property/describe/index.d.ts +14 -13
  645. package/dist/esm/type/decorator/api/property/describe/number-properties.type.d.ts +4 -4
  646. package/dist/esm/type/decorator/api/property/describe/object/dynamic-with-discriminator-properties.type.d.ts +15 -0
  647. package/dist/esm/type/decorator/api/property/describe/object/index.d.ts +4 -0
  648. package/dist/esm/type/decorator/api/property/describe/object/properties.type.d.ts +4 -0
  649. package/dist/esm/type/decorator/api/property/describe/object/with-discriminator-properties.type.d.ts +14 -0
  650. package/dist/esm/type/decorator/api/property/describe/{object-properties.type.d.ts → object/without-discriminator-properties.type.d.ts} +4 -4
  651. package/dist/esm/type/decorator/api/property/describe/properties/base-dto-properties.type.d.ts +1 -1
  652. package/dist/esm/type/decorator/api/property/describe/properties/base-properties.type.d.ts +2 -2
  653. package/dist/esm/type/decorator/api/property/describe/properties/index.d.ts +2 -2
  654. package/dist/esm/type/decorator/api/property/describe/properties.type.d.ts +8 -8
  655. package/dist/esm/type/decorator/api/property/describe/relation-properties.type.d.ts +2 -2
  656. package/dist/esm/type/decorator/api/property/describe/string-properties.type.d.ts +4 -4
  657. package/dist/esm/type/decorator/api/property/describe/uuid-properties.type.d.ts +3 -3
  658. package/dist/esm/type/decorator/api/property/enum-properties.type.d.ts +1 -1
  659. package/dist/esm/type/decorator/api/property/index.d.ts +8 -6
  660. package/dist/esm/type/decorator/api/property/number-properties.type.d.ts +3 -3
  661. package/dist/esm/type/decorator/api/property/object/dynamic-with-discriminator-properties.type.d.ts +16 -0
  662. package/dist/esm/type/decorator/api/property/object/index.d.ts +4 -0
  663. package/dist/esm/type/decorator/api/property/object/properties.type.d.ts +4 -0
  664. package/dist/esm/type/decorator/api/property/object/with-discriminator-properties.type.d.ts +15 -0
  665. package/dist/esm/type/decorator/api/property/{object-properties.type.d.ts → object/without-discriminator-properties.type.d.ts} +4 -2
  666. package/dist/esm/type/decorator/api/property/string-properties.type.d.ts +2 -2
  667. package/dist/esm/type/decorator/api/property/uuid-properties.type.d.ts +1 -1
  668. package/dist/esm/type/decorator/api/service/index.d.ts +2 -2
  669. package/dist/esm/type/decorator/api/service/keys.type.d.ts +1 -1
  670. package/dist/esm/type/factory/api/controller/index.d.ts +4 -4
  671. package/dist/esm/type/factory/api/controller/method-map.type.d.ts +4 -3
  672. package/dist/esm/type/factory/api/controller/method-name-map.type.d.ts +2 -2
  673. package/dist/esm/type/factory/api/controller/method-name.type.d.ts +3 -3
  674. package/dist/esm/type/factory/api/controller/target-methods.type.d.ts +4 -4
  675. package/dist/esm/type/index.d.ts +10 -5
  676. package/dist/esm/type/utility/api/controller/transform-data/data.type.d.ts +1 -1
  677. package/dist/esm/type/utility/api/controller/transform-data/index.d.ts +3 -3
  678. package/dist/esm/type/utility/api/controller/transform-data/is-validation-properties.type.d.ts +2 -2
  679. package/dist/esm/type/utility/api/controller/transform-data/object-to-transform.type.d.ts +2 -2
  680. package/dist/esm/type/utility/date-range-keys.type.d.ts +1 -1
  681. package/dist/esm/type/utility/dto/generate-allowed-combination.type.d.ts +1 -1
  682. package/dist/esm/type/utility/dto/generate-is-allowed-combination.type.d.ts +2 -2
  683. package/dist/esm/type/utility/dto/index.d.ts +2 -2
  684. package/dist/esm/type/utility/filter-keys.type.d.ts +1 -1
  685. package/dist/esm/type/utility/index.d.ts +7 -7
  686. package/dist/esm/type/validator/has-paired-custom-suffixes-fields/index.d.ts +2 -0
  687. package/dist/esm/type/validator/has-paired-custom-suffixes-fields/operation-config.type.d.ts +7 -0
  688. package/dist/esm/type/validator/has-paired-custom-suffixes-fields/validation-context.type.d.ts +5 -0
  689. package/dist/esm/utility/api/controller/apply-decorators.utility.d.ts +18 -3
  690. package/dist/esm/{src/utility → utility}/api/controller/apply-decorators.utility.js +15 -4
  691. package/dist/esm/utility/api/controller/apply-decorators.utility.js.map +1 -0
  692. package/dist/esm/utility/api/controller/apply-metadata.utility.d.ts +17 -3
  693. package/dist/esm/{src/utility → utility}/api/controller/apply-metadata.utility.js +22 -13
  694. package/dist/esm/utility/api/controller/apply-metadata.utility.js.map +1 -0
  695. package/dist/esm/utility/api/controller/get-list/index.d.ts +2 -2
  696. package/dist/esm/utility/api/controller/get-list/transform-filter.utility.d.ts +10 -1
  697. package/dist/esm/{src/utility → utility}/api/controller/get-list/transform-filter.utility.js +9 -3
  698. package/dist/esm/utility/api/controller/get-list/transform-filter.utility.js.map +1 -0
  699. package/dist/esm/utility/api/controller/get-list/transform-operation.utility.d.ts +8 -1
  700. package/dist/esm/{src/utility → utility}/api/controller/get-list/transform-operation.utility.js +8 -1
  701. package/dist/esm/utility/api/controller/get-list/transform-operation.utility.js.map +1 -0
  702. package/dist/esm/utility/api/controller/get-method-name.utility.d.ts +7 -1
  703. package/dist/esm/{src/utility → utility}/api/controller/get-method-name.utility.js +6 -0
  704. package/dist/esm/utility/api/controller/get-method-name.utility.js.map +1 -0
  705. package/dist/esm/utility/api/controller/get-primary-column.utility.d.ts +10 -1
  706. package/dist/esm/utility/api/controller/get-primary-column.utility.js +21 -0
  707. package/dist/esm/utility/api/controller/get-primary-column.utility.js.map +1 -0
  708. package/dist/esm/utility/api/controller/handle-request-relations.utility.d.ts +17 -2
  709. package/dist/esm/{src/utility → utility}/api/controller/handle-request-relations.utility.js +15 -5
  710. package/dist/esm/utility/api/controller/handle-request-relations.utility.js.map +1 -0
  711. package/dist/esm/utility/api/controller/index.d.ts +10 -9
  712. package/dist/esm/utility/api/controller/transform-data.utility.d.ts +15 -3
  713. package/dist/esm/{src/utility → utility}/api/controller/transform-data.utility.js +52 -3
  714. package/dist/esm/utility/api/controller/transform-data.utility.js.map +1 -0
  715. package/dist/esm/utility/api/controller/validate-request.utility.d.ts +12 -2
  716. package/dist/esm/{src/utility → utility}/api/controller/validate-request.utility.js +9 -0
  717. package/dist/esm/utility/api/controller/validate-request.utility.js.map +1 -0
  718. package/dist/esm/utility/api/controller/write-dto-swagger.utility.d.ts +17 -3
  719. package/dist/esm/{src/utility → utility}/api/controller/write-dto-swagger.utility.js +21 -12
  720. package/dist/esm/utility/api/controller/write-dto-swagger.utility.js.map +1 -0
  721. package/dist/esm/utility/api/controller/write-method.utility.d.ts +16 -2
  722. package/dist/esm/utility/api/controller/write-method.utility.js +31 -0
  723. package/dist/esm/utility/api/controller/write-method.utility.js.map +1 -0
  724. package/dist/esm/utility/api/filter-order-by-from-entity.utility.d.ts +16 -3
  725. package/dist/esm/{src/utility → utility}/api/filter-order-by-from-entity.utility.js +14 -1
  726. package/dist/esm/utility/api/filter-order-by-from-entity.utility.js.map +1 -0
  727. package/dist/esm/utility/api/index.d.ts +2 -2
  728. package/dist/esm/utility/camel-case-string.utility.d.ts +5 -0
  729. package/dist/esm/{src/utility → utility}/camel-case-string.utility.js +5 -0
  730. package/dist/esm/utility/camel-case-string.utility.js.map +1 -0
  731. package/dist/esm/utility/capitalize-string.utility.d.ts +5 -0
  732. package/dist/esm/{src/utility → utility}/capitalize-string.utility.js +5 -0
  733. package/dist/esm/utility/capitalize-string.utility.js.map +1 -0
  734. package/dist/esm/utility/dto/analize.utility.d.ts +7 -1
  735. package/dist/esm/utility/dto/analize.utility.js +15 -0
  736. package/dist/esm/utility/dto/analize.utility.js.map +1 -0
  737. package/dist/esm/utility/dto/build-decorator.utility.d.ts +19 -4
  738. package/dist/esm/{src/utility → utility}/dto/build-decorator.utility.js +17 -5
  739. package/dist/esm/utility/dto/build-decorator.utility.js.map +1 -0
  740. package/dist/esm/utility/dto/generate-decorator.utility.d.ts +19 -4
  741. package/dist/esm/utility/dto/generate-decorator.utility.js +27 -0
  742. package/dist/esm/utility/dto/generate-decorator.utility.js.map +1 -0
  743. package/dist/esm/utility/dto/generate-dynamic.utility.d.ts +21 -0
  744. package/dist/esm/utility/dto/generate-dynamic.utility.js +92 -0
  745. package/dist/esm/utility/dto/generate-dynamic.utility.js.map +1 -0
  746. package/dist/esm/utility/dto/generate-exception.utility.d.ts +7 -0
  747. package/dist/esm/{src/utility → utility}/dto/generate-exception.utility.js +9 -6
  748. package/dist/esm/utility/dto/generate-exception.utility.js.map +1 -0
  749. package/dist/esm/utility/dto/generate-filter-decorator.utility.d.ts +11 -2
  750. package/dist/esm/{src/utility → utility}/dto/generate-filter-decorator.utility.js +9 -3
  751. package/dist/esm/utility/dto/generate-filter-decorator.utility.js.map +1 -0
  752. package/dist/esm/utility/dto/generate-get-list-response.utility.d.ts +9 -0
  753. package/dist/esm/{src/utility → utility}/dto/generate-get-list-response.utility.js +12 -6
  754. package/dist/esm/utility/dto/generate-get-list-response.utility.js.map +1 -0
  755. package/dist/esm/utility/dto/generate-relation-response.utility.d.ts +12 -2
  756. package/dist/esm/{src/utility → utility}/dto/generate-relation-response.utility.js +11 -1
  757. package/dist/esm/utility/dto/generate-relation-response.utility.js.map +1 -0
  758. package/dist/esm/utility/dto/generate.utility.d.ts +17 -2
  759. package/dist/esm/{src/utility → utility}/dto/generate.utility.js +39 -11
  760. package/dist/esm/utility/dto/generate.utility.js.map +1 -0
  761. package/dist/esm/utility/dto/get-decorator-config.utility.d.ts +15 -2
  762. package/dist/esm/{src/utility → utility}/dto/get-decorator-config.utility.js +13 -0
  763. package/dist/esm/utility/dto/get-decorator-config.utility.js.map +1 -0
  764. package/dist/esm/utility/dto/get-get-list-query-base-class.utility.d.ts +13 -2
  765. package/dist/esm/{src/utility → utility}/dto/get-get-list-query-base-class.utility.js +17 -12
  766. package/dist/esm/utility/dto/get-get-list-query-base-class.utility.js.map +1 -0
  767. package/dist/esm/utility/dto/handle-date-property.utility.d.ts +9 -1
  768. package/dist/esm/{src/utility → utility}/dto/handle-date-property.utility.js +8 -3
  769. package/dist/esm/utility/dto/handle-date-property.utility.js.map +1 -0
  770. package/dist/esm/utility/dto/index.d.ts +16 -12
  771. package/dist/esm/utility/dto/is-property-exposed-for-guard.utility.d.ts +10 -2
  772. package/dist/esm/{src/utility → utility}/dto/is-property-exposed-for-guard.utility.js +8 -0
  773. package/dist/esm/utility/dto/is-property-exposed-for-guard.utility.js.map +1 -0
  774. package/dist/esm/utility/dto/is-property-should-be-marked.utility.d.ts +12 -2
  775. package/dist/esm/{src/utility → utility}/dto/is-property-should-be-marked.utility.js +10 -3
  776. package/dist/esm/utility/dto/is-property-should-be-marked.utility.js.map +1 -0
  777. package/dist/esm/utility/dto/is-should-be-generated.utility.d.ts +11 -1
  778. package/dist/esm/{src/utility → utility}/dto/is-should-be-generated.utility.js +10 -3
  779. package/dist/esm/utility/dto/is-should-be-generated.utility.js.map +1 -0
  780. package/dist/esm/utility/dto/validate-property-config.utility.d.ts +1 -1
  781. package/dist/esm/utility/dto/validate-property-config.utility.js.map +1 -0
  782. package/dist/esm/utility/error-exception.utility.d.ts +5 -0
  783. package/dist/esm/{src/utility → utility}/error-exception.utility.js +5 -0
  784. package/dist/esm/utility/error-exception.utility.js.map +1 -0
  785. package/dist/esm/utility/error-string.utility.d.ts +8 -1
  786. package/dist/esm/utility/error-string.utility.js +12 -0
  787. package/dist/esm/utility/error-string.utility.js.map +1 -0
  788. package/dist/esm/utility/generate-entity-information.utility.d.ts +8 -1
  789. package/dist/esm/{src/utility → utility}/generate-entity-information.utility.js +7 -17
  790. package/dist/esm/utility/generate-entity-information.utility.js.map +1 -0
  791. package/dist/esm/utility/get-entity-columns.utility.d.ts +7 -1
  792. package/dist/esm/{src/utility → utility}/get-entity-columns.utility.js +6 -0
  793. package/dist/esm/utility/get-entity-columns.utility.js.map +1 -0
  794. package/dist/esm/utility/index.d.ts +10 -10
  795. package/dist/esm/utility/is-error-of-type.utility.d.ts +7 -1
  796. package/dist/esm/{src/utility → utility}/is-error-of-type.utility.js +7 -16
  797. package/dist/esm/utility/is-error-of-type.utility.js.map +1 -0
  798. package/dist/esm/utility/logger.utility.d.ts +4 -0
  799. package/dist/esm/{src/utility → utility}/logger.utility.js +5 -1
  800. package/dist/esm/utility/logger.utility.js.map +1 -0
  801. package/dist/esm/validator/all-or-none-of-listed-properties.validator.d.ts +1 -1
  802. package/dist/esm/{src/validator → validator}/all-or-none-of-listed-properties.validator.js +5 -5
  803. package/dist/esm/validator/all-or-none-of-listed-properties.validator.js.map +1 -0
  804. package/dist/esm/validator/has-at-least-one-and-only-one-of-listed-properties.validator.d.ts +1 -1
  805. package/dist/esm/{src/validator → validator}/has-at-least-one-and-only-one-of-listed-properties.validator.js +5 -5
  806. package/dist/esm/validator/has-at-least-one-and-only-one-of-listed-properties.validator.js.map +1 -0
  807. package/dist/esm/validator/has-at-least-one-of-listed-properties.validator.d.ts +1 -1
  808. package/dist/esm/{src/validator → validator}/has-at-least-one-of-listed-properties.validator.js +5 -5
  809. package/dist/esm/validator/has-at-least-one-of-listed-properties.validator.js.map +1 -0
  810. package/dist/esm/validator/has-at-least-one-property.validator.d.ts +1 -1
  811. package/dist/esm/{src/validator → validator}/has-at-least-one-property.validator.js +5 -5
  812. package/dist/esm/validator/has-at-least-one-property.validator.js.map +1 -0
  813. package/dist/esm/validator/has-paired-custom-suffixes-fields.validator.d.ts +12 -1
  814. package/dist/esm/{src/validator → validator}/has-paired-custom-suffixes-fields.validator.js +27 -97
  815. package/dist/esm/validator/has-paired-custom-suffixes-fields.validator.js.map +1 -0
  816. package/dist/esm/validator/index.d.ts +8 -6
  817. package/dist/esm/validator/is-regular-expression.validator.d.ts +6 -1
  818. package/dist/esm/validator/is-regular-expression.validator.js +30 -0
  819. package/dist/esm/validator/is-regular-expression.validator.js.map +1 -0
  820. package/dist/esm/validator/must-match-one-of-schemas.validator.d.ts +36 -0
  821. package/dist/esm/validator/must-match-one-of-schemas.validator.js +188 -0
  822. package/dist/esm/validator/must-match-one-of-schemas.validator.js.map +1 -0
  823. package/dist/esm/validator/only-one-of-listed-properties.validator.d.ts +1 -1
  824. package/dist/esm/{src/validator → validator}/only-one-of-listed-properties.validator.js +5 -5
  825. package/dist/esm/validator/only-one-of-listed-properties.validator.js.map +1 -0
  826. package/package.json +4 -2
  827. package/dist/cjs/class/utility/dto/index.d.ts +0 -2
  828. package/dist/cjs/class/utility/dto/property/index.d.ts +0 -1
  829. package/dist/cjs/class/utility/index.d.ts +0 -1
  830. package/dist/cjs/constant/decorator/index.d.ts +0 -1
  831. package/dist/cjs/constant/factory/index.d.ts +0 -1
  832. package/dist/cjs/constant/interface/index.d.ts +0 -1
  833. package/dist/cjs/decorator/index.d.ts +0 -1
  834. package/dist/cjs/enum/decorator/index.d.ts +0 -1
  835. package/dist/cjs/factory/index.d.ts +0 -1
  836. package/dist/cjs/interface/decorator/api/controller/properties/index.d.ts +0 -1
  837. package/dist/cjs/interface/decorator/index.d.ts +0 -1
  838. package/dist/cjs/interface/utility/api/index.d.ts +0 -1
  839. package/dist/cjs/type/decorator/api/controller/properties/index.d.ts +0 -1
  840. package/dist/cjs/type/decorator/api/index.d.ts +0 -5
  841. package/dist/cjs/type/decorator/index.d.ts +0 -1
  842. package/dist/cjs/type/factory/api/index.d.ts +0 -1
  843. package/dist/cjs/type/factory/index.d.ts +0 -1
  844. package/dist/cjs/type/utility/api/controller/index.d.ts +0 -1
  845. package/dist/cjs/type/utility/api/index.d.ts +0 -1
  846. package/dist/esm/class/utility/dto/index.d.ts +0 -2
  847. package/dist/esm/class/utility/dto/property/index.d.ts +0 -1
  848. package/dist/esm/class/utility/index.d.ts +0 -1
  849. package/dist/esm/constant/decorator/index.d.ts +0 -1
  850. package/dist/esm/constant/factory/index.d.ts +0 -1
  851. package/dist/esm/constant/interface/index.d.ts +0 -1
  852. package/dist/esm/decorator/index.d.ts +0 -1
  853. package/dist/esm/enum/decorator/index.d.ts +0 -1
  854. package/dist/esm/factory/index.d.ts +0 -1
  855. package/dist/esm/interface/decorator/api/controller/properties/index.d.ts +0 -1
  856. package/dist/esm/interface/decorator/index.d.ts +0 -1
  857. package/dist/esm/interface/utility/api/index.d.ts +0 -1
  858. package/dist/esm/src/class/api/service-base.class.js.map +0 -1
  859. package/dist/esm/src/class/metadata-storage.class.js.map +0 -1
  860. package/dist/esm/src/class/utility/dto/property/factory/boolean.class.js.map +0 -1
  861. package/dist/esm/src/class/utility/dto/property/factory/date.class.js.map +0 -1
  862. package/dist/esm/src/class/utility/dto/property/factory/enum.class.js.map +0 -1
  863. package/dist/esm/src/class/utility/dto/property/factory/number.class.js.map +0 -1
  864. package/dist/esm/src/class/utility/dto/property/factory/object.class.js.map +0 -1
  865. package/dist/esm/src/class/utility/dto/property/factory/relation.class.js.map +0 -1
  866. package/dist/esm/src/class/utility/dto/property/factory/string.class.js.map +0 -1
  867. package/dist/esm/src/class/utility/dto/property/factory/uuid.class.js.map +0 -1
  868. package/dist/esm/src/class/utility/dto/strategy/body.class.js.map +0 -1
  869. package/dist/esm/src/class/utility/dto/strategy/query.class.js.map +0 -1
  870. package/dist/esm/src/class/utility/dto/strategy/request.class.js.map +0 -1
  871. package/dist/esm/src/class/utility/dto/strategy/response.class.js.map +0 -1
  872. package/dist/esm/src/constant/date.constant.js.map +0 -1
  873. package/dist/esm/src/constant/decorator/api/controller.constant.js.map +0 -1
  874. package/dist/esm/src/constant/decorator/api/function.constant.js +0 -24
  875. package/dist/esm/src/constant/decorator/api/function.constant.js.map +0 -1
  876. package/dist/esm/src/constant/decorator/api/property-describe.constant.js.map +0 -1
  877. package/dist/esm/src/constant/dto/exception.constant.js.map +0 -1
  878. package/dist/esm/src/constant/dto/list.constant.js.map +0 -1
  879. package/dist/esm/src/constant/dto/transformer-value.constant.js.map +0 -1
  880. package/dist/esm/src/constant/factory/dto/get-list-query.constant.js.map +0 -1
  881. package/dist/esm/src/constant/interface/api/filter.constant.js.map +0 -1
  882. package/dist/esm/src/constant/interface/api/property/string.constant.js.map +0 -1
  883. package/dist/esm/src/constant/interface/api/property/wallet.constant.js.map +0 -1
  884. package/dist/esm/src/constant/number.constant.js.map +0 -1
  885. package/dist/esm/src/constant/utility/dto/constant.js.map +0 -1
  886. package/dist/esm/src/constant/utility/dto/generate.constant.js.map +0 -1
  887. package/dist/esm/src/decorator/api/controller.decorator.js.map +0 -1
  888. package/dist/esm/src/decorator/api/function/create.decorator.js.map +0 -1
  889. package/dist/esm/src/decorator/api/function/decorator.js.map +0 -1
  890. package/dist/esm/src/decorator/api/function/delete.decorator.js.map +0 -1
  891. package/dist/esm/src/decorator/api/function/get-list.decorator.js.map +0 -1
  892. package/dist/esm/src/decorator/api/function/get-many.decorator.js.map +0 -1
  893. package/dist/esm/src/decorator/api/function/get.decorator.js.map +0 -1
  894. package/dist/esm/src/decorator/api/function/update.decorator.js.map +0 -1
  895. package/dist/esm/src/decorator/api/method.decorator.js.map +0 -1
  896. package/dist/esm/src/decorator/api/property/boolean.decorator.js.map +0 -1
  897. package/dist/esm/src/decorator/api/property/date.decorator.js.map +0 -1
  898. package/dist/esm/src/decorator/api/property/describe.decorator.js +0 -29
  899. package/dist/esm/src/decorator/api/property/describe.decorator.js.map +0 -1
  900. package/dist/esm/src/decorator/api/property/enum.decorator.js.map +0 -1
  901. package/dist/esm/src/decorator/api/property/number.decorator.js.map +0 -1
  902. package/dist/esm/src/decorator/api/property/object.decorator.js +0 -104
  903. package/dist/esm/src/decorator/api/property/object.decorator.js.map +0 -1
  904. package/dist/esm/src/decorator/api/property/string.decorator.js.map +0 -1
  905. package/dist/esm/src/decorator/api/property/uuid.decorator.js.map +0 -1
  906. package/dist/esm/src/decorator/api/service.decorator.js.map +0 -1
  907. package/dist/esm/src/enum/decorator/api/action.enum.js.map +0 -1
  908. package/dist/esm/src/enum/decorator/api/authentication-type.enum.js.map +0 -1
  909. package/dist/esm/src/enum/decorator/api/controller/load-relations-strategy.enum.js.map +0 -1
  910. package/dist/esm/src/enum/decorator/api/controller/request-transformer-type.enum.js.map +0 -1
  911. package/dist/esm/src/enum/decorator/api/dto-type.enum.js.map +0 -1
  912. package/dist/esm/src/enum/decorator/api/function/type.enum.js.map +0 -1
  913. package/dist/esm/src/enum/decorator/api/property/data-type.enum.js.map +0 -1
  914. package/dist/esm/src/enum/decorator/api/property/date/identifier.enum.js.map +0 -1
  915. package/dist/esm/src/enum/decorator/api/property/date/type.enum.js.map +0 -1
  916. package/dist/esm/src/enum/decorator/api/property/desribe-type.enum.js.map +0 -1
  917. package/dist/esm/src/enum/decorator/api/property/number-type.enum.js.map +0 -1
  918. package/dist/esm/src/enum/decorator/api/property/string-type.enum.js.map +0 -1
  919. package/dist/esm/src/enum/decorator/api/route-type.enum.js.map +0 -1
  920. package/dist/esm/src/enum/exception.enum.js.map +0 -1
  921. package/dist/esm/src/enum/filter-operation.enum.js.map +0 -1
  922. package/dist/esm/src/enum/filter-order-direction.enum.js.map +0 -1
  923. package/dist/esm/src/enum/utility/error-string-action.enum.js.map +0 -1
  924. package/dist/esm/src/factory/api/controller.factory.js.map +0 -1
  925. package/dist/esm/src/interceptor/correlation-id-response-body.interceptor.js.map +0 -1
  926. package/dist/esm/src/utility/api/controller/apply-decorators.utility.js.map +0 -1
  927. package/dist/esm/src/utility/api/controller/apply-metadata.utility.js.map +0 -1
  928. package/dist/esm/src/utility/api/controller/get-list/transform-filter.utility.js.map +0 -1
  929. package/dist/esm/src/utility/api/controller/get-list/transform-operation.utility.js.map +0 -1
  930. package/dist/esm/src/utility/api/controller/get-method-name.utility.js.map +0 -1
  931. package/dist/esm/src/utility/api/controller/get-primary-column.utility.js +0 -13
  932. package/dist/esm/src/utility/api/controller/get-primary-column.utility.js.map +0 -1
  933. package/dist/esm/src/utility/api/controller/handle-request-relations.utility.js.map +0 -1
  934. package/dist/esm/src/utility/api/controller/transform-data.utility.js.map +0 -1
  935. package/dist/esm/src/utility/api/controller/validate-request.utility.js.map +0 -1
  936. package/dist/esm/src/utility/api/controller/write-dto-swagger.utility.js.map +0 -1
  937. package/dist/esm/src/utility/api/controller/write-method.utility.js +0 -18
  938. package/dist/esm/src/utility/api/controller/write-method.utility.js.map +0 -1
  939. package/dist/esm/src/utility/api/filter-order-by-from-entity.utility.js.map +0 -1
  940. package/dist/esm/src/utility/camel-case-string.utility.js.map +0 -1
  941. package/dist/esm/src/utility/capitalize-string.utility.js.map +0 -1
  942. package/dist/esm/src/utility/dto/analize.utility.js +0 -25
  943. package/dist/esm/src/utility/dto/analize.utility.js.map +0 -1
  944. package/dist/esm/src/utility/dto/build-decorator.utility.js.map +0 -1
  945. package/dist/esm/src/utility/dto/generate-decorator.utility.js +0 -13
  946. package/dist/esm/src/utility/dto/generate-decorator.utility.js.map +0 -1
  947. package/dist/esm/src/utility/dto/generate-exception.utility.js.map +0 -1
  948. package/dist/esm/src/utility/dto/generate-filter-decorator.utility.js.map +0 -1
  949. package/dist/esm/src/utility/dto/generate-get-list-response.utility.js.map +0 -1
  950. package/dist/esm/src/utility/dto/generate-relation-response.utility.js.map +0 -1
  951. package/dist/esm/src/utility/dto/generate.utility.js.map +0 -1
  952. package/dist/esm/src/utility/dto/get-decorator-config.utility.js.map +0 -1
  953. package/dist/esm/src/utility/dto/get-get-list-query-base-class.utility.js.map +0 -1
  954. package/dist/esm/src/utility/dto/handle-date-property.utility.js.map +0 -1
  955. package/dist/esm/src/utility/dto/is-property-exposed-for-guard.utility.js.map +0 -1
  956. package/dist/esm/src/utility/dto/is-property-should-be-marked.utility.js.map +0 -1
  957. package/dist/esm/src/utility/dto/is-should-be-generated.utility.js.map +0 -1
  958. package/dist/esm/src/utility/dto/validate-property-config.utility.js.map +0 -1
  959. package/dist/esm/src/utility/error-exception.utility.js.map +0 -1
  960. package/dist/esm/src/utility/error-string.utility.js +0 -6
  961. package/dist/esm/src/utility/error-string.utility.js.map +0 -1
  962. package/dist/esm/src/utility/generate-entity-information.utility.js.map +0 -1
  963. package/dist/esm/src/utility/get-entity-columns.utility.js.map +0 -1
  964. package/dist/esm/src/utility/is-error-of-type.utility.js.map +0 -1
  965. package/dist/esm/src/utility/logger.utility.js.map +0 -1
  966. package/dist/esm/src/validator/all-or-none-of-listed-properties.validator.js.map +0 -1
  967. package/dist/esm/src/validator/has-at-least-one-and-only-one-of-listed-properties.validator.js.map +0 -1
  968. package/dist/esm/src/validator/has-at-least-one-of-listed-properties.validator.js.map +0 -1
  969. package/dist/esm/src/validator/has-at-least-one-property.validator.js.map +0 -1
  970. package/dist/esm/src/validator/has-paired-custom-suffixes-fields.validator.js.map +0 -1
  971. package/dist/esm/src/validator/is-regular-expression.validator.js +0 -25
  972. package/dist/esm/src/validator/is-regular-expression.validator.js.map +0 -1
  973. package/dist/esm/src/validator/only-one-of-listed-properties.validator.js.map +0 -1
  974. package/dist/esm/type/decorator/api/controller/properties/index.d.ts +0 -1
  975. package/dist/esm/type/decorator/api/index.d.ts +0 -5
  976. package/dist/esm/type/decorator/index.d.ts +0 -1
  977. package/dist/esm/type/factory/api/index.d.ts +0 -1
  978. package/dist/esm/type/factory/index.d.ts +0 -1
  979. package/dist/esm/type/utility/api/controller/index.d.ts +0 -1
  980. package/dist/esm/type/utility/api/index.d.ts +0 -1
  981. /package/dist/esm/{src/class → class}/api/service-base.class.js +0 -0
  982. /package/dist/esm/{src/class → class}/utility/dto/property/factory/boolean.class.js +0 -0
  983. /package/dist/esm/{src/class → class}/utility/dto/property/factory/date.class.js +0 -0
  984. /package/dist/esm/{src/class → class}/utility/dto/property/factory/enum.class.js +0 -0
  985. /package/dist/esm/{src/class → class}/utility/dto/property/factory/string.class.js +0 -0
  986. /package/dist/esm/{src/class → class}/utility/dto/property/factory/uuid.class.js +0 -0
  987. /package/dist/esm/{src/constant → constant}/date.constant.js +0 -0
  988. /package/dist/esm/{src/constant → constant}/decorator/api/controller.constant.js +0 -0
  989. /package/dist/esm/{src/constant → constant}/decorator/api/property-describe.constant.js +0 -0
  990. /package/dist/esm/{src/constant → constant}/dto/exception.constant.js +0 -0
  991. /package/dist/esm/{src/constant → constant}/dto/transformer-value.constant.js +0 -0
  992. /package/dist/esm/{src/constant → constant}/interface/api/filter.constant.js +0 -0
  993. /package/dist/esm/{src/constant → constant}/interface/api/property/string.constant.js +0 -0
  994. /package/dist/esm/{src/constant → constant}/interface/api/property/wallet.constant.js +0 -0
  995. /package/dist/esm/{src/constant → constant}/number.constant.js +0 -0
  996. /package/dist/esm/{src/constant → constant}/utility/dto/generate.constant.js +0 -0
  997. /package/dist/esm/{src/decorator → decorator}/api/controller.decorator.js +0 -0
  998. /package/dist/esm/{src/enum → enum}/decorator/api/action.enum.js +0 -0
  999. /package/dist/esm/{src/enum → enum}/decorator/api/authentication-type.enum.js +0 -0
  1000. /package/dist/esm/{src/enum → enum}/decorator/api/controller/load-relations-strategy.enum.js +0 -0
  1001. /package/dist/esm/{src/enum → enum}/decorator/api/controller/request-transformer-type.enum.js +0 -0
  1002. /package/dist/esm/{src/enum → enum}/decorator/api/dto-type.enum.js +0 -0
  1003. /package/dist/esm/{src/enum → enum}/decorator/api/function/type.enum.js +0 -0
  1004. /package/dist/esm/{src/enum → enum}/decorator/api/property/data-type.enum.js +0 -0
  1005. /package/dist/esm/{src/enum → enum}/decorator/api/property/date/identifier.enum.js +0 -0
  1006. /package/dist/esm/{src/enum → enum}/decorator/api/property/date/type.enum.js +0 -0
  1007. /package/dist/esm/{src/enum → enum}/decorator/api/property/desribe-type.enum.js +0 -0
  1008. /package/dist/esm/{src/enum → enum}/decorator/api/property/number-type.enum.js +0 -0
  1009. /package/dist/esm/{src/enum → enum}/decorator/api/property/string-type.enum.js +0 -0
  1010. /package/dist/esm/{src/enum → enum}/decorator/api/route-type.enum.js +0 -0
  1011. /package/dist/esm/{src/enum → enum}/exception.enum.js +0 -0
  1012. /package/dist/esm/{src/enum → enum}/filter-operation.enum.js +0 -0
  1013. /package/dist/esm/{src/enum → enum}/filter-order-direction.enum.js +0 -0
  1014. /package/dist/esm/{src/enum → enum}/utility/error-string-action.enum.js +0 -0
  1015. /package/dist/esm/{src/utility → utility}/dto/validate-property-config.utility.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analize.utility.js","sources":["../../../../../src/utility/dto/analize.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA;;;;;AAKG;AACG,SAAU,qBAAqB,CAAC,MAAsB,EAAA;AAC3D,IAAA,MAAM,OAAO,GAAoB,eAAe,CAAC,WAAW,EAAE;AAE9D,IAA4C,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,IAAI,iBAAiB;AAIjG;;;;"}
@@ -1,6 +1,21 @@
1
+ import type { IApiEntity } from '../../interface/entity/index';
1
2
  import type { Type } from "@nestjs/common";
2
3
  import type { IAuthGuard } from "@nestjs/passport";
3
- import type { IApiEntity } from "../../interface";
4
- import type { TApiPropertyDescribeProperties } from "../../type";
5
- import { EApiDtoType, EApiRouteType } from "../../enum";
6
- export declare function DtoBuildDecorator<E, M extends EApiRouteType, D extends EApiDtoType>(method: M, propertyMetadata: TApiPropertyDescribeProperties, entity: IApiEntity<E>, dtoType: D, propertyName: string, currentGuard?: Type<IAuthGuard>): Array<PropertyDecorator> | undefined;
4
+ import type { TApiPropertyDescribeProperties } from '../../type/decorator/api/property/index';
5
+ import { EApiDtoType, EApiRouteType } from '../../enum/decorator/api/index';
6
+ /**
7
+ * Creates property decorators for DTOs based on property metadata, entity information, and context.
8
+ * Handles special cases for date properties and guard-based exposure rules.
9
+ * @param {M} method - The API route type (CREATE, DELETE, GET, etc.)
10
+ * @param {TApiPropertyDescribeProperties} propertyMetadata - Metadata describing the property
11
+ * @param {IApiEntity<E>} entity - The entity metadata
12
+ * @param {D} dtoType - The type of DTO (REQUEST, RESPONSE, etc.)
13
+ * @param {string} propertyName - The name of the property
14
+ * @param {Type<IAuthGuard>} [currentGuard] - Optional authentication guard
15
+ * @param {Record<string, Type<unknown>>} [generatedDTOs] - Optional record of dynamically generated DTOs
16
+ * @returns {Array<PropertyDecorator> | undefined} Array of property decorators or undefined if property should not be included
17
+ * @template E - The entity type
18
+ * @template M - The API route type
19
+ * @template D - The DTO type
20
+ */
21
+ export declare function DtoBuildDecorator<E, M extends EApiRouteType, D extends EApiDtoType>(method: M, propertyMetadata: TApiPropertyDescribeProperties, entity: IApiEntity<E>, dtoType: D, propertyName: string, currentGuard?: Type<IAuthGuard>, generatedDTOs?: Record<string, Type<unknown>>): Array<PropertyDecorator> | undefined;
@@ -11,16 +11,28 @@ import { EApiPropertyDescribeType } from '../../enum/decorator/api/property/desr
11
11
  import '../../enum/decorator/api/property/number-type.enum.js';
12
12
  import '../../enum/decorator/api/property/string-type.enum.js';
13
13
  import { EApiRouteType } from '../../enum/decorator/api/route-type.enum.js';
14
- import '../../enum/exception.enum.js';
15
- import '../../enum/filter-order-direction.enum.js';
16
- import '../../enum/utility/error-string-action.enum.js';
17
14
  import { DtoGenerateDecorator } from './generate-decorator.utility.js';
18
15
  import { DtoGetDecoratorConfig } from './get-decorator-config.utility.js';
19
16
  import { DtoHandleDateProperty } from './handle-date-property.utility.js';
20
17
  import { DtoIsPropertyExposedForGuard } from './is-property-exposed-for-guard.utility.js';
21
18
 
19
+ /**
20
+ * Creates property decorators for DTOs based on property metadata, entity information, and context.
21
+ * Handles special cases for date properties and guard-based exposure rules.
22
+ * @param {M} method - The API route type (CREATE, DELETE, GET, etc.)
23
+ * @param {TApiPropertyDescribeProperties} propertyMetadata - Metadata describing the property
24
+ * @param {IApiEntity<E>} entity - The entity metadata
25
+ * @param {D} dtoType - The type of DTO (REQUEST, RESPONSE, etc.)
26
+ * @param {string} propertyName - The name of the property
27
+ * @param {Type<IAuthGuard>} [currentGuard] - Optional authentication guard
28
+ * @param {Record<string, Type<unknown>>} [generatedDTOs] - Optional record of dynamically generated DTOs
29
+ * @returns {Array<PropertyDecorator> | undefined} Array of property decorators or undefined if property should not be included
30
+ * @template E - The entity type
31
+ * @template M - The API route type
32
+ * @template D - The DTO type
33
+ */
22
34
  // eslint-disable-next-line @elsikora/typescript/no-unnecessary-type-parameters
23
- function DtoBuildDecorator(method, propertyMetadata, entity, dtoType, propertyName, currentGuard) {
35
+ function DtoBuildDecorator(method, propertyMetadata, entity, dtoType, propertyName, currentGuard, generatedDTOs) {
24
36
  const properties = propertyMetadata.properties?.[method];
25
37
  if (properties?.[dtoType]?.isEnabled === false || (properties?.[dtoType]?.isResponse && properties?.[dtoType]?.isExpose === false)) {
26
38
  return undefined;
@@ -43,7 +55,7 @@ function DtoBuildDecorator(method, propertyMetadata, entity, dtoType, propertyNa
43
55
  }
44
56
  }
45
57
  const config = DtoGetDecoratorConfig(method, propertyMetadata, dtoType);
46
- return [DtoGenerateDecorator(propertyMetadata, entity, config, method, dtoType, propertyName)];
58
+ return [DtoGenerateDecorator(propertyMetadata, entity, config, method, dtoType, propertyName, generatedDTOs)];
47
59
  }
48
60
 
49
61
  export { DtoBuildDecorator };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-decorator.utility.js","sources":["../../../../../src/utility/dto/build-decorator.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAaA;;;;;;;;;;;;;;AAcG;AACH;AACgB,SAAA,iBAAiB,CAAoD,MAAS,EAAE,gBAAgD,EAAE,MAAqB,EAAE,OAAU,EAAE,YAAoB,EAAE,YAA+B,EAAE,aAA6C,EAAA;IAKxR,MAAM,UAAU,GAA2C,gBAAgB,CAAC,UAAU,GAAG,MAAM,CAA2C;AAE1I,IAAA,IAAI,UAAU,GAAG,OAAO,CAAC,EAAE,SAAS,KAAK,KAAK,KAAK,UAAU,GAAG,OAAO,CAAC,EAAE,UAAU,IAAI,UAAU,GAAG,OAAO,CAAC,EAAE,QAAQ,KAAK,KAAK,CAAC,EAAE;AACnI,QAAA,OAAO,SAAS;;AAGjB,IAAA,IAAI,CAAC,4BAA4B,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE;AACnF,QAAA,OAAO,SAAS;;IAGjB,IAAI,gBAAgB,CAAC,IAAI,KAAK,wBAAwB,CAAC,IAAI,EAAE;QAC5D,MAAM,YAAY,GAAuC,gBAAgB;QAEzE,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,IAAI,MAAM,KAAK,aAAa,CAAC,cAAc,KAAK,OAAO,KAAK,WAAW,CAAC,IAAI,EAAE;AACjH,YAAA,OAAO,SAAS;;AAGjB,QAAA,IAAI,MAAM,KAAK,aAAa,CAAC,QAAQ,IAAI,OAAO,KAAK,WAAW,CAAC,KAAK,EAAE;YACvE,MAAM,cAAc,GAAoE,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,UAAU,CAAC;AAEpJ,YAAA,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,QAAkE,KAAI;AAChG,gBAAA,MAAM,WAAW,GAAmC,EAAE,GAAG,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE;AACxG,gBAAA,MAAM,MAAM,GAAsC,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC;AAEpH,gBAAA,OAAO,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC;AACxF,aAAC,CAAC;;;AAIJ,IAAA,MAAM,MAAM,GAAsC,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAqB,CAAC;AAExH,IAAA,OAAO,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;AAC9G;;;;"}
@@ -1,4 +1,19 @@
1
- import type { EApiDtoType, EApiRouteType } from "../../enum";
2
- import type { IApiEntity } from "../../interface";
3
- import type { TApiPropertyDescribeDtoProperties, TApiPropertyDescribeProperties } from "../../type";
4
- export declare function DtoGenerateDecorator<E>(metadata: TApiPropertyDescribeProperties, entity: IApiEntity<E>, config: TApiPropertyDescribeDtoProperties, method: EApiRouteType, dtoType: EApiDtoType, propertyName: string): PropertyDecorator;
1
+ import type { EApiDtoType, EApiRouteType } from '../../enum/decorator/api/index';
2
+ import type { IApiEntity } from '../../interface/entity/index';
3
+ import type { Type } from "@nestjs/common";
4
+ import type { TApiPropertyDescribeDtoProperties, TApiPropertyDescribeProperties } from '../../type/decorator/api/property/index';
5
+ /**
6
+ * Factory function that generates appropriate property decorators based on property type.
7
+ * Uses factories defined in DTO_UTILITY_CONSTANT to create the correct decorator for each property type.
8
+ * @param {TApiPropertyDescribeProperties} metadata - Metadata describing the property
9
+ * @param {IApiEntity<E>} entity - The entity metadata
10
+ * @param {TApiPropertyDescribeDtoProperties} config - Configuration for the decorator
11
+ * @param {EApiRouteType} method - The API route type (CREATE, DELETE, GET, etc.)
12
+ * @param {EApiDtoType} dtoType - The type of DTO (REQUEST, RESPONSE, etc.)
13
+ * @param {string} propertyName - The name of the property
14
+ * @param {Record<string, Type<unknown>>} [generatedDTOs] - Optional record of dynamically generated DTOs
15
+ * @returns {PropertyDecorator} The generated property decorator
16
+ * @throws {Error} When property type has no registered factory
17
+ * @template E - The entity type
18
+ */
19
+ export declare function DtoGenerateDecorator<E>(metadata: TApiPropertyDescribeProperties, entity: IApiEntity<E>, config: TApiPropertyDescribeDtoProperties, method: EApiRouteType, dtoType: EApiDtoType, propertyName: string, generatedDTOs?: Record<string, Type<unknown>>): PropertyDecorator;
@@ -0,0 +1,27 @@
1
+ import { DTO_UTILITY_CONSTANT } from '../../constant/utility/dto/constant.js';
2
+ import { ErrorException } from '../error-exception.utility.js';
3
+
4
+ /**
5
+ * Factory function that generates appropriate property decorators based on property type.
6
+ * Uses factories defined in DTO_UTILITY_CONSTANT to create the correct decorator for each property type.
7
+ * @param {TApiPropertyDescribeProperties} metadata - Metadata describing the property
8
+ * @param {IApiEntity<E>} entity - The entity metadata
9
+ * @param {TApiPropertyDescribeDtoProperties} config - Configuration for the decorator
10
+ * @param {EApiRouteType} method - The API route type (CREATE, DELETE, GET, etc.)
11
+ * @param {EApiDtoType} dtoType - The type of DTO (REQUEST, RESPONSE, etc.)
12
+ * @param {string} propertyName - The name of the property
13
+ * @param {Record<string, Type<unknown>>} [generatedDTOs] - Optional record of dynamically generated DTOs
14
+ * @returns {PropertyDecorator} The generated property decorator
15
+ * @throws {Error} When property type has no registered factory
16
+ * @template E - The entity type
17
+ */
18
+ function DtoGenerateDecorator(metadata, entity, config, method, dtoType, propertyName, generatedDTOs) {
19
+ const factory = DTO_UTILITY_CONSTANT.PROPERTY_DECORATOR_FACTORIES[metadata.type];
20
+ if (!factory) {
21
+ throw ErrorException(`Unknown property type ${metadata.type}`);
22
+ }
23
+ return factory.create(metadata, entity, config, method, dtoType, propertyName, generatedDTOs);
24
+ }
25
+
26
+ export { DtoGenerateDecorator };
27
+ //# sourceMappingURL=generate-decorator.utility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-decorator.utility.js","sources":["../../../../../src/utility/dto/generate-decorator.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AASA;;;;;;;;;;;;;AAaG;AACa,SAAA,oBAAoB,CAAI,QAAwC,EAAE,MAAqB,EAAE,MAAyC,EAAE,MAAqB,EAAE,OAAoB,EAAE,YAAoB,EAAE,aAA6C,EAAA;IACnQ,MAAM,OAAO,GAA2B,oBAAoB,CAAC,4BAA4B,CAAC,QAAQ,CAAC,IAAI,CAA2B;IAElI,IAAI,CAAC,OAAO,EAAE;QACb,MAAM,cAAc,CAAC,CAAyB,sBAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,CAAE,CAAC;;AAG/D,IAAA,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC;AAC9F;;;;"}
@@ -0,0 +1,21 @@
1
+ import type { EApiDtoType, EApiRouteType } from '../../enum/decorator/api/index';
2
+ import type { IApiEntity } from '../../interface/entity/index';
3
+ import type { Type } from "@nestjs/common";
4
+ import type { IAuthGuard } from "@nestjs/passport";
5
+ import type { TApiPropertyDescribeProperties } from '../../type/decorator/api/property/index';
6
+ /**
7
+ * Generates dynamic DTOs for object-type properties based on property metadata.
8
+ * Creates classes on the fly with appropriate decorators for each property and sets up
9
+ * proper inheritance and naming conventions.
10
+ * @param {M} method - The API route type (CREATE, DELETE, GET, etc.)
11
+ * @param {TApiPropertyDescribeProperties} propertyMetadata - Metadata describing the property
12
+ * @param {IApiEntity<E>} entity - The entity metadata
13
+ * @param {D} dtoType - The type of DTO (REQUEST, RESPONSE, etc.)
14
+ * @param {string} _propertyName - The name of the property
15
+ * @param {Type<IAuthGuard>} [currentGuard] - Optional authentication guard
16
+ * @returns {Record<string, Type<unknown>> | undefined} A record of generated DTO classes or undefined if generation not needed
17
+ * @template E - The entity type
18
+ * @template M - The API route type
19
+ * @template D - The DTO type
20
+ */
21
+ export declare function DtoGenerateDynamic<E, M extends EApiRouteType, D extends EApiDtoType>(method: M, propertyMetadata: TApiPropertyDescribeProperties, entity: IApiEntity<E>, dtoType: D, _propertyName: string, currentGuard?: Type<IAuthGuard>): Record<string, Type<unknown>> | undefined;
@@ -0,0 +1,92 @@
1
+ import '../../enum/decorator/api/action.enum.js';
2
+ import '../../enum/decorator/api/authentication-type.enum.js';
3
+ import '../../enum/decorator/api/controller/load-relations-strategy.enum.js';
4
+ import '../../enum/decorator/api/controller/request-transformer-type.enum.js';
5
+ import '../../enum/decorator/api/dto-type.enum.js';
6
+ import '../../enum/decorator/api/function/type.enum.js';
7
+ import '../../enum/decorator/api/property/data-type.enum.js';
8
+ import '../../enum/decorator/api/property/date/identifier.enum.js';
9
+ import '../../enum/decorator/api/property/date/type.enum.js';
10
+ import { EApiPropertyDescribeType } from '../../enum/decorator/api/property/desribe-type.enum.js';
11
+ import '../../enum/decorator/api/property/number-type.enum.js';
12
+ import '../../enum/decorator/api/property/string-type.enum.js';
13
+ import '../../enum/decorator/api/route-type.enum.js';
14
+ import { CamelCaseString } from '../camel-case-string.utility.js';
15
+ import { DtoBuildDecorator } from './build-decorator.utility.js';
16
+ import { DtoIsPropertyExposedForGuard } from './is-property-exposed-for-guard.utility.js';
17
+
18
+ /**
19
+ * Generates dynamic DTOs for object-type properties based on property metadata.
20
+ * Creates classes on the fly with appropriate decorators for each property and sets up
21
+ * proper inheritance and naming conventions.
22
+ * @param {M} method - The API route type (CREATE, DELETE, GET, etc.)
23
+ * @param {TApiPropertyDescribeProperties} propertyMetadata - Metadata describing the property
24
+ * @param {IApiEntity<E>} entity - The entity metadata
25
+ * @param {D} dtoType - The type of DTO (REQUEST, RESPONSE, etc.)
26
+ * @param {string} _propertyName - The name of the property
27
+ * @param {Type<IAuthGuard>} [currentGuard] - Optional authentication guard
28
+ * @returns {Record<string, Type<unknown>> | undefined} A record of generated DTO classes or undefined if generation not needed
29
+ * @template E - The entity type
30
+ * @template M - The API route type
31
+ * @template D - The DTO type
32
+ */
33
+ // eslint-disable-next-line @elsikora/typescript/no-unnecessary-type-parameters
34
+ function DtoGenerateDynamic(method, propertyMetadata, entity, dtoType, _propertyName, currentGuard) {
35
+ if (propertyMetadata.type !== EApiPropertyDescribeType.OBJECT) {
36
+ return undefined;
37
+ }
38
+ const properties = propertyMetadata.properties?.[method];
39
+ if (properties?.[dtoType]?.isEnabled === false || (properties?.[dtoType]?.isResponse && properties?.[dtoType]?.isExpose === false)) {
40
+ return undefined;
41
+ }
42
+ if (!DtoIsPropertyExposedForGuard(method, propertyMetadata, dtoType, currentGuard)) {
43
+ return undefined;
44
+ }
45
+ const generatedDTOs = {};
46
+ if (propertyMetadata.type === EApiPropertyDescribeType.OBJECT && !Array.isArray(propertyMetadata.dataType) && "isDynamicallyGenerated" in propertyMetadata && propertyMetadata.isDynamicallyGenerated) {
47
+ const dataForGeneration = [];
48
+ for (const dynamicDtoName of Object.keys(propertyMetadata.dataType)) {
49
+ if (propertyMetadata.dataType[dynamicDtoName]) {
50
+ dataForGeneration.push({
51
+ data: propertyMetadata.dataType[dynamicDtoName],
52
+ name: dynamicDtoName,
53
+ });
54
+ }
55
+ }
56
+ for (const { data, name } of dataForGeneration) {
57
+ class GeneratedDTO {
58
+ constructor() {
59
+ for (const propertyName of Object.keys(data)) {
60
+ Object.defineProperty(this, propertyName, {
61
+ // eslint-disable-next-line @elsikora/typescript/naming-convention
62
+ configurable: true,
63
+ // eslint-disable-next-line @elsikora/typescript/naming-convention
64
+ enumerable: true,
65
+ value: undefined,
66
+ // eslint-disable-next-line @elsikora/typescript/naming-convention
67
+ writable: true,
68
+ });
69
+ }
70
+ }
71
+ }
72
+ for (const propertyName of Object.keys(data)) {
73
+ if (data[propertyName]) {
74
+ const decorators = DtoBuildDecorator(method, data[propertyName], entity, dtoType, propertyName, currentGuard, {});
75
+ if (decorators) {
76
+ for (const [, decorator] of decorators.entries()) {
77
+ decorator(GeneratedDTO.prototype, propertyName);
78
+ }
79
+ }
80
+ }
81
+ }
82
+ Object.defineProperty(GeneratedDTO, "name", {
83
+ value: `${entity.name ?? "UnknownResource"}${CamelCaseString(method)}${CamelCaseString(dtoType)}${CamelCaseString(_propertyName)}${CamelCaseString(name)}DTO`,
84
+ });
85
+ generatedDTOs[name] = GeneratedDTO;
86
+ }
87
+ }
88
+ return generatedDTOs;
89
+ }
90
+
91
+ export { DtoGenerateDynamic };
92
+ //# sourceMappingURL=generate-dynamic.utility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-dynamic.utility.js","sources":["../../../../../src/utility/dto/generate-dynamic.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,2 +1,9 @@
1
1
  import { HttpStatus, type Type } from "@nestjs/common";
2
+ /**
3
+ * Creates exception DTOs with standardized properties based on HTTP status codes.
4
+ * Generates a class with properties like correlationID, error name, message, status code, and timestamp,
5
+ * all properly decorated with Swagger and validation decorators.
6
+ * @param {HttpStatus} httpStatus - The HTTP status code for the exception
7
+ * @returns {Type<unknown>} A generated DTO class for the exception
8
+ */
2
9
  export declare function DtoGenerateException(httpStatus: HttpStatus): Type<unknown>;
@@ -1,7 +1,5 @@
1
- import { __decorate, __metadata } from '../../../external/tslib/tslib.es6.js';
2
- import { HttpStatus } from '@nestjs/common';
1
+ import { __decorate, __metadata } from '../../external/tslib/tslib.es6.js';
3
2
  import { DATE_CONSTANT } from '../../constant/date.constant.js';
4
- import '../../constant/decorator/api/function.constant.js';
5
3
  import { EXCEPTION_DTO_CONSTANT } from '../../constant/dto/exception.constant.js';
6
4
  import { NUMBER_CONSTANT } from '../../constant/number.constant.js';
7
5
  import { ApiPropertyEnum } from '../../decorator/api/property/enum.decorator.js';
@@ -21,11 +19,16 @@ import '../../enum/decorator/api/property/desribe-type.enum.js';
21
19
  import { EApiPropertyNumberType } from '../../enum/decorator/api/property/number-type.enum.js';
22
20
  import { EApiPropertyStringType } from '../../enum/decorator/api/property/string-type.enum.js';
23
21
  import '../../enum/decorator/api/route-type.enum.js';
24
- import '../../enum/exception.enum.js';
25
- import '../../enum/filter-order-direction.enum.js';
26
- import '../../enum/utility/error-string-action.enum.js';
22
+ import { HttpStatus } from '@nestjs/common';
27
23
  import { CamelCaseString } from '../camel-case-string.utility.js';
28
24
 
25
+ /**
26
+ * Creates exception DTOs with standardized properties based on HTTP status codes.
27
+ * Generates a class with properties like correlationID, error name, message, status code, and timestamp,
28
+ * all properly decorated with Swagger and validation decorators.
29
+ * @param {HttpStatus} httpStatus - The HTTP status code for the exception
30
+ * @returns {Type<unknown>} A generated DTO class for the exception
31
+ */
29
32
  function DtoGenerateException(httpStatus) {
30
33
  const errorName = HttpStatus[httpStatus];
31
34
  class GeneratedErrorDTO {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-exception.utility.js","sources":["../../../../../src/utility/dto/generate-exception.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAWA;;;;;;AAMG;AACG,SAAU,oBAAoB,CAAC,UAAsB,EAAA;AAC1D,IAAA,MAAM,SAAS,GAAW,UAAU,CAAC,UAAU,CAAC;AAEhD,IAAA,MAAM,iBAAiB,CAAA;AAEtB,QAAA,aAAa;AAYb,QAAA,KAAK,GAAW,eAAe,CAAC,SAAS,CAAC;QAY1C,OAAO,GAAW,eAAe;QAUjC,UAAU,GAAe,UAAU;AAYnC,QAAA,SAAS;AACT;AA/CA,IAAA,UAAA,CAAA;AADC,QAAA,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;;AAChD,KAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,MAAA,CAAA;AAYvB,IAAA,UAAA,CAAA;AAVC,QAAA,iBAAiB,CAAC;AAClB,YAAA,WAAW,EAAE,MAAM;AACnB,YAAA,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;AACzB,YAAA,YAAY,EAAE,eAAe,CAAC,SAAS,CAAC;YACxC,MAAM,EAAE,sBAAsB,CAAC,MAAM;AACrC,YAAA,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,sBAAsB,CAAC,oBAAoB;YACtD,SAAS,EAAE,sBAAsB,CAAC,oBAAoB;AACtD,YAAA,OAAO,EAAE,sBAAsB;SAC/B,CAAC;;AACyC,KAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAY3C,IAAA,UAAA,CAAA;AAVC,QAAA,iBAAiB,CAAC;AAClB,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;AACzB,YAAA,YAAY,EAAE,eAAe;YAC7B,MAAM,EAAE,sBAAsB,CAAC,MAAM;AACrC,YAAA,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,sBAAsB,CAAC,4BAA4B;YAC9D,SAAS,EAAE,sBAAsB,CAAC,4BAA4B;AAC9D,YAAA,OAAO,EAAE,sBAAsB;SAC/B,CAAC;;AACgC,KAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AAUlC,IAAA,UAAA,CAAA;AARC,QAAA,eAAe,CAAC;AAChB,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;AACzB,YAAA,IAAI,EAAE,UAAU;AAChB,YACA,YAAY,EAAE,UAAU;AACxB,YAAA,UAAU,EAAE,IAAI;SAChB,CAAC;;AACkC,KAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,MAAA,CAAA;AAYpC,IAAA,UAAA,CAAA;AAVC,QAAA,iBAAiB,CAAC;AAClB,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;AACzB,YAAA,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;YACxB,MAAM,EAAE,sBAAsB,CAAC,OAAO;AACtC,YAAA,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,aAAa,CAAC,iBAAiB;YACxC,OAAO,EAAE,aAAa,CAAC,iBAAiB;YACxC,UAAU,EAAE,eAAe,CAAC,GAAG;SAC/B,CAAC;;AACiB,KAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,MAAA,CAAA;AAGpB,IAAA,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAA,SAAA,EAAY,eAAe,CAAC,SAAS,CAAC,CAAK,GAAA,CAAA,EAAE,CAAC;AAExG,IAAA,OAAO,iBAAiB;AACzB;;;;"}
@@ -1,3 +1,12 @@
1
- import type { IApiEntity } from "../../interface";
2
- import type { TApiPropertyDescribeProperties } from "../../type";
1
+ import type { IApiEntity } from '../../interface/entity/index';
2
+ import type { TApiPropertyDescribeProperties } from '../../type/decorator/api/property/index';
3
+ /**
4
+ * Generates filter operation enum decorators based on property type.
5
+ * Maps different property types (boolean, date, enum, number, string, etc.) to their
6
+ * corresponding filter operation enums.
7
+ * @param {TApiPropertyDescribeProperties} metadata - Metadata describing the property
8
+ * @param {IApiEntity<E>} entity - The entity metadata
9
+ * @returns {PropertyDecorator} A decorator that adds the appropriate filter operation enum
10
+ * @template E - The entity type
11
+ */
3
12
  export declare function DtoGenerateFilterDecorator<E>(metadata: TApiPropertyDescribeProperties, entity: IApiEntity<E>): PropertyDecorator;
@@ -12,11 +12,17 @@ import { EApiPropertyDescribeType } from '../../enum/decorator/api/property/desr
12
12
  import '../../enum/decorator/api/property/number-type.enum.js';
13
13
  import '../../enum/decorator/api/property/string-type.enum.js';
14
14
  import '../../enum/decorator/api/route-type.enum.js';
15
- import '../../enum/exception.enum.js';
16
- import '../../enum/filter-order-direction.enum.js';
17
- import '../../enum/utility/error-string-action.enum.js';
18
15
  import { EFilterOperationUuid, EFilterOperationString, EFilterOperationRelation, EFilterOperationObject, EFilterOperationNumber, EFilterOperationEnum, EFilterOperationDate, EFilterOperationBoolean } from '../../enum/filter-operation.enum.js';
19
16
 
17
+ /**
18
+ * Generates filter operation enum decorators based on property type.
19
+ * Maps different property types (boolean, date, enum, number, string, etc.) to their
20
+ * corresponding filter operation enums.
21
+ * @param {TApiPropertyDescribeProperties} metadata - Metadata describing the property
22
+ * @param {IApiEntity<E>} entity - The entity metadata
23
+ * @returns {PropertyDecorator} A decorator that adds the appropriate filter operation enum
24
+ * @template E - The entity type
25
+ */
20
26
  function DtoGenerateFilterDecorator(metadata, entity) {
21
27
  switch (metadata.type) {
22
28
  case EApiPropertyDescribeType.BOOLEAN: {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-filter-decorator.utility.js","sources":["../../../../../src/utility/dto/generate-filter-decorator.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;AAOA;;;;;;;;AAQG;AACa,SAAA,0BAA0B,CAAI,QAAwC,EAAE,MAAqB,EAAA;AAC5G,IAAA,QAAQ,QAAQ,CAAC,IAAI;AACpB,QAAA,KAAK,wBAAwB,CAAC,OAAO,EAAE;YACtC,OAAO,eAAe,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAuC,UAAU,EAAE,KAAK,EAAE,CAAC;;AAG7J,QAAA,KAAK,wBAAwB,CAAC,IAAI,EAAE;;AAGnC,YAAA,OAAO,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAoC,UAAU,EAAE,KAAK,EAAE,CAAC;;AAGpH,QAAA,KAAK,wBAAwB,CAAC,IAAI,EAAE;YACnC,OAAO,eAAe,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAoC,UAAU,EAAE,KAAK,EAAE,CAAC;;AAGvJ,QAAA,KAAK,wBAAwB,CAAC,MAAM,EAAE;;YAGrC,OAAO,eAAe,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAsC,UAAU,EAAE,KAAK,EAAE,CAAC;;AAG3J,QAAA,KAAK,wBAAwB,CAAC,MAAM,EAAE;YACrC,OAAO,eAAe,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAsC,UAAU,EAAE,KAAK,EAAE,CAAC;;AAG3J,QAAA,KAAK,wBAAwB,CAAC,QAAQ,EAAE;YACvC,OAAO,eAAe,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAwC,UAAU,EAAE,KAAK,EAAE,CAAC;;AAG/J,QAAA,KAAK,wBAAwB,CAAC,MAAM,EAAE;YACrC,OAAO,eAAe,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAsC,UAAU,EAAE,KAAK,EAAE,CAAC;;AAG3J,QAAA,KAAK,wBAAwB,CAAC,IAAI,EAAE;YACnC,OAAO,eAAe,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAoC,UAAU,EAAE,KAAK,EAAE,CAAC;;;AAGzJ;;;;"}
@@ -1,4 +1,13 @@
1
1
  import { Type } from "@nestjs/common";
2
2
  type TClassType<T = any> = new (...arguments_: Array<any>) => T;
3
+ /**
4
+ * Generates a DTO for paginated list responses with appropriate metadata.
5
+ * Creates a class with count, currentPage, items, totalCount, and totalPages properties,
6
+ * all properly decorated with Swagger and validation decorators.
7
+ * @param {TClassType} resourceClass - The class representing the entity being listed
8
+ * @param {TClassType} responseResourceClass - The response DTO class for individual items
9
+ * @param {string} name - The name for the generated DTO class
10
+ * @returns {Type<unknown>} A generated DTO class for paginated list responses
11
+ */
3
12
  export declare function DtoGenerateGetListResponse(resourceClass: TClassType, responseResourceClass: TClassType, name: string): Type<unknown>;
4
13
  export {};
@@ -1,8 +1,7 @@
1
- import { __decorate, __metadata } from '../../../external/tslib/tslib.es6.js';
2
- import { PickType } from '@nestjs/swagger';
1
+ import { __decorate, __metadata } from '../../external/tslib/tslib.es6.js';
2
+ import { LIST_DTO_CONSTANT } from '../../constant/dto/list.constant.js';
3
3
  import { ApiPropertyNumber } from '../../decorator/api/property/number.decorator.js';
4
4
  import { ApiPropertyObject } from '../../decorator/api/property/object.decorator.js';
5
- import LIST_DTO_CONSTANT from '../../constant/dto/list.constant.js';
6
5
  import '../../enum/decorator/api/action.enum.js';
7
6
  import '../../enum/decorator/api/authentication-type.enum.js';
8
7
  import '../../enum/decorator/api/controller/load-relations-strategy.enum.js';
@@ -16,10 +15,17 @@ import '../../enum/decorator/api/property/desribe-type.enum.js';
16
15
  import { EApiPropertyNumberType } from '../../enum/decorator/api/property/number-type.enum.js';
17
16
  import '../../enum/decorator/api/property/string-type.enum.js';
18
17
  import '../../enum/decorator/api/route-type.enum.js';
19
- import '../../enum/exception.enum.js';
20
- import '../../enum/filter-order-direction.enum.js';
21
- import '../../enum/utility/error-string-action.enum.js';
18
+ import { PickType } from '@nestjs/swagger';
22
19
 
20
+ /**
21
+ * Generates a DTO for paginated list responses with appropriate metadata.
22
+ * Creates a class with count, currentPage, items, totalCount, and totalPages properties,
23
+ * all properly decorated with Swagger and validation decorators.
24
+ * @param {TClassType} resourceClass - The class representing the entity being listed
25
+ * @param {TClassType} responseResourceClass - The response DTO class for individual items
26
+ * @param {string} name - The name for the generated DTO class
27
+ * @returns {Type<unknown>} A generated DTO class for paginated list responses
28
+ */
23
29
  function DtoGenerateGetListResponse(resourceClass, responseResourceClass, name) {
24
30
  class ApiListGetResponse extends PickType(resourceClass, []) {
25
31
  count;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-get-list-response.utility.js","sources":["../../../../../src/utility/dto/generate-get-list-response.utility.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,4 +1,14 @@
1
1
  import type { Type } from "@nestjs/common";
2
- import type { IApiEntity } from "../../interface";
3
- import { EApiDtoType, EApiRouteType } from "../../enum";
2
+ import { EApiDtoType, EApiRouteType } from '../../enum/decorator/api/index';
3
+ import { IApiEntity } from '../../interface/entity/index';
4
+ /**
5
+ * Creates a simple relationship DTO containing only an ID field.
6
+ * Used for representing related entities in API responses with minimal information.
7
+ * @param {IApiEntity<E>} entity - The entity metadata
8
+ * @param {EApiRouteType} method - The API route type (CREATE, DELETE, GET, etc.)
9
+ * @param {EApiDtoType} dtoType - The type of DTO (REQUEST, RESPONSE, etc.)
10
+ * @param {string} propertyName - The name of the relation property
11
+ * @returns {Type<unknown>} A generated DTO class for relation representation
12
+ * @template E - The entity type
13
+ */
4
14
  export declare function DtoGenerateRelationResponse<E>(entity: IApiEntity<E>, method: EApiRouteType, dtoType: EApiDtoType, propertyName: string): Type<unknown>;
@@ -1,8 +1,18 @@
1
- import { __decorate, __metadata } from '../../../external/tslib/tslib.es6.js';
1
+ import { __decorate, __metadata } from '../../external/tslib/tslib.es6.js';
2
2
  import { ApiPropertyUUID } from '../../decorator/api/property/uuid.decorator.js';
3
3
  import { CamelCaseString } from '../camel-case-string.utility.js';
4
4
  import { CapitalizeString } from '../capitalize-string.utility.js';
5
5
 
6
+ /**
7
+ * Creates a simple relationship DTO containing only an ID field.
8
+ * Used for representing related entities in API responses with minimal information.
9
+ * @param {IApiEntity<E>} entity - The entity metadata
10
+ * @param {EApiRouteType} method - The API route type (CREATE, DELETE, GET, etc.)
11
+ * @param {EApiDtoType} dtoType - The type of DTO (REQUEST, RESPONSE, etc.)
12
+ * @param {string} propertyName - The name of the relation property
13
+ * @returns {Type<unknown>} A generated DTO class for relation representation
14
+ * @template E - The entity type
15
+ */
6
16
  function DtoGenerateRelationResponse(entity, method, dtoType, propertyName) {
7
17
  class GeneratedRelationDTO {
8
18
  id;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-relation-response.utility.js","sources":["../../../../../src/utility/dto/generate-relation-response.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAQA;;;;;;;;;AASG;AACG,SAAU,2BAA2B,CAAI,MAAqB,EAAE,MAAqB,EAAE,OAAoB,EAAE,YAAoB,EAAA;AACtI,IAAA,MAAM,oBAAoB,CAAA;AAEzB,QAAA,EAAE;AACF;AADA,IAAA,UAAA,CAAA;QADC,eAAe,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;;AAClC,KAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,IAAA,EAAA,MAAA,CAAA;AAGb,IAAA,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAG,EAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAG,EAAA,eAAe,CAAC,MAAM,CAAC,CAAG,EAAA,eAAe,CAAC,OAAO,CAAC,CAAG,EAAA,gBAAgB,CAAC,YAAY,CAAC,CAAK,GAAA,CAAA,EAAE,CAAC;AAEjL,IAAA,OAAO,oBAAoB;AAC5B;;;;"}
@@ -1,6 +1,21 @@
1
+ import type { IApiControllerPropertiesRouteAutoDtoConfig } from '../../interface/decorator/api/index';
2
+ import type { IApiEntity } from '../../interface/entity/index';
1
3
  import type { Type } from "@nestjs/common";
2
4
  import type { IAuthGuard } from "@nestjs/passport";
3
5
  import type { ObjectLiteral } from "typeorm";
4
- import type { IApiControllerPropertiesRouteAutoDtoConfig, IApiEntity } from "../../interface";
5
- import { EApiDtoType, EApiRouteType } from "../../enum";
6
+ import { EApiDtoType, EApiRouteType } from '../../enum/decorator/api/index';
7
+ /**
8
+ * Core utility for DTO generation that determines which properties should be included in the DTO.
9
+ * Builds decorators, handles special cases like filter queries, and generates the appropriate class
10
+ * based on entity metadata, route type, and DTO type.
11
+ * @param {ObjectLiteral} entity - The entity class or prototype
12
+ * @param {IApiEntity<E>} entityMetadata - The entity metadata containing column information
13
+ * @param {EApiRouteType} method - The API route type (CREATE, DELETE, GET, etc.)
14
+ * @param {EApiDtoType} dtoType - The type of DTO (REQUEST, RESPONSE, etc.)
15
+ * @param {IApiControllerPropertiesRouteAutoDtoConfig} [dtoConfig] - Optional configuration for automatic DTO generation
16
+ * @param {Type<IAuthGuard>} [currentGuard] - Optional authentication guard for property visibility control
17
+ * @returns {Type<unknown> | undefined} The generated DTO class or undefined if no DTO should be generated
18
+ * @throws {Error} When primary key metadata is missing
19
+ * @template E - The entity type
20
+ */
6
21
  export declare function DtoGenerate<E>(entity: ObjectLiteral, entityMetadata: IApiEntity<E>, method: EApiRouteType, dtoType: EApiDtoType, dtoConfig?: IApiControllerPropertiesRouteAutoDtoConfig, currentGuard?: Type<IAuthGuard>): Type<unknown> | undefined;
@@ -1,4 +1,3 @@
1
- import { Validate } from 'class-validator';
2
1
  import '../../constant/decorator/api/function.constant.js';
3
2
  import { PROPERTY_DESCRIBE_DECORATOR_API_CONSTANT } from '../../constant/decorator/api/property-describe.constant.js';
4
3
  import { DTO_GENERATE_CONSTANT } from '../../constant/utility/dto/generate.constant.js';
@@ -11,23 +10,37 @@ import '../../enum/decorator/api/function/type.enum.js';
11
10
  import '../../enum/decorator/api/property/data-type.enum.js';
12
11
  import '../../enum/decorator/api/property/date/identifier.enum.js';
13
12
  import '../../enum/decorator/api/property/date/type.enum.js';
14
- import '../../enum/decorator/api/property/desribe-type.enum.js';
13
+ import { EApiPropertyDescribeType } from '../../enum/decorator/api/property/desribe-type.enum.js';
15
14
  import '../../enum/decorator/api/property/number-type.enum.js';
16
15
  import '../../enum/decorator/api/property/string-type.enum.js';
17
16
  import { EApiRouteType } from '../../enum/decorator/api/route-type.enum.js';
18
- import '../../enum/exception.enum.js';
19
- import '../../enum/filter-order-direction.enum.js';
20
- import '../../enum/utility/error-string-action.enum.js';
21
- import { HasPairedCustomSuffixesFields } from '../../validator/has-paired-custom-suffixes-fields.validator.js';
17
+ import { ApiExtraModels } from '@nestjs/swagger';
22
18
  import { CamelCaseString } from '../camel-case-string.utility.js';
23
- import { ErrorException } from '../error-exception.utility.js';
24
19
  import { DtoBuildDecorator } from './build-decorator.utility.js';
20
+ import { DtoGenerateDynamic } from './generate-dynamic.utility.js';
25
21
  import { DtoGenerateFilterDecorator } from './generate-filter-decorator.utility.js';
26
22
  import { DtoGenerateGetListResponse } from './generate-get-list-response.utility.js';
27
23
  import { DtoGetGetListQueryBaseClass } from './get-get-list-query-base-class.utility.js';
28
24
  import { DtoIsPropertyShouldBeMarked } from './is-property-should-be-marked.utility.js';
29
25
  import { DtoIsShouldBeGenerated } from './is-should-be-generated.utility.js';
26
+ import { ErrorException } from '../error-exception.utility.js';
27
+ import { HasPairedCustomSuffixesFieldsValidator } from '../../validator/has-paired-custom-suffixes-fields.validator.js';
28
+ import { Validate } from 'class-validator';
30
29
 
30
+ /**
31
+ * Core utility for DTO generation that determines which properties should be included in the DTO.
32
+ * Builds decorators, handles special cases like filter queries, and generates the appropriate class
33
+ * based on entity metadata, route type, and DTO type.
34
+ * @param {ObjectLiteral} entity - The entity class or prototype
35
+ * @param {IApiEntity<E>} entityMetadata - The entity metadata containing column information
36
+ * @param {EApiRouteType} method - The API route type (CREATE, DELETE, GET, etc.)
37
+ * @param {EApiDtoType} dtoType - The type of DTO (REQUEST, RESPONSE, etc.)
38
+ * @param {IApiControllerPropertiesRouteAutoDtoConfig} [dtoConfig] - Optional configuration for automatic DTO generation
39
+ * @param {Type<IAuthGuard>} [currentGuard] - Optional authentication guard for property visibility control
40
+ * @returns {Type<unknown> | undefined} The generated DTO class or undefined if no DTO should be generated
41
+ * @throws {Error} When primary key metadata is missing
42
+ * @template E - The entity type
43
+ */
31
44
  function DtoGenerate(entity, entityMetadata, method, dtoType, dtoConfig, currentGuard) {
32
45
  if (!DtoIsShouldBeGenerated(method, dtoType)) {
33
46
  return undefined;
@@ -35,6 +48,8 @@ function DtoGenerate(entity, entityMetadata, method, dtoType, dtoConfig, current
35
48
  if (!entityMetadata.primaryKey?.metadata?.[PROPERTY_DESCRIBE_DECORATOR_API_CONSTANT.METADATA_PROPERTY_NAME]) {
36
49
  throw ErrorException(`Primary key for entity ${String(entityMetadata.name)} not found in metadata storage`);
37
50
  }
51
+ // eslint-disable-next-line @elsikora/typescript/no-unsafe-function-type
52
+ const extraModels = [];
38
53
  const markedProperties = [];
39
54
  for (const column of entityMetadata.columns) {
40
55
  if (column.metadata?.[PROPERTY_DESCRIBE_DECORATOR_API_CONSTANT.METADATA_PROPERTY_NAME] && DtoIsPropertyShouldBeMarked(method, dtoType, column.name, column.metadata[PROPERTY_DESCRIBE_DECORATOR_API_CONSTANT.METADATA_PROPERTY_NAME], column.isPrimary, currentGuard)) {
@@ -95,7 +110,8 @@ function DtoGenerate(entity, entityMetadata, method, dtoType, dtoConfig, current
95
110
  }
96
111
  }
97
112
  for (const property of markedProperties) {
98
- const decorators = DtoBuildDecorator(method, property.metadata, entityMetadata, dtoType, property.name, currentGuard);
113
+ const generatedDTOs = DtoGenerateDynamic(method, property.metadata, entityMetadata, dtoType, property.name, currentGuard);
114
+ const decorators = DtoBuildDecorator(method, property.metadata, entityMetadata, dtoType, property.name, currentGuard, generatedDTOs);
99
115
  if (decorators) {
100
116
  for (const [, decorator] of decorators.entries()) {
101
117
  if (method === EApiRouteType.GET_LIST && dtoType === EApiDtoType.QUERY) {
@@ -117,6 +133,15 @@ function DtoGenerate(entity, entityMetadata, method, dtoType, dtoConfig, current
117
133
  }
118
134
  }
119
135
  }
136
+ if (property.metadata.type === EApiPropertyDescribeType.OBJECT && Array.isArray(property.metadata.dataType)) {
137
+ // @ts-ignore
138
+ extraModels.push(...property.metadata.dataType);
139
+ }
140
+ if (generatedDTOs) {
141
+ for (const [, value] of Object.entries(generatedDTOs)) {
142
+ extraModels.push(value);
143
+ }
144
+ }
120
145
  }
121
146
  if (dtoConfig?.validators) {
122
147
  for (const validator of dtoConfig.validators) {
@@ -135,13 +160,16 @@ function DtoGenerate(entity, entityMetadata, method, dtoType, dtoConfig, current
135
160
  // eslint-disable-next-line @elsikora/typescript/naming-convention
136
161
  writable: true,
137
162
  });
138
- Validate(HasPairedCustomSuffixesFields, ["operator", ["value", "values"]])(GeneratedDTO.prototype, "object");
163
+ Validate(HasPairedCustomSuffixesFieldsValidator, ["operator", ["value", "values"]])(GeneratedDTO.prototype, "object");
164
+ }
165
+ if (extraModels.length > 0) {
166
+ ApiExtraModels(...extraModels)(GeneratedDTO);
139
167
  }
140
168
  Object.defineProperty(GeneratedDTO, "name", {
141
- value: `${entityMetadata.name ?? "UnknownResource"}${CamelCaseString(method)}${CamelCaseString(dtoType)}ItemsDTO`,
169
+ value: `${entityMetadata.name ?? "UnknownResource"}${CamelCaseString(method)}${CamelCaseString(dtoType)}DTO`,
142
170
  });
143
171
  // @ts-ignore
144
- return method === EApiRouteType.GET_LIST && dtoType === EApiDtoType.RESPONSE ? DtoGenerateGetListResponse(entity, GeneratedDTO, `${entityMetadata.name ?? "UnknownResource"}${CamelCaseString(method)}${CamelCaseString(dtoType)}DTO`) : GeneratedDTO;
172
+ return method === EApiRouteType.GET_LIST && dtoType === EApiDtoType.RESPONSE ? DtoGenerateGetListResponse(entity, GeneratedDTO, `${entityMetadata.name ?? "UnknownResource"}${CamelCaseString(method)}${CamelCaseString(dtoType)}ItemsDTO`) : GeneratedDTO;
145
173
  }
146
174
 
147
175
  export { DtoGenerate };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.utility.js","sources":["../../../../../src/utility/dto/generate.utility.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA;;;;;;;;;;;;;AAaG;AACa,SAAA,WAAW,CAAI,MAAqB,EAAE,cAA6B,EAAE,MAAqB,EAAE,OAAoB,EAAE,SAAsD,EAAE,YAA+B,EAAA;IACxN,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;AAC7C,QAAA,OAAO,SAAS;;AAGjB,IAAA,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,GAAG,wCAAwC,CAAC,sBAAsB,CAAC,EAAE;QAC5G,MAAM,cAAc,CAAC,CAAA,uBAAA,EAA0B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAgC,8BAAA,CAAA,CAAC;;;IAI5G,MAAM,WAAW,GAAoB,EAAE;IAEvC,MAAM,gBAAgB,GAIjB,EAAE;AAEP,IAAA,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE;AAC5C,QAAA,IAAI,MAAM,CAAC,QAAQ,GAAG,wCAAwC,CAAC,sBAAsB,CAAC,IAAI,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,IAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,wCAAwC,CAAC,sBAAsB,CAAmC,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE;YAClT,gBAAgB,CAAC,IAAI,CAAC;gBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,wCAAwC,CAAC,sBAAsB,CAAmC;gBAC5H,IAAI,EAAE,MAAM,CAAC,IAAI;AACjB,aAAA,CAAC;;;AAGJ,IAAA,MAAM,SAAS,GAAS,MAAM,KAAK,aAAa,CAAC,QAAQ,IAAI,OAAO,KAAK,WAAW,CAAC,KAAK,GAAG,2BAA2B,CAAI,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,MAAA;KAAQ;IAE/K,MAAM,YAAa,SAAQ,SAAS,CAAA;AACnC,QAAA,WAAA,GAAA;AACC,YAAA,KAAK,EAAE;AAEP,YAAA,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE;AACxC,gBAAA,IAAI,MAAM,KAAK,aAAa,CAAC,QAAQ,IAAI,OAAO,KAAK,WAAW,CAAC,KAAK,EAAE;oBACvE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAc,CAAA,OAAA,CAAS,EAAE;;AAEhE,wBAAA,YAAY,EAAE,IAAI;;AAElB,wBAAA,UAAU,EAAE,IAAI;AAChB,wBAAA,KAAK,EAAE,SAAS;;AAEhB,wBAAA,QAAQ,EAAE,IAAI;AACd,qBAAA,CAAC;oBAEF,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAc,CAAA,QAAA,CAAU,EAAE;;AAEjE,wBAAA,YAAY,EAAE,IAAI;;AAElB,wBAAA,UAAU,EAAE,IAAI;AAChB,wBAAA,KAAK,EAAE,SAAS;;AAEhB,wBAAA,QAAQ,EAAE,IAAI;AACd,qBAAA,CAAC;oBAEF,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAc,CAAA,UAAA,CAAY,EAAE;;AAEnE,wBAAA,YAAY,EAAE,IAAI;;AAElB,wBAAA,UAAU,EAAE,IAAI;AAChB,wBAAA,KAAK,EAAE,SAAS;;AAEhB,wBAAA,QAAQ,EAAE,IAAI;AACd,qBAAA,CAAC;;qBACI;oBACN,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE;;AAE1C,wBAAA,YAAY,EAAE,IAAI;;AAElB,wBAAA,UAAU,EAAE,IAAI;AAChB,wBAAA,KAAK,EAAE,SAAS;;AAEhB,wBAAA,QAAQ,EAAE,IAAI;AACd,qBAAA,CAAC;;;;AAIL;AAED,IAAA,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE;QACxC,MAAM,aAAa,GAA8C,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAc,EAAE,YAAY,CAAC;QAE9K,MAAM,UAAU,GAAyC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAc,EAAE,YAAY,EAAE,aAAa,CAAC;QAEpL,IAAI,UAAU,EAAE;YACf,KAAK,MAAM,GAAG,SAAS,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE;AACjD,gBAAA,IAAI,MAAM,KAAK,aAAa,CAAC,QAAQ,IAAI,OAAO,KAAK,WAAW,CAAC,KAAK,EAAE;oBACvE,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,CAAG,EAAA,QAAQ,CAAC,IAAc,CAAS,OAAA,CAAA,CAAC;AAEtE,oBAAA,0BAA0B,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,CAAG,EAAA,QAAQ,CAAC,IAAc,CAAA,UAAA,CAAY,CAAC;;qBACvH;oBACN,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAc,CAAC;;;;AAK7D,QAAA,IAAI,MAAM,KAAK,aAAa,CAAC,QAAQ,IAAI,OAAO,KAAK,WAAW,CAAC,KAAK,EAAE;;AAEvE,YAAA,MAAM,aAAa,GAAmC,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,qBAAqB,CAAC,yBAAyB,EAAE,QAAQ,EAAE,qBAAqB,CAAC,yBAAyB,EAAE;AAEzO,YAAA,MAAM,eAAe,GAAyC,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAc,EAAE,YAAY,CAAC;YAEtK,IAAI,eAAe,EAAE;gBACpB,KAAK,MAAM,GAAG,SAAS,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE;oBACtD,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,CAAG,EAAA,QAAQ,CAAC,IAAc,CAAU,QAAA,CAAA,CAAC;;;;QAK1E,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,wBAAwB,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;;YAE5G,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;;QAGhD,IAAI,aAAa,EAAE;AAClB,YAAA,KAAK,MAAM,GAAG,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;AACtD,gBAAA,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;;;;AAK1B,IAAA,IAAI,SAAS,EAAE,UAAU,EAAE;AAC1B,QAAA,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,UAAU,EAAE;AAC7C,YAAA,QAAQ,CAAC,SAAS,CAAC,eAAuC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC;;;AAIlH,IAAA,IAAI,MAAM,KAAK,aAAa,CAAC,QAAQ,IAAI,OAAO,KAAK,WAAW,CAAC,KAAK,EAAE;QACvE,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE;;AAEvD,YAAA,YAAY,EAAE,IAAI;;AAElB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,KAAK,EAAE,YAAA;AACN,gBAAA,OAAO,IAAI;aACX;;AAED,YAAA,QAAQ,EAAE,IAAI;AACd,SAAA,CAAC;QAEF,QAAQ,CAAC,sCAAsC,EAAE,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC;;AAGtH,IAAA,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3B,QAAA,cAAc,CAAC,GAAG,WAAW,CAAC,CAAC,YAAY,CAAC;;AAG7C,IAAA,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE;AAC3C,QAAA,KAAK,EAAE,CAAG,EAAA,cAAc,CAAC,IAAI,IAAI,iBAAiB,CAAA,EAAG,eAAe,CAAC,MAAM,CAAC,CAAA,EAAG,eAAe,CAAC,OAAO,CAAC,CAAK,GAAA,CAAA;AAC5G,KAAA,CAAC;;AAGF,IAAA,OAAO,MAAM,KAAK,aAAa,CAAC,QAAQ,IAAI,OAAO,KAAK,WAAW,CAAC,QAAQ,GAAG,0BAA0B,CAAC,MAAM,EAAE,YAAY,EAAE,CAAA,EAAG,cAAc,CAAC,IAAI,IAAI,iBAAiB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA,EAAG,eAAe,CAAC,OAAO,CAAC,CAAU,QAAA,CAAA,CAAC,GAAG,YAAY;AAC3P;;;;"}