@infrab4a/connect 4.1.0-beta.9 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (703) hide show
  1. package/README.md +24 -24
  2. package/domain/catalog/helpers/index.d.ts +1 -1
  3. package/domain/catalog/helpers/round-product-price.helper.d.ts +4 -4
  4. package/domain/catalog/index.d.ts +3 -3
  5. package/domain/catalog/models/category-base.d.ts +30 -30
  6. package/domain/catalog/models/category-collection-children.d.ts +13 -13
  7. package/domain/catalog/models/category-filter.d.ts +13 -13
  8. package/domain/catalog/models/category-for-product.d.ts +5 -5
  9. package/domain/catalog/models/category.d.ts +7 -7
  10. package/domain/catalog/models/enums/index.d.ts +2 -2
  11. package/domain/catalog/models/enums/product-genders.enum.d.ts +5 -5
  12. package/domain/catalog/models/enums/shops.enum.d.ts +6 -6
  13. package/domain/catalog/models/filter-option.d.ts +9 -9
  14. package/domain/catalog/models/filter.d.ts +12 -12
  15. package/domain/catalog/models/index.d.ts +11 -11
  16. package/domain/catalog/models/kit-product.d.ts +12 -12
  17. package/domain/catalog/models/product-base.d.ts +40 -40
  18. package/domain/catalog/models/product-for-category.d.ts +7 -7
  19. package/domain/catalog/models/product-for-kit.d.ts +7 -7
  20. package/domain/catalog/models/product.d.ts +9 -9
  21. package/domain/catalog/models/types/category-condition.type.d.ts +4 -4
  22. package/domain/catalog/models/types/category-metadata.type.d.ts +4 -4
  23. package/domain/catalog/models/types/category-product.d.ts +4 -4
  24. package/domain/catalog/models/types/index.d.ts +11 -11
  25. package/domain/catalog/models/types/product-evaluation.type.d.ts +6 -6
  26. package/domain/catalog/models/types/product-gender.type.d.ts +1 -1
  27. package/domain/catalog/models/types/product-metadata.type.d.ts +4 -4
  28. package/domain/catalog/models/types/product-review.type.d.ts +17 -17
  29. package/domain/catalog/models/types/shop-description.type.d.ts +8 -8
  30. package/domain/catalog/models/types/shop-price.type.d.ts +6 -6
  31. package/domain/catalog/models/types/stock.type.d.ts +3 -3
  32. package/domain/catalog/models/types/variant-grade.type.d.ts +4 -4
  33. package/domain/catalog/models/variant.d.ts +17 -17
  34. package/domain/catalog/models/wishlist.d.ts +8 -8
  35. package/domain/catalog/repositories/category-collection-children.repository.d.ts +4 -4
  36. package/domain/catalog/repositories/category-filter.repository.d.ts +6 -6
  37. package/domain/catalog/repositories/category.repository.d.ts +18 -18
  38. package/domain/catalog/repositories/filter-option.repository.d.ts +4 -4
  39. package/domain/catalog/repositories/filter.repository.d.ts +4 -4
  40. package/domain/catalog/repositories/index.d.ts +9 -9
  41. package/domain/catalog/repositories/product.repository.d.ts +15 -15
  42. package/domain/catalog/repositories/subscription-product.repository.d.ts +4 -4
  43. package/domain/catalog/repositories/variant.repository.d.ts +4 -4
  44. package/domain/catalog/repositories/wishlist.repository.d.ts +6 -6
  45. package/domain/generic/index.d.ts +2 -2
  46. package/domain/generic/model/base.model.d.ts +14 -14
  47. package/domain/generic/model/identifier-fields.d.ts +4 -4
  48. package/domain/generic/model/index.d.ts +3 -3
  49. package/domain/generic/model/types/base-model-builder.type.d.ts +17 -17
  50. package/domain/generic/model/types/identifier-model.type.d.ts +8 -8
  51. package/domain/generic/model/types/index.d.ts +5 -5
  52. package/domain/generic/model/types/model-base-structure.type.d.ts +12 -12
  53. package/domain/generic/model/types/non-function-properties.type.d.ts +12 -12
  54. package/domain/generic/model/types/non-function-property-name.type.d.ts +13 -13
  55. package/domain/generic/repository/create.repository.d.ts +8 -8
  56. package/domain/generic/repository/crud.repository.d.ts +19 -19
  57. package/domain/generic/repository/delete.repository.d.ts +7 -7
  58. package/domain/generic/repository/enums/index.d.ts +2 -2
  59. package/domain/generic/repository/enums/update-option-actions.enum.d.ts +7 -7
  60. package/domain/generic/repository/enums/where.enum.d.ts +14 -14
  61. package/domain/generic/repository/find.repository.d.ts +17 -17
  62. package/domain/generic/repository/get.repository.d.ts +5 -5
  63. package/domain/generic/repository/index.d.ts +9 -9
  64. package/domain/generic/repository/read.repository.d.ts +14 -14
  65. package/domain/generic/repository/types/index.d.ts +6 -6
  66. package/domain/generic/repository/types/repository-find-filters.type.d.ts +13 -13
  67. package/domain/generic/repository/types/repository-find-result.type.d.ts +14 -14
  68. package/domain/generic/repository/types/repository-limit-options.type.d.ts +4 -4
  69. package/domain/generic/repository/types/repository-order-by-list.type.d.ts +5 -5
  70. package/domain/generic/repository/types/repository-update-params.type.d.ts +11 -11
  71. package/domain/generic/repository/types/where-options.type.d.ts +2 -2
  72. package/domain/generic/repository/update.repository.d.ts +6 -6
  73. package/domain/index.d.ts +6 -6
  74. package/domain/location/index.d.ts +1 -1
  75. package/domain/location/models/address.d.ts +24 -24
  76. package/domain/location/models/index.d.ts +2 -2
  77. package/domain/location/models/types/index.d.ts +3 -3
  78. package/domain/location/models/types/location-bound.type.d.ts +6 -6
  79. package/domain/location/models/types/location-geometry.type.d.ts +7 -7
  80. package/domain/location/models/types/location-lat-lng.type.d.ts +4 -4
  81. package/domain/shop-settings/enums/filter-type.enum.d.ts +19 -19
  82. package/domain/shop-settings/enums/index.d.ts +3 -3
  83. package/domain/shop-settings/enums/questions-filters.enum.d.ts +19 -19
  84. package/domain/shop-settings/enums/shop-page-name.enum.d.ts +19 -19
  85. package/domain/shop-settings/helpers/beauty-questions.helper.d.ts +9 -9
  86. package/domain/shop-settings/helpers/index.d.ts +1 -1
  87. package/domain/shop-settings/index.d.ts +4 -4
  88. package/domain/shop-settings/models/campaign-banner.d.ts +11 -11
  89. package/domain/shop-settings/models/campaign.d.ts +10 -10
  90. package/domain/shop-settings/models/home.d.ts +18 -18
  91. package/domain/shop-settings/models/index.d.ts +6 -6
  92. package/domain/shop-settings/models/shop-menu.d.ts +7 -7
  93. package/domain/shop-settings/models/shop-settings.d.ts +13 -13
  94. package/domain/shop-settings/models/types/banner.type.d.ts +6 -6
  95. package/domain/shop-settings/models/types/benefit.type.d.ts +5 -5
  96. package/domain/shop-settings/models/types/campaign-page.d.ts +17 -17
  97. package/domain/shop-settings/models/types/home-data.type.d.ts +15 -15
  98. package/domain/shop-settings/models/types/index.d.ts +14 -16
  99. package/domain/shop-settings/models/types/menu-nav.type.d.ts +8 -8
  100. package/domain/shop-settings/models/types/sections.type.d.ts +31 -34
  101. package/domain/shop-settings/models/types/shop-banner.type.d.ts +13 -13
  102. package/domain/shop-settings/models/types/shop-brands.type.d.ts +10 -10
  103. package/domain/shop-settings/models/types/shop-carousel.type.d.ts +4 -4
  104. package/domain/shop-settings/models/types/shop-collection.type.d.ts +9 -9
  105. package/domain/shop-settings/models/types/shop-gift.type.d.ts +8 -8
  106. package/domain/shop-settings/models/types/shop-home.d.ts +12 -12
  107. package/domain/shop-settings/models/types/shop-post.type.d.ts +7 -7
  108. package/domain/shop-settings/models/types/shop-section.type.d.ts +12 -12
  109. package/domain/shop-settings/models/types/sub-menu.type.d.ts +8 -8
  110. package/domain/shop-settings/repositories/campaign-banner.repository.d.ts +4 -4
  111. package/domain/shop-settings/repositories/campaign.repository.d.ts +4 -4
  112. package/domain/shop-settings/repositories/home.repository.d.ts +4 -4
  113. package/domain/shop-settings/repositories/index.d.ts +5 -5
  114. package/domain/shop-settings/repositories/shop-menu.repository.d.ts +4 -4
  115. package/domain/shop-settings/repositories/shop-settings.repository.d.ts +4 -4
  116. package/domain/shopping/index.d.ts +2 -2
  117. package/domain/shopping/models/buy-2-win.d.ts +18 -18
  118. package/domain/shopping/models/campaign-dashboard.d.ts +15 -15
  119. package/domain/shopping/models/campaign-hashtag.d.ts +18 -18
  120. package/domain/shopping/models/checkout.d.ts +26 -26
  121. package/domain/shopping/models/coupons/coupon.d.ts +60 -60
  122. package/domain/shopping/models/coupons/enums/coupon-club-mens.enum.d.ts +5 -5
  123. package/domain/shopping/models/coupons/enums/coupon-subtypes.enum.d.ts +4 -4
  124. package/domain/shopping/models/coupons/enums/coupon-types.enum.d.ts +4 -4
  125. package/domain/shopping/models/coupons/enums/exclusivities.enum.d.ts +8 -8
  126. package/domain/shopping/models/coupons/enums/index.d.ts +3 -3
  127. package/domain/shopping/models/coupons/index.d.ts +2 -2
  128. package/domain/shopping/models/enums/checkout-types.enum.d.ts +5 -5
  129. package/domain/shopping/models/enums/index.d.ts +2 -2
  130. package/domain/shopping/models/enums/order-status.enum.d.ts +10 -10
  131. package/domain/shopping/models/index.d.ts +12 -12
  132. package/domain/shopping/models/line-item.d.ts +8 -8
  133. package/domain/shopping/models/order.d.ts +10 -10
  134. package/domain/shopping/models/payment.d.ts +67 -67
  135. package/domain/shopping/models/shipping-method.d.ts +17 -17
  136. package/domain/shopping/models/subscription/checkout.d.ts +20 -20
  137. package/domain/shopping/models/subscription/index.d.ts +2 -2
  138. package/domain/shopping/models/subscription/plan.d.ts +10 -10
  139. package/domain/shopping/models/types/index.d.ts +7 -7
  140. package/domain/shopping/models/types/payment-address.type.d.ts +12 -12
  141. package/domain/shopping/models/types/payment-billing.type.d.ts +7 -7
  142. package/domain/shopping/models/types/payment-card.type.d.ts +14 -14
  143. package/domain/shopping/models/types/payment-customer.type.d.ts +18 -18
  144. package/domain/shopping/models/types/payment-document.type.d.ts +6 -6
  145. package/domain/shopping/models/types/payment-item.type.d.ts +11 -11
  146. package/domain/shopping/models/types/payment-shipping.type.d.ts +10 -10
  147. package/domain/shopping/repositories/buy-2-win.repository.d.ts +4 -4
  148. package/domain/shopping/repositories/campaign-dashboard.repository.d.ts +4 -4
  149. package/domain/shopping/repositories/campaign-hashtag.repository.d.ts +4 -4
  150. package/domain/shopping/repositories/checkout.repository.d.ts +4 -4
  151. package/domain/shopping/repositories/coupon.repository.d.ts +4 -4
  152. package/domain/shopping/repositories/index.d.ts +9 -9
  153. package/domain/shopping/repositories/legacy-order.repository.d.ts +3 -3
  154. package/domain/shopping/repositories/order.repository.d.ts +4 -4
  155. package/domain/shopping/repositories/payment.repository.d.ts +4 -4
  156. package/domain/shopping/repositories/subscription/checkout.repository.d.ts +4 -4
  157. package/domain/shopping/repositories/subscription/index.d.ts +2 -2
  158. package/domain/shopping/repositories/subscription/plan.repository.d.ts +4 -4
  159. package/domain/users/errors/index.d.ts +3 -3
  160. package/domain/users/errors/unauthorized.error.d.ts +4 -4
  161. package/domain/users/errors/user-already-registered.error.d.ts +4 -4
  162. package/domain/users/errors/weak-password.error.d.ts +4 -4
  163. package/domain/users/index.d.ts +5 -5
  164. package/domain/users/models/beauty-profile.d.ts +11 -11
  165. package/domain/users/models/enums/accessory-importances.enum.d.ts +5 -5
  166. package/domain/users/models/enums/area.enum.d.ts +11 -11
  167. package/domain/users/models/enums/beard-problems.enum.d.ts +9 -9
  168. package/domain/users/models/enums/beard-sizes.enum.d.ts +7 -7
  169. package/domain/users/models/enums/beauty-product-importances.enum.d.ts +6 -6
  170. package/domain/users/models/enums/body-problems.enum.d.ts +11 -11
  171. package/domain/users/models/enums/body-shapes.enum.d.ts +7 -7
  172. package/domain/users/models/enums/body-tattoos.enum.d.ts +5 -5
  173. package/domain/users/models/enums/face-skin-oilinesses.enum.d.ts +7 -7
  174. package/domain/users/models/enums/face-skin-problems.enum.d.ts +10 -10
  175. package/domain/users/models/enums/face-skin-tones.enum.d.ts +8 -8
  176. package/domain/users/models/enums/family-incomes.enum.d.ts +8 -8
  177. package/domain/users/models/enums/fragrance-importances.enum.d.ts +5 -5
  178. package/domain/users/models/enums/hair-colors.enum.d.ts +10 -10
  179. package/domain/users/models/enums/hair-problems.enum.d.ts +10 -10
  180. package/domain/users/models/enums/hair-strands.enum.d.ts +8 -8
  181. package/domain/users/models/enums/hair-types.enum.d.ts +7 -7
  182. package/domain/users/models/enums/index.d.ts +20 -20
  183. package/domain/users/models/enums/office-position.enum.d.ts +6 -6
  184. package/domain/users/models/enums/product-spents.enum.d.ts +8 -8
  185. package/domain/users/models/enums/user-type.enum.d.ts +8 -8
  186. package/domain/users/models/index.d.ts +7 -7
  187. package/domain/users/models/lead.d.ts +8 -8
  188. package/domain/users/models/subscription/edition.d.ts +16 -16
  189. package/domain/users/models/subscription/enums/billing-status.enum.d.ts +3 -3
  190. package/domain/users/models/subscription/enums/edition-status.enum.d.ts +4 -4
  191. package/domain/users/models/subscription/enums/index.d.ts +4 -4
  192. package/domain/users/models/subscription/enums/payment-type.enum.d.ts +5 -5
  193. package/domain/users/models/subscription/enums/status.enum.d.ts +4 -4
  194. package/domain/users/models/subscription/index.d.ts +4 -4
  195. package/domain/users/models/subscription/payment.d.ts +13 -13
  196. package/domain/users/models/subscription/subscription.d.ts +28 -28
  197. package/domain/users/models/user-address.d.ts +6 -6
  198. package/domain/users/models/user-payment-method.d.ts +14 -14
  199. package/domain/users/models/user.d.ts +27 -27
  200. package/domain/users/repositories/beauty-profile.repository.d.ts +4 -4
  201. package/domain/users/repositories/edition.repository.d.ts +4 -4
  202. package/domain/users/repositories/index.d.ts +8 -8
  203. package/domain/users/repositories/lead.repository.d.ts +4 -4
  204. package/domain/users/repositories/subscription-payment.repository.d.ts +4 -4
  205. package/domain/users/repositories/subscription.repository.d.ts +4 -4
  206. package/domain/users/repositories/user-address.repository.d.ts +4 -4
  207. package/domain/users/repositories/user-payment-method.repository.d.ts +4 -4
  208. package/domain/users/repositories/user.repository.d.ts +6 -6
  209. package/domain/users/services/authentication.service.d.ts +12 -12
  210. package/domain/users/services/index.d.ts +3 -3
  211. package/domain/users/services/register.service.d.ts +7 -7
  212. package/domain/users/services/types/basic-user-data.type.d.ts +4 -4
  213. package/domain/users/services/types/index.d.ts +1 -1
  214. package/domain/users/use-cases/authentication.d.ts +21 -21
  215. package/domain/users/use-cases/index.d.ts +4 -4
  216. package/domain/users/use-cases/recovery-password.d.ts +6 -6
  217. package/domain/users/use-cases/register.d.ts +13 -13
  218. package/domain/users/use-cases/signout.d.ts +6 -6
  219. package/errors/duplicated-results.error.d.ts +4 -4
  220. package/errors/index.d.ts +4 -4
  221. package/errors/invalid-argument.error.d.ts +4 -4
  222. package/errors/not-found.error.d.ts +4 -4
  223. package/errors/required-argument.error.d.ts +6 -6
  224. package/esm2020/domain/catalog/helpers/index.mjs +2 -2
  225. package/esm2020/domain/catalog/helpers/round-product-price.helper.mjs +15 -15
  226. package/esm2020/domain/catalog/index.mjs +4 -4
  227. package/esm2020/domain/catalog/models/category-base.mjs +18 -18
  228. package/esm2020/domain/catalog/models/category-collection-children.mjs +13 -13
  229. package/esm2020/domain/catalog/models/category-filter.mjs +19 -19
  230. package/esm2020/domain/catalog/models/category-for-product.mjs +7 -7
  231. package/esm2020/domain/catalog/models/category.mjs +14 -14
  232. package/esm2020/domain/catalog/models/enums/index.mjs +3 -3
  233. package/esm2020/domain/catalog/models/enums/product-genders.enum.mjs +7 -7
  234. package/esm2020/domain/catalog/models/enums/shops.enum.mjs +8 -8
  235. package/esm2020/domain/catalog/models/filter-option.mjs +7 -7
  236. package/esm2020/domain/catalog/models/filter.mjs +7 -7
  237. package/esm2020/domain/catalog/models/index.mjs +12 -12
  238. package/esm2020/domain/catalog/models/kit-product.mjs +18 -18
  239. package/esm2020/domain/catalog/models/product-base.mjs +25 -25
  240. package/esm2020/domain/catalog/models/product-for-category.mjs +14 -14
  241. package/esm2020/domain/catalog/models/product-for-kit.mjs +14 -14
  242. package/esm2020/domain/catalog/models/product.mjs +19 -19
  243. package/esm2020/domain/catalog/models/types/category-condition.type.mjs +2 -2
  244. package/esm2020/domain/catalog/models/types/category-metadata.type.mjs +2 -2
  245. package/esm2020/domain/catalog/models/types/category-product.mjs +2 -2
  246. package/esm2020/domain/catalog/models/types/index.mjs +12 -12
  247. package/esm2020/domain/catalog/models/types/product-evaluation.type.mjs +2 -2
  248. package/esm2020/domain/catalog/models/types/product-gender.type.mjs +2 -2
  249. package/esm2020/domain/catalog/models/types/product-metadata.type.mjs +2 -2
  250. package/esm2020/domain/catalog/models/types/product-review.type.mjs +2 -2
  251. package/esm2020/domain/catalog/models/types/shop-description.type.mjs +2 -2
  252. package/esm2020/domain/catalog/models/types/shop-price.type.mjs +2 -2
  253. package/esm2020/domain/catalog/models/types/stock.type.mjs +2 -2
  254. package/esm2020/domain/catalog/models/types/variant-grade.type.mjs +2 -2
  255. package/esm2020/domain/catalog/models/variant.mjs +7 -7
  256. package/esm2020/domain/catalog/models/wishlist.mjs +7 -7
  257. package/esm2020/domain/catalog/repositories/category-collection-children.repository.mjs +2 -2
  258. package/esm2020/domain/catalog/repositories/category-filter.repository.mjs +2 -2
  259. package/esm2020/domain/catalog/repositories/category.repository.mjs +2 -2
  260. package/esm2020/domain/catalog/repositories/filter-option.repository.mjs +2 -2
  261. package/esm2020/domain/catalog/repositories/filter.repository.mjs +2 -2
  262. package/esm2020/domain/catalog/repositories/index.mjs +10 -10
  263. package/esm2020/domain/catalog/repositories/product.repository.mjs +2 -2
  264. package/esm2020/domain/catalog/repositories/subscription-product.repository.mjs +2 -2
  265. package/esm2020/domain/catalog/repositories/variant.repository.mjs +2 -2
  266. package/esm2020/domain/catalog/repositories/wishlist.repository.mjs +2 -2
  267. package/esm2020/domain/generic/index.mjs +3 -3
  268. package/esm2020/domain/generic/model/base.model.mjs +24 -24
  269. package/esm2020/domain/generic/model/identifier-fields.mjs +2 -2
  270. package/esm2020/domain/generic/model/index.mjs +4 -4
  271. package/esm2020/domain/generic/model/types/base-model-builder.type.mjs +2 -2
  272. package/esm2020/domain/generic/model/types/identifier-model.type.mjs +2 -2
  273. package/esm2020/domain/generic/model/types/index.mjs +6 -6
  274. package/esm2020/domain/generic/model/types/model-base-structure.type.mjs +2 -2
  275. package/esm2020/domain/generic/model/types/non-function-properties.type.mjs +2 -2
  276. package/esm2020/domain/generic/model/types/non-function-property-name.type.mjs +2 -2
  277. package/esm2020/domain/generic/repository/create.repository.mjs +2 -2
  278. package/esm2020/domain/generic/repository/crud.repository.mjs +2 -2
  279. package/esm2020/domain/generic/repository/delete.repository.mjs +2 -2
  280. package/esm2020/domain/generic/repository/enums/index.mjs +3 -3
  281. package/esm2020/domain/generic/repository/enums/update-option-actions.enum.mjs +9 -9
  282. package/esm2020/domain/generic/repository/enums/where.enum.mjs +16 -16
  283. package/esm2020/domain/generic/repository/find.repository.mjs +2 -2
  284. package/esm2020/domain/generic/repository/get.repository.mjs +2 -2
  285. package/esm2020/domain/generic/repository/index.mjs +10 -10
  286. package/esm2020/domain/generic/repository/read.repository.mjs +2 -2
  287. package/esm2020/domain/generic/repository/types/index.mjs +7 -7
  288. package/esm2020/domain/generic/repository/types/repository-find-filters.type.mjs +2 -2
  289. package/esm2020/domain/generic/repository/types/repository-find-result.type.mjs +2 -2
  290. package/esm2020/domain/generic/repository/types/repository-limit-options.type.mjs +2 -2
  291. package/esm2020/domain/generic/repository/types/repository-order-by-list.type.mjs +2 -2
  292. package/esm2020/domain/generic/repository/types/repository-update-params.type.mjs +2 -2
  293. package/esm2020/domain/generic/repository/types/where-options.type.mjs +2 -2
  294. package/esm2020/domain/generic/repository/update.repository.mjs +2 -2
  295. package/esm2020/domain/index.mjs +7 -7
  296. package/esm2020/domain/location/index.mjs +2 -2
  297. package/esm2020/domain/location/models/address.mjs +7 -7
  298. package/esm2020/domain/location/models/index.mjs +3 -3
  299. package/esm2020/domain/location/models/types/index.mjs +4 -4
  300. package/esm2020/domain/location/models/types/location-bound.type.mjs +2 -2
  301. package/esm2020/domain/location/models/types/location-geometry.type.mjs +2 -2
  302. package/esm2020/domain/location/models/types/location-lat-lng.type.mjs +2 -2
  303. package/esm2020/domain/shop-settings/enums/filter-type.enum.mjs +21 -21
  304. package/esm2020/domain/shop-settings/enums/index.mjs +4 -4
  305. package/esm2020/domain/shop-settings/enums/questions-filters.enum.mjs +21 -21
  306. package/esm2020/domain/shop-settings/enums/shop-page-name.enum.mjs +21 -21
  307. package/esm2020/domain/shop-settings/helpers/beauty-questions.helper.mjs +47 -47
  308. package/esm2020/domain/shop-settings/helpers/index.mjs +2 -2
  309. package/esm2020/domain/shop-settings/index.mjs +5 -5
  310. package/esm2020/domain/shop-settings/models/campaign-banner.mjs +7 -7
  311. package/esm2020/domain/shop-settings/models/campaign.mjs +7 -7
  312. package/esm2020/domain/shop-settings/models/home.mjs +7 -7
  313. package/esm2020/domain/shop-settings/models/index.mjs +7 -7
  314. package/esm2020/domain/shop-settings/models/shop-menu.mjs +7 -7
  315. package/esm2020/domain/shop-settings/models/shop-settings.mjs +7 -7
  316. package/esm2020/domain/shop-settings/models/types/banner.type.mjs +2 -2
  317. package/esm2020/domain/shop-settings/models/types/benefit.type.mjs +2 -2
  318. package/esm2020/domain/shop-settings/models/types/campaign-page.mjs +2 -2
  319. package/esm2020/domain/shop-settings/models/types/home-data.type.mjs +2 -2
  320. package/esm2020/domain/shop-settings/models/types/index.mjs +15 -17
  321. package/esm2020/domain/shop-settings/models/types/menu-nav.type.mjs +2 -2
  322. package/esm2020/domain/shop-settings/models/types/sections.type.mjs +2 -2
  323. package/esm2020/domain/shop-settings/models/types/shop-banner.type.mjs +2 -2
  324. package/esm2020/domain/shop-settings/models/types/shop-brands.type.mjs +2 -2
  325. package/esm2020/domain/shop-settings/models/types/shop-carousel.type.mjs +2 -2
  326. package/esm2020/domain/shop-settings/models/types/shop-collection.type.mjs +2 -2
  327. package/esm2020/domain/shop-settings/models/types/shop-gift.type.mjs +2 -2
  328. package/esm2020/domain/shop-settings/models/types/shop-home.mjs +2 -2
  329. package/esm2020/domain/shop-settings/models/types/shop-post.type.mjs +2 -2
  330. package/esm2020/domain/shop-settings/models/types/shop-section.type.mjs +2 -2
  331. package/esm2020/domain/shop-settings/models/types/sub-menu.type.mjs +2 -2
  332. package/esm2020/domain/shop-settings/repositories/campaign-banner.repository.mjs +2 -2
  333. package/esm2020/domain/shop-settings/repositories/campaign.repository.mjs +2 -2
  334. package/esm2020/domain/shop-settings/repositories/home.repository.mjs +2 -2
  335. package/esm2020/domain/shop-settings/repositories/index.mjs +6 -6
  336. package/esm2020/domain/shop-settings/repositories/shop-menu.repository.mjs +2 -2
  337. package/esm2020/domain/shop-settings/repositories/shop-settings.repository.mjs +2 -2
  338. package/esm2020/domain/shopping/index.mjs +3 -3
  339. package/esm2020/domain/shopping/models/buy-2-win.mjs +14 -14
  340. package/esm2020/domain/shopping/models/campaign-dashboard.mjs +7 -7
  341. package/esm2020/domain/shopping/models/campaign-hashtag.mjs +7 -7
  342. package/esm2020/domain/shopping/models/checkout.mjs +37 -37
  343. package/esm2020/domain/shopping/models/coupons/coupon.mjs +38 -38
  344. package/esm2020/domain/shopping/models/coupons/enums/coupon-club-mens.enum.mjs +7 -7
  345. package/esm2020/domain/shopping/models/coupons/enums/coupon-subtypes.enum.mjs +6 -6
  346. package/esm2020/domain/shopping/models/coupons/enums/coupon-types.enum.mjs +10 -10
  347. package/esm2020/domain/shopping/models/coupons/enums/exclusivities.enum.mjs +10 -10
  348. package/esm2020/domain/shopping/models/coupons/enums/index.mjs +4 -4
  349. package/esm2020/domain/shopping/models/coupons/index.mjs +3 -3
  350. package/esm2020/domain/shopping/models/enums/checkout-types.enum.mjs +7 -7
  351. package/esm2020/domain/shopping/models/enums/index.mjs +3 -3
  352. package/esm2020/domain/shopping/models/enums/order-status.enum.mjs +12 -12
  353. package/esm2020/domain/shopping/models/index.mjs +13 -13
  354. package/esm2020/domain/shopping/models/line-item.mjs +4 -4
  355. package/esm2020/domain/shopping/models/order.mjs +11 -11
  356. package/esm2020/domain/shopping/models/payment.mjs +169 -169
  357. package/esm2020/domain/shopping/models/shipping-method.mjs +7 -7
  358. package/esm2020/domain/shopping/models/subscription/checkout.mjs +28 -28
  359. package/esm2020/domain/shopping/models/subscription/index.mjs +3 -3
  360. package/esm2020/domain/shopping/models/subscription/plan.mjs +7 -7
  361. package/esm2020/domain/shopping/models/types/index.mjs +8 -8
  362. package/esm2020/domain/shopping/models/types/payment-address.type.mjs +2 -2
  363. package/esm2020/domain/shopping/models/types/payment-billing.type.mjs +2 -2
  364. package/esm2020/domain/shopping/models/types/payment-card.type.mjs +2 -2
  365. package/esm2020/domain/shopping/models/types/payment-customer.type.mjs +2 -2
  366. package/esm2020/domain/shopping/models/types/payment-document.type.mjs +2 -2
  367. package/esm2020/domain/shopping/models/types/payment-item.type.mjs +2 -2
  368. package/esm2020/domain/shopping/models/types/payment-shipping.type.mjs +2 -2
  369. package/esm2020/domain/shopping/repositories/buy-2-win.repository.mjs +2 -2
  370. package/esm2020/domain/shopping/repositories/campaign-dashboard.repository.mjs +2 -2
  371. package/esm2020/domain/shopping/repositories/campaign-hashtag.repository.mjs +2 -2
  372. package/esm2020/domain/shopping/repositories/checkout.repository.mjs +2 -2
  373. package/esm2020/domain/shopping/repositories/coupon.repository.mjs +2 -2
  374. package/esm2020/domain/shopping/repositories/index.mjs +10 -10
  375. package/esm2020/domain/shopping/repositories/legacy-order.repository.mjs +2 -2
  376. package/esm2020/domain/shopping/repositories/order.repository.mjs +2 -2
  377. package/esm2020/domain/shopping/repositories/payment.repository.mjs +2 -2
  378. package/esm2020/domain/shopping/repositories/subscription/checkout.repository.mjs +2 -2
  379. package/esm2020/domain/shopping/repositories/subscription/index.mjs +3 -3
  380. package/esm2020/domain/shopping/repositories/subscription/plan.repository.mjs +2 -2
  381. package/esm2020/domain/users/errors/index.mjs +4 -4
  382. package/esm2020/domain/users/errors/unauthorized.error.mjs +7 -7
  383. package/esm2020/domain/users/errors/user-already-registered.error.mjs +7 -7
  384. package/esm2020/domain/users/errors/weak-password.error.mjs +7 -7
  385. package/esm2020/domain/users/index.mjs +6 -6
  386. package/esm2020/domain/users/models/beauty-profile.mjs +12 -12
  387. package/esm2020/domain/users/models/enums/accessory-importances.enum.mjs +7 -7
  388. package/esm2020/domain/users/models/enums/area.enum.mjs +13 -13
  389. package/esm2020/domain/users/models/enums/beard-problems.enum.mjs +11 -11
  390. package/esm2020/domain/users/models/enums/beard-sizes.enum.mjs +9 -9
  391. package/esm2020/domain/users/models/enums/beauty-product-importances.enum.mjs +8 -8
  392. package/esm2020/domain/users/models/enums/body-problems.enum.mjs +13 -13
  393. package/esm2020/domain/users/models/enums/body-shapes.enum.mjs +9 -9
  394. package/esm2020/domain/users/models/enums/body-tattoos.enum.mjs +7 -7
  395. package/esm2020/domain/users/models/enums/face-skin-oilinesses.enum.mjs +9 -9
  396. package/esm2020/domain/users/models/enums/face-skin-problems.enum.mjs +12 -12
  397. package/esm2020/domain/users/models/enums/face-skin-tones.enum.mjs +10 -10
  398. package/esm2020/domain/users/models/enums/family-incomes.enum.mjs +10 -10
  399. package/esm2020/domain/users/models/enums/fragrance-importances.enum.mjs +7 -7
  400. package/esm2020/domain/users/models/enums/hair-colors.enum.mjs +12 -12
  401. package/esm2020/domain/users/models/enums/hair-problems.enum.mjs +12 -12
  402. package/esm2020/domain/users/models/enums/hair-strands.enum.mjs +10 -10
  403. package/esm2020/domain/users/models/enums/hair-types.enum.mjs +9 -9
  404. package/esm2020/domain/users/models/enums/index.mjs +21 -21
  405. package/esm2020/domain/users/models/enums/office-position.enum.mjs +8 -8
  406. package/esm2020/domain/users/models/enums/product-spents.enum.mjs +10 -10
  407. package/esm2020/domain/users/models/enums/user-type.enum.mjs +10 -10
  408. package/esm2020/domain/users/models/index.mjs +8 -8
  409. package/esm2020/domain/users/models/lead.mjs +7 -7
  410. package/esm2020/domain/users/models/subscription/edition.mjs +7 -7
  411. package/esm2020/domain/users/models/subscription/enums/billing-status.enum.mjs +5 -5
  412. package/esm2020/domain/users/models/subscription/enums/edition-status.enum.mjs +6 -6
  413. package/esm2020/domain/users/models/subscription/enums/index.mjs +5 -5
  414. package/esm2020/domain/users/models/subscription/enums/payment-type.enum.mjs +7 -7
  415. package/esm2020/domain/users/models/subscription/enums/status.enum.mjs +6 -6
  416. package/esm2020/domain/users/models/subscription/index.mjs +5 -5
  417. package/esm2020/domain/users/models/subscription/payment.mjs +14 -14
  418. package/esm2020/domain/users/models/subscription/subscription.mjs +43 -43
  419. package/esm2020/domain/users/models/user-address.mjs +7 -7
  420. package/esm2020/domain/users/models/user-payment-method.mjs +7 -7
  421. package/esm2020/domain/users/models/user.mjs +26 -26
  422. package/esm2020/domain/users/repositories/beauty-profile.repository.mjs +2 -2
  423. package/esm2020/domain/users/repositories/edition.repository.mjs +2 -2
  424. package/esm2020/domain/users/repositories/index.mjs +9 -9
  425. package/esm2020/domain/users/repositories/lead.repository.mjs +2 -2
  426. package/esm2020/domain/users/repositories/subscription-payment.repository.mjs +2 -2
  427. package/esm2020/domain/users/repositories/subscription.repository.mjs +2 -2
  428. package/esm2020/domain/users/repositories/user-address.repository.mjs +2 -2
  429. package/esm2020/domain/users/repositories/user-payment-method.repository.mjs +2 -2
  430. package/esm2020/domain/users/repositories/user.repository.mjs +2 -2
  431. package/esm2020/domain/users/services/authentication.service.mjs +2 -2
  432. package/esm2020/domain/users/services/index.mjs +4 -4
  433. package/esm2020/domain/users/services/register.service.mjs +2 -2
  434. package/esm2020/domain/users/services/types/basic-user-data.type.mjs +2 -2
  435. package/esm2020/domain/users/services/types/index.mjs +2 -2
  436. package/esm2020/domain/users/use-cases/authentication.mjs +43 -43
  437. package/esm2020/domain/users/use-cases/index.mjs +5 -5
  438. package/esm2020/domain/users/use-cases/recovery-password.mjs +9 -9
  439. package/esm2020/domain/users/use-cases/register.mjs +38 -38
  440. package/esm2020/domain/users/use-cases/signout.mjs +9 -9
  441. package/esm2020/errors/duplicated-results.error.mjs +7 -7
  442. package/esm2020/errors/index.mjs +5 -5
  443. package/esm2020/errors/invalid-argument.error.mjs +7 -7
  444. package/esm2020/errors/not-found.error.mjs +7 -7
  445. package/esm2020/errors/required-argument.error.mjs +9 -9
  446. package/esm2020/index.mjs +6 -6
  447. package/esm2020/infra/elasticsearch/adapters/axios.adapter.mjs +67 -67
  448. package/esm2020/infra/elasticsearch/adapters/elastic-search.adapter.mjs +2 -2
  449. package/esm2020/infra/elasticsearch/adapters/index.mjs +3 -3
  450. package/esm2020/infra/elasticsearch/index.mjs +4 -4
  451. package/esm2020/infra/elasticsearch/indexes/index.mjs +2 -2
  452. package/esm2020/infra/elasticsearch/indexes/products-index.mjs +104 -104
  453. package/esm2020/infra/elasticsearch/types/elastic-search-result.mjs +2 -2
  454. package/esm2020/infra/elasticsearch/types/index.mjs +2 -2
  455. package/esm2020/infra/firebase/auth/authentication-firebase-auth.service.mjs +41 -41
  456. package/esm2020/infra/firebase/auth/index.mjs +3 -3
  457. package/esm2020/infra/firebase/auth/register-firebase-auth.service.mjs +33 -33
  458. package/esm2020/infra/firebase/auth/types/firebase-user-with-id.type.mjs +2 -2
  459. package/esm2020/infra/firebase/firestore/enums/firestore-field-type.enum.mjs +10 -10
  460. package/esm2020/infra/firebase/firestore/enums/index.mjs +2 -2
  461. package/esm2020/infra/firebase/firestore/index.mjs +4 -4
  462. package/esm2020/infra/firebase/firestore/mixins/index.mjs +10 -10
  463. package/esm2020/infra/firebase/firestore/mixins/with-create-firestore.mixin.mjs +31 -31
  464. package/esm2020/infra/firebase/firestore/mixins/with-crud-firestore.mixin.mjs +10 -10
  465. package/esm2020/infra/firebase/firestore/mixins/with-delete-firestore.mixin.mjs +18 -18
  466. package/esm2020/infra/firebase/firestore/mixins/with-find-firestore.mixin.mjs +110 -110
  467. package/esm2020/infra/firebase/firestore/mixins/with-firestore.mixin.mjs +80 -80
  468. package/esm2020/infra/firebase/firestore/mixins/with-get-firestore.mixin.mjs +23 -23
  469. package/esm2020/infra/firebase/firestore/mixins/with-helpers.mixin.mjs +17 -17
  470. package/esm2020/infra/firebase/firestore/mixins/with-sub-collection.mixin.mjs +13 -13
  471. package/esm2020/infra/firebase/firestore/mixins/with-update-firestore.mixin.mjs +51 -51
  472. package/esm2020/infra/firebase/firestore/repositories/catalog/category-firestore.repository.mjs +67 -67
  473. package/esm2020/infra/firebase/firestore/repositories/catalog/index.mjs +5 -5
  474. package/esm2020/infra/firebase/firestore/repositories/catalog/product-firestore.repository.mjs +54 -54
  475. package/esm2020/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.mjs +16 -16
  476. package/esm2020/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.mjs +14 -14
  477. package/esm2020/infra/firebase/firestore/repositories/index.mjs +5 -5
  478. package/esm2020/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.mjs +60 -60
  479. package/esm2020/infra/firebase/firestore/repositories/shop-settings/index.mjs +4 -4
  480. package/esm2020/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.mjs +14 -14
  481. package/esm2020/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.mjs +14 -14
  482. package/esm2020/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.mjs +14 -14
  483. package/esm2020/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.mjs +14 -14
  484. package/esm2020/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.mjs +14 -14
  485. package/esm2020/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.mjs +14 -14
  486. package/esm2020/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.mjs +14 -14
  487. package/esm2020/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.mjs +31 -31
  488. package/esm2020/infra/firebase/firestore/repositories/shopping/index.mjs +11 -11
  489. package/esm2020/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.mjs +11 -11
  490. package/esm2020/infra/firebase/firestore/repositories/shopping/order-firestore.repository.mjs +40 -40
  491. package/esm2020/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.mjs +14 -14
  492. package/esm2020/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.mjs +14 -14
  493. package/esm2020/infra/firebase/firestore/repositories/users/index.mjs +9 -9
  494. package/esm2020/infra/firebase/firestore/repositories/users/lead-firestore.repository.mjs +14 -14
  495. package/esm2020/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.mjs +16 -16
  496. package/esm2020/infra/firebase/firestore/repositories/users/subscription-firestore.repository.mjs +14 -14
  497. package/esm2020/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.mjs +16 -16
  498. package/esm2020/infra/firebase/firestore/repositories/users/user-address-firestore.repository.mjs +16 -16
  499. package/esm2020/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.mjs +16 -16
  500. package/esm2020/infra/firebase/firestore/repositories/users/user-firestore.repository.mjs +50 -50
  501. package/esm2020/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.mjs +16 -16
  502. package/esm2020/infra/firebase/firestore/types/firestore-interceptors.type.mjs +2 -2
  503. package/esm2020/infra/firebase/firestore/types/firestore-sub.repository.type.mjs +2 -2
  504. package/esm2020/infra/firebase/firestore/types/firestore.helpers.type.mjs +2 -2
  505. package/esm2020/infra/firebase/firestore/types/firestore.repository.type.mjs +2 -2
  506. package/esm2020/infra/firebase/firestore/types/index.mjs +5 -5
  507. package/esm2020/infra/firebase/index.mjs +3 -3
  508. package/esm2020/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.mjs +13 -13
  509. package/esm2020/infra/hasura-graphql/enums/hasura-graphql-where.enum.mjs +17 -17
  510. package/esm2020/infra/hasura-graphql/enums/index.mjs +3 -3
  511. package/esm2020/infra/hasura-graphql/index.mjs +5 -5
  512. package/esm2020/infra/hasura-graphql/mixins/helpers/attribute-option.helper.mjs +35 -35
  513. package/esm2020/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.mjs +71 -71
  514. package/esm2020/infra/hasura-graphql/mixins/helpers/filter-option.helper.mjs +22 -22
  515. package/esm2020/infra/hasura-graphql/mixins/helpers/graphql-field.helper.mjs +125 -125
  516. package/esm2020/infra/hasura-graphql/mixins/helpers/index.mjs +5 -5
  517. package/esm2020/infra/hasura-graphql/mixins/index.mjs +8 -8
  518. package/esm2020/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.mjs +39 -39
  519. package/esm2020/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.mjs +10 -10
  520. package/esm2020/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.mjs +31 -31
  521. package/esm2020/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.mjs +152 -152
  522. package/esm2020/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.mjs +37 -37
  523. package/esm2020/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.mjs +108 -108
  524. package/esm2020/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.mjs +62 -62
  525. package/esm2020/infra/hasura-graphql/models/category-hasura-graphql.mjs +4 -4
  526. package/esm2020/infra/hasura-graphql/models/index.mjs +5 -5
  527. package/esm2020/infra/hasura-graphql/models/kit-product-hasura-graphql.mjs +15 -15
  528. package/esm2020/infra/hasura-graphql/models/product-hasura-graphql.mjs +11 -11
  529. package/esm2020/infra/hasura-graphql/models/variant-hasura-graphql.mjs +9 -9
  530. package/esm2020/infra/hasura-graphql/repositories/catalog/category-collection-children-hasura-graphql.repository.mjs +39 -39
  531. package/esm2020/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.mjs +107 -107
  532. package/esm2020/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.mjs +338 -338
  533. package/esm2020/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.mjs +105 -105
  534. package/esm2020/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.mjs +22 -22
  535. package/esm2020/infra/hasura-graphql/repositories/catalog/index.mjs +9 -9
  536. package/esm2020/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.mjs +516 -516
  537. package/esm2020/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.mjs +114 -114
  538. package/esm2020/infra/hasura-graphql/repositories/catalog/wishlist-hasura-graphql.repository.mjs +238 -238
  539. package/esm2020/infra/hasura-graphql/repositories/index.mjs +2 -2
  540. package/esm2020/infra/hasura-graphql/types/fields.type.mjs +2 -2
  541. package/esm2020/infra/hasura-graphql/types/graphql.repository.type.mjs +2 -2
  542. package/esm2020/infra/hasura-graphql/types/hasura-graphql-auth-options.type.mjs +2 -2
  543. package/esm2020/infra/hasura-graphql/types/hasura-graphql-fields.type.mjs +2 -2
  544. package/esm2020/infra/hasura-graphql/types/hasura-graphql-headers.type.mjs +2 -2
  545. package/esm2020/infra/hasura-graphql/types/index.mjs +9 -9
  546. package/esm2020/infra/hasura-graphql/types/nested-field.type.mjs +2 -2
  547. package/esm2020/infra/hasura-graphql/types/query-builder-options.type.mjs +2 -2
  548. package/esm2020/infra/hasura-graphql/types/variable-options.type.mjs +2 -2
  549. package/esm2020/infra/index.mjs +4 -4
  550. package/esm2020/infrab4a-connect.mjs +4 -4
  551. package/esm2020/utils/decorators/debug.class.decorator.mjs +7 -7
  552. package/esm2020/utils/decorators/index.mjs +3 -3
  553. package/esm2020/utils/decorators/trace.method.decorator.mjs +81 -81
  554. package/esm2020/utils/get.mjs +3 -3
  555. package/esm2020/utils/helpers/class-name.helper.mjs +15 -15
  556. package/esm2020/utils/helpers/debug-decorator.helper.mjs +18 -18
  557. package/esm2020/utils/helpers/debug.helper.mjs +150 -150
  558. package/esm2020/utils/helpers/index.mjs +5 -5
  559. package/esm2020/utils/helpers/reflect.helper.mjs +165 -165
  560. package/esm2020/utils/index.mjs +13 -13
  561. package/esm2020/utils/is-uuid.mjs +3 -3
  562. package/esm2020/utils/is.mjs +4 -4
  563. package/esm2020/utils/log.utils.mjs +9 -9
  564. package/esm2020/utils/mixins/base.mixin.mjs +6 -6
  565. package/esm2020/utils/mixins/index.mjs +4 -4
  566. package/esm2020/utils/mixins/merge-constructor-params.type.mjs +2 -2
  567. package/esm2020/utils/mixins/mixin-ctor.type.mjs +2 -2
  568. package/esm2020/utils/parse-datetime.mjs +14 -14
  569. package/esm2020/utils/types/array-element.type.mjs +2 -2
  570. package/esm2020/utils/types/index.mjs +3 -3
  571. package/esm2020/utils/types/prop.type.mjs +2 -2
  572. package/fesm2015/infrab4a-connect.mjs +4627 -4627
  573. package/fesm2015/infrab4a-connect.mjs.map +1 -1
  574. package/fesm2020/infrab4a-connect.mjs +4541 -4541
  575. package/fesm2020/infrab4a-connect.mjs.map +1 -1
  576. package/index.d.ts +5 -5
  577. package/infra/elasticsearch/adapters/axios.adapter.d.ts +16 -16
  578. package/infra/elasticsearch/adapters/elastic-search.adapter.d.ts +8 -8
  579. package/infra/elasticsearch/adapters/index.d.ts +2 -2
  580. package/infra/elasticsearch/index.d.ts +3 -3
  581. package/infra/elasticsearch/indexes/index.d.ts +1 -1
  582. package/infra/elasticsearch/indexes/products-index.d.ts +13 -13
  583. package/infra/elasticsearch/types/elastic-search-result.d.ts +9 -9
  584. package/infra/elasticsearch/types/index.d.ts +1 -1
  585. package/infra/firebase/auth/authentication-firebase-auth.service.d.ts +12 -12
  586. package/infra/firebase/auth/index.d.ts +2 -2
  587. package/infra/firebase/auth/register-firebase-auth.service.d.ts +8 -8
  588. package/infra/firebase/auth/types/firebase-user-with-id.type.d.ts +5 -5
  589. package/infra/firebase/firestore/enums/firestore-field-type.enum.d.ts +8 -8
  590. package/infra/firebase/firestore/enums/index.d.ts +1 -1
  591. package/infra/firebase/firestore/index.d.ts +3 -3
  592. package/infra/firebase/firestore/mixins/index.d.ts +9 -9
  593. package/infra/firebase/firestore/mixins/with-create-firestore.mixin.d.ts +4 -4
  594. package/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +5 -5
  595. package/infra/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +4 -4
  596. package/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +4 -4
  597. package/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +13 -13
  598. package/infra/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +4 -4
  599. package/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +11 -11
  600. package/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +11 -11
  601. package/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +7 -7
  602. package/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +20 -20
  603. package/infra/firebase/firestore/repositories/catalog/index.d.ts +4 -4
  604. package/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +12 -12
  605. package/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +12 -12
  606. package/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +7 -7
  607. package/infra/firebase/firestore/repositories/index.d.ts +4 -4
  608. package/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +16 -16
  609. package/infra/firebase/firestore/repositories/shop-settings/index.d.ts +3 -3
  610. package/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +7 -7
  611. package/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.d.ts +7 -7
  612. package/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +7 -7
  613. package/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.d.ts +8 -8
  614. package/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.d.ts +8 -8
  615. package/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +7 -7
  616. package/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +7 -7
  617. package/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +12 -12
  618. package/infra/firebase/firestore/repositories/shopping/index.d.ts +10 -10
  619. package/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.d.ts +6 -6
  620. package/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +13 -13
  621. package/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +7 -7
  622. package/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +7 -7
  623. package/infra/firebase/firestore/repositories/users/index.d.ts +8 -8
  624. package/infra/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +7 -7
  625. package/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +12 -12
  626. package/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +7 -7
  627. package/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +12 -12
  628. package/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +12 -12
  629. package/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +12 -12
  630. package/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +17 -17
  631. package/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +12 -12
  632. package/infra/firebase/firestore/types/firestore-interceptors.type.d.ts +14 -14
  633. package/infra/firebase/firestore/types/firestore-sub.repository.type.d.ts +6 -6
  634. package/infra/firebase/firestore/types/firestore.helpers.type.d.ts +8 -8
  635. package/infra/firebase/firestore/types/firestore.repository.type.d.ts +16 -16
  636. package/infra/firebase/firestore/types/index.d.ts +4 -4
  637. package/infra/firebase/index.d.ts +2 -2
  638. package/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.d.ts +11 -11
  639. package/infra/hasura-graphql/enums/hasura-graphql-where.enum.d.ts +15 -15
  640. package/infra/hasura-graphql/enums/index.d.ts +2 -2
  641. package/infra/hasura-graphql/index.d.ts +4 -4
  642. package/infra/hasura-graphql/mixins/helpers/attribute-option.helper.d.ts +19 -19
  643. package/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.d.ts +10 -10
  644. package/infra/hasura-graphql/mixins/helpers/filter-option.helper.d.ts +8 -8
  645. package/infra/hasura-graphql/mixins/helpers/graphql-field.helper.d.ts +12 -12
  646. package/infra/hasura-graphql/mixins/helpers/index.d.ts +4 -4
  647. package/infra/hasura-graphql/mixins/index.d.ts +7 -7
  648. package/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.d.ts +9 -9
  649. package/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.d.ts +11 -11
  650. package/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.d.ts +7 -7
  651. package/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +34 -34
  652. package/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.d.ts +25 -25
  653. package/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.d.ts +23 -23
  654. package/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.d.ts +14 -14
  655. package/infra/hasura-graphql/models/category-hasura-graphql.d.ts +6 -6
  656. package/infra/hasura-graphql/models/index.d.ts +4 -4
  657. package/infra/hasura-graphql/models/kit-product-hasura-graphql.d.ts +6 -6
  658. package/infra/hasura-graphql/models/product-hasura-graphql.d.ts +18 -18
  659. package/infra/hasura-graphql/models/variant-hasura-graphql.d.ts +10 -10
  660. package/infra/hasura-graphql/repositories/catalog/category-collection-children-hasura-graphql.repository.d.ts +10 -10
  661. package/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.d.ts +12 -12
  662. package/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.d.ts +34 -34
  663. package/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.d.ts +18 -18
  664. package/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.d.ts +10 -10
  665. package/infra/hasura-graphql/repositories/catalog/index.d.ts +8 -8
  666. package/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +30 -30
  667. package/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.d.ts +14 -14
  668. package/infra/hasura-graphql/repositories/catalog/wishlist-hasura-graphql.repository.d.ts +27 -27
  669. package/infra/hasura-graphql/repositories/index.d.ts +1 -1
  670. package/infra/hasura-graphql/types/fields.type.d.ts +2 -2
  671. package/infra/hasura-graphql/types/graphql.repository.type.d.ts +24 -24
  672. package/infra/hasura-graphql/types/hasura-graphql-auth-options.type.d.ts +8 -8
  673. package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +44 -44
  674. package/infra/hasura-graphql/types/hasura-graphql-headers.type.d.ts +7 -7
  675. package/infra/hasura-graphql/types/index.d.ts +8 -8
  676. package/infra/hasura-graphql/types/nested-field.type.d.ts +7 -7
  677. package/infra/hasura-graphql/types/query-builder-options.type.d.ts +7 -7
  678. package/infra/hasura-graphql/types/variable-options.type.d.ts +9 -9
  679. package/infra/index.d.ts +3 -3
  680. package/package.json +2 -2
  681. package/utils/decorators/debug.class.decorator.d.ts +2 -2
  682. package/utils/decorators/index.d.ts +2 -2
  683. package/utils/decorators/trace.method.decorator.d.ts +14 -14
  684. package/utils/get.d.ts +1 -1
  685. package/utils/helpers/class-name.helper.d.ts +3 -3
  686. package/utils/helpers/debug-decorator.helper.d.ts +9 -9
  687. package/utils/helpers/debug.helper.d.ts +60 -60
  688. package/utils/helpers/index.d.ts +4 -4
  689. package/utils/helpers/reflect.helper.d.ts +50 -50
  690. package/utils/index.d.ts +13 -13
  691. package/utils/is-uuid.d.ts +1 -1
  692. package/utils/is.d.ts +1 -1
  693. package/utils/log.utils.d.ts +7 -7
  694. package/utils/mixins/base.mixin.d.ts +3 -3
  695. package/utils/mixins/index.d.ts +3 -3
  696. package/utils/mixins/merge-constructor-params.type.d.ts +3 -3
  697. package/utils/mixins/mixin-ctor.type.d.ts +1 -1
  698. package/utils/parse-datetime.d.ts +1 -1
  699. package/utils/types/array-element.type.d.ts +1 -1
  700. package/utils/types/index.d.ts +2 -2
  701. package/utils/types/prop.type.d.ts +1 -1
  702. package/domain/shop-settings/models/types/landing-page.d.ts +0 -8
  703. package/esm2020/domain/shop-settings/models/types/landing-page.mjs +0 -2
@@ -1,35 +1,35 @@
1
- import { is, isNil, isObject } from '../../../../utils';
2
- export class AttributeOptionHelper {
3
- }
4
- AttributeOptionHelper.FindByAttribute = (attributeName, fields) => {
5
- if (fields.includes(attributeName))
6
- return { columnName: attributeName.toString(), attributeName, to: (value) => value, from: (value) => value };
7
- const field = fields.find((columnOption) => isObject(columnOption) && Object.keys(columnOption).includes(attributeName.toString()));
8
- const fieldOption = is(field)?.[attributeName];
9
- if (isNil(fieldOption))
10
- return { columnName: attributeName.toString(), attributeName };
11
- if (Array.isArray(fieldOption))
12
- return { columnName: attributeName.toString(), attributeName, fields: fieldOption };
13
- return { attributeName, columnName: attributeName.toString(), ...fieldOption };
14
- };
15
- AttributeOptionHelper.CheckIsColumnOption = (fieldValue) => !!fieldValue?.columnName;
16
- AttributeOptionHelper.FindColumnOptionFromList = (columnName, fields) => {
17
- if (fields.includes(columnName))
18
- return { columnName, attributeName: columnName };
19
- const field = is(fields.find((field) => {
20
- if (!isObject(field))
21
- return false;
22
- const columnOption = Object.values(field).find((option) => AttributeOptionHelper.CheckIsColumnOption(option) && option.columnName === columnName ? option : {});
23
- return AttributeOptionHelper.CheckIsColumnOption(columnOption) && columnOption?.columnName === columnName;
24
- }) || {});
25
- const attributeName = Object.keys(field).find((fieldOptionFromList) => AttributeOptionHelper.CheckIsColumnOption(field[fieldOptionFromList]) || Array.isArray(field[fieldOptionFromList]));
26
- const fieldOption = field?.[attributeName];
27
- if (Array.isArray(fieldOption))
28
- return { attributeName: attributeName, fields: fieldOption };
29
- return {
30
- attributeName: attributeName || columnName,
31
- columnName,
32
- ...fieldOption,
33
- };
34
- };
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLW9wdGlvbi5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9hdHRyaWJ1dGUtb3B0aW9uLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQVF2RCxNQUFNLE9BQU8scUJBQXFCOztBQUN6QixxQ0FBZSxHQUFHLENBSXZCLGFBQXdCLEVBQ3hCLE1BQWtDLEVBQ08sRUFBRTtJQUMzQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBb0IsQ0FBQztRQUN2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUU5RyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUN2QixDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUN6RyxDQUFBO0lBQ0QsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUE0RCxLQUFLLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBRXpHLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRSxFQUFFLGFBQWEsRUFBRSxDQUFBO0lBQ3RGLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxDQUFBO0lBRW5ILE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxHQUFHLFdBQVcsRUFBRSxDQUFBO0FBQ2hGLENBQUMsQ0FBQTtBQUVNLHlDQUFtQixHQUFHLENBQzNCLFVBQW1ELEVBQ0YsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFBO0FBRXZFLDhDQUF3QixHQUFHLENBQ2hDLFVBQWtCLEVBQ2xCLE1BQXdDLEVBQ21FLEVBQUU7SUFDN0csSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQXNELENBQUM7UUFDekUsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsVUFBZ0UsRUFBRSxDQUFBO0lBRXhHLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FDZCxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQTtRQUVsQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ3hELHFCQUFxQixDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxVQUFVLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDcEcsQ0FBQTtRQUVELE9BQU8scUJBQXFCLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLElBQUksWUFBWSxFQUFFLFVBQVUsS0FBSyxVQUFVLENBQUE7SUFDM0csQ0FBQyxDQUFDLElBQUksRUFBRSxDQUNULENBQUE7SUFDRCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDM0MsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLENBQ3RCLHFCQUFxQixDQUFDLG1CQUFtQixDQUN2QyxLQUFLLENBQUMsbUJBQXlFLENBQUMsQ0FDakYsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBeUUsQ0FBQyxDQUFDLENBQ2pELENBQUE7SUFDdkQsTUFBTSxXQUFXLEdBQUcsS0FBSyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUE7SUFFMUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQW1FLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxDQUFBO0lBRXBILE9BQU87UUFDTCxhQUFhLEVBQUUsYUFBYSxJQUFLLFVBQWlFO1FBQ2xHLFVBQVU7UUFDVixHQUFHLFdBQVc7S0FDZixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWxCYXNlU3RydWN0dXJlLCBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xyXG5pbXBvcnQgeyBpcywgaXNOaWwsIGlzT2JqZWN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXHJcbmltcG9ydCB7IENvbHVtbk9wdGlvbnMsIEhhc3VyYUdyYXBoUUxGaWVsZHMgfSBmcm9tICcuLi8uLi90eXBlcydcclxuXHJcbnR5cGUgRmluZEJ5QXR0cmlidXRlUmVzdWx0PFxyXG4gIE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPE1CYXNlPixcclxuICBBdHRyaWJ1dGUgZXh0ZW5kcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcclxuPiA9IENvbHVtbk9wdGlvbnM8TUJhc2VbQXR0cmlidXRlXSwgTUJhc2U+ICYgeyBhdHRyaWJ1dGVOYW1lOiBBdHRyaWJ1dGUgfVxyXG5cclxuZXhwb3J0IGNsYXNzIEF0dHJpYnV0ZU9wdGlvbkhlbHBlciB7XHJcbiAgc3RhdGljIEZpbmRCeUF0dHJpYnV0ZSA9IDxcclxuICAgIE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPE1CYXNlLCBNQmFzZVsnaWRlbnRpZmllcnNGaWVsZHMnXVtudW1iZXJdPixcclxuICAgIEF0dHJpYnV0ZSBleHRlbmRzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+ID0gTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXHJcbiAgPihcclxuICAgIGF0dHJpYnV0ZU5hbWU6IEF0dHJpYnV0ZSxcclxuICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXHJcbiAgKTogRmluZEJ5QXR0cmlidXRlUmVzdWx0PE1CYXNlLCBBdHRyaWJ1dGU+ID0+IHtcclxuICAgIGlmIChmaWVsZHMuaW5jbHVkZXMoYXR0cmlidXRlTmFtZSBhcyBhbnkpKVxyXG4gICAgICByZXR1cm4geyBjb2x1bW5OYW1lOiBhdHRyaWJ1dGVOYW1lLnRvU3RyaW5nKCksIGF0dHJpYnV0ZU5hbWUsIHRvOiAodmFsdWUpID0+IHZhbHVlLCBmcm9tOiAodmFsdWUpID0+IHZhbHVlIH1cclxuXHJcbiAgICBjb25zdCBmaWVsZCA9IGZpZWxkcy5maW5kKFxyXG4gICAgICAoY29sdW1uT3B0aW9uKSA9PiBpc09iamVjdChjb2x1bW5PcHRpb24pICYmIE9iamVjdC5rZXlzKGNvbHVtbk9wdGlvbikuaW5jbHVkZXMoYXR0cmlidXRlTmFtZS50b1N0cmluZygpKSxcclxuICAgIClcclxuICAgIGNvbnN0IGZpZWxkT3B0aW9uID0gaXM8UmVjb3JkPEF0dHJpYnV0ZSwgQ29sdW1uT3B0aW9uczxNQmFzZVtBdHRyaWJ1dGVdLCBNQmFzZT4+PihmaWVsZCk/LlthdHRyaWJ1dGVOYW1lXVxyXG5cclxuICAgIGlmIChpc05pbChmaWVsZE9wdGlvbikpIHJldHVybiB7IGNvbHVtbk5hbWU6IGF0dHJpYnV0ZU5hbWUudG9TdHJpbmcoKSwgYXR0cmlidXRlTmFtZSB9XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZE9wdGlvbikpIHJldHVybiB7IGNvbHVtbk5hbWU6IGF0dHJpYnV0ZU5hbWUudG9TdHJpbmcoKSwgYXR0cmlidXRlTmFtZSwgZmllbGRzOiBmaWVsZE9wdGlvbiB9XHJcblxyXG4gICAgcmV0dXJuIHsgYXR0cmlidXRlTmFtZSwgY29sdW1uTmFtZTogYXR0cmlidXRlTmFtZS50b1N0cmluZygpLCAuLi5maWVsZE9wdGlvbiB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgQ2hlY2tJc0NvbHVtbk9wdGlvbiA9IDxNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNb2RlbD4sIFBhcmVudE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPihcclxuICAgIGZpZWxkVmFsdWU6IENvbHVtbk9wdGlvbnM8TW9kZWwsIFBhcmVudE1vZGVsPiB8IGFueSxcclxuICApOiBmaWVsZFZhbHVlIGlzIENvbHVtbk9wdGlvbnM8TW9kZWwsIFBhcmVudE1vZGVsPiA9PiAhIWZpZWxkVmFsdWU/LmNvbHVtbk5hbWVcclxuXHJcbiAgc3RhdGljIEZpbmRDb2x1bW5PcHRpb25Gcm9tTGlzdCA9IDxNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSwgUGFyZW50TW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+KFxyXG4gICAgY29sdW1uTmFtZTogc3RyaW5nLFxyXG4gICAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPFBhcmVudE1vZGVsPixcclxuICApOiBDb2x1bW5PcHRpb25zPE1vZGVsLCBQYXJlbnRNb2RlbD4gJiB7IGF0dHJpYnV0ZU5hbWU6IE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8UGFyZW50TW9kZWw+IH0gPT4ge1xyXG4gICAgaWYgKGZpZWxkcy5pbmNsdWRlcyhjb2x1bW5OYW1lIGFzIEhhc3VyYUdyYXBoUUxGaWVsZHM8UGFyZW50TW9kZWw+W251bWJlcl0pKVxyXG4gICAgICByZXR1cm4geyBjb2x1bW5OYW1lLCBhdHRyaWJ1dGVOYW1lOiBjb2x1bW5OYW1lIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8UGFyZW50TW9kZWw+IH1cclxuXHJcbiAgICBjb25zdCBmaWVsZCA9IGlzPFJlY29yZDxOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPFBhcmVudE1vZGVsPiwgQ29sdW1uT3B0aW9uczxNb2RlbCwgUGFyZW50TW9kZWw+Pj4oXHJcbiAgICAgIGZpZWxkcy5maW5kKChmaWVsZCkgPT4ge1xyXG4gICAgICAgIGlmICghaXNPYmplY3QoZmllbGQpKSByZXR1cm4gZmFsc2VcclxuXHJcbiAgICAgICAgY29uc3QgY29sdW1uT3B0aW9uID0gT2JqZWN0LnZhbHVlcyhmaWVsZCkuZmluZCgob3B0aW9uKSA9PlxyXG4gICAgICAgICAgQXR0cmlidXRlT3B0aW9uSGVscGVyLkNoZWNrSXNDb2x1bW5PcHRpb24ob3B0aW9uKSAmJiBvcHRpb24uY29sdW1uTmFtZSA9PT0gY29sdW1uTmFtZSA/IG9wdGlvbiA6IHt9LFxyXG4gICAgICAgIClcclxuXHJcbiAgICAgICAgcmV0dXJuIEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5DaGVja0lzQ29sdW1uT3B0aW9uKGNvbHVtbk9wdGlvbikgJiYgY29sdW1uT3B0aW9uPy5jb2x1bW5OYW1lID09PSBjb2x1bW5OYW1lXHJcbiAgICAgIH0pIHx8IHt9LFxyXG4gICAgKVxyXG4gICAgY29uc3QgYXR0cmlidXRlTmFtZSA9IE9iamVjdC5rZXlzKGZpZWxkKS5maW5kKFxyXG4gICAgICAoZmllbGRPcHRpb25Gcm9tTGlzdCkgPT5cclxuICAgICAgICBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuQ2hlY2tJc0NvbHVtbk9wdGlvbihcclxuICAgICAgICAgIGZpZWxkW2ZpZWxkT3B0aW9uRnJvbUxpc3QgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxQYXJlbnRNb2RlbD5dLFxyXG4gICAgICAgICkgfHwgQXJyYXkuaXNBcnJheShmaWVsZFtmaWVsZE9wdGlvbkZyb21MaXN0IGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8UGFyZW50TW9kZWw+XSksXHJcbiAgICApIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8UGFyZW50TW9kZWw+XHJcbiAgICBjb25zdCBmaWVsZE9wdGlvbiA9IGZpZWxkPy5bYXR0cmlidXRlTmFtZV1cclxuXHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZE9wdGlvbikpXHJcbiAgICAgIHJldHVybiB7IGF0dHJpYnV0ZU5hbWU6IGF0dHJpYnV0ZU5hbWUgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxQYXJlbnRNb2RlbD4sIGZpZWxkczogZmllbGRPcHRpb24gfVxyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGF0dHJpYnV0ZU5hbWU6IGF0dHJpYnV0ZU5hbWUgfHwgKGNvbHVtbk5hbWUgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxQYXJlbnRNb2RlbD4pLFxyXG4gICAgICBjb2x1bW5OYW1lLFxyXG4gICAgICAuLi5maWVsZE9wdGlvbixcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
1
+ import { is, isNil, isObject } from '../../../../utils';
2
+ export class AttributeOptionHelper {
3
+ }
4
+ AttributeOptionHelper.FindByAttribute = (attributeName, fields) => {
5
+ if (fields.includes(attributeName))
6
+ return { columnName: attributeName.toString(), attributeName, to: (value) => value, from: (value) => value };
7
+ const field = fields.find((columnOption) => isObject(columnOption) && Object.keys(columnOption).includes(attributeName.toString()));
8
+ const fieldOption = is(field)?.[attributeName];
9
+ if (isNil(fieldOption))
10
+ return { columnName: attributeName.toString(), attributeName };
11
+ if (Array.isArray(fieldOption))
12
+ return { columnName: attributeName.toString(), attributeName, fields: fieldOption };
13
+ return { attributeName, columnName: attributeName.toString(), ...fieldOption };
14
+ };
15
+ AttributeOptionHelper.CheckIsColumnOption = (fieldValue) => !!fieldValue?.columnName;
16
+ AttributeOptionHelper.FindColumnOptionFromList = (columnName, fields) => {
17
+ if (fields.includes(columnName))
18
+ return { columnName, attributeName: columnName };
19
+ const field = is(fields.find((field) => {
20
+ if (!isObject(field))
21
+ return false;
22
+ const columnOption = Object.values(field).find((option) => AttributeOptionHelper.CheckIsColumnOption(option) && option.columnName === columnName ? option : {});
23
+ return AttributeOptionHelper.CheckIsColumnOption(columnOption) && columnOption?.columnName === columnName;
24
+ }) || {});
25
+ const attributeName = Object.keys(field).find((fieldOptionFromList) => AttributeOptionHelper.CheckIsColumnOption(field[fieldOptionFromList]) || Array.isArray(field[fieldOptionFromList]));
26
+ const fieldOption = field?.[attributeName];
27
+ if (Array.isArray(fieldOption))
28
+ return { attributeName: attributeName, fields: fieldOption };
29
+ return {
30
+ attributeName: attributeName || columnName,
31
+ columnName,
32
+ ...fieldOption,
33
+ };
34
+ };
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLW9wdGlvbi5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9hdHRyaWJ1dGUtb3B0aW9uLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQVF2RCxNQUFNLE9BQU8scUJBQXFCOztBQUN6QixxQ0FBZSxHQUFHLENBSXZCLGFBQXdCLEVBQ3hCLE1BQWtDLEVBQ08sRUFBRTtJQUMzQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBb0IsQ0FBQztRQUN2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUU5RyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUN2QixDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUN6RyxDQUFBO0lBQ0QsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUE0RCxLQUFLLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBRXpHLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRSxFQUFFLGFBQWEsRUFBRSxDQUFBO0lBQ3RGLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxDQUFBO0lBRW5ILE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxHQUFHLFdBQVcsRUFBRSxDQUFBO0FBQ2hGLENBQUMsQ0FBQTtBQUVNLHlDQUFtQixHQUFHLENBQzNCLFVBQW1ELEVBQ0YsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFBO0FBRXZFLDhDQUF3QixHQUFHLENBQ2hDLFVBQWtCLEVBQ2xCLE1BQXdDLEVBQ21FLEVBQUU7SUFDN0csSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQXNELENBQUM7UUFDekUsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsVUFBZ0UsRUFBRSxDQUFBO0lBRXhHLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FDZCxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQTtRQUVsQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ3hELHFCQUFxQixDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxVQUFVLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDcEcsQ0FBQTtRQUVELE9BQU8scUJBQXFCLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLElBQUksWUFBWSxFQUFFLFVBQVUsS0FBSyxVQUFVLENBQUE7SUFDM0csQ0FBQyxDQUFDLElBQUksRUFBRSxDQUNULENBQUE7SUFDRCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDM0MsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLENBQ3RCLHFCQUFxQixDQUFDLG1CQUFtQixDQUN2QyxLQUFLLENBQUMsbUJBQXlFLENBQUMsQ0FDakYsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBeUUsQ0FBQyxDQUFDLENBQ2pELENBQUE7SUFDdkQsTUFBTSxXQUFXLEdBQUcsS0FBSyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUE7SUFFMUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQW1FLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxDQUFBO0lBRXBILE9BQU87UUFDTCxhQUFhLEVBQUUsYUFBYSxJQUFLLFVBQWlFO1FBQ2xHLFVBQVU7UUFDVixHQUFHLFdBQVc7S0FDZixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWxCYXNlU3RydWN0dXJlLCBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgaXMsIGlzTmlsLCBpc09iamVjdCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgQ29sdW1uT3B0aW9ucywgSGFzdXJhR3JhcGhRTEZpZWxkcyB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG50eXBlIEZpbmRCeUF0dHJpYnV0ZVJlc3VsdDxcbiAgTUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8TUJhc2U+LFxuICBBdHRyaWJ1dGUgZXh0ZW5kcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcbj4gPSBDb2x1bW5PcHRpb25zPE1CYXNlW0F0dHJpYnV0ZV0sIE1CYXNlPiAmIHsgYXR0cmlidXRlTmFtZTogQXR0cmlidXRlIH1cblxuZXhwb3J0IGNsYXNzIEF0dHJpYnV0ZU9wdGlvbkhlbHBlciB7XG4gIHN0YXRpYyBGaW5kQnlBdHRyaWJ1dGUgPSA8XG4gICAgTUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8TUJhc2UsIE1CYXNlWydpZGVudGlmaWVyc0ZpZWxkcyddW251bWJlcl0+LFxuICAgIEF0dHJpYnV0ZSBleHRlbmRzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+ID0gTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXG4gID4oXG4gICAgYXR0cmlidXRlTmFtZTogQXR0cmlidXRlLFxuICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXG4gICk6IEZpbmRCeUF0dHJpYnV0ZVJlc3VsdDxNQmFzZSwgQXR0cmlidXRlPiA9PiB7XG4gICAgaWYgKGZpZWxkcy5pbmNsdWRlcyhhdHRyaWJ1dGVOYW1lIGFzIGFueSkpXG4gICAgICByZXR1cm4geyBjb2x1bW5OYW1lOiBhdHRyaWJ1dGVOYW1lLnRvU3RyaW5nKCksIGF0dHJpYnV0ZU5hbWUsIHRvOiAodmFsdWUpID0+IHZhbHVlLCBmcm9tOiAodmFsdWUpID0+IHZhbHVlIH1cblxuICAgIGNvbnN0IGZpZWxkID0gZmllbGRzLmZpbmQoXG4gICAgICAoY29sdW1uT3B0aW9uKSA9PiBpc09iamVjdChjb2x1bW5PcHRpb24pICYmIE9iamVjdC5rZXlzKGNvbHVtbk9wdGlvbikuaW5jbHVkZXMoYXR0cmlidXRlTmFtZS50b1N0cmluZygpKSxcbiAgICApXG4gICAgY29uc3QgZmllbGRPcHRpb24gPSBpczxSZWNvcmQ8QXR0cmlidXRlLCBDb2x1bW5PcHRpb25zPE1CYXNlW0F0dHJpYnV0ZV0sIE1CYXNlPj4+KGZpZWxkKT8uW2F0dHJpYnV0ZU5hbWVdXG5cbiAgICBpZiAoaXNOaWwoZmllbGRPcHRpb24pKSByZXR1cm4geyBjb2x1bW5OYW1lOiBhdHRyaWJ1dGVOYW1lLnRvU3RyaW5nKCksIGF0dHJpYnV0ZU5hbWUgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkT3B0aW9uKSkgcmV0dXJuIHsgY29sdW1uTmFtZTogYXR0cmlidXRlTmFtZS50b1N0cmluZygpLCBhdHRyaWJ1dGVOYW1lLCBmaWVsZHM6IGZpZWxkT3B0aW9uIH1cblxuICAgIHJldHVybiB7IGF0dHJpYnV0ZU5hbWUsIGNvbHVtbk5hbWU6IGF0dHJpYnV0ZU5hbWUudG9TdHJpbmcoKSwgLi4uZmllbGRPcHRpb24gfVxuICB9XG5cbiAgc3RhdGljIENoZWNrSXNDb2x1bW5PcHRpb24gPSA8TW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8TW9kZWw+LCBQYXJlbnRNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZT4oXG4gICAgZmllbGRWYWx1ZTogQ29sdW1uT3B0aW9uczxNb2RlbCwgUGFyZW50TW9kZWw+IHwgYW55LFxuICApOiBmaWVsZFZhbHVlIGlzIENvbHVtbk9wdGlvbnM8TW9kZWwsIFBhcmVudE1vZGVsPiA9PiAhIWZpZWxkVmFsdWU/LmNvbHVtbk5hbWVcblxuICBzdGF0aWMgRmluZENvbHVtbk9wdGlvbkZyb21MaXN0ID0gPE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLCBQYXJlbnRNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZT4oXG4gICAgY29sdW1uTmFtZTogc3RyaW5nLFxuICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxQYXJlbnRNb2RlbD4sXG4gICk6IENvbHVtbk9wdGlvbnM8TW9kZWwsIFBhcmVudE1vZGVsPiAmIHsgYXR0cmlidXRlTmFtZTogTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxQYXJlbnRNb2RlbD4gfSA9PiB7XG4gICAgaWYgKGZpZWxkcy5pbmNsdWRlcyhjb2x1bW5OYW1lIGFzIEhhc3VyYUdyYXBoUUxGaWVsZHM8UGFyZW50TW9kZWw+W251bWJlcl0pKVxuICAgICAgcmV0dXJuIHsgY29sdW1uTmFtZSwgYXR0cmlidXRlTmFtZTogY29sdW1uTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPFBhcmVudE1vZGVsPiB9XG5cbiAgICBjb25zdCBmaWVsZCA9IGlzPFJlY29yZDxOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPFBhcmVudE1vZGVsPiwgQ29sdW1uT3B0aW9uczxNb2RlbCwgUGFyZW50TW9kZWw+Pj4oXG4gICAgICBmaWVsZHMuZmluZCgoZmllbGQpID0+IHtcbiAgICAgICAgaWYgKCFpc09iamVjdChmaWVsZCkpIHJldHVybiBmYWxzZVxuXG4gICAgICAgIGNvbnN0IGNvbHVtbk9wdGlvbiA9IE9iamVjdC52YWx1ZXMoZmllbGQpLmZpbmQoKG9wdGlvbikgPT5cbiAgICAgICAgICBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuQ2hlY2tJc0NvbHVtbk9wdGlvbihvcHRpb24pICYmIG9wdGlvbi5jb2x1bW5OYW1lID09PSBjb2x1bW5OYW1lID8gb3B0aW9uIDoge30sXG4gICAgICAgIClcblxuICAgICAgICByZXR1cm4gQXR0cmlidXRlT3B0aW9uSGVscGVyLkNoZWNrSXNDb2x1bW5PcHRpb24oY29sdW1uT3B0aW9uKSAmJiBjb2x1bW5PcHRpb24/LmNvbHVtbk5hbWUgPT09IGNvbHVtbk5hbWVcbiAgICAgIH0pIHx8IHt9LFxuICAgIClcbiAgICBjb25zdCBhdHRyaWJ1dGVOYW1lID0gT2JqZWN0LmtleXMoZmllbGQpLmZpbmQoXG4gICAgICAoZmllbGRPcHRpb25Gcm9tTGlzdCkgPT5cbiAgICAgICAgQXR0cmlidXRlT3B0aW9uSGVscGVyLkNoZWNrSXNDb2x1bW5PcHRpb24oXG4gICAgICAgICAgZmllbGRbZmllbGRPcHRpb25Gcm9tTGlzdCBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPFBhcmVudE1vZGVsPl0sXG4gICAgICAgICkgfHwgQXJyYXkuaXNBcnJheShmaWVsZFtmaWVsZE9wdGlvbkZyb21MaXN0IGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8UGFyZW50TW9kZWw+XSksXG4gICAgKSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPFBhcmVudE1vZGVsPlxuICAgIGNvbnN0IGZpZWxkT3B0aW9uID0gZmllbGQ/LlthdHRyaWJ1dGVOYW1lXVxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGRPcHRpb24pKVxuICAgICAgcmV0dXJuIHsgYXR0cmlidXRlTmFtZTogYXR0cmlidXRlTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPFBhcmVudE1vZGVsPiwgZmllbGRzOiBmaWVsZE9wdGlvbiB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgYXR0cmlidXRlTmFtZTogYXR0cmlidXRlTmFtZSB8fCAoY29sdW1uTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPFBhcmVudE1vZGVsPiksXG4gICAgICBjb2x1bW5OYW1lLFxuICAgICAgLi4uZmllbGRPcHRpb24sXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,71 +1,71 @@
1
- import { Where, } from '../../../../domain';
2
- import { is, isNil, isObject } from '../../../../utils';
3
- import { HasuraGraphQLColumnType, HasuraGraphQLWhere } from '../../enums';
4
- import { AttributeOptionHelper } from './attribute-option.helper';
5
- import { FilterOptionHelper } from './filter-option.helper';
6
- export class BindFilterQueryHelper {
7
- }
8
- BindFilterQueryHelper.MakeGraphQLWhere = (filter, fields) => Object.keys(filter).reduce((variables, fieldName) => {
9
- const columnOption = AttributeOptionHelper.FindByAttribute(fieldName, fields);
10
- if (!columnOption.bindFindFilter)
11
- return {
12
- ...variables,
13
- ...{
14
- [columnOption.columnName]: BindFilterQueryHelper.BuildWhereSentence(fieldName, filter[fieldName], fields),
15
- },
16
- };
17
- const builtFilter = columnOption.bindFindFilter(filter[fieldName]);
18
- return {
19
- ...variables,
20
- ...Object.keys(builtFilter).reduce((variablesList, columnName) => ({
21
- ...variablesList,
22
- [columnName]: BindFilterQueryHelper.BuildWhereSentence(fieldName, builtFilter[columnName], fields),
23
- }), {}),
24
- };
25
- }, {});
26
- BindFilterQueryHelper.BuildWhereSentence = (field, options, fields) => {
27
- const fieldSentenceOptions = AttributeOptionHelper.FindByAttribute(field, fields);
28
- const isNestedField = !Array.isArray(options) &&
29
- isObject(options) &&
30
- isNil(options?.operator) &&
31
- isNil(options?.value) &&
32
- isNil(fieldSentenceOptions?.to);
33
- if (isNestedField)
34
- return Object.keys(options).reduce((variables, key) => {
35
- const fieldOptions = AttributeOptionHelper.FindByAttribute(key, fieldSentenceOptions?.fields || fields);
36
- const columnName = fieldOptions.columnName;
37
- const columnFields = fieldOptions.fields;
38
- return {
39
- ...variables,
40
- [columnName]: BindFilterQueryHelper.BuildWhereSentence(key, is(is(options)[key]), fieldSentenceOptions?.fields || columnFields || fields),
41
- };
42
- }, {});
43
- if (!Array.isArray(options) && !isNil(fieldSentenceOptions.fields))
44
- return {
45
- [fieldSentenceOptions.fields[0]]: BindFilterQueryHelper.BuildOperatorSentence(options, fieldSentenceOptions),
46
- };
47
- if (!Array.isArray(options) && isObject(options) && !FilterOptionHelper.CheckIfIsFilterOption(options))
48
- options = Object.values(options)[0];
49
- return Array.isArray(options)
50
- ? options.reduce((whereSentence, option) => ({
51
- ...whereSentence,
52
- ...BindFilterQueryHelper.BuildOperatorSentence(option, fieldSentenceOptions),
53
- }), {})
54
- : BindFilterQueryHelper.BuildOperatorSentence(options, fieldSentenceOptions);
55
- };
56
- BindFilterQueryHelper.BuildOperatorSentence = (options, fieldOption) => ({
57
- [BindFilterQueryHelper.GetHasuraOperator(options, fieldOption)]: FilterOptionHelper.GetValueFromFilter(options, fieldOption),
58
- });
59
- BindFilterQueryHelper.GetHasuraOperator = (options, fieldOption) => FilterOptionHelper.CheckIfIsFilterOption(options)
60
- ? fieldOption.type === HasuraGraphQLColumnType.Jsonb
61
- ? BindFilterQueryHelper.GetHasuraJsonbOperator(options)
62
- : HasuraGraphQLWhere[Object.keys(HasuraGraphQLWhere).find((graphQLOperator) => graphQLOperator ===
63
- Object.keys(Where).find((operator) => Where[operator] === options?.operator))]
64
- : HasuraGraphQLWhere.EQUALS;
65
- BindFilterQueryHelper.GetHasuraJsonbOperator = (options) => options.operator === Where.IN
66
- ? HasuraGraphQLWhere.JSON_CONTAINS
67
- : options.operator === Where.LIKE
68
- ? HasuraGraphQLWhere.JSON_HAS_KEYS_ANY
69
- : HasuraGraphQLWhere[Object.keys(HasuraGraphQLWhere).find((graphQLOperator) => graphQLOperator ===
70
- Object.keys(Where).find((operator) => Where[operator] === options?.operator))];
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluZC1maWx0ZXItcXVlcnkuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL2hlbHBlcnMvYmluZC1maWx0ZXItcXVlcnkuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFNTCxLQUFLLEdBQ04sTUFBTSxvQkFBb0IsQ0FBQTtBQUMzQixPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFFM0QsTUFBTSxPQUFPLHFCQUFxQjs7QUFDekIsc0NBQWdCLEdBQUcsQ0FDeEIsTUFBcUMsRUFDckMsTUFBa0MsRUFDakIsRUFBRSxDQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQTBCLEVBQUUsU0FBaUIsRUFBRSxFQUFFO0lBQzNFLE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLGVBQWUsQ0FDeEQsU0FBeUQsRUFDekQsTUFBTSxDQUNQLENBQUE7SUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWM7UUFDOUIsT0FBTztZQUNMLEdBQUcsU0FBUztZQUNaLEdBQUc7Z0JBQ0QsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEVBQUUscUJBQXFCLENBQUMsa0JBQWtCLENBQ2pFLFNBQXlELEVBQ3pELE1BQU0sQ0FBQyxTQUF5RCxDQUcvRCxFQUNELE1BQU0sQ0FDUDthQUNGO1NBQ0YsQ0FBQTtJQUVILE1BQU0sV0FBVyxHQUFrQyxZQUFZLENBQUMsY0FBYyxDQUM1RSxNQUFNLENBQUMsU0FBNEMsQ0FHbEQsQ0FDRixDQUFBO0lBRUQsT0FBTztRQUNMLEdBQUcsU0FBUztRQUNaLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQ2hDLENBQUMsYUFBOEIsRUFBRSxVQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELEdBQUcsYUFBYTtZQUNoQixDQUFDLFVBQVUsQ0FBQyxFQUFFLHFCQUFxQixDQUFDLGtCQUFrQixDQUNwRCxTQUF5RCxFQUN6RCxXQUFXLENBQUMsVUFBMEQsQ0FHckUsRUFDRCxNQUFNLENBQ1A7U0FDRixDQUFDLEVBQ0YsRUFBRSxDQUNIO0tBQ0YsQ0FBQTtBQUNILENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUVELHdDQUFrQixHQUFHLENBQzFCLEtBQW1ELEVBQ25ELE9BQTJGLEVBQzNGLE1BQWtDLEVBQ2pCLEVBQUU7SUFDbkIsTUFBTSxvQkFBb0IsR0FBRyxxQkFBcUIsQ0FBQyxlQUFlLENBQVEsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQ3hGLE1BQU0sYUFBYSxHQUNqQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ3ZCLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFDakIsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUM7UUFDeEIsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUM7UUFDckIsS0FBSyxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRWpDLElBQUksYUFBYTtRQUNmLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDcEQsTUFBTSxZQUFZLEdBQUcscUJBQXFCLENBQUMsZUFBZSxDQUN4RCxHQUFtRCxFQUNuRCxvQkFBb0IsRUFBRSxNQUFNLElBQUssTUFBYyxDQUNoRCxDQUFBO1lBQ0QsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQTtZQUMxQyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFBO1lBRXhDLE9BQU87Z0JBQ0wsR0FBRyxTQUFTO2dCQUNaLENBQUMsVUFBVSxDQUFDLEVBQUUscUJBQXFCLENBQUMsa0JBQWtCLENBQ3BELEdBQW1ELEVBQ25ELEVBQUUsQ0FDQSxFQUFFLENBQWdDLE9BQU8sQ0FBQyxDQUFDLEdBQW1ELENBQUMsQ0FDaEcsRUFDRCxvQkFBb0IsRUFBRSxNQUFNLElBQUksWUFBWSxJQUFLLE1BQWMsQ0FDaEU7YUFDRixDQUFBO1FBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRVIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDO1FBQ2hFLE9BQU87WUFDTCxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQWlELENBQUMsRUFDOUUscUJBQXFCLENBQUMscUJBQXFCLENBQ3pDLE9BQU8sRUFDUCxvQkFBaUcsQ0FDbEc7U0FDSixDQUFBO0lBRUgsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDO1FBQ3BHLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBOEMsQ0FBQTtJQUVsRixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUNaLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMxQixHQUFHLGFBQWE7WUFDaEIsR0FBRyxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FDNUMsTUFBTSxFQUNOLG9CQUFpRyxDQUNsRztTQUNGLENBQUMsRUFDRixFQUFFLENBQ0g7UUFDSCxDQUFDLENBQUMscUJBQXFCLENBQUMscUJBQXFCLENBQ3pDLE9BQU8sRUFDUCxvQkFBaUcsQ0FDbEcsQ0FBQTtBQUNQLENBQUMsQ0FBQTtBQUVNLDJDQUFxQixHQUFHLENBQzdCLE9BQWtELEVBQ2xELFdBQW9DLEVBQ25CLEVBQUUsQ0FBQyxDQUFDO0lBQ3JCLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsa0JBQWtCLENBQ3BHLE9BQU8sRUFDUCxXQUFXLENBQ1o7Q0FDRixDQUFDLENBQUE7QUFFSyx1Q0FBaUIsR0FBRyxDQUN6QixPQUE4RSxFQUM5RSxXQUFvQyxFQUNoQixFQUFFLENBQ3RCLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQztJQUMvQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyx1QkFBdUIsQ0FBQyxLQUFLO1FBQ2xELENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUM7UUFDdkQsQ0FBQyxDQUFDLGtCQUFrQixDQUNoQixNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUNsQyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQ2xCLGVBQWU7WUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQThCLENBQUMsS0FBSyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQ2xFLENBQ3JDO0lBQ0wsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQTtBQUV4Qiw0Q0FBc0IsR0FBRyxDQUM5QixPQUE4RSxFQUMxRCxFQUFFLENBQ3RCLE9BQU8sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLEVBQUU7SUFDM0IsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLGFBQWE7SUFDbEMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLElBQUk7UUFDakMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQjtRQUN0QyxDQUFDLENBQUMsa0JBQWtCLENBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQ2xDLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FDbEIsZUFBZTtZQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBOEIsQ0FBQyxLQUFLLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FDbEUsQ0FDckMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgTW9kZWxCYXNlU3RydWN0dXJlLFxyXG4gIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXMsXHJcbiAgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzLFxyXG4gIFJlcG9zaXRvcnlGaW5kRmllbHRlcnMsXHJcbiAgUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnMsXHJcbiAgV2hlcmUsXHJcbn0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xyXG5pbXBvcnQgeyBpcywgaXNOaWwsIGlzT2JqZWN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXHJcbmltcG9ydCB7IEhhc3VyYUdyYXBoUUxDb2x1bW5UeXBlLCBIYXN1cmFHcmFwaFFMV2hlcmUgfSBmcm9tICcuLi8uLi9lbnVtcydcclxuaW1wb3J0IHsgQ29sdW1uT3B0aW9ucywgSGFzdXJhR3JhcGhRTEZpZWxkcywgVmFyaWFibGVPcHRpb25zIH0gZnJvbSAnLi4vLi4vdHlwZXMnXHJcbmltcG9ydCB7IEF0dHJpYnV0ZU9wdGlvbkhlbHBlciB9IGZyb20gJy4vYXR0cmlidXRlLW9wdGlvbi5oZWxwZXInXHJcbmltcG9ydCB7IEZpbHRlck9wdGlvbkhlbHBlciB9IGZyb20gJy4vZmlsdGVyLW9wdGlvbi5oZWxwZXInXHJcblxyXG5leHBvcnQgY2xhc3MgQmluZEZpbHRlclF1ZXJ5SGVscGVyIHtcclxuICBzdGF0aWMgTWFrZUdyYXBoUUxXaGVyZSA9IDxNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNQmFzZT4+KFxyXG4gICAgZmlsdGVyOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPE1CYXNlPixcclxuICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXHJcbiAgKTogVmFyaWFibGVPcHRpb25zID0+XHJcbiAgICBPYmplY3Qua2V5cyhmaWx0ZXIpLnJlZHVjZSgodmFyaWFibGVzOiBWYXJpYWJsZU9wdGlvbnMsIGZpZWxkTmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbHVtbk9wdGlvbiA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoXHJcbiAgICAgICAgZmllbGROYW1lIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxyXG4gICAgICAgIGZpZWxkcyxcclxuICAgICAgKVxyXG5cclxuICAgICAgaWYgKCFjb2x1bW5PcHRpb24uYmluZEZpbmRGaWx0ZXIpXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIC4uLnZhcmlhYmxlcyxcclxuICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgW2NvbHVtbk9wdGlvbi5jb2x1bW5OYW1lXTogQmluZEZpbHRlclF1ZXJ5SGVscGVyLkJ1aWxkV2hlcmVTZW50ZW5jZShcclxuICAgICAgICAgICAgICBmaWVsZE5hbWUgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXHJcbiAgICAgICAgICAgICAgZmlsdGVyW2ZpZWxkTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPl0gYXMgUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnM8XHJcbiAgICAgICAgICAgICAgICBNQmFzZSxcclxuICAgICAgICAgICAgICAgIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+XHJcbiAgICAgICAgICAgICAgPixcclxuICAgICAgICAgICAgICBmaWVsZHMsXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGJ1aWx0RmlsdGVyOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPE1CYXNlPiA9IGNvbHVtbk9wdGlvbi5iaW5kRmluZEZpbHRlcihcclxuICAgICAgICBmaWx0ZXJbZmllbGROYW1lIGFzIE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxNQmFzZT5dIGFzIFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPFxyXG4gICAgICAgICAgTUJhc2UsXHJcbiAgICAgICAgICBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8TUJhc2U+XHJcbiAgICAgICAgPixcclxuICAgICAgKVxyXG5cclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICAuLi52YXJpYWJsZXMsXHJcbiAgICAgICAgLi4uT2JqZWN0LmtleXMoYnVpbHRGaWx0ZXIpLnJlZHVjZShcclxuICAgICAgICAgICh2YXJpYWJsZXNMaXN0OiBWYXJpYWJsZU9wdGlvbnMsIGNvbHVtbk5hbWU6IHN0cmluZykgPT4gKHtcclxuICAgICAgICAgICAgLi4udmFyaWFibGVzTGlzdCxcclxuICAgICAgICAgICAgW2NvbHVtbk5hbWVdOiBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuQnVpbGRXaGVyZVNlbnRlbmNlKFxyXG4gICAgICAgICAgICAgIGZpZWxkTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcclxuICAgICAgICAgICAgICBidWlsdEZpbHRlcltjb2x1bW5OYW1lIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+XSBhcyBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxcclxuICAgICAgICAgICAgICAgIE1CYXNlLFxyXG4gICAgICAgICAgICAgICAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT5cclxuICAgICAgICAgICAgICA+LFxyXG4gICAgICAgICAgICAgIGZpZWxkcyxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAge30sXHJcbiAgICAgICAgKSxcclxuICAgICAgfVxyXG4gICAgfSwge30pXHJcblxyXG4gIHN0YXRpYyBCdWlsZFdoZXJlU2VudGVuY2UgPSA8TUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8TUJhc2U+PihcclxuICAgIGZpZWxkOiBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcclxuICAgIG9wdGlvbnM6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1CYXNlLCBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPj4sXHJcbiAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxyXG4gICk6IFZhcmlhYmxlT3B0aW9ucyA9PiB7XHJcbiAgICBjb25zdCBmaWVsZFNlbnRlbmNlT3B0aW9ucyA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGU8TUJhc2U+KGZpZWxkLCBmaWVsZHMpXHJcbiAgICBjb25zdCBpc05lc3RlZEZpZWxkID1cclxuICAgICAgIUFycmF5LmlzQXJyYXkob3B0aW9ucykgJiZcclxuICAgICAgaXNPYmplY3Qob3B0aW9ucykgJiZcclxuICAgICAgaXNOaWwob3B0aW9ucz8ub3BlcmF0b3IpICYmXHJcbiAgICAgIGlzTmlsKG9wdGlvbnM/LnZhbHVlKSAmJlxyXG4gICAgICBpc05pbChmaWVsZFNlbnRlbmNlT3B0aW9ucz8udG8pXHJcblxyXG4gICAgaWYgKGlzTmVzdGVkRmllbGQpXHJcbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhvcHRpb25zKS5yZWR1Y2UoKHZhcmlhYmxlcywga2V5KSA9PiB7XHJcbiAgICAgICAgY29uc3QgZmllbGRPcHRpb25zID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZTxNQmFzZT4oXHJcbiAgICAgICAgICBrZXkgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXHJcbiAgICAgICAgICBmaWVsZFNlbnRlbmNlT3B0aW9ucz8uZmllbGRzIHx8IChmaWVsZHMgYXMgYW55KSxcclxuICAgICAgICApXHJcbiAgICAgICAgY29uc3QgY29sdW1uTmFtZSA9IGZpZWxkT3B0aW9ucy5jb2x1bW5OYW1lXHJcbiAgICAgICAgY29uc3QgY29sdW1uRmllbGRzID0gZmllbGRPcHRpb25zLmZpZWxkc1xyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgLi4udmFyaWFibGVzLFxyXG4gICAgICAgICAgW2NvbHVtbk5hbWVdOiBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuQnVpbGRXaGVyZVNlbnRlbmNlPE1CYXNlPihcclxuICAgICAgICAgICAga2V5IGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxyXG4gICAgICAgICAgICBpczxSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNQmFzZSwgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4+PihcclxuICAgICAgICAgICAgICBpczxSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPE1CYXNlPj4ob3B0aW9ucylba2V5IGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+XSxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgZmllbGRTZW50ZW5jZU9wdGlvbnM/LmZpZWxkcyB8fCBjb2x1bW5GaWVsZHMgfHwgKGZpZWxkcyBhcyBhbnkpLFxyXG4gICAgICAgICAgKSxcclxuICAgICAgICB9XHJcbiAgICAgIH0sIHt9KVxyXG5cclxuICAgIGlmICghQXJyYXkuaXNBcnJheShvcHRpb25zKSAmJiAhaXNOaWwoZmllbGRTZW50ZW5jZU9wdGlvbnMuZmllbGRzKSlcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBbZmllbGRTZW50ZW5jZU9wdGlvbnMuZmllbGRzWzBdIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+XTpcclxuICAgICAgICAgIEJpbmRGaWx0ZXJRdWVyeUhlbHBlci5CdWlsZE9wZXJhdG9yU2VudGVuY2UoXHJcbiAgICAgICAgICAgIG9wdGlvbnMsXHJcbiAgICAgICAgICAgIGZpZWxkU2VudGVuY2VPcHRpb25zIGFzIENvbHVtbk9wdGlvbnM8TUJhc2VbTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT5dLCBNQmFzZT4sXHJcbiAgICAgICAgICApLFxyXG4gICAgICB9XHJcblxyXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KG9wdGlvbnMpICYmIGlzT2JqZWN0KG9wdGlvbnMpICYmICFGaWx0ZXJPcHRpb25IZWxwZXIuQ2hlY2tJZklzRmlsdGVyT3B0aW9uKG9wdGlvbnMpKVxyXG4gICAgICBvcHRpb25zID0gT2JqZWN0LnZhbHVlcyhvcHRpb25zKVswXSBhcyBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNQmFzZSwgYW55PlxyXG5cclxuICAgIHJldHVybiBBcnJheS5pc0FycmF5KG9wdGlvbnMpXHJcbiAgICAgID8gb3B0aW9ucy5yZWR1Y2UoXHJcbiAgICAgICAgICAod2hlcmVTZW50ZW5jZSwgb3B0aW9uKSA9PiAoe1xyXG4gICAgICAgICAgICAuLi53aGVyZVNlbnRlbmNlLFxyXG4gICAgICAgICAgICAuLi5CaW5kRmlsdGVyUXVlcnlIZWxwZXIuQnVpbGRPcGVyYXRvclNlbnRlbmNlKFxyXG4gICAgICAgICAgICAgIG9wdGlvbixcclxuICAgICAgICAgICAgICBmaWVsZFNlbnRlbmNlT3B0aW9ucyBhcyBDb2x1bW5PcHRpb25zPE1CYXNlW05vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+XSwgTUJhc2U+LFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICB7fSxcclxuICAgICAgICApXHJcbiAgICAgIDogQmluZEZpbHRlclF1ZXJ5SGVscGVyLkJ1aWxkT3BlcmF0b3JTZW50ZW5jZShcclxuICAgICAgICAgIG9wdGlvbnMsXHJcbiAgICAgICAgICBmaWVsZFNlbnRlbmNlT3B0aW9ucyBhcyBDb2x1bW5PcHRpb25zPE1CYXNlW05vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+XSwgTUJhc2U+LFxyXG4gICAgICAgIClcclxuICB9XHJcblxyXG4gIHN0YXRpYyBCdWlsZE9wZXJhdG9yU2VudGVuY2UgPSA8TUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8TUJhc2U+PihcclxuICAgIG9wdGlvbnM6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1CYXNlLCBhbnk+LFxyXG4gICAgZmllbGRPcHRpb246IENvbHVtbk9wdGlvbnM8YW55LCBhbnk+LFxyXG4gICk6IFZhcmlhYmxlT3B0aW9ucyA9PiAoe1xyXG4gICAgW0JpbmRGaWx0ZXJRdWVyeUhlbHBlci5HZXRIYXN1cmFPcGVyYXRvcihvcHRpb25zLCBmaWVsZE9wdGlvbildOiBGaWx0ZXJPcHRpb25IZWxwZXIuR2V0VmFsdWVGcm9tRmlsdGVyKFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgICBmaWVsZE9wdGlvbixcclxuICAgICksXHJcbiAgfSlcclxuXHJcbiAgc3RhdGljIEdldEhhc3VyYU9wZXJhdG9yID0gPE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPE1CYXNlPj4oXHJcbiAgICBvcHRpb25zOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNQmFzZSwgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPE1CYXNlPj4sXHJcbiAgICBmaWVsZE9wdGlvbjogQ29sdW1uT3B0aW9uczxhbnksIGFueT4sXHJcbiAgKTogSGFzdXJhR3JhcGhRTFdoZXJlID0+XHJcbiAgICBGaWx0ZXJPcHRpb25IZWxwZXIuQ2hlY2tJZklzRmlsdGVyT3B0aW9uKG9wdGlvbnMpXHJcbiAgICAgID8gZmllbGRPcHRpb24udHlwZSA9PT0gSGFzdXJhR3JhcGhRTENvbHVtblR5cGUuSnNvbmJcclxuICAgICAgICA/IEJpbmRGaWx0ZXJRdWVyeUhlbHBlci5HZXRIYXN1cmFKc29uYk9wZXJhdG9yKG9wdGlvbnMpXHJcbiAgICAgICAgOiBIYXN1cmFHcmFwaFFMV2hlcmVbXHJcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKEhhc3VyYUdyYXBoUUxXaGVyZSkuZmluZChcclxuICAgICAgICAgICAgICAoZ3JhcGhRTE9wZXJhdG9yKSA9PlxyXG4gICAgICAgICAgICAgICAgZ3JhcGhRTE9wZXJhdG9yID09PVxyXG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoV2hlcmUpLmZpbmQoKG9wZXJhdG9yKSA9PiBXaGVyZVtvcGVyYXRvciBhcyBrZXlvZiB0eXBlb2YgV2hlcmVdID09PSBvcHRpb25zPy5vcGVyYXRvciksXHJcbiAgICAgICAgICAgICkgYXMga2V5b2YgdHlwZW9mIEhhc3VyYUdyYXBoUUxXaGVyZVxyXG4gICAgICAgICAgXVxyXG4gICAgICA6IEhhc3VyYUdyYXBoUUxXaGVyZS5FUVVBTFNcclxuXHJcbiAgc3RhdGljIEdldEhhc3VyYUpzb25iT3BlcmF0b3IgPSA8TUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8TUJhc2U+PihcclxuICAgIG9wdGlvbnM6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1CYXNlLCBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8TUJhc2U+PixcclxuICApOiBIYXN1cmFHcmFwaFFMV2hlcmUgPT5cclxuICAgIG9wdGlvbnMub3BlcmF0b3IgPT09IFdoZXJlLklOXHJcbiAgICAgID8gSGFzdXJhR3JhcGhRTFdoZXJlLkpTT05fQ09OVEFJTlNcclxuICAgICAgOiBvcHRpb25zLm9wZXJhdG9yID09PSBXaGVyZS5MSUtFXHJcbiAgICAgID8gSGFzdXJhR3JhcGhRTFdoZXJlLkpTT05fSEFTX0tFWVNfQU5ZXHJcbiAgICAgIDogSGFzdXJhR3JhcGhRTFdoZXJlW1xyXG4gICAgICAgICAgT2JqZWN0LmtleXMoSGFzdXJhR3JhcGhRTFdoZXJlKS5maW5kKFxyXG4gICAgICAgICAgICAoZ3JhcGhRTE9wZXJhdG9yKSA9PlxyXG4gICAgICAgICAgICAgIGdyYXBoUUxPcGVyYXRvciA9PT1cclxuICAgICAgICAgICAgICBPYmplY3Qua2V5cyhXaGVyZSkuZmluZCgob3BlcmF0b3IpID0+IFdoZXJlW29wZXJhdG9yIGFzIGtleW9mIHR5cGVvZiBXaGVyZV0gPT09IG9wdGlvbnM/Lm9wZXJhdG9yKSxcclxuICAgICAgICAgICkgYXMga2V5b2YgdHlwZW9mIEhhc3VyYUdyYXBoUUxXaGVyZVxyXG4gICAgICAgIF1cclxufVxyXG4iXX0=
1
+ import { Where, } from '../../../../domain';
2
+ import { is, isNil, isObject } from '../../../../utils';
3
+ import { HasuraGraphQLColumnType, HasuraGraphQLWhere } from '../../enums';
4
+ import { AttributeOptionHelper } from './attribute-option.helper';
5
+ import { FilterOptionHelper } from './filter-option.helper';
6
+ export class BindFilterQueryHelper {
7
+ }
8
+ BindFilterQueryHelper.MakeGraphQLWhere = (filter, fields) => Object.keys(filter).reduce((variables, fieldName) => {
9
+ const columnOption = AttributeOptionHelper.FindByAttribute(fieldName, fields);
10
+ if (!columnOption.bindFindFilter)
11
+ return {
12
+ ...variables,
13
+ ...{
14
+ [columnOption.columnName]: BindFilterQueryHelper.BuildWhereSentence(fieldName, filter[fieldName], fields),
15
+ },
16
+ };
17
+ const builtFilter = columnOption.bindFindFilter(filter[fieldName]);
18
+ return {
19
+ ...variables,
20
+ ...Object.keys(builtFilter).reduce((variablesList, columnName) => ({
21
+ ...variablesList,
22
+ [columnName]: BindFilterQueryHelper.BuildWhereSentence(fieldName, builtFilter[columnName], fields),
23
+ }), {}),
24
+ };
25
+ }, {});
26
+ BindFilterQueryHelper.BuildWhereSentence = (field, options, fields) => {
27
+ const fieldSentenceOptions = AttributeOptionHelper.FindByAttribute(field, fields);
28
+ const isNestedField = !Array.isArray(options) &&
29
+ isObject(options) &&
30
+ isNil(options?.operator) &&
31
+ isNil(options?.value) &&
32
+ isNil(fieldSentenceOptions?.to);
33
+ if (isNestedField)
34
+ return Object.keys(options).reduce((variables, key) => {
35
+ const fieldOptions = AttributeOptionHelper.FindByAttribute(key, fieldSentenceOptions?.fields || fields);
36
+ const columnName = fieldOptions.columnName;
37
+ const columnFields = fieldOptions.fields;
38
+ return {
39
+ ...variables,
40
+ [columnName]: BindFilterQueryHelper.BuildWhereSentence(key, is(is(options)[key]), fieldSentenceOptions?.fields || columnFields || fields),
41
+ };
42
+ }, {});
43
+ if (!Array.isArray(options) && !isNil(fieldSentenceOptions.fields))
44
+ return {
45
+ [fieldSentenceOptions.fields[0]]: BindFilterQueryHelper.BuildOperatorSentence(options, fieldSentenceOptions),
46
+ };
47
+ if (!Array.isArray(options) && isObject(options) && !FilterOptionHelper.CheckIfIsFilterOption(options))
48
+ options = Object.values(options)[0];
49
+ return Array.isArray(options)
50
+ ? options.reduce((whereSentence, option) => ({
51
+ ...whereSentence,
52
+ ...BindFilterQueryHelper.BuildOperatorSentence(option, fieldSentenceOptions),
53
+ }), {})
54
+ : BindFilterQueryHelper.BuildOperatorSentence(options, fieldSentenceOptions);
55
+ };
56
+ BindFilterQueryHelper.BuildOperatorSentence = (options, fieldOption) => ({
57
+ [BindFilterQueryHelper.GetHasuraOperator(options, fieldOption)]: FilterOptionHelper.GetValueFromFilter(options, fieldOption),
58
+ });
59
+ BindFilterQueryHelper.GetHasuraOperator = (options, fieldOption) => FilterOptionHelper.CheckIfIsFilterOption(options)
60
+ ? fieldOption.type === HasuraGraphQLColumnType.Jsonb
61
+ ? BindFilterQueryHelper.GetHasuraJsonbOperator(options)
62
+ : HasuraGraphQLWhere[Object.keys(HasuraGraphQLWhere).find((graphQLOperator) => graphQLOperator ===
63
+ Object.keys(Where).find((operator) => Where[operator] === options?.operator))]
64
+ : HasuraGraphQLWhere.EQUALS;
65
+ BindFilterQueryHelper.GetHasuraJsonbOperator = (options) => options.operator === Where.IN
66
+ ? HasuraGraphQLWhere.JSON_CONTAINS
67
+ : options.operator === Where.LIKE
68
+ ? HasuraGraphQLWhere.JSON_HAS_KEYS_ANY
69
+ : HasuraGraphQLWhere[Object.keys(HasuraGraphQLWhere).find((graphQLOperator) => graphQLOperator ===
70
+ Object.keys(Where).find((operator) => Where[operator] === options?.operator))];
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluZC1maWx0ZXItcXVlcnkuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL2hlbHBlcnMvYmluZC1maWx0ZXItcXVlcnkuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFNTCxLQUFLLEdBQ04sTUFBTSxvQkFBb0IsQ0FBQTtBQUMzQixPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFFM0QsTUFBTSxPQUFPLHFCQUFxQjs7QUFDekIsc0NBQWdCLEdBQUcsQ0FDeEIsTUFBcUMsRUFDckMsTUFBa0MsRUFDakIsRUFBRSxDQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQTBCLEVBQUUsU0FBaUIsRUFBRSxFQUFFO0lBQzNFLE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLGVBQWUsQ0FDeEQsU0FBeUQsRUFDekQsTUFBTSxDQUNQLENBQUE7SUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWM7UUFDOUIsT0FBTztZQUNMLEdBQUcsU0FBUztZQUNaLEdBQUc7Z0JBQ0QsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEVBQUUscUJBQXFCLENBQUMsa0JBQWtCLENBQ2pFLFNBQXlELEVBQ3pELE1BQU0sQ0FBQyxTQUF5RCxDQUcvRCxFQUNELE1BQU0sQ0FDUDthQUNGO1NBQ0YsQ0FBQTtJQUVILE1BQU0sV0FBVyxHQUFr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S0FBSyxDQUFDLElBQUk7UUFDakMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQjtRQUN0QyxDQUFDLENBQUMsa0JBQWtCLENBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQ2xDLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FDbEIsZUFBZTtZQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBOEIsQ0FBQyxLQUFLLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FDbEUsQ0FDckMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lcyxcbiAgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzLFxuICBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzLFxuICBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9ucyxcbiAgV2hlcmUsXG59IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IGlzLCBpc05pbCwgaXNPYmplY3QgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscydcbmltcG9ydCB7IEhhc3VyYUdyYXBoUUxDb2x1bW5UeXBlLCBIYXN1cmFHcmFwaFFMV2hlcmUgfSBmcm9tICcuLi8uLi9lbnVtcydcbmltcG9ydCB7IENvbHVtbk9wdGlvbnMsIEhhc3VyYUdyYXBoUUxGaWVsZHMsIFZhcmlhYmxlT3B0aW9ucyB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9hdHRyaWJ1dGUtb3B0aW9uLmhlbHBlcidcbmltcG9ydCB7IEZpbHRlck9wdGlvbkhlbHBlciB9IGZyb20gJy4vZmlsdGVyLW9wdGlvbi5oZWxwZXInXG5cbmV4cG9ydCBjbGFzcyBCaW5kRmlsdGVyUXVlcnlIZWxwZXIge1xuICBzdGF0aWMgTWFrZUdyYXBoUUxXaGVyZSA9IDxNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNQmFzZT4+KFxuICAgIGZpbHRlcjogUmVwb3NpdG9yeUZpbmRGaWVsdGVyczxNQmFzZT4sXG4gICAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcbiAgKTogVmFyaWFibGVPcHRpb25zID0+XG4gICAgT2JqZWN0LmtleXMoZmlsdGVyKS5yZWR1Y2UoKHZhcmlhYmxlczogVmFyaWFibGVPcHRpb25zLCBmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgY29sdW1uT3B0aW9uID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShcbiAgICAgICAgZmllbGROYW1lIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxuICAgICAgICBmaWVsZHMsXG4gICAgICApXG5cbiAgICAgIGlmICghY29sdW1uT3B0aW9uLmJpbmRGaW5kRmlsdGVyKVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnZhcmlhYmxlcyxcbiAgICAgICAgICAuLi57XG4gICAgICAgICAgICBbY29sdW1uT3B0aW9uLmNvbHVtbk5hbWVdOiBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuQnVpbGRXaGVyZVNlbnRlbmNlKFxuICAgICAgICAgICAgICBmaWVsZE5hbWUgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXG4gICAgICAgICAgICAgIGZpbHRlcltmaWVsZE5hbWUgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT5dIGFzIFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPFxuICAgICAgICAgICAgICAgIE1CYXNlLFxuICAgICAgICAgICAgICAgIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+XG4gICAgICAgICAgICAgID4sXG4gICAgICAgICAgICAgIGZpZWxkcyxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfSxcbiAgICAgICAgfVxuXG4gICAgICBjb25zdCBidWlsdEZpbHRlcjogUmVwb3NpdG9yeUZpbmRGaWVsdGVyczxNQmFzZT4gPSBjb2x1bW5PcHRpb24uYmluZEZpbmRGaWx0ZXIoXG4gICAgICAgIGZpbHRlcltmaWVsZE5hbWUgYXMgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPE1CYXNlPl0gYXMgUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnM8XG4gICAgICAgICAgTUJhc2UsXG4gICAgICAgICAgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPE1CYXNlPlxuICAgICAgICA+LFxuICAgICAgKVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi52YXJpYWJsZXMsXG4gICAgICAgIC4uLk9iamVjdC5rZXlzKGJ1aWx0RmlsdGVyKS5yZWR1Y2UoXG4gICAgICAgICAgKHZhcmlhYmxlc0xpc3Q6IFZhcmlhYmxlT3B0aW9ucywgY29sdW1uTmFtZTogc3RyaW5nKSA9PiAoe1xuICAgICAgICAgICAgLi4udmFyaWFibGVzTGlzdCxcbiAgICAgICAgICAgIFtjb2x1bW5OYW1lXTogQmluZEZpbHRlclF1ZXJ5SGVscGVyLkJ1aWxkV2hlcmVTZW50ZW5jZShcbiAgICAgICAgICAgICAgZmllbGROYW1lIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxuICAgICAgICAgICAgICBidWlsdEZpbHRlcltjb2x1bW5OYW1lIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+XSBhcyBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxcbiAgICAgICAgICAgICAgICBNQmFzZSxcbiAgICAgICAgICAgICAgICBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPlxuICAgICAgICAgICAgICA+LFxuICAgICAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgICApLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHt9LFxuICAgICAgICApLFxuICAgICAgfVxuICAgIH0sIHt9KVxuXG4gIHN0YXRpYyBCdWlsZFdoZXJlU2VudGVuY2UgPSA8TUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8TUJhc2U+PihcbiAgICBmaWVsZDogTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXG4gICAgb3B0aW9uczogUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnM8TUJhc2UsIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+PixcbiAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxuICApOiBWYXJpYWJsZU9wdGlvbnMgPT4ge1xuICAgIGNvbnN0IGZpZWxkU2VudGVuY2VPcHRpb25zID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZTxNQmFzZT4oZmllbGQsIGZpZWxkcylcbiAgICBjb25zdCBpc05lc3RlZEZpZWxkID1cbiAgICAgICFBcnJheS5pc0FycmF5KG9wdGlvbnMpICYmXG4gICAgICBpc09iamVjdChvcHRpb25zKSAmJlxuICAgICAgaXNOaWwob3B0aW9ucz8ub3BlcmF0b3IpICYmXG4gICAgICBpc05pbChvcHRpb25zPy52YWx1ZSkgJiZcbiAgICAgIGlzTmlsKGZpZWxkU2VudGVuY2VPcHRpb25zPy50bylcblxuICAgIGlmIChpc05lc3RlZEZpZWxkKVxuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKG9wdGlvbnMpLnJlZHVjZSgodmFyaWFibGVzLCBrZXkpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRPcHRpb25zID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZTxNQmFzZT4oXG4gICAgICAgICAga2V5IGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxuICAgICAgICAgIGZpZWxkU2VudGVuY2VPcHRpb25zPy5maWVsZHMgfHwgKGZpZWxkcyBhcyBhbnkpLFxuICAgICAgICApXG4gICAgICAgIGNvbnN0IGNvbHVtbk5hbWUgPSBmaWVsZE9wdGlvbnMuY29sdW1uTmFtZVxuICAgICAgICBjb25zdCBjb2x1bW5GaWVsZHMgPSBmaWVsZE9wdGlvbnMuZmllbGRzXG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi52YXJpYWJsZXMsXG4gICAgICAgICAgW2NvbHVtbk5hbWVdOiBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuQnVpbGRXaGVyZVNlbnRlbmNlPE1CYXNlPihcbiAgICAgICAgICAgIGtleSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcbiAgICAgICAgICAgIGlzPFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1CYXNlLCBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPj4+KFxuICAgICAgICAgICAgICBpczxSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPE1CYXNlPj4ob3B0aW9ucylba2V5IGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+XSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBmaWVsZFNlbnRlbmNlT3B0aW9ucz8uZmllbGRzIHx8IGNvbHVtbkZpZWxkcyB8fCAoZmllbGRzIGFzIGFueSksXG4gICAgICAgICAgKSxcbiAgICAgICAgfVxuICAgICAgfSwge30pXG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkob3B0aW9ucykgJiYgIWlzTmlsKGZpZWxkU2VudGVuY2VPcHRpb25zLmZpZWxkcykpXG4gICAgICByZXR1cm4ge1xuICAgICAgICBbZmllbGRTZW50ZW5jZU9wdGlvbnMuZmllbGRzWzBdIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+XTpcbiAgICAgICAgICBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuQnVpbGRPcGVyYXRvclNlbnRlbmNlKFxuICAgICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICAgIGZpZWxkU2VudGVuY2VPcHRpb25zIGFzIENvbHVtbk9wdGlvbnM8TUJhc2VbTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT5dLCBNQmFzZT4sXG4gICAgICAgICAgKSxcbiAgICAgIH1cblxuICAgIGlmICghQXJyYXkuaXNBcnJheShvcHRpb25zKSAmJiBpc09iamVjdChvcHRpb25zKSAmJiAhRmlsdGVyT3B0aW9uSGVscGVyLkNoZWNrSWZJc0ZpbHRlck9wdGlvbihvcHRpb25zKSlcbiAgICAgIG9wdGlvbnMgPSBPYmplY3QudmFsdWVzKG9wdGlvbnMpWzBdIGFzIFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1CYXNlLCBhbnk+XG5cbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShvcHRpb25zKVxuICAgICAgPyBvcHRpb25zLnJlZHVjZShcbiAgICAgICAgICAod2hlcmVTZW50ZW5jZSwgb3B0aW9uKSA9PiAoe1xuICAgICAgICAgICAgLi4ud2hlcmVTZW50ZW5jZSxcbiAgICAgICAgICAgIC4uLkJpbmRGaWx0ZXJRdWVyeUhlbHBlci5CdWlsZE9wZXJhdG9yU2VudGVuY2UoXG4gICAgICAgICAgICAgIG9wdGlvbixcbiAgICAgICAgICAgICAgZmllbGRTZW50ZW5jZU9wdGlvbnMgYXMgQ29sdW1uT3B0aW9uczxNQmFzZVtOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPl0sIE1CYXNlPixcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfSksXG4gICAgICAgICAge30sXG4gICAgICAgIClcbiAgICAgIDogQmluZEZpbHRlclF1ZXJ5SGVscGVyLkJ1aWxkT3BlcmF0b3JTZW50ZW5jZShcbiAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgIGZpZWxkU2VudGVuY2VPcHRpb25zIGFzIENvbHVtbk9wdGlvbnM8TUJhc2VbTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT5dLCBNQmFzZT4sXG4gICAgICAgIClcbiAgfVxuXG4gIHN0YXRpYyBCdWlsZE9wZXJhdG9yU2VudGVuY2UgPSA8TUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8TUJhc2U+PihcbiAgICBvcHRpb25zOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNQmFzZSwgYW55PixcbiAgICBmaWVsZE9wdGlvbjogQ29sdW1uT3B0aW9uczxhbnksIGFueT4sXG4gICk6IFZhcmlhYmxlT3B0aW9ucyA9PiAoe1xuICAgIFtCaW5kRmlsdGVyUXVlcnlIZWxwZXIuR2V0SGFzdXJhT3BlcmF0b3Iob3B0aW9ucywgZmllbGRPcHRpb24pXTogRmlsdGVyT3B0aW9uSGVscGVyLkdldFZhbHVlRnJvbUZpbHRlcihcbiAgICAgIG9wdGlvbnMsXG4gICAgICBmaWVsZE9wdGlvbixcbiAgICApLFxuICB9KVxuXG4gIHN0YXRpYyBHZXRIYXN1cmFPcGVyYXRvciA9IDxNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNQmFzZT4+KFxuICAgIG9wdGlvbnM6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1CYXNlLCBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8TUJhc2U+PixcbiAgICBmaWVsZE9wdGlvbjogQ29sdW1uT3B0aW9uczxhbnksIGFueT4sXG4gICk6IEhhc3VyYUdyYXBoUUxXaGVyZSA9PlxuICAgIEZpbHRlck9wdGlvbkhlbHBlci5DaGVja0lmSXNGaWx0ZXJPcHRpb24ob3B0aW9ucylcbiAgICAgID8gZmllbGRPcHRpb24udHlwZSA9PT0gSGFzdXJhR3JhcGhRTENvbHVtblR5cGUuSnNvbmJcbiAgICAgICAgPyBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuR2V0SGFzdXJhSnNvbmJPcGVyYXRvcihvcHRpb25zKVxuICAgICAgICA6IEhhc3VyYUdyYXBoUUxXaGVyZVtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKEhhc3VyYUdyYXBoUUxXaGVyZSkuZmluZChcbiAgICAgICAgICAgICAgKGdyYXBoUUxPcGVyYXRvcikgPT5cbiAgICAgICAgICAgICAgICBncmFwaFFMT3BlcmF0b3IgPT09XG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoV2hlcmUpLmZpbmQoKG9wZXJhdG9yKSA9PiBXaGVyZVtvcGVyYXRvciBhcyBrZXlvZiB0eXBlb2YgV2hlcmVdID09PSBvcHRpb25zPy5vcGVyYXRvciksXG4gICAgICAgICAgICApIGFzIGtleW9mIHR5cGVvZiBIYXN1cmFHcmFwaFFMV2hlcmVcbiAgICAgICAgICBdXG4gICAgICA6IEhhc3VyYUdyYXBoUUxXaGVyZS5FUVVBTFNcblxuICBzdGF0aWMgR2V0SGFzdXJhSnNvbmJPcGVyYXRvciA9IDxNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNQmFzZT4+KFxuICAgIG9wdGlvbnM6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1CYXNlLCBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8TUJhc2U+PixcbiAgKTogSGFzdXJhR3JhcGhRTFdoZXJlID0+XG4gICAgb3B0aW9ucy5vcGVyYXRvciA9PT0gV2hlcmUuSU5cbiAgICAgID8gSGFzdXJhR3JhcGhRTFdoZXJlLkpTT05fQ09OVEFJTlNcbiAgICAgIDogb3B0aW9ucy5vcGVyYXRvciA9PT0gV2hlcmUuTElLRVxuICAgICAgPyBIYXN1cmFHcmFwaFFMV2hlcmUuSlNPTl9IQVNfS0VZU19BTllcbiAgICAgIDogSGFzdXJhR3JhcGhRTFdoZXJlW1xuICAgICAgICAgIE9iamVjdC5rZXlzKEhhc3VyYUdyYXBoUUxXaGVyZSkuZmluZChcbiAgICAgICAgICAgIChncmFwaFFMT3BlcmF0b3IpID0+XG4gICAgICAgICAgICAgIGdyYXBoUUxPcGVyYXRvciA9PT1cbiAgICAgICAgICAgICAgT2JqZWN0LmtleXMoV2hlcmUpLmZpbmQoKG9wZXJhdG9yKSA9PiBXaGVyZVtvcGVyYXRvciBhcyBrZXlvZiB0eXBlb2YgV2hlcmVdID09PSBvcHRpb25zPy5vcGVyYXRvciksXG4gICAgICAgICAgKSBhcyBrZXlvZiB0eXBlb2YgSGFzdXJhR3JhcGhRTFdoZXJlXG4gICAgICAgIF1cbn1cbiJdfQ==
@@ -1,22 +1,22 @@
1
- import { Where } from '../../../../domain';
2
- import { isNil } from '../../../../utils';
3
- export class FilterOptionHelper {
4
- }
5
- FilterOptionHelper.CheckIfIsFilterOption = (filter) => !isNil(filter?.operator);
6
- FilterOptionHelper.GetValueFromFilter = (filter, fieldOption) => {
7
- if (!FilterOptionHelper.CheckIfIsFilterOption(filter))
8
- return filter;
9
- if (filter.operator === Where.ISNULL)
10
- return true;
11
- if (filter.operator === Where.ISNOTNULL)
12
- return false;
13
- const converter = fieldOption.to
14
- ? fieldOption.to
15
- : (value) => filter.operator === Where.LIKE && !Array.isArray(filter.value) && value.indexOf('%') < 0
16
- ? `%${value}%`
17
- : value;
18
- return Array.isArray(filter.value) && !fieldOption.fields && [Where.IN, Where.NOTIN].includes(filter.operator)
19
- ? filter.value.map((fieldValue) => converter(fieldValue))
20
- : converter(filter.value);
21
- };
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW9wdGlvbi5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9maWx0ZXItb3B0aW9uLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFELEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQzdGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUd6QyxNQUFNLE9BQU8sa0JBQWtCOztBQUN0Qix3Q0FBcUIsR0FBRyxDQUM3QixNQUFXLEVBQzBDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUE7QUFFM0UscUNBQWtCLEdBQUcsQ0FDMUIsTUFBaUQsRUFDakQsV0FBb0MsRUFDL0IsRUFBRTtJQUNQLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUM7UUFBRSxPQUFPLE1BQU0sQ0FBQTtJQUNwRSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLE1BQU07UUFBRSxPQUFPLElBQUksQ0FBQTtJQUNqRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLFNBQVM7UUFBRSxPQUFPLEtBQUssQ0FBQTtJQUVyRCxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsRUFBRTtRQUM5QixDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUU7UUFDaEIsQ0FBQyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FDYixNQUFNLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDdEYsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHO1lBQ2QsQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUVmLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDNUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBWSxDQUFDLENBQUE7QUFDcEMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWxCYXNlU3RydWN0dXJlLCBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9ucywgV2hlcmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXHJcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXHJcbmltcG9ydCB7IENvbHVtbk9wdGlvbnMgfSBmcm9tICcuLi8uLi90eXBlcydcclxuXHJcbmV4cG9ydCBjbGFzcyBGaWx0ZXJPcHRpb25IZWxwZXIge1xyXG4gIHN0YXRpYyBDaGVja0lmSXNGaWx0ZXJPcHRpb24gPSA8TW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+KFxyXG4gICAgZmlsdGVyOiBhbnksXHJcbiAgKTogZmlsdGVyIGlzIFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1vZGVsLCBhbnk+ID0+ICFpc05pbChmaWx0ZXI/Lm9wZXJhdG9yKVxyXG5cclxuICBzdGF0aWMgR2V0VmFsdWVGcm9tRmlsdGVyID0gPE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPE1vZGVsPj4oXHJcbiAgICBmaWx0ZXI6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1vZGVsLCBhbnk+LFxyXG4gICAgZmllbGRPcHRpb246IENvbHVtbk9wdGlvbnM8YW55LCBhbnk+LFxyXG4gICk6IGFueSA9PiB7XHJcbiAgICBpZiAoIUZpbHRlck9wdGlvbkhlbHBlci5DaGVja0lmSXNGaWx0ZXJPcHRpb24oZmlsdGVyKSkgcmV0dXJuIGZpbHRlclxyXG4gICAgaWYgKGZpbHRlci5vcGVyYXRvciA9PT0gV2hlcmUuSVNOVUxMKSByZXR1cm4gdHJ1ZVxyXG4gICAgaWYgKGZpbHRlci5vcGVyYXRvciA9PT0gV2hlcmUuSVNOT1ROVUxMKSByZXR1cm4gZmFsc2VcclxuXHJcbiAgICBjb25zdCBjb252ZXJ0ZXIgPSBmaWVsZE9wdGlvbi50b1xyXG4gICAgICA/IGZpZWxkT3B0aW9uLnRvXHJcbiAgICAgIDogKHZhbHVlOiBhbnkpID0+XHJcbiAgICAgICAgICBmaWx0ZXIub3BlcmF0b3IgPT09IFdoZXJlLkxJS0UgJiYgIUFycmF5LmlzQXJyYXkoZmlsdGVyLnZhbHVlKSAmJiB2YWx1ZS5pbmRleE9mKCclJykgPCAwXHJcbiAgICAgICAgICAgID8gYCUke3ZhbHVlfSVgXHJcbiAgICAgICAgICAgIDogdmFsdWVcclxuXHJcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShmaWx0ZXIudmFsdWUpICYmICFmaWVsZE9wdGlvbi5maWVsZHMgJiYgW1doZXJlLklOLCBXaGVyZS5OT1RJTl0uaW5jbHVkZXMoZmlsdGVyLm9wZXJhdG9yKVxyXG4gICAgICA/IGZpbHRlci52YWx1ZS5tYXAoKGZpZWxkVmFsdWUpID0+IGNvbnZlcnRlcihmaWVsZFZhbHVlKSlcclxuICAgICAgOiBjb252ZXJ0ZXIoZmlsdGVyLnZhbHVlIGFzIGFueSlcclxuICB9XHJcbn1cclxuIl19
1
+ import { Where } from '../../../../domain';
2
+ import { isNil } from '../../../../utils';
3
+ export class FilterOptionHelper {
4
+ }
5
+ FilterOptionHelper.CheckIfIsFilterOption = (filter) => !isNil(filter?.operator);
6
+ FilterOptionHelper.GetValueFromFilter = (filter, fieldOption) => {
7
+ if (!FilterOptionHelper.CheckIfIsFilterOption(filter))
8
+ return filter;
9
+ if (filter.operator === Where.ISNULL)
10
+ return true;
11
+ if (filter.operator === Where.ISNOTNULL)
12
+ return false;
13
+ const converter = fieldOption.to
14
+ ? fieldOption.to
15
+ : (value) => filter.operator === Where.LIKE && !Array.isArray(filter.value) && value.indexOf('%') < 0
16
+ ? `%${value}%`
17
+ : value;
18
+ return Array.isArray(filter.value) && !fieldOption.fields && [Where.IN, Where.NOTIN].includes(filter.operator)
19
+ ? filter.value.map((fieldValue) => converter(fieldValue))
20
+ : converter(filter.value);
21
+ };
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW9wdGlvbi5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9maWx0ZXItb3B0aW9uLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFELEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQzdGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUd6QyxNQUFNLE9BQU8sa0JBQWtCOztBQUN0Qix3Q0FBcUIsR0FBRyxDQUM3QixNQUFXLEVBQzBDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUE7QUFFM0UscUNBQWtCLEdBQUcsQ0FDMUIsTUFBaUQsRUFDakQsV0FBb0MsRUFDL0IsRUFBRTtJQUNQLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUM7UUFBRSxPQUFPLE1BQU0sQ0FBQTtJQUNwRSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLE1BQU07UUFBRSxPQUFPLElBQUksQ0FBQTtJQUNqRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLFNBQVM7UUFBRSxPQUFPLEtBQUssQ0FBQTtJQUVyRCxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsRUFBRTtRQUM5QixDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUU7UUFDaEIsQ0FBQyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FDYixNQUFNLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDdEYsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHO1lBQ2QsQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUVmLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDNUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBWSxDQUFDLENBQUE7QUFDcEMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWxCYXNlU3RydWN0dXJlLCBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9ucywgV2hlcmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgQ29sdW1uT3B0aW9ucyB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG5leHBvcnQgY2xhc3MgRmlsdGVyT3B0aW9uSGVscGVyIHtcbiAgc3RhdGljIENoZWNrSWZJc0ZpbHRlck9wdGlvbiA9IDxNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZT4oXG4gICAgZmlsdGVyOiBhbnksXG4gICk6IGZpbHRlciBpcyBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNb2RlbCwgYW55PiA9PiAhaXNOaWwoZmlsdGVyPy5vcGVyYXRvcilcblxuICBzdGF0aWMgR2V0VmFsdWVGcm9tRmlsdGVyID0gPE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPE1vZGVsPj4oXG4gICAgZmlsdGVyOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNb2RlbCwgYW55PixcbiAgICBmaWVsZE9wdGlvbjogQ29sdW1uT3B0aW9uczxhbnksIGFueT4sXG4gICk6IGFueSA9PiB7XG4gICAgaWYgKCFGaWx0ZXJPcHRpb25IZWxwZXIuQ2hlY2tJZklzRmlsdGVyT3B0aW9uKGZpbHRlcikpIHJldHVybiBmaWx0ZXJcbiAgICBpZiAoZmlsdGVyLm9wZXJhdG9yID09PSBXaGVyZS5JU05VTEwpIHJldHVybiB0cnVlXG4gICAgaWYgKGZpbHRlci5vcGVyYXRvciA9PT0gV2hlcmUuSVNOT1ROVUxMKSByZXR1cm4gZmFsc2VcblxuICAgIGNvbnN0IGNvbnZlcnRlciA9IGZpZWxkT3B0aW9uLnRvXG4gICAgICA/IGZpZWxkT3B0aW9uLnRvXG4gICAgICA6ICh2YWx1ZTogYW55KSA9PlxuICAgICAgICAgIGZpbHRlci5vcGVyYXRvciA9PT0gV2hlcmUuTElLRSAmJiAhQXJyYXkuaXNBcnJheShmaWx0ZXIudmFsdWUpICYmIHZhbHVlLmluZGV4T2YoJyUnKSA8IDBcbiAgICAgICAgICAgID8gYCUke3ZhbHVlfSVgXG4gICAgICAgICAgICA6IHZhbHVlXG5cbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShmaWx0ZXIudmFsdWUpICYmICFmaWVsZE9wdGlvbi5maWVsZHMgJiYgW1doZXJlLklOLCBXaGVyZS5OT1RJTl0uaW5jbHVkZXMoZmlsdGVyLm9wZXJhdG9yKVxuICAgICAgPyBmaWx0ZXIudmFsdWUubWFwKChmaWVsZFZhbHVlKSA9PiBjb252ZXJ0ZXIoZmllbGRWYWx1ZSkpXG4gICAgICA6IGNvbnZlcnRlcihmaWx0ZXIudmFsdWUgYXMgYW55KVxuICB9XG59XG4iXX0=