@infrab4a/connect 4.0.0 → 4.0.1-beta-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 (800) hide show
  1. package/README.md +24 -24
  2. package/bundles/infrab4a-connect.umd.js +5108 -0
  3. package/bundles/infrab4a-connect.umd.js.map +1 -0
  4. package/domain/catalog/index.d.ts +2 -3
  5. package/domain/catalog/models/category.d.ts +24 -7
  6. package/domain/catalog/models/enums/index.d.ts +2 -2
  7. package/domain/catalog/models/enums/product-genders.enum.d.ts +5 -5
  8. package/domain/catalog/models/enums/shops.enum.d.ts +6 -6
  9. package/domain/catalog/models/index.d.ts +6 -11
  10. package/domain/catalog/models/kit-product.d.ts +12 -12
  11. package/domain/catalog/models/product.d.ts +39 -9
  12. package/domain/catalog/models/types/category-condition.type.d.ts +4 -4
  13. package/domain/catalog/models/types/category-filter.type.d.ts +4 -0
  14. package/domain/catalog/models/types/category-metadata.type.d.ts +4 -4
  15. package/domain/catalog/models/types/index.d.ts +10 -11
  16. package/domain/catalog/models/types/product-gender.type.d.ts +1 -1
  17. package/domain/catalog/models/types/product-metadata.type.d.ts +4 -4
  18. package/domain/catalog/models/types/product-review.type.d.ts +17 -17
  19. package/domain/catalog/models/types/shop-description.type.d.ts +7 -8
  20. package/domain/catalog/models/types/shop-price.type.d.ts +6 -6
  21. package/domain/catalog/models/types/stock.type.d.ts +3 -3
  22. package/domain/catalog/models/types/variant-grade.type.d.ts +4 -4
  23. package/domain/catalog/models/variant.d.ts +18 -17
  24. package/domain/catalog/repositories/category.repository.d.ts +15 -18
  25. package/domain/catalog/repositories/index.d.ts +4 -9
  26. package/domain/catalog/repositories/product.repository.d.ts +12 -15
  27. package/domain/catalog/repositories/subscription-product.repository.d.ts +4 -4
  28. package/domain/catalog/repositories/variant.repository.d.ts +4 -4
  29. package/domain/generic/index.d.ts +2 -2
  30. package/domain/generic/model/base.model.d.ts +10 -14
  31. package/domain/generic/model/identifier-fields.d.ts +4 -4
  32. package/domain/generic/model/index.d.ts +3 -3
  33. package/domain/generic/model/types/base-model-builder.type.d.ts +15 -17
  34. package/domain/generic/model/types/identifier-model.type.d.ts +7 -8
  35. package/domain/generic/model/types/index.d.ts +5 -5
  36. package/domain/generic/model/types/model-base-structure.type.d.ts +6 -12
  37. package/domain/generic/model/types/non-function-properties.type.d.ts +12 -12
  38. package/domain/generic/model/types/non-function-property-name.type.d.ts +4 -13
  39. package/domain/generic/repository/create.repository.d.ts +8 -8
  40. package/domain/generic/repository/crud.repository.d.ts +19 -19
  41. package/domain/generic/repository/delete.repository.d.ts +7 -7
  42. package/domain/generic/repository/enums/index.d.ts +2 -2
  43. package/domain/generic/repository/enums/update-option-actions.enum.d.ts +7 -7
  44. package/domain/generic/repository/enums/where.enum.d.ts +14 -14
  45. package/domain/generic/repository/find.repository.d.ts +11 -17
  46. package/domain/generic/repository/get.repository.d.ts +5 -5
  47. package/domain/generic/repository/index.d.ts +9 -9
  48. package/domain/generic/repository/read.repository.d.ts +14 -14
  49. package/domain/generic/repository/types/index.d.ts +6 -6
  50. package/domain/generic/repository/types/repository-find-filters.type.d.ts +13 -13
  51. package/domain/generic/repository/types/repository-find-result.type.d.ts +4 -14
  52. package/domain/generic/repository/types/repository-limit-options.type.d.ts +4 -4
  53. package/domain/generic/repository/types/repository-order-by-list.type.d.ts +5 -5
  54. package/domain/generic/repository/types/repository-update-params.type.d.ts +11 -11
  55. package/domain/generic/repository/types/where-options.type.d.ts +2 -2
  56. package/domain/generic/repository/update.repository.d.ts +6 -6
  57. package/domain/index.d.ts +6 -6
  58. package/domain/location/index.d.ts +1 -1
  59. package/domain/location/models/address.d.ts +22 -24
  60. package/domain/location/models/index.d.ts +2 -2
  61. package/domain/location/models/types/index.d.ts +3 -3
  62. package/domain/location/models/types/location-bound.type.d.ts +6 -6
  63. package/domain/location/models/types/location-geometry.type.d.ts +7 -7
  64. package/domain/location/models/types/location-lat-lng.type.d.ts +4 -4
  65. package/domain/shop-settings/enums/filter-type.enum.d.ts +19 -19
  66. package/domain/shop-settings/enums/index.d.ts +2 -2
  67. package/domain/shop-settings/enums/questions-filters.enum.d.ts +19 -19
  68. package/domain/shop-settings/helpers/beauty-questions.helper.d.ts +9 -9
  69. package/domain/shop-settings/helpers/index.d.ts +1 -1
  70. package/domain/shop-settings/index.d.ts +4 -4
  71. package/domain/shop-settings/models/home.d.ts +18 -18
  72. package/domain/shop-settings/models/index.d.ts +4 -4
  73. package/domain/shop-settings/models/shop-menu.d.ts +7 -7
  74. package/domain/shop-settings/models/shop-settings.d.ts +9 -9
  75. package/domain/shop-settings/models/types/banner.type.d.ts +6 -6
  76. package/domain/shop-settings/models/types/benefit.type.d.ts +5 -5
  77. package/domain/shop-settings/models/types/home-data.type.d.ts +15 -15
  78. package/domain/shop-settings/models/types/index.d.ts +10 -10
  79. package/domain/shop-settings/models/types/menu-nav.type.d.ts +8 -8
  80. package/domain/shop-settings/models/types/shop-banner.type.d.ts +11 -12
  81. package/domain/shop-settings/models/types/shop-brands.type.d.ts +10 -10
  82. package/domain/shop-settings/models/types/shop-carousel.type.d.ts +5 -5
  83. package/domain/shop-settings/models/types/shop-collection.type.d.ts +9 -9
  84. package/domain/shop-settings/models/types/shop-section.type.d.ts +9 -9
  85. package/domain/shop-settings/models/types/sub-menu.type.d.ts +8 -8
  86. package/domain/shop-settings/repositories/home.repository.d.ts +4 -4
  87. package/domain/shop-settings/repositories/index.d.ts +3 -3
  88. package/domain/shop-settings/repositories/shop-menu.repository.d.ts +4 -4
  89. package/domain/shop-settings/repositories/shop-settings.repository.d.ts +4 -4
  90. package/domain/shopping/index.d.ts +2 -2
  91. package/domain/shopping/models/buy-2-win.d.ts +16 -18
  92. package/domain/shopping/models/checkout.d.ts +27 -26
  93. package/domain/shopping/models/coupons/coupon.d.ts +32 -60
  94. package/domain/shopping/models/coupons/enums/coupon-club-mens.enum.d.ts +5 -5
  95. package/domain/shopping/models/coupons/enums/coupon-subtypes.enum.d.ts +4 -4
  96. package/domain/shopping/models/coupons/enums/coupon-types.enum.d.ts +4 -4
  97. package/domain/shopping/models/coupons/enums/exclusivities.enum.d.ts +8 -8
  98. package/domain/shopping/models/coupons/enums/index.d.ts +3 -3
  99. package/domain/shopping/models/coupons/index.d.ts +2 -2
  100. package/domain/shopping/models/enums/checkout-types.enum.d.ts +5 -5
  101. package/domain/shopping/models/enums/index.d.ts +2 -2
  102. package/domain/shopping/models/enums/order-status.enum.d.ts +10 -10
  103. package/domain/shopping/models/index.d.ts +11 -12
  104. package/domain/shopping/models/line-item.d.ts +8 -8
  105. package/domain/shopping/models/order.d.ts +9 -10
  106. package/domain/shopping/models/payment.d.ts +67 -67
  107. package/domain/shopping/models/shipping-method.d.ts +16 -17
  108. package/domain/shopping/models/subscription/checkout.d.ts +21 -20
  109. package/domain/shopping/models/subscription/index.d.ts +2 -2
  110. package/domain/shopping/models/subscription/plan.d.ts +10 -10
  111. package/domain/shopping/models/types/index.d.ts +7 -7
  112. package/domain/shopping/models/types/payment-address.type.d.ts +12 -12
  113. package/domain/shopping/models/types/payment-billing.type.d.ts +7 -7
  114. package/domain/shopping/models/types/payment-card.type.d.ts +14 -14
  115. package/domain/shopping/models/types/payment-customer.type.d.ts +18 -18
  116. package/domain/shopping/models/types/payment-document.type.d.ts +6 -6
  117. package/domain/shopping/models/types/payment-item.type.d.ts +11 -11
  118. package/domain/shopping/models/types/payment-shipping.type.d.ts +10 -10
  119. package/domain/shopping/repositories/buy-2-win.repository.d.ts +4 -4
  120. package/domain/shopping/repositories/checkout.repository.d.ts +4 -4
  121. package/domain/shopping/repositories/coupon.repository.d.ts +4 -4
  122. package/domain/shopping/repositories/index.d.ts +7 -9
  123. package/domain/shopping/repositories/legacy-order.repository.d.ts +3 -3
  124. package/domain/shopping/repositories/order.repository.d.ts +4 -4
  125. package/domain/shopping/repositories/payment.repository.d.ts +4 -4
  126. package/domain/shopping/repositories/subscription/checkout.repository.d.ts +4 -4
  127. package/domain/shopping/repositories/subscription/index.d.ts +2 -2
  128. package/domain/shopping/repositories/subscription/plan.repository.d.ts +4 -4
  129. package/domain/users/errors/index.d.ts +3 -3
  130. package/domain/users/errors/unauthorized.error.d.ts +5 -4
  131. package/domain/users/errors/user-already-registered.error.d.ts +5 -4
  132. package/domain/users/errors/weak-password.error.d.ts +5 -4
  133. package/domain/users/index.d.ts +5 -5
  134. package/domain/users/models/beauty-profile.d.ts +11 -11
  135. package/domain/users/models/enums/accessory-importances.enum.d.ts +5 -5
  136. package/domain/users/models/enums/area.enum.d.ts +11 -11
  137. package/domain/users/models/enums/beard-problems.enum.d.ts +9 -9
  138. package/domain/users/models/enums/beard-sizes.enum.d.ts +7 -7
  139. package/domain/users/models/enums/beauty-product-importances.enum.d.ts +6 -6
  140. package/domain/users/models/enums/body-problems.enum.d.ts +11 -11
  141. package/domain/users/models/enums/body-shapes.enum.d.ts +7 -7
  142. package/domain/users/models/enums/body-tattoos.enum.d.ts +5 -5
  143. package/domain/users/models/enums/face-skin-oilinesses.enum.d.ts +7 -7
  144. package/domain/users/models/enums/face-skin-problems.enum.d.ts +10 -10
  145. package/domain/users/models/enums/face-skin-tones.enum.d.ts +8 -8
  146. package/domain/users/models/enums/family-incomes.enum.d.ts +8 -8
  147. package/domain/users/models/enums/fragrance-importances.enum.d.ts +5 -5
  148. package/domain/users/models/enums/hair-colors.enum.d.ts +10 -10
  149. package/domain/users/models/enums/hair-problems.enum.d.ts +10 -10
  150. package/domain/users/models/enums/hair-strands.enum.d.ts +8 -8
  151. package/domain/users/models/enums/hair-types.enum.d.ts +7 -7
  152. package/domain/users/models/enums/index.d.ts +20 -20
  153. package/domain/users/models/enums/office-position.enum.d.ts +6 -6
  154. package/domain/users/models/enums/product-spents.enum.d.ts +8 -8
  155. package/domain/users/models/enums/user-type.enum.d.ts +8 -8
  156. package/domain/users/models/index.d.ts +7 -7
  157. package/domain/users/models/lead.d.ts +7 -8
  158. package/domain/users/models/subscription/edition.d.ts +16 -16
  159. package/domain/users/models/subscription/enums/billing-status.enum.d.ts +3 -3
  160. package/domain/users/models/subscription/enums/edition-status.enum.d.ts +4 -4
  161. package/domain/users/models/subscription/enums/index.d.ts +4 -4
  162. package/domain/users/models/subscription/enums/payment-type.enum.d.ts +5 -5
  163. package/domain/users/models/subscription/enums/status.enum.d.ts +4 -4
  164. package/domain/users/models/subscription/index.d.ts +4 -4
  165. package/domain/users/models/subscription/payment.d.ts +13 -13
  166. package/domain/users/models/subscription/subscription.d.ts +28 -28
  167. package/domain/users/models/user-address.d.ts +7 -6
  168. package/domain/users/models/user-payment-method.d.ts +14 -14
  169. package/domain/users/models/user.d.ts +28 -27
  170. package/domain/users/repositories/beauty-profile.repository.d.ts +4 -4
  171. package/domain/users/repositories/edition.repository.d.ts +4 -4
  172. package/domain/users/repositories/index.d.ts +8 -8
  173. package/domain/users/repositories/lead.repository.d.ts +4 -4
  174. package/domain/users/repositories/subscription-payment.repository.d.ts +4 -4
  175. package/domain/users/repositories/subscription.repository.d.ts +4 -4
  176. package/domain/users/repositories/user-address.repository.d.ts +4 -4
  177. package/domain/users/repositories/user-payment-method.repository.d.ts +4 -4
  178. package/domain/users/repositories/user.repository.d.ts +6 -6
  179. package/domain/users/services/authentication.service.d.ts +12 -12
  180. package/domain/users/services/index.d.ts +3 -3
  181. package/domain/users/services/register.service.d.ts +7 -7
  182. package/domain/users/services/types/basic-user-data.type.d.ts +4 -4
  183. package/domain/users/services/types/index.d.ts +1 -1
  184. package/domain/users/use-cases/authentication.d.ts +21 -21
  185. package/domain/users/use-cases/index.d.ts +4 -4
  186. package/domain/users/use-cases/recovery-password.d.ts +6 -6
  187. package/domain/users/use-cases/register.d.ts +13 -13
  188. package/domain/users/use-cases/signout.d.ts +6 -6
  189. package/errors/duplicated-results.error.d.ts +5 -4
  190. package/errors/index.d.ts +4 -4
  191. package/errors/invalid-argument.error.d.ts +5 -4
  192. package/errors/not-found.error.d.ts +5 -4
  193. package/errors/required-argument.error.d.ts +6 -6
  194. package/{esm2020/domain/catalog/index.mjs → esm2015/domain/catalog/index.js} +3 -4
  195. package/esm2015/domain/catalog/models/category.js +10 -0
  196. package/{esm2020/domain/catalog/models/enums/index.mjs → esm2015/domain/catalog/models/enums/index.js} +3 -3
  197. package/{esm2020/domain/catalog/models/enums/product-genders.enum.mjs → esm2015/domain/catalog/models/enums/product-genders.enum.js} +7 -7
  198. package/{esm2020/domain/catalog/models/enums/shops.enum.mjs → esm2015/domain/catalog/models/enums/shops.enum.js} +8 -8
  199. package/esm2015/domain/catalog/models/index.js +7 -0
  200. package/esm2015/domain/catalog/models/kit-product.js +18 -0
  201. package/esm2015/domain/catalog/models/product.js +17 -0
  202. package/{esm2020/domain/catalog/models/types/category-condition.type.mjs → esm2015/domain/catalog/models/types/category-condition.type.js} +2 -2
  203. package/esm2015/domain/catalog/models/types/category-filter.type.js +2 -0
  204. package/{esm2020/domain/catalog/models/types/category-metadata.type.mjs → esm2015/domain/catalog/models/types/category-metadata.type.js} +2 -2
  205. package/esm2015/domain/catalog/models/types/index.js +11 -0
  206. package/{esm2020/domain/catalog/models/types/product-gender.type.mjs → esm2015/domain/catalog/models/types/product-gender.type.js} +2 -2
  207. package/{esm2020/domain/catalog/models/types/product-metadata.type.mjs → esm2015/domain/catalog/models/types/product-metadata.type.js} +2 -2
  208. package/esm2015/domain/catalog/models/types/product-review.type.js +2 -0
  209. package/{esm2020/domain/catalog/models/types/shop-description.type.mjs → esm2015/domain/catalog/models/types/shop-description.type.js} +2 -2
  210. package/{esm2020/domain/catalog/models/types/shop-price.type.mjs → esm2015/domain/catalog/models/types/shop-price.type.js} +2 -2
  211. package/{esm2020/domain/catalog/models/types/stock.type.mjs → esm2015/domain/catalog/models/types/stock.type.js} +2 -2
  212. package/{esm2020/domain/catalog/models/types/variant-grade.type.mjs → esm2015/domain/catalog/models/types/variant-grade.type.js} +2 -2
  213. package/esm2015/domain/catalog/models/variant.js +10 -0
  214. package/esm2015/domain/catalog/repositories/category.repository.js +2 -0
  215. package/esm2015/domain/catalog/repositories/index.js +5 -0
  216. package/esm2015/domain/catalog/repositories/product.repository.js +2 -0
  217. package/{esm2020/domain/catalog/repositories/subscription-product.repository.mjs → esm2015/domain/catalog/repositories/subscription-product.repository.js} +2 -2
  218. package/{esm2020/domain/catalog/repositories/variant.repository.mjs → esm2015/domain/catalog/repositories/variant.repository.js} +2 -2
  219. package/{esm2020/domain/generic/index.mjs → esm2015/domain/generic/index.js} +3 -3
  220. package/esm2015/domain/generic/model/base.model.js +23 -0
  221. package/{esm2020/domain/generic/model/identifier-fields.mjs → esm2015/domain/generic/model/identifier-fields.js} +2 -2
  222. package/{esm2020/domain/generic/model/index.mjs → esm2015/domain/generic/model/index.js} +4 -4
  223. package/esm2015/domain/generic/model/types/base-model-builder.type.js +2 -0
  224. package/esm2015/domain/generic/model/types/identifier-model.type.js +2 -0
  225. package/{esm2020/domain/generic/model/types/index.mjs → esm2015/domain/generic/model/types/index.js} +6 -6
  226. package/esm2015/domain/generic/model/types/model-base-structure.type.js +2 -0
  227. package/esm2015/domain/generic/model/types/non-function-properties.type.js +2 -0
  228. package/esm2015/domain/generic/model/types/non-function-property-name.type.js +2 -0
  229. package/esm2015/domain/generic/repository/create.repository.js +2 -0
  230. package/esm2015/domain/generic/repository/crud.repository.js +2 -0
  231. package/esm2015/domain/generic/repository/delete.repository.js +2 -0
  232. package/{esm2020/domain/generic/repository/enums/index.mjs → esm2015/domain/generic/repository/enums/index.js} +3 -3
  233. package/{esm2020/domain/generic/repository/enums/update-option-actions.enum.mjs → esm2015/domain/generic/repository/enums/update-option-actions.enum.js} +9 -9
  234. package/{esm2020/domain/generic/repository/enums/where.enum.mjs → esm2015/domain/generic/repository/enums/where.enum.js} +16 -16
  235. package/esm2015/domain/generic/repository/find.repository.js +2 -0
  236. package/esm2015/domain/generic/repository/get.repository.js +2 -0
  237. package/{esm2020/domain/generic/repository/index.mjs → esm2015/domain/generic/repository/index.js} +10 -10
  238. package/esm2015/domain/generic/repository/read.repository.js +2 -0
  239. package/{esm2020/domain/generic/repository/types/index.mjs → esm2015/domain/generic/repository/types/index.js} +7 -7
  240. package/esm2015/domain/generic/repository/types/repository-find-filters.type.js +2 -0
  241. package/esm2015/domain/generic/repository/types/repository-find-result.type.js +2 -0
  242. package/{esm2020/domain/generic/repository/types/repository-limit-options.type.mjs → esm2015/domain/generic/repository/types/repository-limit-options.type.js} +2 -2
  243. package/{esm2020/domain/generic/repository/types/repository-order-by-list.type.mjs → esm2015/domain/generic/repository/types/repository-order-by-list.type.js} +2 -2
  244. package/esm2015/domain/generic/repository/types/repository-update-params.type.js +2 -0
  245. package/{esm2020/domain/generic/repository/types/where-options.type.mjs → esm2015/domain/generic/repository/types/where-options.type.js} +2 -2
  246. package/esm2015/domain/generic/repository/update.repository.js +2 -0
  247. package/{esm2020/domain/index.mjs → esm2015/domain/index.js} +7 -7
  248. package/{esm2020/domain/location/index.mjs → esm2015/domain/location/index.js} +2 -2
  249. package/esm2015/domain/location/models/address.js +7 -0
  250. package/{esm2020/domain/location/models/index.mjs → esm2015/domain/location/models/index.js} +3 -3
  251. package/{esm2020/domain/location/models/types/index.mjs → esm2015/domain/location/models/types/index.js} +4 -4
  252. package/{esm2020/domain/location/models/types/location-bound.type.mjs → esm2015/domain/location/models/types/location-bound.type.js} +2 -2
  253. package/{esm2020/domain/location/models/types/location-geometry.type.mjs → esm2015/domain/location/models/types/location-geometry.type.js} +2 -2
  254. package/{esm2020/domain/location/models/types/location-lat-lng.type.mjs → esm2015/domain/location/models/types/location-lat-lng.type.js} +2 -2
  255. package/{esm2020/domain/shop-settings/enums/filter-type.enum.mjs → esm2015/domain/shop-settings/enums/filter-type.enum.js} +21 -21
  256. package/{esm2020/domain/shop-settings/enums/index.mjs → esm2015/domain/shop-settings/enums/index.js} +3 -3
  257. package/{esm2020/domain/shop-settings/enums/questions-filters.enum.mjs → esm2015/domain/shop-settings/enums/questions-filters.enum.js} +21 -21
  258. package/{esm2020/domain/shop-settings/helpers/beauty-questions.helper.mjs → esm2015/domain/shop-settings/helpers/beauty-questions.helper.js} +46 -47
  259. package/{esm2020/domain/shop-settings/helpers/index.mjs → esm2015/domain/shop-settings/helpers/index.js} +2 -2
  260. package/{esm2020/domain/shop-settings/index.mjs → esm2015/domain/shop-settings/index.js} +5 -5
  261. package/esm2015/domain/shop-settings/models/home.js +7 -0
  262. package/{esm2020/domain/shop-settings/models/index.mjs → esm2015/domain/shop-settings/models/index.js} +5 -5
  263. package/{esm2020/domain/shop-settings/models/shop-menu.mjs → esm2015/domain/shop-settings/models/shop-menu.js} +7 -7
  264. package/{esm2020/domain/shop-settings/models/shop-settings.mjs → esm2015/domain/shop-settings/models/shop-settings.js} +7 -7
  265. package/{esm2020/domain/shop-settings/models/types/banner.type.mjs → esm2015/domain/shop-settings/models/types/banner.type.js} +2 -2
  266. package/{esm2020/domain/shop-settings/models/types/benefit.type.mjs → esm2015/domain/shop-settings/models/types/benefit.type.js} +2 -2
  267. package/esm2015/domain/shop-settings/models/types/home-data.type.js +2 -0
  268. package/{esm2020/domain/shop-settings/models/types/index.mjs → esm2015/domain/shop-settings/models/types/index.js} +11 -11
  269. package/{esm2020/domain/shop-settings/models/types/menu-nav.type.mjs → esm2015/domain/shop-settings/models/types/menu-nav.type.js} +2 -2
  270. package/{esm2020/domain/shop-settings/models/types/shop-banner.type.mjs → esm2015/domain/shop-settings/models/types/shop-banner.type.js} +2 -2
  271. package/{esm2020/domain/shop-settings/models/types/shop-brands.type.mjs → esm2015/domain/shop-settings/models/types/shop-brands.type.js} +2 -2
  272. package/{esm2020/domain/shop-settings/models/types/shop-carousel.type.mjs → esm2015/domain/shop-settings/models/types/shop-carousel.type.js} +2 -2
  273. package/{esm2020/domain/shop-settings/models/types/shop-collection.type.mjs → esm2015/domain/shop-settings/models/types/shop-collection.type.js} +2 -2
  274. package/{esm2020/domain/shop-settings/models/types/shop-section.type.mjs → esm2015/domain/shop-settings/models/types/shop-section.type.js} +2 -2
  275. package/{esm2020/domain/shop-settings/models/types/sub-menu.type.mjs → esm2015/domain/shop-settings/models/types/sub-menu.type.js} +2 -2
  276. package/{esm2020/domain/shop-settings/repositories/home.repository.mjs → esm2015/domain/shop-settings/repositories/home.repository.js} +2 -2
  277. package/{esm2020/domain/shop-settings/repositories/index.mjs → esm2015/domain/shop-settings/repositories/index.js} +4 -4
  278. package/{esm2020/domain/shop-settings/repositories/shop-menu.repository.mjs → esm2015/domain/shop-settings/repositories/shop-menu.repository.js} +2 -2
  279. package/{esm2020/domain/shop-settings/repositories/shop-settings.repository.mjs → esm2015/domain/shop-settings/repositories/shop-settings.repository.js} +2 -2
  280. package/{esm2020/domain/shopping/index.mjs → esm2015/domain/shopping/index.js} +3 -3
  281. package/esm2015/domain/shopping/models/buy-2-win.js +14 -0
  282. package/esm2015/domain/shopping/models/checkout.js +38 -0
  283. package/esm2015/domain/shopping/models/coupons/coupon.js +38 -0
  284. package/{esm2020/domain/shopping/models/coupons/enums/coupon-club-mens.enum.mjs → esm2015/domain/shopping/models/coupons/enums/coupon-club-mens.enum.js} +7 -7
  285. package/{esm2020/domain/shopping/models/coupons/enums/coupon-subtypes.enum.mjs → esm2015/domain/shopping/models/coupons/enums/coupon-subtypes.enum.js} +6 -6
  286. package/{esm2020/domain/shopping/models/coupons/enums/coupon-types.enum.mjs → esm2015/domain/shopping/models/coupons/enums/coupon-types.enum.js} +10 -10
  287. package/{esm2020/domain/shopping/models/coupons/enums/exclusivities.enum.mjs → esm2015/domain/shopping/models/coupons/enums/exclusivities.enum.js} +10 -10
  288. package/{esm2020/domain/shopping/models/coupons/enums/index.mjs → esm2015/domain/shopping/models/coupons/enums/index.js} +4 -4
  289. package/{esm2020/domain/shopping/models/coupons/index.mjs → esm2015/domain/shopping/models/coupons/index.js} +3 -3
  290. package/{esm2020/domain/shopping/models/enums/checkout-types.enum.mjs → esm2015/domain/shopping/models/enums/checkout-types.enum.js} +7 -7
  291. package/{esm2020/domain/shopping/models/enums/index.mjs → esm2015/domain/shopping/models/enums/index.js} +3 -3
  292. package/{esm2020/domain/shopping/models/enums/order-status.enum.mjs → esm2015/domain/shopping/models/enums/order-status.enum.js} +12 -12
  293. package/esm2015/domain/shopping/models/index.js +12 -0
  294. package/{esm2020/domain/shopping/models/line-item.mjs → esm2015/domain/shopping/models/line-item.js} +4 -4
  295. package/{esm2020/domain/shopping/models/order.mjs → esm2015/domain/shopping/models/order.js} +11 -11
  296. package/esm2015/domain/shopping/models/payment.js +169 -0
  297. package/esm2015/domain/shopping/models/shipping-method.js +7 -0
  298. package/esm2015/domain/shopping/models/subscription/checkout.js +28 -0
  299. package/{esm2020/domain/shopping/models/subscription/index.mjs → esm2015/domain/shopping/models/subscription/index.js} +3 -3
  300. package/{esm2020/domain/shopping/models/subscription/plan.mjs → esm2015/domain/shopping/models/subscription/plan.js} +7 -7
  301. package/{esm2020/domain/shopping/models/types/index.mjs → esm2015/domain/shopping/models/types/index.js} +8 -8
  302. package/esm2015/domain/shopping/models/types/payment-address.type.js +2 -0
  303. package/{esm2020/domain/shopping/models/types/payment-billing.type.mjs → esm2015/domain/shopping/models/types/payment-billing.type.js} +2 -2
  304. package/esm2015/domain/shopping/models/types/payment-card.type.js +2 -0
  305. package/esm2015/domain/shopping/models/types/payment-customer.type.js +2 -0
  306. package/{esm2020/domain/shopping/models/types/payment-document.type.mjs → esm2015/domain/shopping/models/types/payment-document.type.js} +2 -2
  307. package/{esm2020/domain/shopping/models/types/payment-item.type.mjs → esm2015/domain/shopping/models/types/payment-item.type.js} +2 -2
  308. package/{esm2020/domain/shopping/models/types/payment-shipping.type.mjs → esm2015/domain/shopping/models/types/payment-shipping.type.js} +2 -2
  309. package/{esm2020/domain/shopping/repositories/buy-2-win.repository.mjs → esm2015/domain/shopping/repositories/buy-2-win.repository.js} +2 -2
  310. package/{esm2020/domain/shopping/repositories/checkout.repository.mjs → esm2015/domain/shopping/repositories/checkout.repository.js} +2 -2
  311. package/{esm2020/domain/shopping/repositories/coupon.repository.mjs → esm2015/domain/shopping/repositories/coupon.repository.js} +2 -2
  312. package/esm2015/domain/shopping/repositories/index.js +8 -0
  313. package/{esm2020/domain/shopping/repositories/legacy-order.repository.mjs → esm2015/domain/shopping/repositories/legacy-order.repository.js} +2 -2
  314. package/{esm2020/domain/shopping/repositories/order.repository.mjs → esm2015/domain/shopping/repositories/order.repository.js} +2 -2
  315. package/{esm2020/domain/shopping/repositories/payment.repository.mjs → esm2015/domain/shopping/repositories/payment.repository.js} +2 -2
  316. package/{esm2020/domain/shopping/repositories/subscription/checkout.repository.mjs → esm2015/domain/shopping/repositories/subscription/checkout.repository.js} +2 -2
  317. package/{esm2020/domain/shopping/repositories/subscription/index.mjs → esm2015/domain/shopping/repositories/subscription/index.js} +3 -3
  318. package/{esm2020/domain/shopping/repositories/subscription/plan.repository.mjs → esm2015/domain/shopping/repositories/subscription/plan.repository.js} +2 -2
  319. package/{esm2020/domain/users/errors/index.mjs → esm2015/domain/users/errors/index.js} +4 -4
  320. package/{esm2020/domain/users/errors/unauthorized.error.mjs → esm2015/domain/users/errors/unauthorized.error.js} +8 -7
  321. package/{esm2020/domain/users/errors/user-already-registered.error.mjs → esm2015/domain/users/errors/user-already-registered.error.js} +8 -7
  322. package/{esm2020/domain/users/errors/weak-password.error.mjs → esm2015/domain/users/errors/weak-password.error.js} +8 -7
  323. package/{esm2020/domain/users/index.mjs → esm2015/domain/users/index.js} +6 -6
  324. package/esm2015/domain/users/models/beauty-profile.js +12 -0
  325. package/{esm2020/domain/users/models/enums/accessory-importances.enum.mjs → esm2015/domain/users/models/enums/accessory-importances.enum.js} +7 -7
  326. package/{esm2020/domain/users/models/enums/area.enum.mjs → esm2015/domain/users/models/enums/area.enum.js} +13 -13
  327. package/{esm2020/domain/users/models/enums/beard-problems.enum.mjs → esm2015/domain/users/models/enums/beard-problems.enum.js} +11 -11
  328. package/{esm2020/domain/users/models/enums/beard-sizes.enum.mjs → esm2015/domain/users/models/enums/beard-sizes.enum.js} +9 -9
  329. package/{esm2020/domain/users/models/enums/beauty-product-importances.enum.mjs → esm2015/domain/users/models/enums/beauty-product-importances.enum.js} +8 -8
  330. package/{esm2020/domain/users/models/enums/body-problems.enum.mjs → esm2015/domain/users/models/enums/body-problems.enum.js} +13 -13
  331. package/{esm2020/domain/users/models/enums/body-shapes.enum.mjs → esm2015/domain/users/models/enums/body-shapes.enum.js} +9 -9
  332. package/{esm2020/domain/users/models/enums/body-tattoos.enum.mjs → esm2015/domain/users/models/enums/body-tattoos.enum.js} +7 -7
  333. package/{esm2020/domain/users/models/enums/face-skin-oilinesses.enum.mjs → esm2015/domain/users/models/enums/face-skin-oilinesses.enum.js} +9 -9
  334. package/{esm2020/domain/users/models/enums/face-skin-problems.enum.mjs → esm2015/domain/users/models/enums/face-skin-problems.enum.js} +12 -12
  335. package/{esm2020/domain/users/models/enums/face-skin-tones.enum.mjs → esm2015/domain/users/models/enums/face-skin-tones.enum.js} +10 -10
  336. package/{esm2020/domain/users/models/enums/family-incomes.enum.mjs → esm2015/domain/users/models/enums/family-incomes.enum.js} +10 -10
  337. package/{esm2020/domain/users/models/enums/fragrance-importances.enum.mjs → esm2015/domain/users/models/enums/fragrance-importances.enum.js} +7 -7
  338. package/{esm2020/domain/users/models/enums/hair-colors.enum.mjs → esm2015/domain/users/models/enums/hair-colors.enum.js} +12 -12
  339. package/{esm2020/domain/users/models/enums/hair-problems.enum.mjs → esm2015/domain/users/models/enums/hair-problems.enum.js} +12 -12
  340. package/{esm2020/domain/users/models/enums/hair-strands.enum.mjs → esm2015/domain/users/models/enums/hair-strands.enum.js} +10 -10
  341. package/{esm2020/domain/users/models/enums/hair-types.enum.mjs → esm2015/domain/users/models/enums/hair-types.enum.js} +9 -9
  342. package/{esm2020/domain/users/models/enums/index.mjs → esm2015/domain/users/models/enums/index.js} +21 -21
  343. package/{esm2020/domain/users/models/enums/office-position.enum.mjs → esm2015/domain/users/models/enums/office-position.enum.js} +8 -8
  344. package/{esm2020/domain/users/models/enums/product-spents.enum.mjs → esm2015/domain/users/models/enums/product-spents.enum.js} +10 -10
  345. package/{esm2020/domain/users/models/enums/user-type.enum.mjs → esm2015/domain/users/models/enums/user-type.enum.js} +10 -10
  346. package/{esm2020/domain/users/models/index.mjs → esm2015/domain/users/models/index.js} +8 -8
  347. package/{esm2020/domain/users/models/lead.mjs → esm2015/domain/users/models/lead.js} +7 -7
  348. package/esm2015/domain/users/models/subscription/edition.js +7 -0
  349. package/{esm2020/domain/users/models/subscription/enums/billing-status.enum.mjs → esm2015/domain/users/models/subscription/enums/billing-status.enum.js} +5 -5
  350. package/{esm2020/domain/users/models/subscription/enums/edition-status.enum.mjs → esm2015/domain/users/models/subscription/enums/edition-status.enum.js} +6 -6
  351. package/{esm2020/domain/users/models/subscription/enums/index.mjs → esm2015/domain/users/models/subscription/enums/index.js} +5 -5
  352. package/{esm2020/domain/users/models/subscription/enums/payment-type.enum.mjs → esm2015/domain/users/models/subscription/enums/payment-type.enum.js} +7 -7
  353. package/{esm2020/domain/users/models/subscription/enums/status.enum.mjs → esm2015/domain/users/models/subscription/enums/status.enum.js} +6 -6
  354. package/{esm2020/domain/users/models/subscription/index.mjs → esm2015/domain/users/models/subscription/index.js} +5 -5
  355. package/esm2015/domain/users/models/subscription/payment.js +14 -0
  356. package/esm2015/domain/users/models/subscription/subscription.js +43 -0
  357. package/{esm2020/domain/users/models/user-address.mjs → esm2015/domain/users/models/user-address.js} +7 -7
  358. package/esm2015/domain/users/models/user-payment-method.js +7 -0
  359. package/esm2015/domain/users/models/user.js +26 -0
  360. package/{esm2020/domain/users/repositories/beauty-profile.repository.mjs → esm2015/domain/users/repositories/beauty-profile.repository.js} +2 -2
  361. package/{esm2020/domain/users/repositories/edition.repository.mjs → esm2015/domain/users/repositories/edition.repository.js} +2 -2
  362. package/{esm2020/domain/users/repositories/index.mjs → esm2015/domain/users/repositories/index.js} +9 -9
  363. package/{esm2020/domain/users/repositories/lead.repository.mjs → esm2015/domain/users/repositories/lead.repository.js} +2 -2
  364. package/{esm2020/domain/users/repositories/subscription-payment.repository.mjs → esm2015/domain/users/repositories/subscription-payment.repository.js} +2 -2
  365. package/{esm2020/domain/users/repositories/subscription.repository.mjs → esm2015/domain/users/repositories/subscription.repository.js} +2 -2
  366. package/{esm2020/domain/users/repositories/user-address.repository.mjs → esm2015/domain/users/repositories/user-address.repository.js} +2 -2
  367. package/{esm2020/domain/users/repositories/user-payment-method.repository.mjs → esm2015/domain/users/repositories/user-payment-method.repository.js} +2 -2
  368. package/esm2015/domain/users/repositories/user.repository.js +2 -0
  369. package/esm2015/domain/users/services/authentication.service.js +2 -0
  370. package/{esm2020/domain/users/services/index.mjs → esm2015/domain/users/services/index.js} +4 -4
  371. package/{esm2020/domain/users/services/register.service.mjs → esm2015/domain/users/services/register.service.js} +2 -2
  372. package/{esm2020/domain/users/services/types/basic-user-data.type.mjs → esm2015/domain/users/services/types/basic-user-data.type.js} +2 -2
  373. package/{esm2020/domain/users/services/types/index.mjs → esm2015/domain/users/services/types/index.js} +2 -2
  374. package/esm2015/domain/users/use-cases/authentication.js +40 -0
  375. package/{esm2020/domain/users/use-cases/index.mjs → esm2015/domain/users/use-cases/index.js} +5 -5
  376. package/esm2015/domain/users/use-cases/recovery-password.js +12 -0
  377. package/esm2015/domain/users/use-cases/register.js +34 -0
  378. package/esm2015/domain/users/use-cases/signout.js +12 -0
  379. package/{esm2020/errors/duplicated-results.error.mjs → esm2015/errors/duplicated-results.error.js} +8 -7
  380. package/{esm2020/errors/index.mjs → esm2015/errors/index.js} +5 -5
  381. package/{esm2020/errors/invalid-argument.error.mjs → esm2015/errors/invalid-argument.error.js} +8 -7
  382. package/{esm2020/errors/not-found.error.mjs → esm2015/errors/not-found.error.js} +8 -7
  383. package/{esm2020/errors/required-argument.error.mjs → esm2015/errors/required-argument.error.js} +9 -9
  384. package/{esm2020/index.mjs → esm2015/index.js} +6 -6
  385. package/esm2015/infra/elasticsearch/adapters/axios.adapter.js +57 -0
  386. package/esm2015/infra/elasticsearch/adapters/elastic-search.adapter.js +2 -0
  387. package/{esm2020/infra/elasticsearch/adapters/index.mjs → esm2015/infra/elasticsearch/adapters/index.js} +3 -3
  388. package/{esm2020/infra/elasticsearch/index.mjs → esm2015/infra/elasticsearch/index.js} +4 -4
  389. package/{esm2020/infra/elasticsearch/indexes/index.mjs → esm2015/infra/elasticsearch/indexes/index.js} +2 -2
  390. package/esm2015/infra/elasticsearch/indexes/products-index.js +93 -0
  391. package/{esm2020/infra/elasticsearch/types/elastic-search-result.mjs → esm2015/infra/elasticsearch/types/elastic-search-result.js} +2 -2
  392. package/{esm2020/infra/elasticsearch/types/index.mjs → esm2015/infra/elasticsearch/types/index.js} +2 -2
  393. package/esm2015/infra/firebase/auth/authentication-firebase-auth.service.js +52 -0
  394. package/{esm2020/infra/firebase/auth/index.mjs → esm2015/infra/firebase/auth/index.js} +3 -3
  395. package/esm2015/infra/firebase/auth/register-firebase-auth.service.js +26 -0
  396. package/{esm2020/infra/firebase/auth/types/firebase-user-with-id.type.mjs → esm2015/infra/firebase/auth/types/firebase-user-with-id.type.js} +2 -2
  397. package/{esm2020/infra/firebase/firestore/enums/firestore-field-type.enum.mjs → esm2015/infra/firebase/firestore/enums/firestore-field-type.enum.js} +10 -10
  398. package/{esm2020/infra/firebase/firestore/enums/index.mjs → esm2015/infra/firebase/firestore/enums/index.js} +2 -2
  399. package/{esm2020/infra/firebase/firestore/index.mjs → esm2015/infra/firebase/firestore/index.js} +4 -4
  400. package/{esm2020/infra/firebase/firestore/mixins/index.mjs → esm2015/infra/firebase/firestore/mixins/index.js} +10 -10
  401. package/esm2015/infra/firebase/firestore/mixins/with-create-firestore.mixin.js +31 -0
  402. package/esm2015/infra/firebase/firestore/mixins/with-crud-firestore.mixin.js +10 -0
  403. package/esm2015/infra/firebase/firestore/mixins/with-delete-firestore.mixin.js +18 -0
  404. package/esm2015/infra/firebase/firestore/mixins/with-find-firestore.mixin.js +96 -0
  405. package/esm2015/infra/firebase/firestore/mixins/with-firestore.mixin.js +49 -0
  406. package/esm2015/infra/firebase/firestore/mixins/with-get-firestore.mixin.js +24 -0
  407. package/esm2015/infra/firebase/firestore/mixins/with-helpers.mixin.js +17 -0
  408. package/esm2015/infra/firebase/firestore/mixins/with-sub-collection.mixin.js +11 -0
  409. package/esm2015/infra/firebase/firestore/mixins/with-update-firestore.mixin.js +45 -0
  410. package/esm2015/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js +71 -0
  411. package/{esm2020/infra/firebase/firestore/repositories/catalog/index.mjs → esm2015/infra/firebase/firestore/repositories/catalog/index.js} +5 -5
  412. package/esm2015/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js +52 -0
  413. package/esm2015/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.js +14 -0
  414. package/esm2015/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.js +12 -0
  415. package/{esm2020/infra/firebase/firestore/repositories/index.mjs → esm2015/infra/firebase/firestore/repositories/index.js} +5 -5
  416. package/esm2015/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.js +56 -0
  417. package/{esm2020/infra/firebase/firestore/repositories/shop-settings/index.mjs → esm2015/infra/firebase/firestore/repositories/shop-settings/index.js} +4 -4
  418. package/esm2015/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.js +12 -0
  419. package/esm2015/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.js +12 -0
  420. package/esm2015/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.js +12 -0
  421. package/esm2015/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.js +12 -0
  422. package/esm2015/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.js +12 -0
  423. package/esm2015/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.js +29 -0
  424. package/esm2015/infra/firebase/firestore/repositories/shopping/index.js +9 -0
  425. package/esm2015/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.js +9 -0
  426. package/esm2015/infra/firebase/firestore/repositories/shopping/order-firestore.repository.js +40 -0
  427. package/esm2015/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.js +12 -0
  428. package/esm2015/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.js +12 -0
  429. package/{esm2020/infra/firebase/firestore/repositories/users/index.mjs → esm2015/infra/firebase/firestore/repositories/users/index.js} +9 -9
  430. package/esm2015/infra/firebase/firestore/repositories/users/lead-firestore.repository.js +12 -0
  431. package/esm2015/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.js +14 -0
  432. package/esm2015/infra/firebase/firestore/repositories/users/subscription-firestore.repository.js +12 -0
  433. package/esm2015/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.js +14 -0
  434. package/esm2015/infra/firebase/firestore/repositories/users/user-address-firestore.repository.js +14 -0
  435. package/esm2015/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.js +14 -0
  436. package/esm2015/infra/firebase/firestore/repositories/users/user-firestore.repository.js +68 -0
  437. package/esm2015/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.js +14 -0
  438. package/esm2015/infra/firebase/firestore/types/firestore-sub.repository.type.js +2 -0
  439. package/esm2015/infra/firebase/firestore/types/firestore.helpers.type.js +2 -0
  440. package/esm2015/infra/firebase/firestore/types/firestore.repository.type.js +2 -0
  441. package/esm2015/infra/firebase/firestore/types/index.js +4 -0
  442. package/{esm2020/infra/firebase/index.mjs → esm2015/infra/firebase/index.js} +3 -3
  443. package/{esm2020/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.mjs → esm2015/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.js} +13 -13
  444. package/{esm2020/infra/hasura-graphql/enums/hasura-graphql-where.enum.mjs → esm2015/infra/hasura-graphql/enums/hasura-graphql-where.enum.js} +15 -17
  445. package/{esm2020/infra/hasura-graphql/enums/index.mjs → esm2015/infra/hasura-graphql/enums/index.js} +3 -3
  446. package/{esm2020/infra/hasura-graphql/index.mjs → esm2015/infra/hasura-graphql/index.js} +5 -5
  447. package/esm2015/infra/hasura-graphql/mixins/helpers/attribute-option.helper.js +31 -0
  448. package/esm2015/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.js +53 -0
  449. package/esm2015/infra/hasura-graphql/mixins/helpers/filter-option.helper.js +22 -0
  450. package/esm2015/infra/hasura-graphql/mixins/helpers/graphql-field.helper.js +86 -0
  451. package/{esm2020/infra/hasura-graphql/mixins/helpers/index.mjs → esm2015/infra/hasura-graphql/mixins/helpers/index.js} +5 -5
  452. package/{esm2020/infra/hasura-graphql/mixins/index.mjs → esm2015/infra/hasura-graphql/mixins/index.js} +8 -8
  453. package/esm2015/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.js +45 -0
  454. package/esm2015/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.js +10 -0
  455. package/esm2015/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.js +29 -0
  456. package/esm2015/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.js +45 -0
  457. package/esm2015/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.js +35 -0
  458. package/esm2015/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.js +94 -0
  459. package/esm2015/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.js +56 -0
  460. package/{esm2020/infra/hasura-graphql/models/category-hasura-graphql.mjs → esm2015/infra/hasura-graphql/models/category-hasura-graphql.js} +4 -4
  461. package/{esm2020/infra/hasura-graphql/models/index.mjs → esm2015/infra/hasura-graphql/models/index.js} +5 -5
  462. package/{esm2020/infra/hasura-graphql/models/kit-product-hasura-graphql.mjs → esm2015/infra/hasura-graphql/models/kit-product-hasura-graphql.js} +15 -15
  463. package/esm2015/infra/hasura-graphql/models/product-hasura-graphql.js +11 -0
  464. package/{esm2020/infra/hasura-graphql/models/variant-hasura-graphql.mjs → esm2015/infra/hasura-graphql/models/variant-hasura-graphql.js} +9 -9
  465. package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +241 -0
  466. package/esm2015/infra/hasura-graphql/repositories/catalog/index.js +4 -0
  467. package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +462 -0
  468. package/esm2015/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.js +116 -0
  469. package/{esm2020/infra/hasura-graphql/repositories/index.mjs → esm2015/infra/hasura-graphql/repositories/index.js} +2 -2
  470. package/{esm2020/infra/hasura-graphql/types/fields.type.mjs → esm2015/infra/hasura-graphql/types/fields.type.js} +2 -2
  471. package/esm2015/infra/hasura-graphql/types/graphql.repository.type.js +2 -0
  472. package/{esm2020/infra/hasura-graphql/types/hasura-graphql-auth-options.type.mjs → esm2015/infra/hasura-graphql/types/hasura-graphql-auth-options.type.js} +2 -2
  473. package/esm2015/infra/hasura-graphql/types/hasura-graphql-fields.type.js +2 -0
  474. package/{esm2020/infra/hasura-graphql/types/hasura-graphql-headers.type.mjs → esm2015/infra/hasura-graphql/types/hasura-graphql-headers.type.js} +2 -2
  475. package/{esm2020/infra/hasura-graphql/types/index.mjs → esm2015/infra/hasura-graphql/types/index.js} +9 -9
  476. package/{esm2020/infra/hasura-graphql/types/nested-field.type.mjs → esm2015/infra/hasura-graphql/types/nested-field.type.js} +2 -2
  477. package/{esm2020/infra/hasura-graphql/types/query-builder-options.type.mjs → esm2015/infra/hasura-graphql/types/query-builder-options.type.js} +2 -2
  478. package/{esm2020/infra/hasura-graphql/types/variable-options.type.mjs → esm2015/infra/hasura-graphql/types/variable-options.type.js} +2 -2
  479. package/{esm2020/infra/index.mjs → esm2015/infra/index.js} +4 -4
  480. package/{esm2020/infrab4a-connect.mjs → esm2015/infrab4a-connect.js} +4 -4
  481. package/esm2015/utils/index.js +8 -0
  482. package/{esm2020/utils/is-uuid.mjs → esm2015/utils/is-uuid.js} +3 -3
  483. package/{esm2020/utils/mixins/base.mixin.mjs → esm2015/utils/mixins/base.mixin.js} +6 -6
  484. package/{esm2020/utils/mixins/index.mjs → esm2015/utils/mixins/index.js} +4 -4
  485. package/{esm2020/utils/mixins/merge-constructor-params.type.mjs → esm2015/utils/mixins/merge-constructor-params.type.js} +2 -2
  486. package/{esm2020/utils/mixins/mixin-ctor.type.mjs → esm2015/utils/mixins/mixin-ctor.type.js} +2 -2
  487. package/{esm2020/utils/parse-datetime.mjs → esm2015/utils/parse-datetime.js} +14 -14
  488. package/{esm2020/utils/types/array-element.type.mjs → esm2015/utils/types/array-element.type.js} +2 -2
  489. package/{esm2020/utils/types/index.mjs → esm2015/utils/types/index.js} +3 -3
  490. package/{esm2020/utils/types/prop.type.mjs → esm2015/utils/types/prop.type.js} +2 -2
  491. package/fesm2015/{infrab4a-connect.mjs → infrab4a-connect.js} +3178 -4788
  492. package/fesm2015/infrab4a-connect.js.map +1 -0
  493. package/index.d.ts +5 -5
  494. package/infra/elasticsearch/adapters/axios.adapter.d.ts +14 -16
  495. package/infra/elasticsearch/adapters/elastic-search.adapter.d.ts +7 -8
  496. package/infra/elasticsearch/adapters/index.d.ts +2 -2
  497. package/infra/elasticsearch/index.d.ts +3 -3
  498. package/infra/elasticsearch/indexes/index.d.ts +1 -1
  499. package/infra/elasticsearch/indexes/products-index.d.ts +15 -13
  500. package/infra/elasticsearch/types/elastic-search-result.d.ts +7 -9
  501. package/infra/elasticsearch/types/index.d.ts +1 -1
  502. package/infra/firebase/auth/authentication-firebase-auth.service.d.ts +12 -12
  503. package/infra/firebase/auth/index.d.ts +2 -2
  504. package/infra/firebase/auth/register-firebase-auth.service.d.ts +8 -8
  505. package/infra/firebase/auth/types/firebase-user-with-id.type.d.ts +3 -5
  506. package/infra/firebase/firestore/enums/firestore-field-type.enum.d.ts +8 -8
  507. package/infra/firebase/firestore/enums/index.d.ts +1 -1
  508. package/infra/firebase/firestore/index.d.ts +3 -3
  509. package/infra/firebase/firestore/mixins/index.d.ts +9 -9
  510. package/infra/firebase/firestore/mixins/with-create-firestore.mixin.d.ts +4 -4
  511. package/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +4 -5
  512. package/infra/firebase/firestore/mixins/with-delete-firestore.mixin.d.ts +4 -4
  513. package/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +4 -4
  514. package/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +4 -13
  515. package/infra/firebase/firestore/mixins/with-get-firestore.mixin.d.ts +4 -4
  516. package/infra/firebase/firestore/mixins/with-helpers.mixin.d.ts +11 -11
  517. package/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +7 -11
  518. package/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +7 -7
  519. package/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +17 -20
  520. package/infra/firebase/firestore/repositories/catalog/index.d.ts +4 -4
  521. package/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +11 -12
  522. package/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +13 -12
  523. package/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.d.ts +8 -7
  524. package/infra/firebase/firestore/repositories/index.d.ts +4 -4
  525. package/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.d.ts +16 -16
  526. package/infra/firebase/firestore/repositories/shop-settings/index.d.ts +3 -3
  527. package/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.d.ts +8 -7
  528. package/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.d.ts +8 -7
  529. package/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +8 -7
  530. package/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +8 -7
  531. package/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +8 -7
  532. package/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +12 -12
  533. package/infra/firebase/firestore/repositories/shopping/index.d.ts +8 -10
  534. package/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.d.ts +7 -6
  535. package/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +13 -13
  536. package/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +8 -7
  537. package/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +8 -7
  538. package/infra/firebase/firestore/repositories/users/index.d.ts +8 -8
  539. package/infra/firebase/firestore/repositories/users/lead-firestore.repository.d.ts +8 -7
  540. package/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +13 -12
  541. package/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +8 -7
  542. package/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +13 -12
  543. package/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +13 -12
  544. package/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +13 -12
  545. package/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +17 -17
  546. package/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.d.ts +13 -12
  547. package/infra/firebase/firestore/types/firestore-sub.repository.type.d.ts +6 -6
  548. package/infra/firebase/firestore/types/firestore.helpers.type.d.ts +8 -8
  549. package/infra/firebase/firestore/types/firestore.repository.type.d.ts +14 -16
  550. package/infra/firebase/firestore/types/index.d.ts +3 -4
  551. package/infra/firebase/index.d.ts +2 -2
  552. package/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.d.ts +11 -11
  553. package/infra/hasura-graphql/enums/hasura-graphql-where.enum.d.ts +13 -15
  554. package/infra/hasura-graphql/enums/index.d.ts +2 -2
  555. package/infra/hasura-graphql/index.d.ts +4 -4
  556. package/infra/hasura-graphql/mixins/helpers/attribute-option.helper.d.ts +13 -19
  557. package/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.d.ts +10 -10
  558. package/infra/hasura-graphql/mixins/helpers/filter-option.helper.d.ts +6 -8
  559. package/infra/hasura-graphql/mixins/helpers/graphql-field.helper.d.ts +8 -12
  560. package/infra/hasura-graphql/mixins/helpers/index.d.ts +4 -4
  561. package/infra/hasura-graphql/mixins/index.d.ts +7 -7
  562. package/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.d.ts +8 -9
  563. package/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.d.ts +11 -11
  564. package/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.d.ts +7 -7
  565. package/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +25 -34
  566. package/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.d.ts +24 -25
  567. package/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.d.ts +11 -23
  568. package/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.d.ts +14 -14
  569. package/infra/hasura-graphql/models/category-hasura-graphql.d.ts +6 -6
  570. package/infra/hasura-graphql/models/index.d.ts +4 -4
  571. package/infra/hasura-graphql/models/kit-product-hasura-graphql.d.ts +6 -6
  572. package/infra/hasura-graphql/models/product-hasura-graphql.d.ts +14 -18
  573. package/infra/hasura-graphql/models/variant-hasura-graphql.d.ts +9 -10
  574. package/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.d.ts +27 -34
  575. package/infra/hasura-graphql/repositories/catalog/index.d.ts +3 -8
  576. package/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +28 -30
  577. package/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.d.ts +14 -14
  578. package/infra/hasura-graphql/repositories/index.d.ts +1 -1
  579. package/infra/hasura-graphql/types/fields.type.d.ts +2 -2
  580. package/infra/hasura-graphql/types/graphql.repository.type.d.ts +21 -24
  581. package/infra/hasura-graphql/types/hasura-graphql-auth-options.type.d.ts +8 -8
  582. package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +40 -44
  583. package/infra/hasura-graphql/types/hasura-graphql-headers.type.d.ts +7 -7
  584. package/infra/hasura-graphql/types/index.d.ts +8 -8
  585. package/infra/hasura-graphql/types/nested-field.type.d.ts +7 -7
  586. package/infra/hasura-graphql/types/query-builder-options.type.d.ts +7 -7
  587. package/infra/hasura-graphql/types/variable-options.type.d.ts +9 -9
  588. package/infra/index.d.ts +3 -3
  589. package/infrab4a-connect.d.ts +5 -0
  590. package/package.json +9 -23
  591. package/utils/index.d.ts +7 -13
  592. package/utils/is-uuid.d.ts +1 -1
  593. package/utils/mixins/base.mixin.d.ts +3 -3
  594. package/utils/mixins/index.d.ts +3 -3
  595. package/utils/mixins/merge-constructor-params.type.d.ts +3 -3
  596. package/utils/mixins/mixin-ctor.type.d.ts +1 -1
  597. package/utils/parse-datetime.d.ts +1 -1
  598. package/utils/types/array-element.type.d.ts +1 -1
  599. package/utils/types/index.d.ts +2 -2
  600. package/utils/types/prop.type.d.ts +1 -1
  601. package/domain/catalog/helpers/index.d.ts +0 -1
  602. package/domain/catalog/helpers/round-product-price.helper.d.ts +0 -4
  603. package/domain/catalog/models/category-base.d.ts +0 -30
  604. package/domain/catalog/models/category-collection-children.d.ts +0 -13
  605. package/domain/catalog/models/category-filter.d.ts +0 -13
  606. package/domain/catalog/models/category-for-product.d.ts +0 -5
  607. package/domain/catalog/models/filter-option.d.ts +0 -9
  608. package/domain/catalog/models/filter.d.ts +0 -12
  609. package/domain/catalog/models/product-base.d.ts +0 -40
  610. package/domain/catalog/models/product-for-category.d.ts +0 -7
  611. package/domain/catalog/models/product-for-kit.d.ts +0 -7
  612. package/domain/catalog/models/types/category-product.d.ts +0 -4
  613. package/domain/catalog/models/types/product-evaluation.type.d.ts +0 -6
  614. package/domain/catalog/models/wishlist.d.ts +0 -6
  615. package/domain/catalog/repositories/category-collection-children.repository.d.ts +0 -4
  616. package/domain/catalog/repositories/category-filter.repository.d.ts +0 -6
  617. package/domain/catalog/repositories/filter-option.repository.d.ts +0 -4
  618. package/domain/catalog/repositories/filter.repository.d.ts +0 -4
  619. package/domain/catalog/repositories/wishlist.repository.d.ts +0 -6
  620. package/domain/shopping/models/campaign-dashboard.d.ts +0 -15
  621. package/domain/shopping/models/campaign-hashtag.d.ts +0 -18
  622. package/domain/shopping/repositories/campaign-dashboard.repository.d.ts +0 -4
  623. package/domain/shopping/repositories/campaign-hashtag.repository.d.ts +0 -4
  624. package/esm2020/domain/catalog/helpers/index.mjs +0 -2
  625. package/esm2020/domain/catalog/helpers/round-product-price.helper.mjs +0 -15
  626. package/esm2020/domain/catalog/models/category-base.mjs +0 -18
  627. package/esm2020/domain/catalog/models/category-collection-children.mjs +0 -13
  628. package/esm2020/domain/catalog/models/category-filter.mjs +0 -19
  629. package/esm2020/domain/catalog/models/category-for-product.mjs +0 -7
  630. package/esm2020/domain/catalog/models/category.mjs +0 -14
  631. package/esm2020/domain/catalog/models/filter-option.mjs +0 -7
  632. package/esm2020/domain/catalog/models/filter.mjs +0 -7
  633. package/esm2020/domain/catalog/models/index.mjs +0 -12
  634. package/esm2020/domain/catalog/models/kit-product.mjs +0 -18
  635. package/esm2020/domain/catalog/models/product-base.mjs +0 -25
  636. package/esm2020/domain/catalog/models/product-for-category.mjs +0 -14
  637. package/esm2020/domain/catalog/models/product-for-kit.mjs +0 -14
  638. package/esm2020/domain/catalog/models/product.mjs +0 -19
  639. package/esm2020/domain/catalog/models/types/category-product.mjs +0 -2
  640. package/esm2020/domain/catalog/models/types/index.mjs +0 -12
  641. package/esm2020/domain/catalog/models/types/product-evaluation.type.mjs +0 -2
  642. package/esm2020/domain/catalog/models/types/product-review.type.mjs +0 -2
  643. package/esm2020/domain/catalog/models/variant.mjs +0 -7
  644. package/esm2020/domain/catalog/models/wishlist.mjs +0 -7
  645. package/esm2020/domain/catalog/repositories/category-collection-children.repository.mjs +0 -2
  646. package/esm2020/domain/catalog/repositories/category-filter.repository.mjs +0 -2
  647. package/esm2020/domain/catalog/repositories/category.repository.mjs +0 -2
  648. package/esm2020/domain/catalog/repositories/filter-option.repository.mjs +0 -2
  649. package/esm2020/domain/catalog/repositories/filter.repository.mjs +0 -2
  650. package/esm2020/domain/catalog/repositories/index.mjs +0 -10
  651. package/esm2020/domain/catalog/repositories/product.repository.mjs +0 -2
  652. package/esm2020/domain/catalog/repositories/wishlist.repository.mjs +0 -2
  653. package/esm2020/domain/generic/model/base.model.mjs +0 -24
  654. package/esm2020/domain/generic/model/types/base-model-builder.type.mjs +0 -2
  655. package/esm2020/domain/generic/model/types/identifier-model.type.mjs +0 -2
  656. package/esm2020/domain/generic/model/types/model-base-structure.type.mjs +0 -2
  657. package/esm2020/domain/generic/model/types/non-function-properties.type.mjs +0 -2
  658. package/esm2020/domain/generic/model/types/non-function-property-name.type.mjs +0 -2
  659. package/esm2020/domain/generic/repository/create.repository.mjs +0 -2
  660. package/esm2020/domain/generic/repository/crud.repository.mjs +0 -2
  661. package/esm2020/domain/generic/repository/delete.repository.mjs +0 -2
  662. package/esm2020/domain/generic/repository/find.repository.mjs +0 -2
  663. package/esm2020/domain/generic/repository/get.repository.mjs +0 -2
  664. package/esm2020/domain/generic/repository/read.repository.mjs +0 -2
  665. package/esm2020/domain/generic/repository/types/repository-find-filters.type.mjs +0 -2
  666. package/esm2020/domain/generic/repository/types/repository-find-result.type.mjs +0 -2
  667. package/esm2020/domain/generic/repository/types/repository-update-params.type.mjs +0 -2
  668. package/esm2020/domain/generic/repository/update.repository.mjs +0 -2
  669. package/esm2020/domain/location/models/address.mjs +0 -7
  670. package/esm2020/domain/shop-settings/models/home.mjs +0 -7
  671. package/esm2020/domain/shop-settings/models/types/home-data.type.mjs +0 -2
  672. package/esm2020/domain/shopping/models/buy-2-win.mjs +0 -14
  673. package/esm2020/domain/shopping/models/campaign-dashboard.mjs +0 -7
  674. package/esm2020/domain/shopping/models/campaign-hashtag.mjs +0 -7
  675. package/esm2020/domain/shopping/models/checkout.mjs +0 -37
  676. package/esm2020/domain/shopping/models/coupons/coupon.mjs +0 -38
  677. package/esm2020/domain/shopping/models/index.mjs +0 -13
  678. package/esm2020/domain/shopping/models/payment.mjs +0 -169
  679. package/esm2020/domain/shopping/models/shipping-method.mjs +0 -7
  680. package/esm2020/domain/shopping/models/subscription/checkout.mjs +0 -28
  681. package/esm2020/domain/shopping/models/types/payment-address.type.mjs +0 -2
  682. package/esm2020/domain/shopping/models/types/payment-card.type.mjs +0 -2
  683. package/esm2020/domain/shopping/models/types/payment-customer.type.mjs +0 -2
  684. package/esm2020/domain/shopping/repositories/campaign-dashboard.repository.mjs +0 -2
  685. package/esm2020/domain/shopping/repositories/campaign-hashtag.repository.mjs +0 -2
  686. package/esm2020/domain/shopping/repositories/index.mjs +0 -10
  687. package/esm2020/domain/users/models/beauty-profile.mjs +0 -12
  688. package/esm2020/domain/users/models/subscription/edition.mjs +0 -7
  689. package/esm2020/domain/users/models/subscription/payment.mjs +0 -14
  690. package/esm2020/domain/users/models/subscription/subscription.mjs +0 -43
  691. package/esm2020/domain/users/models/user-payment-method.mjs +0 -7
  692. package/esm2020/domain/users/models/user.mjs +0 -26
  693. package/esm2020/domain/users/repositories/user.repository.mjs +0 -2
  694. package/esm2020/domain/users/services/authentication.service.mjs +0 -2
  695. package/esm2020/domain/users/use-cases/authentication.mjs +0 -43
  696. package/esm2020/domain/users/use-cases/recovery-password.mjs +0 -9
  697. package/esm2020/domain/users/use-cases/register.mjs +0 -38
  698. package/esm2020/domain/users/use-cases/signout.mjs +0 -9
  699. package/esm2020/infra/elasticsearch/adapters/axios.adapter.mjs +0 -67
  700. package/esm2020/infra/elasticsearch/adapters/elastic-search.adapter.mjs +0 -2
  701. package/esm2020/infra/elasticsearch/indexes/products-index.mjs +0 -104
  702. package/esm2020/infra/firebase/auth/authentication-firebase-auth.service.mjs +0 -41
  703. package/esm2020/infra/firebase/auth/register-firebase-auth.service.mjs +0 -33
  704. package/esm2020/infra/firebase/firestore/mixins/with-create-firestore.mixin.mjs +0 -31
  705. package/esm2020/infra/firebase/firestore/mixins/with-crud-firestore.mixin.mjs +0 -10
  706. package/esm2020/infra/firebase/firestore/mixins/with-delete-firestore.mixin.mjs +0 -18
  707. package/esm2020/infra/firebase/firestore/mixins/with-find-firestore.mixin.mjs +0 -110
  708. package/esm2020/infra/firebase/firestore/mixins/with-firestore.mixin.mjs +0 -80
  709. package/esm2020/infra/firebase/firestore/mixins/with-get-firestore.mixin.mjs +0 -23
  710. package/esm2020/infra/firebase/firestore/mixins/with-helpers.mixin.mjs +0 -17
  711. package/esm2020/infra/firebase/firestore/mixins/with-sub-collection.mixin.mjs +0 -13
  712. package/esm2020/infra/firebase/firestore/mixins/with-update-firestore.mixin.mjs +0 -51
  713. package/esm2020/infra/firebase/firestore/repositories/catalog/category-firestore.repository.mjs +0 -67
  714. package/esm2020/infra/firebase/firestore/repositories/catalog/product-firestore.repository.mjs +0 -54
  715. package/esm2020/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.mjs +0 -16
  716. package/esm2020/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.mjs +0 -14
  717. package/esm2020/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.mjs +0 -60
  718. package/esm2020/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.mjs +0 -14
  719. package/esm2020/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.mjs +0 -14
  720. package/esm2020/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.mjs +0 -14
  721. package/esm2020/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.mjs +0 -14
  722. package/esm2020/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.mjs +0 -14
  723. package/esm2020/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.mjs +0 -14
  724. package/esm2020/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.mjs +0 -14
  725. package/esm2020/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.mjs +0 -31
  726. package/esm2020/infra/firebase/firestore/repositories/shopping/index.mjs +0 -11
  727. package/esm2020/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.mjs +0 -11
  728. package/esm2020/infra/firebase/firestore/repositories/shopping/order-firestore.repository.mjs +0 -40
  729. package/esm2020/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.mjs +0 -14
  730. package/esm2020/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.mjs +0 -14
  731. package/esm2020/infra/firebase/firestore/repositories/users/lead-firestore.repository.mjs +0 -14
  732. package/esm2020/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.mjs +0 -16
  733. package/esm2020/infra/firebase/firestore/repositories/users/subscription-firestore.repository.mjs +0 -14
  734. package/esm2020/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.mjs +0 -16
  735. package/esm2020/infra/firebase/firestore/repositories/users/user-address-firestore.repository.mjs +0 -16
  736. package/esm2020/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.mjs +0 -16
  737. package/esm2020/infra/firebase/firestore/repositories/users/user-firestore.repository.mjs +0 -50
  738. package/esm2020/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.mjs +0 -16
  739. package/esm2020/infra/firebase/firestore/types/firestore-interceptors.type.mjs +0 -2
  740. package/esm2020/infra/firebase/firestore/types/firestore-sub.repository.type.mjs +0 -2
  741. package/esm2020/infra/firebase/firestore/types/firestore.helpers.type.mjs +0 -2
  742. package/esm2020/infra/firebase/firestore/types/firestore.repository.type.mjs +0 -2
  743. package/esm2020/infra/firebase/firestore/types/index.mjs +0 -5
  744. package/esm2020/infra/hasura-graphql/mixins/helpers/attribute-option.helper.mjs +0 -35
  745. package/esm2020/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.mjs +0 -71
  746. package/esm2020/infra/hasura-graphql/mixins/helpers/filter-option.helper.mjs +0 -22
  747. package/esm2020/infra/hasura-graphql/mixins/helpers/graphql-field.helper.mjs +0 -125
  748. package/esm2020/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.mjs +0 -39
  749. package/esm2020/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.mjs +0 -10
  750. package/esm2020/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.mjs +0 -31
  751. package/esm2020/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.mjs +0 -152
  752. package/esm2020/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.mjs +0 -37
  753. package/esm2020/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.mjs +0 -108
  754. package/esm2020/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.mjs +0 -62
  755. package/esm2020/infra/hasura-graphql/models/product-hasura-graphql.mjs +0 -11
  756. package/esm2020/infra/hasura-graphql/repositories/catalog/category-collection-children-hasura-graphql.repository.mjs +0 -39
  757. package/esm2020/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.mjs +0 -107
  758. package/esm2020/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.mjs +0 -339
  759. package/esm2020/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.mjs +0 -105
  760. package/esm2020/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.mjs +0 -22
  761. package/esm2020/infra/hasura-graphql/repositories/catalog/index.mjs +0 -9
  762. package/esm2020/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.mjs +0 -516
  763. package/esm2020/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.mjs +0 -114
  764. package/esm2020/infra/hasura-graphql/repositories/catalog/wishlist-hasura-graphql.repository.mjs +0 -236
  765. package/esm2020/infra/hasura-graphql/types/graphql.repository.type.mjs +0 -2
  766. package/esm2020/infra/hasura-graphql/types/hasura-graphql-fields.type.mjs +0 -2
  767. package/esm2020/utils/decorators/debug.class.decorator.mjs +0 -7
  768. package/esm2020/utils/decorators/index.mjs +0 -3
  769. package/esm2020/utils/decorators/trace.method.decorator.mjs +0 -81
  770. package/esm2020/utils/get.mjs +0 -3
  771. package/esm2020/utils/helpers/class-name.helper.mjs +0 -15
  772. package/esm2020/utils/helpers/debug-decorator.helper.mjs +0 -18
  773. package/esm2020/utils/helpers/debug.helper.mjs +0 -150
  774. package/esm2020/utils/helpers/index.mjs +0 -5
  775. package/esm2020/utils/helpers/reflect.helper.mjs +0 -165
  776. package/esm2020/utils/index.mjs +0 -13
  777. package/esm2020/utils/is.mjs +0 -4
  778. package/esm2020/utils/log.utils.mjs +0 -9
  779. package/fesm2015/infrab4a-connect.mjs.map +0 -1
  780. package/fesm2020/infrab4a-connect.mjs +0 -4856
  781. package/fesm2020/infrab4a-connect.mjs.map +0 -1
  782. package/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.d.ts +0 -8
  783. package/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.d.ts +0 -8
  784. package/infra/firebase/firestore/types/firestore-interceptors.type.d.ts +0 -14
  785. package/infra/hasura-graphql/repositories/catalog/category-collection-children-hasura-graphql.repository.d.ts +0 -10
  786. package/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.d.ts +0 -12
  787. package/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.d.ts +0 -18
  788. package/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.d.ts +0 -10
  789. package/infra/hasura-graphql/repositories/catalog/wishlist-hasura-graphql.repository.d.ts +0 -27
  790. package/utils/decorators/debug.class.decorator.d.ts +0 -2
  791. package/utils/decorators/index.d.ts +0 -2
  792. package/utils/decorators/trace.method.decorator.d.ts +0 -14
  793. package/utils/get.d.ts +0 -1
  794. package/utils/helpers/class-name.helper.d.ts +0 -3
  795. package/utils/helpers/debug-decorator.helper.d.ts +0 -9
  796. package/utils/helpers/debug.helper.d.ts +0 -60
  797. package/utils/helpers/index.d.ts +0 -4
  798. package/utils/helpers/reflect.helper.d.ts +0 -50
  799. package/utils/is.d.ts +0 -1
  800. package/utils/log.utils.d.ts +0 -7
@@ -1,13 +1,13 @@
1
- export var HasuraGraphQLColumnType;
2
- (function (HasuraGraphQLColumnType) {
3
- HasuraGraphQLColumnType["Int"] = "Int";
4
- HasuraGraphQLColumnType["Float"] = "Float";
5
- HasuraGraphQLColumnType["Boolean"] = "Boolean";
6
- HasuraGraphQLColumnType["String"] = "String";
7
- HasuraGraphQLColumnType["DateTime"] = "timestampz";
8
- HasuraGraphQLColumnType["Json"] = "json";
9
- HasuraGraphQLColumnType["Jsonb"] = "jsonb";
10
- HasuraGraphQLColumnType["Enum"] = "enum";
11
- HasuraGraphQLColumnType["Uuid"] = "uuid";
12
- })(HasuraGraphQLColumnType || (HasuraGraphQLColumnType = {}));
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzdXJhLWdyYXBocWwtY29sdW1uLXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL2VudW1zL2hhc3VyYS1ncmFwaHFsLWNvbHVtbi10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksdUJBVVg7QUFWRCxXQUFZLHVCQUF1QjtJQUNqQyxzQ0FBVyxDQUFBO0lBQ1gsMENBQWUsQ0FBQTtJQUNmLDhDQUFtQixDQUFBO0lBQ25CLDRDQUFpQixDQUFBO0lBQ2pCLGtEQUF1QixDQUFBO0lBQ3ZCLHdDQUFhLENBQUE7SUFDYiwwQ0FBZSxDQUFBO0lBQ2Ysd0NBQWEsQ0FBQTtJQUNiLHdDQUFhLENBQUE7QUFDZixDQUFDLEVBVlcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQVVsQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEhhc3VyYUdyYXBoUUxDb2x1bW5UeXBlIHtcbiAgSW50ID0gJ0ludCcsXG4gIEZsb2F0ID0gJ0Zsb2F0JyxcbiAgQm9vbGVhbiA9ICdCb29sZWFuJyxcbiAgU3RyaW5nID0gJ1N0cmluZycsXG4gIERhdGVUaW1lID0gJ3RpbWVzdGFtcHonLFxuICBKc29uID0gJ2pzb24nLFxuICBKc29uYiA9ICdqc29uYicsXG4gIEVudW0gPSAnZW51bScsXG4gIFV1aWQgPSAndXVpZCcsXG59XG4iXX0=
1
+ export var HasuraGraphQLColumnType;
2
+ (function (HasuraGraphQLColumnType) {
3
+ HasuraGraphQLColumnType["Int"] = "Int";
4
+ HasuraGraphQLColumnType["Float"] = "Float";
5
+ HasuraGraphQLColumnType["Boolean"] = "Boolean";
6
+ HasuraGraphQLColumnType["String"] = "String";
7
+ HasuraGraphQLColumnType["DateTime"] = "timestampz";
8
+ HasuraGraphQLColumnType["Json"] = "json";
9
+ HasuraGraphQLColumnType["Jsonb"] = "jsonb";
10
+ HasuraGraphQLColumnType["Enum"] = "enum";
11
+ HasuraGraphQLColumnType["Uuid"] = "uuid";
12
+ })(HasuraGraphQLColumnType || (HasuraGraphQLColumnType = {}));
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzdXJhLWdyYXBocWwtY29sdW1uLXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL2VudW1zL2hhc3VyYS1ncmFwaHFsLWNvbHVtbi10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksdUJBVVg7QUFWRCxXQUFZLHVCQUF1QjtJQUNqQyxzQ0FBVyxDQUFBO0lBQ1gsMENBQWUsQ0FBQTtJQUNmLDhDQUFtQixDQUFBO0lBQ25CLDRDQUFpQixDQUFBO0lBQ2pCLGtEQUF1QixDQUFBO0lBQ3ZCLHdDQUFhLENBQUE7SUFDYiwwQ0FBZSxDQUFBO0lBQ2Ysd0NBQWEsQ0FBQTtJQUNiLHdDQUFhLENBQUE7QUFDZixDQUFDLEVBVlcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQVVsQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEhhc3VyYUdyYXBoUUxDb2x1bW5UeXBlIHtcclxuICBJbnQgPSAnSW50JyxcclxuICBGbG9hdCA9ICdGbG9hdCcsXHJcbiAgQm9vbGVhbiA9ICdCb29sZWFuJyxcclxuICBTdHJpbmcgPSAnU3RyaW5nJyxcclxuICBEYXRlVGltZSA9ICd0aW1lc3RhbXB6JyxcclxuICBKc29uID0gJ2pzb24nLFxyXG4gIEpzb25iID0gJ2pzb25iJyxcclxuICBFbnVtID0gJ2VudW0nLFxyXG4gIFV1aWQgPSAndXVpZCcsXHJcbn1cclxuIl19
@@ -1,17 +1,15 @@
1
- export var HasuraGraphQLWhere;
2
- (function (HasuraGraphQLWhere) {
3
- HasuraGraphQLWhere["EQUALS"] = "_eq";
4
- HasuraGraphQLWhere["GT"] = "_gt";
5
- HasuraGraphQLWhere["GTE"] = "_gte";
6
- HasuraGraphQLWhere["IN"] = "_in";
7
- HasuraGraphQLWhere["NOTIN"] = "_nin";
8
- HasuraGraphQLWhere["LT"] = "_lt";
9
- HasuraGraphQLWhere["LTE"] = "_lte";
10
- HasuraGraphQLWhere["LIKE"] = "_like";
11
- HasuraGraphQLWhere["NOTLIKE"] = "_nlike";
12
- HasuraGraphQLWhere["ISNULL"] = "_is_null";
13
- HasuraGraphQLWhere["ISNOTNULL"] = "_is_null";
14
- HasuraGraphQLWhere["JSON_CONTAINS"] = "_contains";
15
- HasuraGraphQLWhere["JSON_HAS_KEYS_ANY"] = "_has_keys_any";
16
- })(HasuraGraphQLWhere || (HasuraGraphQLWhere = {}));
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzdXJhLWdyYXBocWwtd2hlcmUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL2VudW1zL2hhc3VyYS1ncmFwaHFsLXdoZXJlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksa0JBY1g7QUFkRCxXQUFZLGtCQUFrQjtJQUM1QixvQ0FBYyxDQUFBO0lBQ2QsZ0NBQVUsQ0FBQTtJQUNWLGtDQUFZLENBQUE7SUFDWixnQ0FBVSxDQUFBO0lBQ1Ysb0NBQWMsQ0FBQTtJQUNkLGdDQUFVLENBQUE7SUFDVixrQ0FBWSxDQUFBO0lBQ1osb0NBQWMsQ0FBQTtJQUNkLHdDQUFrQixDQUFBO0lBQ2xCLHlDQUFtQixDQUFBO0lBQ25CLDRDQUFzQixDQUFBO0lBQ3RCLGlEQUEyQixDQUFBO0lBQzNCLHlEQUFtQyxDQUFBO0FBQ3JDLENBQUMsRUFkVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBYzdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gSGFzdXJhR3JhcGhRTFdoZXJlIHtcbiAgRVFVQUxTID0gJ19lcScsXG4gIEdUID0gJ19ndCcsXG4gIEdURSA9ICdfZ3RlJyxcbiAgSU4gPSAnX2luJyxcbiAgTk9USU4gPSAnX25pbicsXG4gIExUID0gJ19sdCcsXG4gIExURSA9ICdfbHRlJyxcbiAgTElLRSA9ICdfbGlrZScsXG4gIE5PVExJS0UgPSAnX25saWtlJyxcbiAgSVNOVUxMID0gJ19pc19udWxsJyxcbiAgSVNOT1ROVUxMID0gJ19pc19udWxsJyxcbiAgSlNPTl9DT05UQUlOUyA9ICdfY29udGFpbnMnLFxuICBKU09OX0hBU19LRVlTX0FOWSA9ICdfaGFzX2tleXNfYW55Jyxcbn1cbiJdfQ==
1
+ export var HasuraGraphQLWhere;
2
+ (function (HasuraGraphQLWhere) {
3
+ HasuraGraphQLWhere["EQUALS"] = "_eq";
4
+ HasuraGraphQLWhere["GT"] = "_gt";
5
+ HasuraGraphQLWhere["GTE"] = "_gte";
6
+ HasuraGraphQLWhere["IN"] = "_in";
7
+ HasuraGraphQLWhere["NOTIN"] = "_nin";
8
+ HasuraGraphQLWhere["LT"] = "_lt";
9
+ HasuraGraphQLWhere["LTE"] = "_lte";
10
+ HasuraGraphQLWhere["LIKE"] = "_like";
11
+ HasuraGraphQLWhere["NOTLIKE"] = "_nlike";
12
+ HasuraGraphQLWhere["ISNULL"] = "_is_null";
13
+ HasuraGraphQLWhere["ISNOTNULL"] = "_is_null";
14
+ })(HasuraGraphQLWhere || (HasuraGraphQLWhere = {}));
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzdXJhLWdyYXBocWwtd2hlcmUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL2VudW1zL2hhc3VyYS1ncmFwaHFsLXdoZXJlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksa0JBWVg7QUFaRCxXQUFZLGtCQUFrQjtJQUM1QixvQ0FBYyxDQUFBO0lBQ2QsZ0NBQVUsQ0FBQTtJQUNWLGtDQUFZLENBQUE7SUFDWixnQ0FBVSxDQUFBO0lBQ1Ysb0NBQWMsQ0FBQTtJQUNkLGdDQUFVLENBQUE7SUFDVixrQ0FBWSxDQUFBO0lBQ1osb0NBQWMsQ0FBQTtJQUNkLHdDQUFrQixDQUFBO0lBQ2xCLHlDQUFtQixDQUFBO0lBQ25CLDRDQUFzQixDQUFBO0FBQ3hCLENBQUMsRUFaVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBWTdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gSGFzdXJhR3JhcGhRTFdoZXJlIHtcclxuICBFUVVBTFMgPSAnX2VxJyxcclxuICBHVCA9ICdfZ3QnLFxyXG4gIEdURSA9ICdfZ3RlJyxcclxuICBJTiA9ICdfaW4nLFxyXG4gIE5PVElOID0gJ19uaW4nLFxyXG4gIExUID0gJ19sdCcsXHJcbiAgTFRFID0gJ19sdGUnLFxyXG4gIExJS0UgPSAnX2xpa2UnLFxyXG4gIE5PVExJS0UgPSAnX25saWtlJyxcclxuICBJU05VTEwgPSAnX2lzX251bGwnLFxyXG4gIElTTk9UTlVMTCA9ICdfaXNfbnVsbCcsXHJcbn1cclxuIl19
@@ -1,3 +1,3 @@
1
- export * from './hasura-graphql-where.enum';
2
- export * from './hasura-graphql-column-type.enum';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9lbnVtcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMsbUNBQW1DLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2hhc3VyYS1ncmFwaHFsLXdoZXJlLmVudW0nXG5leHBvcnQgKiBmcm9tICcuL2hhc3VyYS1ncmFwaHFsLWNvbHVtbi10eXBlLmVudW0nXG4iXX0=
1
+ export * from './hasura-graphql-where.enum';
2
+ export * from './hasura-graphql-column-type.enum';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9lbnVtcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMsbUNBQW1DLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2hhc3VyYS1ncmFwaHFsLXdoZXJlLmVudW0nXHJcbmV4cG9ydCAqIGZyb20gJy4vaGFzdXJhLWdyYXBocWwtY29sdW1uLXR5cGUuZW51bSdcclxuIl19
@@ -1,5 +1,5 @@
1
- export * from './mixins';
2
- export * from './models';
3
- export * from './repositories';
4
- export * from './types';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQTtBQUN4QixjQUFjLFVBQVUsQ0FBQTtBQUN4QixjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsU0FBUyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9taXhpbnMnXG5leHBvcnQgKiBmcm9tICcuL21vZGVscydcbmV4cG9ydCAqIGZyb20gJy4vcmVwb3NpdG9yaWVzJ1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcydcbiJdfQ==
1
+ export * from './mixins';
2
+ export * from './models';
3
+ export * from './repositories';
4
+ export * from './types';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQTtBQUN4QixjQUFjLFVBQVUsQ0FBQTtBQUN4QixjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsU0FBUyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9taXhpbnMnXHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJ1xyXG5leHBvcnQgKiBmcm9tICcuL3JlcG9zaXRvcmllcydcclxuZXhwb3J0ICogZnJvbSAnLi90eXBlcydcclxuIl19
@@ -0,0 +1,31 @@
1
+ import { 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 };
7
+ const field = fields.find((columnOption) => isObject(columnOption) && Object.keys(columnOption).includes(attributeName.toString()));
8
+ const fieldOption = field === null || field === void 0 ? void 0 : field[attributeName.toString()];
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 Object.assign({ 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 = fields.find((columnOption) => {
20
+ var _a;
21
+ return isObject(columnOption) &&
22
+ ((_a = Object.values(columnOption).find((option) => AttributeOptionHelper.CheckIsColumnOption(option) && option.columnName === columnName)) === null || _a === void 0 ? void 0 : _a.columnName) === columnName;
23
+ }) || {};
24
+ const attributeName = Object.keys(field).find((fieldOptionFromList) => AttributeOptionHelper.CheckIsColumnOption(field[fieldOptionFromList]) ||
25
+ Array.isArray(field[fieldOptionFromList]));
26
+ const fieldOption = field === null || field === void 0 ? void 0 : field[attributeName];
27
+ if (Array.isArray(fieldOption))
28
+ return { attributeName: attributeName, fields: fieldOption };
29
+ return Object.assign({ attributeName: attributeName || columnName, columnName }, fieldOption);
30
+ };
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLW9wdGlvbi5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9hdHRyaWJ1dGUtb3B0aW9uLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBUW5ELE1BQU0sT0FBTyxxQkFBcUI7O0FBQ3pCLHFDQUFlLEdBQUcsQ0FJdkIsYUFBd0IsRUFDeEIsTUFBa0MsRUFDTyxFQUFFO0lBQzNDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFvQixDQUFDO1FBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFLEVBQUUsYUFBYSxFQUFFLENBQUE7SUFFekcsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FDdkIsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FDekcsQ0FBQTtJQUNELE1BQU0sV0FBVyxHQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUVyRCxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxhQUFhLEVBQUUsQ0FBQTtJQUN0RixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsQ0FBQTtJQUVuSCx1QkFBUyxhQUFhLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSyxXQUFXLEVBQUU7QUFDaEYsQ0FBQyxDQUFBO0FBRU0seUNBQW1CLEdBQUcsQ0FDM0IsVUFBNkMsRUFDSSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUE7QUFFdEUsOENBQXdCLEdBQUcsQ0FDaEMsVUFBa0IsRUFDbEIsTUFBd0MsRUFDbUUsRUFBRTtJQUM3RyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBaUIsQ0FBQztRQUNwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxVQUFnRSxFQUFFLENBQUE7SUFFeEcsTUFBTSxLQUFLLEdBQ1QsTUFBTSxDQUFDLElBQUksQ0FDVCxDQUFDLFlBQVksRUFBRSxFQUFFOztRQUNmLE9BQUEsUUFBUSxDQUFDLFlBQVksQ0FBQztZQUN0QixDQUFBLE1BQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQzlCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsVUFBVSxLQUFLLFVBQVUsQ0FDbEcsMENBQUUsVUFBVSxNQUFLLFVBQVUsQ0FBQTtLQUFBLENBQy9CLElBQUksRUFBRSxDQUFBO0lBQ1QsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQzNDLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxDQUN0QixxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyRSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQzVDLENBQUE7SUFDRCxNQUFNLFdBQVcsR0FBRyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUcsYUFBYSxDQUFDLENBQUE7SUFFMUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQW1FLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxDQUFBO0lBRXBILHVCQUNFLGFBQWEsRUFBRyxhQUFvRSxJQUFJLFVBQVUsRUFDbEcsVUFBVSxJQUNQLFdBQVcsRUFDZjtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsQmFzZVN0cnVjdHVyZSwgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lcyB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcclxuaW1wb3J0IHsgaXNOaWwsIGlzT2JqZWN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXHJcbmltcG9ydCB7IENvbHVtbk9wdGlvbnMsIEhhc3VyYUdyYXBoUUxGaWVsZHMgfSBmcm9tICcuLi8uLi90eXBlcydcclxuXHJcbnR5cGUgRmluZEJ5QXR0cmlidXRlUmVzdWx0PFxyXG4gIE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPE1CYXNlPixcclxuICBBdHRyaWJ1dGUgZXh0ZW5kcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcclxuPiA9IENvbHVtbk9wdGlvbnM8TUJhc2VbQXR0cmlidXRlXSwgTUJhc2U+ICYgeyBhdHRyaWJ1dGVOYW1lOiBBdHRyaWJ1dGUgfVxyXG5cclxuZXhwb3J0IGNsYXNzIEF0dHJpYnV0ZU9wdGlvbkhlbHBlciB7XHJcbiAgc3RhdGljIEZpbmRCeUF0dHJpYnV0ZSA9IDxcclxuICAgIE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLFxyXG4gICAgQXR0cmlidXRlIGV4dGVuZHMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4gPSBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcclxuICA+KFxyXG4gICAgYXR0cmlidXRlTmFtZTogQXR0cmlidXRlLFxyXG4gICAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcclxuICApOiBGaW5kQnlBdHRyaWJ1dGVSZXN1bHQ8TUJhc2UsIEF0dHJpYnV0ZT4gPT4ge1xyXG4gICAgaWYgKGZpZWxkcy5pbmNsdWRlcyhhdHRyaWJ1dGVOYW1lIGFzIGFueSkpIHJldHVybiB7IGNvbHVtbk5hbWU6IGF0dHJpYnV0ZU5hbWUudG9TdHJpbmcoKSwgYXR0cmlidXRlTmFtZSB9XHJcblxyXG4gICAgY29uc3QgZmllbGQgPSBmaWVsZHMuZmluZChcclxuICAgICAgKGNvbHVtbk9wdGlvbikgPT4gaXNPYmplY3QoY29sdW1uT3B0aW9uKSAmJiBPYmplY3Qua2V5cyhjb2x1bW5PcHRpb24pLmluY2x1ZGVzKGF0dHJpYnV0ZU5hbWUudG9TdHJpbmcoKSksXHJcbiAgICApXHJcbiAgICBjb25zdCBmaWVsZE9wdGlvbiA9IGZpZWxkPy5bYXR0cmlidXRlTmFtZS50b1N0cmluZygpXVxyXG5cclxuICAgIGlmIChpc05pbChmaWVsZE9wdGlvbikpIHJldHVybiB7IGNvbHVtbk5hbWU6IGF0dHJpYnV0ZU5hbWUudG9TdHJpbmcoKSwgYXR0cmlidXRlTmFtZSB9XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZE9wdGlvbikpIHJldHVybiB7IGNvbHVtbk5hbWU6IGF0dHJpYnV0ZU5hbWUudG9TdHJpbmcoKSwgYXR0cmlidXRlTmFtZSwgZmllbGRzOiBmaWVsZE9wdGlvbiB9XHJcblxyXG4gICAgcmV0dXJuIHsgYXR0cmlidXRlTmFtZSwgY29sdW1uTmFtZTogYXR0cmlidXRlTmFtZS50b1N0cmluZygpLCAuLi5maWVsZE9wdGlvbiB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgQ2hlY2tJc0NvbHVtbk9wdGlvbiA9IDxNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSwgUGFyZW50TW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+KFxyXG4gICAgZmllbGRWYWx1ZTogQ29sdW1uT3B0aW9uczxNb2RlbCwgUGFyZW50TW9kZWw+LFxyXG4gICk6IGZpZWxkVmFsdWUgaXMgQ29sdW1uT3B0aW9uczxNb2RlbCwgUGFyZW50TW9kZWw+ID0+ICEhZmllbGRWYWx1ZS5jb2x1bW5OYW1lXHJcblxyXG4gIHN0YXRpYyBGaW5kQ29sdW1uT3B0aW9uRnJvbUxpc3QgPSA8TW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsIFBhcmVudE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPihcclxuICAgIGNvbHVtbk5hbWU6IHN0cmluZyxcclxuICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxQYXJlbnRNb2RlbD4sXHJcbiAgKTogQ29sdW1uT3B0aW9uczxNb2RlbCwgUGFyZW50TW9kZWw+ICYgeyBhdHRyaWJ1dGVOYW1lOiBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPFBhcmVudE1vZGVsPiB9ID0+IHtcclxuICAgIGlmIChmaWVsZHMuaW5jbHVkZXMoY29sdW1uTmFtZSBhcyBhbnkpKVxyXG4gICAgICByZXR1cm4geyBjb2x1bW5OYW1lLCBhdHRyaWJ1dGVOYW1lOiBjb2x1bW5OYW1lIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8UGFyZW50TW9kZWw+IH1cclxuXHJcbiAgICBjb25zdCBmaWVsZCA9XHJcbiAgICAgIGZpZWxkcy5maW5kKFxyXG4gICAgICAgIChjb2x1bW5PcHRpb24pID0+XHJcbiAgICAgICAgICBpc09iamVjdChjb2x1bW5PcHRpb24pICYmXHJcbiAgICAgICAgICBPYmplY3QudmFsdWVzKGNvbHVtbk9wdGlvbikuZmluZChcclxuICAgICAgICAgICAgKG9wdGlvbikgPT4gQXR0cmlidXRlT3B0aW9uSGVscGVyLkNoZWNrSXNDb2x1bW5PcHRpb24ob3B0aW9uKSAmJiBvcHRpb24uY29sdW1uTmFtZSA9PT0gY29sdW1uTmFtZSxcclxuICAgICAgICAgICk/LmNvbHVtbk5hbWUgPT09IGNvbHVtbk5hbWUsXHJcbiAgICAgICkgfHwge31cclxuICAgIGNvbnN0IGF0dHJpYnV0ZU5hbWUgPSBPYmplY3Qua2V5cyhmaWVsZCkuZmluZChcclxuICAgICAgKGZpZWxkT3B0aW9uRnJvbUxpc3QpID0+XHJcbiAgICAgICAgQXR0cmlidXRlT3B0aW9uSGVscGVyLkNoZWNrSXNDb2x1bW5PcHRpb24oZmllbGRbZmllbGRPcHRpb25Gcm9tTGlzdF0pIHx8XHJcbiAgICAgICAgQXJyYXkuaXNBcnJheShmaWVsZFtmaWVsZE9wdGlvbkZyb21MaXN0XSksXHJcbiAgICApXHJcbiAgICBjb25zdCBmaWVsZE9wdGlvbiA9IGZpZWxkPy5bYXR0cmlidXRlTmFtZV1cclxuXHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZE9wdGlvbikpXHJcbiAgICAgIHJldHVybiB7IGF0dHJpYnV0ZU5hbWU6IGF0dHJpYnV0ZU5hbWUgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxQYXJlbnRNb2RlbD4sIGZpZWxkczogZmllbGRPcHRpb24gfVxyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGF0dHJpYnV0ZU5hbWU6IChhdHRyaWJ1dGVOYW1lIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8UGFyZW50TW9kZWw+KSB8fCBjb2x1bW5OYW1lLFxyXG4gICAgICBjb2x1bW5OYW1lLFxyXG4gICAgICAuLi5maWVsZE9wdGlvbixcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,53 @@
1
+ import { Where, } from '../../../../domain';
2
+ import { 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 Object.assign(Object.assign({}, variables), {
12
+ [columnOption.columnName]: BindFilterQueryHelper.BuildWhereSentence(fieldName, filter[fieldName], fields),
13
+ });
14
+ const builtFilter = columnOption.bindFindFilter(filter[fieldName]);
15
+ return Object.assign(Object.assign({}, variables), Object.keys(builtFilter).reduce((variablesList, columnName) => (Object.assign(Object.assign({}, variablesList), { [columnName]: BindFilterQueryHelper.BuildWhereSentence(fieldName, builtFilter[columnName], fields) })), {}));
16
+ }, {});
17
+ BindFilterQueryHelper.BuildWhereSentence = (field, options, fields) => {
18
+ const fieldSentenceOptions = AttributeOptionHelper.FindByAttribute(field, fields);
19
+ if (!Array.isArray(options) &&
20
+ isObject(options) &&
21
+ isNil(options === null || options === void 0 ? void 0 : options.operator) &&
22
+ isNil(options === null || options === void 0 ? void 0 : options.value) &&
23
+ isNil(fieldSentenceOptions === null || fieldSentenceOptions === void 0 ? void 0 : fieldSentenceOptions.to))
24
+ return Object.keys(options).reduce((variables, key) => {
25
+ const fieldOptions = AttributeOptionHelper.FindByAttribute(key, (fieldSentenceOptions === null || fieldSentenceOptions === void 0 ? void 0 : fieldSentenceOptions.fields) || fields);
26
+ const columnName = fieldOptions.columnName;
27
+ const columnFields = fieldOptions.fields;
28
+ return Object.assign(Object.assign({}, variables), { [columnName]: BindFilterQueryHelper.BuildWhereSentence(key, options[key], columnFields || []) });
29
+ }, {});
30
+ if (!Array.isArray(options) && !isNil(fieldSentenceOptions.fields))
31
+ return {
32
+ [fieldSentenceOptions.fields[0]]: BindFilterQueryHelper.BuildOperatorSentence(options, fieldSentenceOptions),
33
+ };
34
+ if (isObject(options) && !FilterOptionHelper.CheckIfIsFilterOption(options))
35
+ options = Object.values(options)[0];
36
+ return Array.isArray(options)
37
+ ? options.reduce((whereSentence, option) => (Object.assign(Object.assign({}, whereSentence), BindFilterQueryHelper.BuildOperatorSentence(option, fieldSentenceOptions))), {})
38
+ : BindFilterQueryHelper.BuildOperatorSentence(options, fieldSentenceOptions);
39
+ };
40
+ BindFilterQueryHelper.BuildOperatorSentence = (options, fieldOption) => ({
41
+ [BindFilterQueryHelper.GetHasuraOperator(options, fieldOption)]: FilterOptionHelper.GetValueFromFilter(options, fieldOption),
42
+ });
43
+ BindFilterQueryHelper.GetHasuraOperator = (options, fieldOption) => FilterOptionHelper.CheckIfIsFilterOption(options)
44
+ ? fieldOption.type === HasuraGraphQLColumnType.Jsonb
45
+ ? BindFilterQueryHelper.GetHasuraJsonbOperator(options)
46
+ : HasuraGraphQLWhere[Object.keys(HasuraGraphQLWhere).find((graphQLOperator) => graphQLOperator === Object.keys(Where).find((operator) => Where[operator] === (options === null || options === void 0 ? void 0 : options.operator)))]
47
+ : HasuraGraphQLWhere.EQUALS;
48
+ BindFilterQueryHelper.GetHasuraJsonbOperator = (options) => options.operator === Where.IN
49
+ ? '_contains'
50
+ : options.operator === Where.LIKE
51
+ ? '_has_keys_any'
52
+ : HasuraGraphQLWhere[Object.keys(HasuraGraphQLWhere).find((graphQLOperator) => graphQLOperator === Object.keys(Where).find((operator) => Where[operator] === (options === null || options === void 0 ? void 0 : options.operator)))];
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluZC1maWx0ZXItcXVlcnkuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL2hlbHBlcnMvYmluZC1maWx0ZXItcXVlcnkuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFNTCxLQUFLLEdBQ04sTUFBTSxvQkFBb0IsQ0FBQTtBQUMzQixPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUV6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUUzRCxNQUFNLE9BQU8scUJBQXFCOztBQUN6QixzQ0FBZ0IsR0FBRyxDQUN4QixNQUFxQyxFQUNyQyxNQUFrQyxFQUNqQixFQUFFLENBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBMEIsRUFBRSxTQUFpQixFQUFFLEVBQUU7SUFDM0UsTUFBTSxZQUFZLEdBQUcscUJBQXFCLENBQUMsZUFBZSxDQUN4RCxTQUF5RCxFQUN6RCxNQUFNLENBQ1AsQ0FBQTtJQUVELElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYztRQUM5Qix1Q0FDSyxTQUFTLEdBQ1Q7WUFDRCxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRSxxQkFBcUIsQ0FBQyxrQkFBa0IsQ0FDakUsU0FBeUQsRUFDekQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUNqQixNQUFNLENBQ1A7U0FDRixFQUNGO0lBRUgsTUFBTSxXQUFXLEdBR2IsWUFBWSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtJQUVsRCx1Q0FDSyxTQUFTLEdBQ1QsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQ2hDLENBQUMsYUFBOEIsRUFBRSxVQUFrQixFQUFFLEVBQUUsQ0FBQyxpQ0FDbkQsYUFBYSxLQUNoQixDQUFDLFVBQVUsQ0FBQyxFQUFFLHFCQUFxQixDQUFDLGtCQUFrQixDQUNwRCxTQUF5RCxFQUN6RCxXQUFXLENBQUMsVUFBVSxDQUFDLEVBQ3ZCLE1BQU0sQ0FDUCxJQUNELEVBQ0YsRUFBRSxDQUNILEVBQ0Y7QUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7QUFFRCx3Q0FBa0IsR0FBRyxDQUMxQixLQUFtRCxFQUNuRCxPQUE4RSxFQUM5RSxNQUFrQyxFQUNqQixFQUFFO0lBQ25CLE1BQU0sb0JBQW9CLEdBQUcscUJBQXFCLENBQUMsZUFBZSxDQUFRLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUV4RixJQUNFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDdkIsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUNqQixLQUFLLENBQUMsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFFBQVEsQ0FBQztRQUN4QixLQUFLLENBQUMsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEtBQUssQ0FBQztRQUNyQixLQUFLLENBQUMsb0JBQW9CLGFBQXBCLG9CQUFvQix1QkFBcEIsb0JBQW9CLENBQUUsRUFBRSxDQUFDO1FBRS9CLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDcEQsTUFBTSxZQUFZLEdBQUcscUJBQXFCLENBQUMsZUFBZSxDQUN4RCxHQUFtRCxFQUNuRCxDQUFBLG9CQUFvQixhQUFwQixvQkFBb0IsdUJBQXBCLG9CQUFvQixDQUFFLE1BQU0sS0FBSyxNQUFjLENBQ2hELENBQUE7WUFDRCxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFBO1lBQzFDLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUE7WUFFeEMsdUNBQ0ssU0FBUyxLQUNaLENBQUMsVUFBVSxDQUFDLEVBQUUscUJBQXFCLENBQUMsa0JBQWtCLENBQ3BELEdBQW1ELEVBQ25ELE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFDWixZQUFZLElBQUssRUFBVSxDQUM1QixJQUNGO1FBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRVIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDO1FBQ2hFLE9BQU87WUFDTCxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQWlELENBQUMsRUFDOUUscUJBQXFCLENBQUMscUJBQXFCLENBQ3pDLE9BQU8sRUFDUCxvQkFBaUcsQ0FDbEc7U0FDSixDQUFBO0lBRUgsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUM7UUFDekUsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUE4QyxDQUFBO0lBRWxGLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDM0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQ1osQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxpQ0FDdEIsYUFBYSxHQUNiLHFCQUFxQixDQUFDLHFCQUFxQixDQUM1QyxNQUFNLEVBQ04sb0JBQWlHLENBQ2xHLEVBQ0QsRUFDRixFQUFFLENBQ0g7UUFDSCxDQUFDLENBQUMscUJBQXFCLENBQUMscUJBQXFCLENBQ3pDLE9BQU8sRUFDUCxvQkFBaUcsQ0FDbEcsQ0FBQTtBQUNQLENBQUMsQ0FBQTtBQUVNLDJDQUFxQixHQUFHLENBQzdCLE9BQWtELEVBQ2xELFdBQW9DLEVBQ25CLEVBQUUsQ0FBQyxDQUFDO0lBQ3JCLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsa0JBQWtCLENBQ3BHLE9BQU8sRUFDUCxXQUFXLENBQ1o7Q0FDRixDQUFDLENBQUE7QUFFSyx1Q0FBaUIsR0FBRyxDQUN6QixPQUE4RSxFQUM5RSxXQUFvQyxFQUNoQixFQUFFLENBQ3RCLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQztJQUMvQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyx1QkFBdUIsQ0FBQyxLQUFLO1FBQ2xELENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUM7UUFDdkQsQ0FBQyxDQUFDLGtCQUFrQixDQUNoQixNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUNsQyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQ2xCLGVBQWUsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFLLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxRQUFRLENBQUEsQ0FBQyxDQUNuRyxDQUNGO0lBQ0wsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQTtBQUV4Qiw0Q0FBc0IsR0FBRyxDQUM5QixPQUE4RSxFQUMxRCxFQUFFLENBQ3RCLE9BQU8sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLEVBQUU7SUFDM0IsQ0FBQyxDQUFDLFdBQVc7SUFDYixDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsSUFBSTtRQUNqQyxDQUFDLENBQUMsZUFBZTtRQUNqQixDQUFDLENBQUMsa0JBQWtCLENBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQ2xDLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FDbEIsZUFBZSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQUssT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFFBQVEsQ0FBQSxDQUFDLENBQ25HLENBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgTW9kZWxCYXNlU3RydWN0dXJlLFxyXG4gIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXMsXHJcbiAgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzLFxyXG4gIFJlcG9zaXRvcnlGaW5kRmllbHRlcnMsXHJcbiAgUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnMsXHJcbiAgV2hlcmUsXHJcbn0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xyXG5pbXBvcnQgeyBpc05pbCwgaXNPYmplY3QgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscydcclxuaW1wb3J0IHsgSGFzdXJhR3JhcGhRTENvbHVtblR5cGUsIEhhc3VyYUdyYXBoUUxXaGVyZSB9IGZyb20gJy4uLy4uL2VudW1zJ1xyXG5pbXBvcnQgeyBDb2x1bW5PcHRpb25zLCBIYXN1cmFHcmFwaFFMRmllbGRzLCBWYXJpYWJsZU9wdGlvbnMgfSBmcm9tICcuLi8uLi90eXBlcydcclxuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9hdHRyaWJ1dGUtb3B0aW9uLmhlbHBlcidcclxuaW1wb3J0IHsgRmlsdGVyT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9maWx0ZXItb3B0aW9uLmhlbHBlcidcclxuXHJcbmV4cG9ydCBjbGFzcyBCaW5kRmlsdGVyUXVlcnlIZWxwZXIge1xyXG4gIHN0YXRpYyBNYWtlR3JhcGhRTFdoZXJlID0gPE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPihcclxuICAgIGZpbHRlcjogUmVwb3NpdG9yeUZpbmRGaWVsdGVyczxNQmFzZT4sXHJcbiAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxyXG4gICk6IFZhcmlhYmxlT3B0aW9ucyA9PlxyXG4gICAgT2JqZWN0LmtleXMoZmlsdGVyKS5yZWR1Y2UoKHZhcmlhYmxlczogVmFyaWFibGVPcHRpb25zLCBmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgICBjb25zdCBjb2x1bW5PcHRpb24gPSBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKFxyXG4gICAgICAgIGZpZWxkTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcclxuICAgICAgICBmaWVsZHMsXHJcbiAgICAgIClcclxuXHJcbiAgICAgIGlmICghY29sdW1uT3B0aW9uLmJpbmRGaW5kRmlsdGVyKVxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAuLi52YXJpYWJsZXMsXHJcbiAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgIFtjb2x1bW5PcHRpb24uY29sdW1uTmFtZV06IEJpbmRGaWx0ZXJRdWVyeUhlbHBlci5CdWlsZFdoZXJlU2VudGVuY2UoXHJcbiAgICAgICAgICAgICAgZmllbGROYW1lIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxyXG4gICAgICAgICAgICAgIGZpbHRlcltmaWVsZE5hbWVdLFxyXG4gICAgICAgICAgICAgIGZpZWxkcyxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgYnVpbHRGaWx0ZXI6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPFxyXG4gICAgICAgIE1CYXNlLFxyXG4gICAgICAgIE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxNQmFzZT5cclxuICAgICAgPiA9IGNvbHVtbk9wdGlvbi5iaW5kRmluZEZpbHRlcihmaWx0ZXJbZmllbGROYW1lXSlcclxuXHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgLi4udmFyaWFibGVzLFxyXG4gICAgICAgIC4uLk9iamVjdC5rZXlzKGJ1aWx0RmlsdGVyKS5yZWR1Y2UoXHJcbiAgICAgICAgICAodmFyaWFibGVzTGlzdDogVmFyaWFibGVPcHRpb25zLCBjb2x1bW5OYW1lOiBzdHJpbmcpID0+ICh7XHJcbiAgICAgICAgICAgIC4uLnZhcmlhYmxlc0xpc3QsXHJcbiAgICAgICAgICAgIFtjb2x1bW5OYW1lXTogQmluZEZpbHRlclF1ZXJ5SGVscGVyLkJ1aWxkV2hlcmVTZW50ZW5jZShcclxuICAgICAgICAgICAgICBmaWVsZE5hbWUgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXHJcbiAgICAgICAgICAgICAgYnVpbHRGaWx0ZXJbY29sdW1uTmFtZV0sXHJcbiAgICAgICAgICAgICAgZmllbGRzLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICB7fSxcclxuICAgICAgICApLFxyXG4gICAgICB9XHJcbiAgICB9LCB7fSlcclxuXHJcbiAgc3RhdGljIEJ1aWxkV2hlcmVTZW50ZW5jZSA9IDxNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZT4oXHJcbiAgICBmaWVsZDogTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXHJcbiAgICBvcHRpb25zOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNQmFzZSwgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPE1CYXNlPj4sXHJcbiAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxyXG4gICk6IFZhcmlhYmxlT3B0aW9ucyA9PiB7XHJcbiAgICBjb25zdCBmaWVsZFNlbnRlbmNlT3B0aW9ucyA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGU8TUJhc2U+KGZpZWxkLCBmaWVsZHMpXHJcblxyXG4gICAgaWYgKFxyXG4gICAgICAhQXJyYXkuaXNBcnJheShvcHRpb25zKSAmJlxyXG4gICAgICBpc09iamVjdChvcHRpb25zKSAmJlxyXG4gICAgICBpc05pbChvcHRpb25zPy5vcGVyYXRvcikgJiZcclxuICAgICAgaXNOaWwob3B0aW9ucz8udmFsdWUpICYmXHJcbiAgICAgIGlzTmlsKGZpZWxkU2VudGVuY2VPcHRpb25zPy50bylcclxuICAgIClcclxuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKG9wdGlvbnMpLnJlZHVjZSgodmFyaWFibGVzLCBrZXkpID0+IHtcclxuICAgICAgICBjb25zdCBmaWVsZE9wdGlvbnMgPSBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlPE1CYXNlPihcclxuICAgICAgICAgIGtleSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcclxuICAgICAgICAgIGZpZWxkU2VudGVuY2VPcHRpb25zPy5maWVsZHMgfHwgKGZpZWxkcyBhcyBhbnkpLFxyXG4gICAgICAgIClcclxuICAgICAgICBjb25zdCBjb2x1bW5OYW1lID0gZmllbGRPcHRpb25zLmNvbHVtbk5hbWVcclxuICAgICAgICBjb25zdCBjb2x1bW5GaWVsZHMgPSBmaWVsZE9wdGlvbnMuZmllbGRzXHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAuLi52YXJpYWJsZXMsXHJcbiAgICAgICAgICBbY29sdW1uTmFtZV06IEJpbmRGaWx0ZXJRdWVyeUhlbHBlci5CdWlsZFdoZXJlU2VudGVuY2U8TUJhc2U+KFxyXG4gICAgICAgICAgICBrZXkgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXHJcbiAgICAgICAgICAgIG9wdGlvbnNba2V5XSxcclxuICAgICAgICAgICAgY29sdW1uRmllbGRzIHx8IChbXSBhcyBhbnkpLFxyXG4gICAgICAgICAgKSxcclxuICAgICAgICB9XHJcbiAgICAgIH0sIHt9KVxyXG5cclxuICAgIGlmICghQXJyYXkuaXNBcnJheShvcHRpb25zKSAmJiAhaXNOaWwoZmllbGRTZW50ZW5jZU9wdGlvbnMuZmllbGRzKSlcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBbZmllbGRTZW50ZW5jZU9wdGlvbnMuZmllbGRzWzBdIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+XTpcclxuICAgICAgICAgIEJpbmRGaWx0ZXJRdWVyeUhlbHBlci5CdWlsZE9wZXJhdG9yU2VudGVuY2UoXHJcbiAgICAgICAgICAgIG9wdGlvbnMsXHJcbiAgICAgICAgICAgIGZpZWxkU2VudGVuY2VPcHRpb25zIGFzIENvbHVtbk9wdGlvbnM8TUJhc2VbTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT5dLCBNQmFzZT4sXHJcbiAgICAgICAgICApLFxyXG4gICAgICB9XHJcblxyXG4gICAgaWYgKGlzT2JqZWN0KG9wdGlvbnMpICYmICFGaWx0ZXJPcHRpb25IZWxwZXIuQ2hlY2tJZklzRmlsdGVyT3B0aW9uKG9wdGlvbnMpKVxyXG4gICAgICBvcHRpb25zID0gT2JqZWN0LnZhbHVlcyhvcHRpb25zKVswXSBhcyBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNQmFzZSwgYW55PlxyXG5cclxuICAgIHJldHVybiBBcnJheS5pc0FycmF5KG9wdGlvbnMpXHJcbiAgICAgID8gb3B0aW9ucy5yZWR1Y2UoXHJcbiAgICAgICAgICAod2hlcmVTZW50ZW5jZSwgb3B0aW9uKSA9PiAoe1xyXG4gICAgICAgICAgICAuLi53aGVyZVNlbnRlbmNlLFxyXG4gICAgICAgICAgICAuLi5CaW5kRmlsdGVyUXVlcnlIZWxwZXIuQnVpbGRPcGVyYXRvclNlbnRlbmNlKFxyXG4gICAgICAgICAgICAgIG9wdGlvbixcclxuICAgICAgICAgICAgICBmaWVsZFNlbnRlbmNlT3B0aW9ucyBhcyBDb2x1bW5PcHRpb25zPE1CYXNlW05vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+XSwgTUJhc2U+LFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICB7fSxcclxuICAgICAgICApXHJcbiAgICAgIDogQmluZEZpbHRlclF1ZXJ5SGVscGVyLkJ1aWxkT3BlcmF0b3JTZW50ZW5jZShcclxuICAgICAgICAgIG9wdGlvbnMsXHJcbiAgICAgICAgICBmaWVsZFNlbnRlbmNlT3B0aW9ucyBhcyBDb2x1bW5PcHRpb25zPE1CYXNlW05vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+XSwgTUJhc2U+LFxyXG4gICAgICAgIClcclxuICB9XHJcblxyXG4gIHN0YXRpYyBCdWlsZE9wZXJhdG9yU2VudGVuY2UgPSA8TUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+KFxyXG4gICAgb3B0aW9uczogUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnM8TUJhc2UsIGFueT4sXHJcbiAgICBmaWVsZE9wdGlvbjogQ29sdW1uT3B0aW9uczxhbnksIGFueT4sXHJcbiAgKTogVmFyaWFibGVPcHRpb25zID0+ICh7XHJcbiAgICBbQmluZEZpbHRlclF1ZXJ5SGVscGVyLkdldEhhc3VyYU9wZXJhdG9yKG9wdGlvbnMsIGZpZWxkT3B0aW9uKV06IEZpbHRlck9wdGlvbkhlbHBlci5HZXRWYWx1ZUZyb21GaWx0ZXIoXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGZpZWxkT3B0aW9uLFxyXG4gICAgKSxcclxuICB9KVxyXG5cclxuICBzdGF0aWMgR2V0SGFzdXJhT3BlcmF0b3IgPSA8TUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+KFxyXG4gICAgb3B0aW9uczogUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnM8TUJhc2UsIE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxNQmFzZT4+LFxyXG4gICAgZmllbGRPcHRpb246IENvbHVtbk9wdGlvbnM8YW55LCBhbnk+LFxyXG4gICk6IEhhc3VyYUdyYXBoUUxXaGVyZSA9PlxyXG4gICAgRmlsdGVyT3B0aW9uSGVscGVyLkNoZWNrSWZJc0ZpbHRlck9wdGlvbihvcHRpb25zKVxyXG4gICAgICA/IGZpZWxkT3B0aW9uLnR5cGUgPT09IEhhc3VyYUdyYXBoUUxDb2x1bW5UeXBlLkpzb25iXHJcbiAgICAgICAgPyBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuR2V0SGFzdXJhSnNvbmJPcGVyYXRvcihvcHRpb25zKVxyXG4gICAgICAgIDogSGFzdXJhR3JhcGhRTFdoZXJlW1xyXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhIYXN1cmFHcmFwaFFMV2hlcmUpLmZpbmQoXHJcbiAgICAgICAgICAgICAgKGdyYXBoUUxPcGVyYXRvcikgPT5cclxuICAgICAgICAgICAgICAgIGdyYXBoUUxPcGVyYXRvciA9PT0gT2JqZWN0LmtleXMoV2hlcmUpLmZpbmQoKG9wZXJhdG9yKSA9PiBXaGVyZVtvcGVyYXRvcl0gPT09IG9wdGlvbnM/Lm9wZXJhdG9yKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgXVxyXG4gICAgICA6IEhhc3VyYUdyYXBoUUxXaGVyZS5FUVVBTFNcclxuXHJcbiAgc3RhdGljIEdldEhhc3VyYUpzb25iT3BlcmF0b3IgPSA8TUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+KFxyXG4gICAgb3B0aW9uczogUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnM8TUJhc2UsIE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxNQmFzZT4+LFxyXG4gICk6IEhhc3VyYUdyYXBoUUxXaGVyZSA9PlxyXG4gICAgb3B0aW9ucy5vcGVyYXRvciA9PT0gV2hlcmUuSU5cclxuICAgICAgPyAnX2NvbnRhaW5zJ1xyXG4gICAgICA6IG9wdGlvbnMub3BlcmF0b3IgPT09IFdoZXJlLkxJS0VcclxuICAgICAgPyAnX2hhc19rZXlzX2FueSdcclxuICAgICAgOiBIYXN1cmFHcmFwaFFMV2hlcmVbXHJcbiAgICAgICAgICBPYmplY3Qua2V5cyhIYXN1cmFHcmFwaFFMV2hlcmUpLmZpbmQoXHJcbiAgICAgICAgICAgIChncmFwaFFMT3BlcmF0b3IpID0+XHJcbiAgICAgICAgICAgICAgZ3JhcGhRTE9wZXJhdG9yID09PSBPYmplY3Qua2V5cyhXaGVyZSkuZmluZCgob3BlcmF0b3IpID0+IFdoZXJlW29wZXJhdG9yXSA9PT0gb3B0aW9ucz8ub3BlcmF0b3IpLFxyXG4gICAgICAgICAgKVxyXG4gICAgICAgIF1cclxufVxyXG4iXX0=
@@ -0,0 +1,22 @@
1
+ import { Where } from '../../../../domain';
2
+ import { isNil } from '../../../../utils';
3
+ export class FilterOptionHelper {
4
+ }
5
+ FilterOptionHelper.CheckIfIsFilterOption = (filter) => !isNil(filter === null || filter === void 0 ? void 0 : 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW9wdGlvbi5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9maWx0ZXItb3B0aW9uLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFELEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQzdGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUd6QyxNQUFNLE9BQU8sa0JBQWtCOztBQUN0Qix3Q0FBcUIsR0FBRyxDQUM3QixNQUFXLEVBQzBDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsUUFBUSxDQUFDLENBQUE7QUFFM0UscUNBQWtCLEdBQUcsQ0FDMUIsTUFBaUQsRUFDakQsV0FBb0MsRUFDL0IsRUFBRTtJQUNQLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUM7UUFBRSxPQUFPLE1BQU0sQ0FBQTtJQUNwRSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLE1BQU07UUFBRSxPQUFPLElBQUksQ0FBQTtJQUNqRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLFNBQVM7UUFBRSxPQUFPLEtBQUssQ0FBQTtJQUVyRCxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsRUFBRTtRQUM5QixDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUU7UUFDaEIsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDUixNQUFNLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDdEYsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHO1lBQ2QsQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUVmLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDNUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBWSxDQUFDLENBQUE7QUFDcEMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWxCYXNlU3RydWN0dXJlLCBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9ucywgV2hlcmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXHJcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXHJcbmltcG9ydCB7IENvbHVtbk9wdGlvbnMgfSBmcm9tICcuLi8uLi90eXBlcydcclxuXHJcbmV4cG9ydCBjbGFzcyBGaWx0ZXJPcHRpb25IZWxwZXIge1xyXG4gIHN0YXRpYyBDaGVja0lmSXNGaWx0ZXJPcHRpb24gPSA8TW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+KFxyXG4gICAgZmlsdGVyOiBhbnksXHJcbiAgKTogZmlsdGVyIGlzIFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1vZGVsLCBhbnk+ID0+ICFpc05pbChmaWx0ZXI/Lm9wZXJhdG9yKVxyXG5cclxuICBzdGF0aWMgR2V0VmFsdWVGcm9tRmlsdGVyID0gPE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPihcclxuICAgIGZpbHRlcjogUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnM8TW9kZWwsIGFueT4sXHJcbiAgICBmaWVsZE9wdGlvbjogQ29sdW1uT3B0aW9uczxhbnksIGFueT4sXHJcbiAgKTogYW55ID0+IHtcclxuICAgIGlmICghRmlsdGVyT3B0aW9uSGVscGVyLkNoZWNrSWZJc0ZpbHRlck9wdGlvbihmaWx0ZXIpKSByZXR1cm4gZmlsdGVyXHJcbiAgICBpZiAoZmlsdGVyLm9wZXJhdG9yID09PSBXaGVyZS5JU05VTEwpIHJldHVybiB0cnVlXHJcbiAgICBpZiAoZmlsdGVyLm9wZXJhdG9yID09PSBXaGVyZS5JU05PVE5VTEwpIHJldHVybiBmYWxzZVxyXG5cclxuICAgIGNvbnN0IGNvbnZlcnRlciA9IGZpZWxkT3B0aW9uLnRvXHJcbiAgICAgID8gZmllbGRPcHRpb24udG9cclxuICAgICAgOiAodmFsdWUpID0+XHJcbiAgICAgICAgICBmaWx0ZXIub3BlcmF0b3IgPT09IFdoZXJlLkxJS0UgJiYgIUFycmF5LmlzQXJyYXkoZmlsdGVyLnZhbHVlKSAmJiB2YWx1ZS5pbmRleE9mKCclJykgPCAwXHJcbiAgICAgICAgICAgID8gYCUke3ZhbHVlfSVgXHJcbiAgICAgICAgICAgIDogdmFsdWVcclxuXHJcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShmaWx0ZXIudmFsdWUpICYmICFmaWVsZE9wdGlvbi5maWVsZHMgJiYgW1doZXJlLklOLCBXaGVyZS5OT1RJTl0uaW5jbHVkZXMoZmlsdGVyLm9wZXJhdG9yKVxyXG4gICAgICA/IGZpbHRlci52YWx1ZS5tYXAoKGZpZWxkVmFsdWUpID0+IGNvbnZlcnRlcihmaWVsZFZhbHVlKSlcclxuICAgICAgOiBjb252ZXJ0ZXIoZmlsdGVyLnZhbHVlIGFzIGFueSlcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,86 @@
1
+ import { BaseModel, } from '../../../../domain';
2
+ import { isDate, isEmpty, isNil, isObject, isString, parseDateTime } from '../../../../utils';
3
+ import { AttributeOptionHelper } from './attribute-option.helper';
4
+ import { BindFilterQueryHelper } from './bind-filter-query.helper';
5
+ export class GraphQLFieldHelper {
6
+ }
7
+ GraphQLFieldHelper.CheckIsGraphQLParams = (params) => !isString(params) && Array.isArray(params) && params.length >= 0 && !!params[0].operation;
8
+ GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields = (fields) => {
9
+ return fields === null || fields === void 0 ? void 0 : fields.map((field) => {
10
+ if (isString(field))
11
+ return field.toString();
12
+ const fieldName = Object.keys(field).shift();
13
+ const fieldValue = field[fieldName];
14
+ if (Array.isArray(fieldValue))
15
+ return { [fieldName]: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fieldValue) };
16
+ if (!AttributeOptionHelper.CheckIsColumnOption(fieldValue))
17
+ return;
18
+ if (fieldValue.fields)
19
+ return !fieldValue.filters
20
+ ? {
21
+ [fieldValue.columnName || fieldName]: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fieldValue.fields),
22
+ }
23
+ : {
24
+ operation: fieldValue.columnName || fieldName,
25
+ fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fieldValue.fields),
26
+ variables: {
27
+ [`${fieldValue.columnName}_where`]: {
28
+ name: 'where',
29
+ type: fieldValue.filters.filterType,
30
+ value: BindFilterQueryHelper.MakeGraphQLWhere(fieldValue.filters.filters, fieldValue.fields),
31
+ required: true,
32
+ },
33
+ },
34
+ };
35
+ return fieldValue.columnName;
36
+ }).filter((field) => !!field);
37
+ };
38
+ GraphQLFieldHelper.ConvertFieldValueFrom = (data, fields) => Object.keys(data).reduce((result, columnName) => {
39
+ const { attributeName, fields: attributeFields, from, } = AttributeOptionHelper.FindColumnOptionFromList(columnName, fields);
40
+ if (!!attributeFields && Array.isArray(attributeFields)) {
41
+ if (Array.isArray(data[columnName]))
42
+ return Object.assign(Object.assign({}, result), { [attributeName]: from
43
+ ? from(data[columnName], data)
44
+ : data[columnName].map((value) => GraphQLFieldHelper.ConvertFieldValueFrom(value, attributeFields)) });
45
+ if (isObject(data[columnName]))
46
+ return Object.assign(Object.assign({}, result), { [attributeName]: !!from
47
+ ? from(data[columnName])
48
+ : GraphQLFieldHelper.ConvertFieldValueFrom(data[columnName], attributeFields) });
49
+ }
50
+ if (!!from)
51
+ return Object.assign(Object.assign({}, result), { [attributeName]: from(data[columnName], data) });
52
+ return Object.assign(Object.assign({}, result), { [attributeName]: parseDateTime(data[columnName]) });
53
+ }, {});
54
+ GraphQLFieldHelper.ConvertFieldValueTo = (instance, fields, update = false) => {
55
+ var _a;
56
+ const data = ((_a = instance.toPlain) === null || _a === void 0 ? void 0 : _a.call(instance)) || instance;
57
+ return Object.keys(data).reduce((result, attributeName) => {
58
+ const { columnName, fields: attributeFields, foreignKeyColumn, to, bindPersistData, } = AttributeOptionHelper.FindByAttribute(attributeName, fields);
59
+ if (bindPersistData)
60
+ return Object.assign(Object.assign({}, result), bindPersistData(data[attributeName], instance));
61
+ if (isNil(columnName))
62
+ return result;
63
+ if (!!foreignKeyColumn &&
64
+ !isEmpty(foreignKeyColumn) &&
65
+ !Object.keys(foreignKeyColumn).filter((key) => { var _a; return !((_a = data[attributeName]) === null || _a === void 0 ? void 0 : _a[key]); }).length)
66
+ return Object.keys(foreignKeyColumn).reduce((object, current) => { var _a; return (Object.assign(Object.assign({}, object), { [foreignKeyColumn[current]]: (_a = data[attributeName]) === null || _a === void 0 ? void 0 : _a[current] })); }, Object.assign({}, result));
67
+ if (update && isObject(data[attributeName]) && !isNil(attributeFields) && !isDate(data[attributeName]))
68
+ return result;
69
+ if (!!columnName && Array.isArray(attributeFields) && isObject(data[attributeName])) {
70
+ const converted = !isNil(columnName) && to ? to(instance[attributeName], instance) : data[attributeName];
71
+ return Object.assign(Object.assign({}, result), (converted !== undefined
72
+ ? {
73
+ [columnName]: {
74
+ data: instance[attributeName] instanceof BaseModel
75
+ ? GraphQLFieldHelper.ConvertFieldValueTo(data[attributeName], attributeFields)
76
+ : converted,
77
+ },
78
+ }
79
+ : {}));
80
+ }
81
+ if (!!to)
82
+ return Object.assign(Object.assign({}, result), { [columnName]: to(instance[attributeName], instance) });
83
+ return Object.assign(Object.assign({}, result), { [columnName]: data[attributeName] });
84
+ }, {});
85
+ };
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1maWVsZC5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9ncmFwaHFsLWZpZWxkLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxHQUlWLE1BQU0sb0JBQW9CLENBQUE7QUFDM0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFHN0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFFbEUsTUFBTSxPQUFPLGtCQUFrQjs7QUFDdEIsdUNBQW9CLEdBQUcsQ0FDNUIsTUFBdUMsRUFDTCxFQUFFLENBQ3BDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7QUFFcEYsb0RBQWlDLEdBQUcsQ0FDekMsTUFBa0MsRUFDMUIsRUFBRTtJQUNWLE9BQU8sTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUNULEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2QsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUE7UUFFNUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUM1QyxNQUFNLFVBQVUs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QUUsQ0FBQyxFQUNSO1NBQ0Y7UUFFRCxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQUUsdUNBQVksTUFBTSxLQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBRTtRQUVuRix1Q0FBWSxNQUFNLEtBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUU7SUFDekQsQ0FBQyxFQUFFLEVBQWMsQ0FBQyxDQUFBO0FBQ3BCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQmFzZU1vZGVsLFxyXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcclxuICBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzLFxyXG4gIE5vbkZ1bmN0aW9uUHJvcGVydGllcyxcclxufSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXHJcbmltcG9ydCB7IGlzRGF0ZSwgaXNFbXB0eSwgaXNOaWwsIGlzT2JqZWN0LCBpc1N0cmluZywgcGFyc2VEYXRlVGltZSB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xyXG5pbXBvcnQgeyBGaWVsZHMsIEdyYXBoUUxQYXJhbXMsIEhhc3VyYUdyYXBoUUxGaWVsZHMgfSBmcm9tICcuLi8uLi90eXBlcydcclxuXHJcbmltcG9ydCB7IEF0dHJpYnV0ZU9wdGlvbkhlbHBlciB9IGZyb20gJy4vYXR0cmlidXRlLW9wdGlvbi5oZWxwZXInXHJcbmltcG9ydCB7IEJpbmRGaWx0ZXJRdWVyeUhlbHBlciB9IGZyb20gJy4vYmluZC1maWx0ZXItcXVlcnkuaGVscGVyJ1xyXG5cclxuZXhwb3J0IGNsYXNzIEdyYXBoUUxGaWVsZEhlbHBlciB7XHJcbiAgc3RhdGljIENoZWNrSXNHcmFwaFFMUGFyYW1zID0gPE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPihcclxuICAgIHBhcmFtczogc3RyaW5nIHwgR3JhcGhRTFBhcmFtczxNb2RlbD5bXSxcclxuICApOiBwYXJhbXMgaXMgR3JhcGhRTFBhcmFtczxNb2RlbD5bXSA9PlxyXG4gICAgIWlzU3RyaW5nKHBhcmFtcykgJiYgQXJyYXkuaXNBcnJheShwYXJhbXMpICYmIHBhcmFtcy5sZW5ndGggPj0gMCAmJiAhIXBhcmFtc1swXS5vcGVyYXRpb25cclxuXHJcbiAgc3RhdGljIENvbnZlcnRNb2RlbEZpZWxkc1RvR3JhcGhRTEZpZWxkcyA9IDxNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZT4oXHJcbiAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+LFxyXG4gICk6IEZpZWxkcyA9PiB7XHJcbiAgICByZXR1cm4gZmllbGRzXHJcbiAgICAgID8ubWFwKChmaWVsZCkgPT4ge1xyXG4gICAgICAgIGlmIChpc1N0cmluZyhmaWVsZCkpIHJldHVybiBmaWVsZC50b1N0cmluZygpXHJcblxyXG4gICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IE9iamVjdC5rZXlzKGZpZWxkKS5zaGlmdCgpXHJcbiAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IGZpZWxkW2ZpZWxkTmFtZV1cclxuXHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGRWYWx1ZSkpXHJcbiAgICAgICAgICByZXR1cm4geyBbZmllbGROYW1lXTogR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRNb2RlbEZpZWxkc1RvR3JhcGhRTEZpZWxkcyhmaWVsZFZhbHVlKSB9XHJcbiAgICAgICAgaWYgKCFBdHRyaWJ1dGVPcHRpb25IZWxwZXIuQ2hlY2tJc0NvbHVtbk9wdGlvbihmaWVsZFZhbHVlKSkgcmV0dXJuXHJcbiAgICAgICAgaWYgKGZpZWxkVmFsdWUuZmllbGRzKVxyXG4gICAgICAgICAgcmV0dXJuICFmaWVsZFZhbHVlLmZpbHRlcnNcclxuICAgICAgICAgICAgPyB7XHJcbiAgICAgICAgICAgICAgICBbZmllbGRWYWx1ZS5jb2x1bW5OYW1lIHx8IGZpZWxkTmFtZV06IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0TW9kZWxGaWVsZHNUb0dyYXBoUUxGaWVsZHMoXHJcbiAgICAgICAgICAgICAgICAgIGZpZWxkVmFsdWUuZmllbGRzLFxyXG4gICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDoge1xyXG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uOiBmaWVsZFZhbHVlLmNvbHVtbk5hbWUgfHwgZmllbGROYW1lLFxyXG4gICAgICAgICAgICAgICAgZmllbGRzOiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzKGZpZWxkVmFsdWUuZmllbGRzKSxcclxuICAgICAgICAgICAgICAgIHZhcmlhYmxlczoge1xyXG4gICAgICAgICAgICAgICAgICBbYCR7ZmllbGRWYWx1ZS5jb2x1bW5OYW1lfV93aGVyZWBdOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3doZXJlJyxcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBmaWVsZFZhbHVlLmZpbHRlcnMuZmlsdGVyVHlwZSxcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogQmluZEZpbHRlclF1ZXJ5SGVscGVyLk1ha2VHcmFwaFFMV2hlcmUoZmllbGRWYWx1ZS5maWx0ZXJzLmZpbHRlcnMsIGZpZWxkVmFsdWUuZmllbGRzKSxcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZmllbGRWYWx1ZS5jb2x1bW5OYW1lXHJcbiAgICAgIH0pXHJcbiAgICAgIC5maWx0ZXIoKGZpZWxkKSA9PiAhIWZpZWxkKVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIENvbnZlcnRGaWVsZFZhbHVlRnJvbSA9IDxcclxuICAgIE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLFxyXG4gICAgRGF0YVR5cGUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBEYXRhVHlwZSB8IERhdGU+LFxyXG4gID4oXHJcbiAgICBkYXRhOiBzdHJpbmcgfCBudW1iZXIgfCBEYXRhVHlwZSB8IERhdGUsXHJcbiAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+LFxyXG4gICk6IFBhcnRpYWw8Tm9uRnVuY3Rpb25Qcm9wZXJ0aWVzPE1vZGVsPj4gPT5cclxuICAgIE9iamVjdC5rZXlzKGRhdGEpLnJlZHVjZSgocmVzdWx0LCBjb2x1bW5OYW1lKSA9PiB7XHJcbiAgICAgIGNvbnN0IHtcclxuICAgICAgICBhdHRyaWJ1dGVOYW1lLFxyXG4gICAgICAgIGZpZWxkczogYXR0cmlidXRlRmllbGRzLFxyXG4gICAgICAgIGZyb20sXHJcbiAgICAgIH0gPSBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZENvbHVtbk9wdGlvbkZyb21MaXN0KGNvbHVtbk5hbWUsIGZpZWxkcylcclxuXHJcbiAgICAgIGlmICghIWF0dHJpYnV0ZUZpZWxkcyAmJiBBcnJheS5pc0FycmF5KGF0dHJpYnV0ZUZpZWxkcykpIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhW2NvbHVtbk5hbWVdKSlcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnJlc3VsdCxcclxuICAgICAgICAgICAgW2F0dHJpYnV0ZU5hbWVdOiBmcm9tXHJcbiAgICAgICAgICAgICAgPyBmcm9tKGRhdGFbY29sdW1uTmFtZV0sIGRhdGEpXHJcbiAgICAgICAgICAgICAgOiBkYXRhW2NvbHVtbk5hbWVdLm1hcCgodmFsdWUpID0+IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0RmllbGRWYWx1ZUZyb20odmFsdWUsIGF0dHJpYnV0ZUZpZWxkcykpLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIGlmIChpc09iamVjdChkYXRhW2NvbHVtbk5hbWVdKSlcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnJlc3VsdCxcclxuICAgICAgICAgICAgW2F0dHJpYnV0ZU5hbWVdOiAhIWZyb21cclxuICAgICAgICAgICAgICA/IGZyb20oZGF0YVtjb2x1bW5OYW1lXSlcclxuICAgICAgICAgICAgICA6IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0RmllbGRWYWx1ZUZyb20oZGF0YVtjb2x1bW5OYW1lXSwgYXR0cmlidXRlRmllbGRzKSxcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCEhZnJvbSkgcmV0dXJuIHsgLi4ucmVzdWx0LCBbYXR0cmlidXRlTmFtZV06IGZyb20oZGF0YVtjb2x1bW5OYW1lXSwgZGF0YSkgfVxyXG5cclxuICAgICAgcmV0dXJuIHsgLi4ucmVzdWx0LCBbYXR0cmlidXRlTmFtZV06IHBhcnNlRGF0ZVRpbWUoZGF0YVtjb2x1bW5OYW1lXSkgfVxyXG4gICAgfSwge30pXHJcblxyXG4gIHN0YXRpYyBDb252ZXJ0RmllbGRWYWx1ZVRvID0gPFxyXG4gICAgTW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsXHJcbiAgICBEYXRhVHlwZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IERhdGFUeXBlIHwgRGF0ZT4sXHJcbiAgPihcclxuICAgIGluc3RhbmNlOiBNb2RlbCxcclxuICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbD4sXHJcbiAgICB1cGRhdGUgPSBmYWxzZSxcclxuICApOiBEYXRhVHlwZSA9PiB7XHJcbiAgICBjb25zdCBkYXRhOiBQYXJ0aWFsPE1vZGVsQmFzZVN0cnVjdHVyZT4gPSBpbnN0YW5jZS50b1BsYWluPy4oKSB8fCBpbnN0YW5jZVxyXG5cclxuICAgIHJldHVybiBPYmplY3Qua2V5cyhkYXRhKS5yZWR1Y2UoKHJlc3VsdCwgYXR0cmlidXRlTmFtZSkgPT4ge1xyXG4gICAgICBjb25zdCB7XHJcbiAgICAgICAgY29sdW1uTmFtZSxcclxuICAgICAgICBmaWVsZHM6IGF0dHJpYnV0ZUZpZWxkcyxcclxuICAgICAgICBmb3JlaWduS2V5Q29sdW1uLFxyXG4gICAgICAgIHRvLFxyXG4gICAgICAgIGJpbmRQZXJzaXN0RGF0YSxcclxuICAgICAgfSA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1vZGVsPiwgZmllbGRzKVxyXG5cclxuICAgICAgaWYgKGJpbmRQZXJzaXN0RGF0YSkgcmV0dXJuIHsgLi4ucmVzdWx0LCAuLi5iaW5kUGVyc2lzdERhdGEoZGF0YVthdHRyaWJ1dGVOYW1lXSwgaW5zdGFuY2UpIH1cclxuICAgICAgaWYgKGlzTmlsKGNvbHVtbk5hbWUpKSByZXR1cm4gcmVzdWx0XHJcbiAgICAgIGlmIChcclxuICAgICAgICAhIWZvcmVpZ25LZXlDb2x1bW4gJiZcclxuICAgICAgICAhaXNFbXB0eShmb3JlaWduS2V5Q29sdW1uKSAmJlxyXG4gICAgICAgICFPYmplY3Qua2V5cyhmb3JlaWduS2V5Q29sdW1uKS5maWx0ZXIoKGtleSkgPT4gIWRhdGFbYXR0cmlidXRlTmFtZV0/LltrZXldKS5sZW5ndGhcclxuICAgICAgKVxyXG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhmb3JlaWduS2V5Q29sdW1uKS5yZWR1Y2UoXHJcbiAgICAgICAgICAob2JqZWN0LCBjdXJyZW50KSA9PiAoeyAuLi5vYmplY3QsIFtmb3JlaWduS2V5Q29sdW1uW2N1cnJlbnRdXTogZGF0YVthdHRyaWJ1dGVOYW1lXT8uW2N1cnJlbnRdIH0pLFxyXG4gICAgICAgICAgeyAuLi5yZXN1bHQgfSxcclxuICAgICAgICApXHJcblxyXG4gICAgICBpZiAodXBkYXRlICYmIGlzT2JqZWN0KGRhdGFbYXR0cmlidXRlTmFtZV0pICYmICFpc05pbChhdHRyaWJ1dGVGaWVsZHMpICYmICFpc0RhdGUoZGF0YVthdHRyaWJ1dGVOYW1lXSkpXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdFxyXG5cclxuICAgICAgaWYgKCEhY29sdW1uTmFtZSAmJiBBcnJheS5pc0FycmF5KGF0dHJpYnV0ZUZpZWxkcykgJiYgaXNPYmplY3QoZGF0YVthdHRyaWJ1dGVOYW1lXSkpIHtcclxuICAgICAgICBjb25zdCBjb252ZXJ0ZWQgPSAhaXNOaWwoY29sdW1uTmFtZSkgJiYgdG8gPyB0byhpbnN0YW5jZVthdHRyaWJ1dGVOYW1lXSwgaW5zdGFuY2UpIDogZGF0YVthdHRyaWJ1dGVOYW1lXVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgLi4ucmVzdWx0LFxyXG4gICAgICAgICAgLi4uKGNvbnZlcnRlZCAhPT0gdW5kZWZpbmVkXHJcbiAgICAgICAgICAgID8ge1xyXG4gICAgICAgICAgICAgICAgW2NvbHVtbk5hbWVdOiB7XHJcbiAgICAgICAgICAgICAgICAgIGRhdGE6XHJcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2VbYXR0cmlidXRlTmFtZV0gaW5zdGFuY2VvZiBCYXNlTW9kZWxcclxuICAgICAgICAgICAgICAgICAgICAgID8gR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRGaWVsZFZhbHVlVG8oZGF0YVthdHRyaWJ1dGVOYW1lXSwgYXR0cmlidXRlRmllbGRzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgOiBjb252ZXJ0ZWQsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgOiB7fSksXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoISF0bykgcmV0dXJuIHsgLi4ucmVzdWx0LCBbY29sdW1uTmFtZV06IHRvKGluc3RhbmNlW2F0dHJpYnV0ZU5hbWVdLCBpbnN0YW5jZSkgfVxyXG5cclxuICAgICAgcmV0dXJuIHsgLi4ucmVzdWx0LCBbY29sdW1uTmFtZV06IGRhdGFbYXR0cmlidXRlTmFtZV0gfVxyXG4gICAgfSwge30gYXMgRGF0YVR5cGUpXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
- export * from './attribute-option.helper';
2
- export * from './bind-filter-query.helper';
3
- export * from './filter-option.helper';
4
- export * from './graphql-field.helper';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLHdCQUF3QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdHRyaWJ1dGUtb3B0aW9uLmhlbHBlcidcbmV4cG9ydCAqIGZyb20gJy4vYmluZC1maWx0ZXItcXVlcnkuaGVscGVyJ1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItb3B0aW9uLmhlbHBlcidcbmV4cG9ydCAqIGZyb20gJy4vZ3JhcGhxbC1maWVsZC5oZWxwZXInXG4iXX0=
1
+ export * from './attribute-option.helper';
2
+ export * from './bind-filter-query.helper';
3
+ export * from './filter-option.helper';
4
+ export * from './graphql-field.helper';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLHdCQUF3QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdHRyaWJ1dGUtb3B0aW9uLmhlbHBlcidcclxuZXhwb3J0ICogZnJvbSAnLi9iaW5kLWZpbHRlci1xdWVyeS5oZWxwZXInXHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLW9wdGlvbi5oZWxwZXInXHJcbmV4cG9ydCAqIGZyb20gJy4vZ3JhcGhxbC1maWVsZC5oZWxwZXInXHJcbiJdfQ==
@@ -1,8 +1,8 @@
1
- export * from './with-create-hasura-graphql.mixin';
2
- export * from './with-delete-hasura-graphql.mixin';
3
- export * from './with-hasura-graphql.mixin';
4
- export * from './with-update-hasura-graphql.mixin';
5
- export * from './with-get-hasura-graphql.mixin';
6
- export * from './with-find-hasura-graphql.mixin';
7
- export * from './with-crud-hasura-graphql.mixin';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLG9DQUFvQyxDQUFBO0FBQ2xELGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vd2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4nXG5leHBvcnQgKiBmcm9tICcuL3dpdGgtZGVsZXRlLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuZXhwb3J0ICogZnJvbSAnLi93aXRoLXVwZGF0ZS1oYXN1cmEtZ3JhcGhxbC5taXhpbidcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1nZXQtaGFzdXJhLWdyYXBocWwubWl4aW4nXG5leHBvcnQgKiBmcm9tICcuL3dpdGgtZmluZC1oYXN1cmEtZ3JhcGhxbC5taXhpbidcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1jcnVkLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xuIl19
1
+ export * from './with-create-hasura-graphql.mixin';
2
+ export * from './with-delete-hasura-graphql.mixin';
3
+ export * from './with-hasura-graphql.mixin';
4
+ export * from './with-update-hasura-graphql.mixin';
5
+ export * from './with-get-hasura-graphql.mixin';
6
+ export * from './with-find-hasura-graphql.mixin';
7
+ export * from './with-crud-hasura-graphql.mixin';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLG9DQUFvQyxDQUFBO0FBQ2xELGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vd2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4nXHJcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1kZWxldGUtaGFzdXJhLWdyYXBocWwubWl4aW4nXHJcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1oYXN1cmEtZ3JhcGhxbC5taXhpbidcclxuZXhwb3J0ICogZnJvbSAnLi93aXRoLXVwZGF0ZS1oYXN1cmEtZ3JhcGhxbC5taXhpbidcclxuZXhwb3J0ICogZnJvbSAnLi93aXRoLWdldC1oYXN1cmEtZ3JhcGhxbC5taXhpbidcclxuZXhwb3J0ICogZnJvbSAnLi93aXRoLWZpbmQtaGFzdXJhLWdyYXBocWwubWl4aW4nXHJcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1jcnVkLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xyXG4iXX0=
@@ -0,0 +1,45 @@
1
+ import { __awaiter } from "tslib";
2
+ import { AttributeOptionHelper } from './helpers';
3
+ export const withCreateHasuraGraphQL = (MixinBase) => {
4
+ return class CreateHasuraGraphQLMixin extends MixinBase {
5
+ constructor(...params) {
6
+ const options = params === null || params === void 0 ? void 0 : params[0];
7
+ super(...params);
8
+ this.insertGraphQLOperation = (options === null || options === void 0 ? void 0 : options.insertGraphQLOperation) || `insert_${this.tableName}_one`;
9
+ this.insertGraphQLObjectType = (options === null || options === void 0 ? void 0 : options.insertGraphQLObjectType) || `${this.tableName}_insert_input`;
10
+ }
11
+ create(data) {
12
+ return __awaiter(this, void 0, void 0, function* () {
13
+ const newData = yield this.save(this.model.toInstance(data));
14
+ return this.model.toInstance(newData);
15
+ });
16
+ }
17
+ save(data) {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ const primaryKeyColumns = this.model.identifiersFields.map((field) => AttributeOptionHelper.FindByAttribute(field, this.fields).columnName);
20
+ const foreignKeyColumns = this.fields
21
+ .map((field) => {
22
+ const columnOptions = Object.values(field).shift();
23
+ return (AttributeOptionHelper.CheckIsColumnOption(columnOptions) &&
24
+ columnOptions.foreignKeyColumn && [
25
+ ...Object.values(columnOptions.foreignKeyColumn),
26
+ {
27
+ [columnOptions.columnName]: Object.keys(columnOptions.foreignKeyColumn).map((foreignKeyField) => {
28
+ var _a;
29
+ return ((_a = AttributeOptionHelper.FindByAttribute(foreignKeyField, columnOptions === null || columnOptions === void 0 ? void 0 : columnOptions.fields)) === null || _a === void 0 ? void 0 : _a.columnName) ||
30
+ foreignKeyField;
31
+ }),
32
+ },
33
+ ]);
34
+ })
35
+ .filter(Boolean)
36
+ .reduce((keys, current) => [...keys, ...current], []);
37
+ const result = yield this.mutation(this.insertGraphQLOperation, [...primaryKeyColumns, ...foreignKeyColumns], {
38
+ object: { type: this.insertGraphQLObjectType, required: true, value: this.convertDataToHasura(data) },
39
+ });
40
+ return Object.assign(Object.assign({}, data.toPlain()), this.convertDataFromHasura(result[this.insertGraphQLOperation]).toPlain());
41
+ });
42
+ }
43
+ };
44
+ };
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUlBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQU9qRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUlyQyxTQUEyRCxFQUkzRCxFQUFFO0lBQ0YsT0FBTyxNQUFNLHdCQUF5QixTQUFRLFNBQVM7UUFJckQsWUFBWSxHQUFHLE1BQU07WUFDbkIsTUFBTSxPQUFPLEdBQTRCLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRyxDQUFDLENBQUMsQ0FBQTtZQUVwRCxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQTtZQUVoQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsc0JBQXNCLEtBQUksVUFBVSxJQUFJLENBQUMsU0FBUyxNQUFNLENBQUE7WUFDL0YsSUFBSSxDQUFDLHVCQUF1QixHQUFHLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLHVCQUF1QixLQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsZUFBZSxDQUFBO1FBQ3JHLENBQUM7UUFFSyxNQUFNLENBQUMsSUFBbUM7O2dCQUM5QyxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBVyxDQUFDLENBQUMsQ0FBQTtnQkFFbkUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUN2QyxDQUFDO1NBQUE7UUFFSyxJQUFJLENBQUMsSUFBVzs7Z0JBQ3BCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQ3hELENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQ2xELENBQUE7Z0JBQy9CLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLE1BQU07cUJBQ2xDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUNiLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUE7b0JBRWxELE9BQU8sQ0FDTCxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUM7d0JBQ3hELGFBQWEsQ0FBQyxnQkFBZ0IsSUFBSTt3QkFDaEMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQzt3QkFDaEQ7NEJBQ0UsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLENBQ3pFLENBQUMsZUFBZSxFQUFFLEVBQUU7O2dDQUNsQixPQUFBLENBQUEsTUFBQSxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsZUFBc0IsRUFBRSxhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUUsTUFBTSxDQUFDLDBDQUFFLFVBQVU7b0NBQ2hHLGVBQWUsQ0FBQTs2QkFBQSxDQUNsQjt5QkFDRjtxQkFDRixDQUNGLENBQUE7Z0JBQ0gsQ0FBQyxDQUFDO3FCQUNELE1BQU0sQ0FBQyxPQUFPLENBQUM7cUJBQ2YsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO2dCQUV2RCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQ2hDLElBQUksQ0FBQyxzQkFBc0IsRUFDM0IsQ0FBQyxHQUFHLGlCQUFpQixFQUFFLEdBQUcsaUJBQWlCLENBQStCLEVBQzFFO29CQUNFLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFO2lCQUN0RyxDQUNGLENBQUE7Z0JBRUQsdUNBQVksSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFLLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM1RyxDQUFDO1NBQUE7S0FDSyxDQUFBO0FBQ1YsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3JlYXRlUmVwb3NpdG9yeSwgQ3JlYXRlUmVwb3NpdG9yeVBhcmFtcywgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xyXG5pbXBvcnQgeyBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zLCBNaXhpbkN0b3IgfSBmcm9tICcuLi8uLi8uLi91dGlscydcclxuaW1wb3J0IHsgR3JhcGhRTFJlcG9zaXRvcnksIEhhc3VyYUdyYXBoUUxGaWVsZHMgfSBmcm9tICcuLi90eXBlcydcclxuXHJcbmltcG9ydCB7IEF0dHJpYnV0ZU9wdGlvbkhlbHBlciB9IGZyb20gJy4vaGVscGVycydcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUNvbnN0cnVjdG9yUGFyYW1zID0ge1xyXG4gIGluc2VydEdyYXBoUUxPcGVyYXRpb24/OiBzdHJpbmdcclxuICBpbnNlcnRHcmFwaFFMT2JqZWN0VHlwZT86IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgY29uc3Qgd2l0aENyZWF0ZUhhc3VyYUdyYXBoUUwgPSA8XHJcbiAgTUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsXHJcbiAgVE1peGluQmFzZSBleHRlbmRzIE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4+LFxyXG4+KFxyXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4gJiBUTWl4aW5CYXNlLFxyXG4pOiBNaXhpbkN0b3I8XHJcbiAgR3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+ICYgSW5zdGFuY2VUeXBlPFRNaXhpbkJhc2U+ICYgQ3JlYXRlUmVwb3NpdG9yeTxNQmFzZT4sXHJcbiAgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtczxDcmVhdGVDb25zdHJ1Y3RvclBhcmFtcywgQ29uc3RydWN0b3JQYXJhbWV0ZXJzPFRNaXhpbkJhc2U+PlxyXG4+ID0+IHtcclxuICByZXR1cm4gY2xhc3MgQ3JlYXRlSGFzdXJhR3JhcGhRTE1peGluIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgQ3JlYXRlUmVwb3NpdG9yeTxNQmFzZT4ge1xyXG4gICAgaW5zZXJ0R3JhcGhRTE9wZXJhdGlvbjogc3RyaW5nXHJcbiAgICBpbnNlcnRHcmFwaFFMT2JqZWN0VHlwZTogc3RyaW5nXHJcblxyXG4gICAgY29uc3RydWN0b3IoLi4ucGFyYW1zKSB7XHJcbiAgICAgIGNvbnN0IG9wdGlvbnM6IENyZWF0ZUNvbnN0cnVjdG9yUGFyYW1zID0gcGFyYW1zPy5bMF1cclxuXHJcbiAgICAgIHN1cGVyKC4uLnBhcmFtcylcclxuXHJcbiAgICAgIHRoaXMuaW5zZXJ0R3JhcGhRTE9wZXJhdGlvbiA9IG9wdGlvbnM/Lmluc2VydEdyYXBoUUxPcGVyYXRpb24gfHwgYGluc2VydF8ke3RoaXMudGFibGVOYW1lfV9vbmVgXHJcbiAgICAgIHRoaXMuaW5zZXJ0R3JhcGhRTE9iamVjdFR5cGUgPSBvcHRpb25zPy5pbnNlcnRHcmFwaFFMT2JqZWN0VHlwZSB8fCBgJHt0aGlzLnRhYmxlTmFtZX1faW5zZXJ0X2lucHV0YFxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGNyZWF0ZShkYXRhOiBDcmVhdGVSZXBvc2l0b3J5UGFyYW1zPE1CYXNlPik6IFByb21pc2U8TUJhc2U+IHtcclxuICAgICAgY29uc3QgbmV3RGF0YSA9IGF3YWl0IHRoaXMuc2F2ZSh0aGlzLm1vZGVsLnRvSW5zdGFuY2UoZGF0YSBhcyBhbnkpKVxyXG5cclxuICAgICAgcmV0dXJuIHRoaXMubW9kZWwudG9JbnN0YW5jZShuZXdEYXRhKVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNhdmUoZGF0YTogTUJhc2UpOiBQcm9taXNlPFBhcnRpYWw8TUJhc2U+PiB7XHJcbiAgICAgIGNvbnN0IHByaW1hcnlLZXlDb2x1bW5zID0gdGhpcy5tb2RlbC5pZGVudGlmaWVyc0ZpZWxkcy5tYXAoXHJcbiAgICAgICAgKGZpZWxkKSA9PiBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKGZpZWxkLCB0aGlzLmZpZWxkcykuY29sdW1uTmFtZSxcclxuICAgICAgKSBhcyBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPlxyXG4gICAgICBjb25zdCBmb3JlaWduS2V5Q29sdW1ucyA9IHRoaXMuZmllbGRzXHJcbiAgICAgICAgLm1hcCgoZmllbGQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGNvbHVtbk9wdGlvbnMgPSBPYmplY3QudmFsdWVzKGZpZWxkKS5zaGlmdCgpXHJcblxyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgQXR0cmlidXRlT3B0aW9uSGVscGVyLkNoZWNrSXNDb2x1bW5PcHRpb24oY29sdW1uT3B0aW9ucykgJiZcclxuICAgICAgICAgICAgY29sdW1uT3B0aW9ucy5mb3JlaWduS2V5Q29sdW1uICYmIFtcclxuICAgICAgICAgICAgICAuLi5PYmplY3QudmFsdWVzKGNvbHVtbk9wdGlvbnMuZm9yZWlnbktleUNvbHVtbiksXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgW2NvbHVtbk9wdGlvbnMuY29sdW1uTmFtZV06IE9iamVjdC5rZXlzKGNvbHVtbk9wdGlvbnMuZm9yZWlnbktleUNvbHVtbikubWFwKFxyXG4gICAgICAgICAgICAgICAgICAoZm9yZWlnbktleUZpZWxkKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoZm9yZWlnbktleUZpZWxkIGFzIGFueSwgY29sdW1uT3B0aW9ucz8uZmllbGRzKT8uY29sdW1uTmFtZSB8fFxyXG4gICAgICAgICAgICAgICAgICAgIGZvcmVpZ25LZXlGaWVsZCxcclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgXVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmZpbHRlcihCb29sZWFuKVxyXG4gICAgICAgIC5yZWR1Y2UoKGtleXMsIGN1cnJlbnQpID0+IFsuLi5rZXlzLCAuLi5jdXJyZW50XSwgW10pXHJcblxyXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLm11dGF0aW9uPE1CYXNlPihcclxuICAgICAgICB0aGlzLmluc2VydEdyYXBoUUxPcGVyYXRpb24sXHJcbiAgICAgICAgWy4uLnByaW1hcnlLZXlDb2x1bW5zLCAuLi5mb3JlaWduS2V5Q29sdW1uc10gYXMgSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgb2JqZWN0OiB7IHR5cGU6IHRoaXMuaW5zZXJ0R3JhcGhRTE9iamVjdFR5cGUsIHJlcXVpcmVkOiB0cnVlLCB2YWx1ZTogdGhpcy5jb252ZXJ0RGF0YVRvSGFzdXJhKGRhdGEpIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgKVxyXG5cclxuICAgICAgcmV0dXJuIHsgLi4uZGF0YS50b1BsYWluKCksIC4uLnRoaXMuY29udmVydERhdGFGcm9tSGFzdXJhKHJlc3VsdFt0aGlzLmluc2VydEdyYXBoUUxPcGVyYXRpb25dKS50b1BsYWluKCkgfVxyXG4gICAgfVxyXG4gIH0gYXMgYW55XHJcbn1cclxuIl19
@@ -0,0 +1,10 @@
1
+ import { withCreateHasuraGraphQL } from './with-create-hasura-graphql.mixin';
2
+ import { withDeleteHasuraGraphQL } from './with-delete-hasura-graphql.mixin';
3
+ import { withGetHasuraGraphQL } from './with-get-hasura-graphql.mixin';
4
+ import { withUpdateHasuraGraphQL, } from './with-update-hasura-graphql.mixin';
5
+ import { withFindHasuraGraphQL } from './with-find-hasura-graphql.mixin';
6
+ export const withCrudHasuraGraphQL = (MixinBase) => {
7
+ return class CrudHasuraGraphQLMixin extends withUpdateHasuraGraphQL(withGetHasuraGraphQL(withFindHasuraGraphQL(withDeleteHasuraGraphQL(withCreateHasuraGraphQL(MixinBase))))) {
8
+ };
9
+ };
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jcnVkLWhhc3VyYS1ncmFwaHFsLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL3dpdGgtY3J1ZC1oYXN1cmEtZ3JhcGhxbC5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQTJCLHVCQUF1QixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFFckcsT0FBTyxFQUEyQix1QkFBdUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ3JHLE9BQU8sRUFBd0Isb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUM1RixPQUFPLEVBR0wsdUJBQXVCLEdBQ3hCLE1BQU0sb0NBQW9DLENBQUE7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFFeEUsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FLbkMsU0FBMkQsRUFXM0QsRUFBRTtJQUNGLE9BQU8sTUFBTSxzQkFDWCxTQUFRLHVCQUF1QixDQUM3QixvQkFBb0IsQ0FDbEIscUJBQXFCLENBQ25CLHVCQUF1QixDQUFDLHVCQUF1QixDQUFDLFNBQWdELENBQUMsQ0FBQyxDQUNuRyxDQUNGLENBQ0Y7S0FDeUMsQ0FBQTtBQUM5QyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbEJhc2VTdHJ1Y3R1cmUsIENydWRSZXBvc2l0b3J5IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xyXG5pbXBvcnQgeyBHcmFwaFFMUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xyXG5pbXBvcnQgeyBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zLCBNaXhpbkN0b3IgfSBmcm9tICcuLi8uLi8uLi91dGlscydcclxuXHJcbmltcG9ydCB7IENyZWF0ZUNvbnN0cnVjdG9yUGFyYW1zLCB3aXRoQ3JlYXRlSGFzdXJhR3JhcGhRTCB9IGZyb20gJy4vd2l0aC1jcmVhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4nXHJcbmltcG9ydCB7IENvbnN0cnVjdG9yUGFyYW1zIH0gZnJvbSAnLi93aXRoLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xyXG5pbXBvcnQgeyBEZWxldGVDb25zdHJ1Y3RvclBhcmFtcywgd2l0aERlbGV0ZUhhc3VyYUdyYXBoUUwgfSBmcm9tICcuL3dpdGgtZGVsZXRlLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xyXG5pbXBvcnQgeyBHZXRDb25zdHJ1Y3RvclBhcmFtcywgd2l0aEdldEhhc3VyYUdyYXBoUUwgfSBmcm9tICcuL3dpdGgtZ2V0LWhhc3VyYS1ncmFwaHFsLm1peGluJ1xyXG5pbXBvcnQge1xyXG4gIFVwZGF0ZUNvbnN0cnVjdG9yUGFyYW1zLFxyXG4gIFVwZGF0ZUhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5VHlwZSxcclxuICB3aXRoVXBkYXRlSGFzdXJhR3JhcGhRTCxcclxufSBmcm9tICcuL3dpdGgtdXBkYXRlLWhhc3VyYS1ncmFwaHFsLm1peGluJ1xyXG5pbXBvcnQgeyB3aXRoRmluZEhhc3VyYUdyYXBoUUwgfSBmcm9tICcuL3dpdGgtZmluZC1oYXN1cmEtZ3JhcGhxbC5taXhpbidcclxuXHJcbmV4cG9ydCBjb25zdCB3aXRoQ3J1ZEhhc3VyYUdyYXBoUUwgPSA8XHJcbiAgVEJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsXHJcbiAgUmVwb3NpdG9yeSA9IENydWRSZXBvc2l0b3J5PFRCYXNlPixcclxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yID0gTWl4aW5DdG9yLFxyXG4+KFxyXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PFRCYXNlPj4gJiBUTWl4aW5CYXNlLFxyXG4pOiBNaXhpbkN0b3I8XHJcbiAgR3JhcGhRTFJlcG9zaXRvcnk8VEJhc2U+ICYgUmVwb3NpdG9yeSAmIFVwZGF0ZUhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5VHlwZTxUQmFzZT4sXHJcbiAgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtczxcclxuICAgIENvbnN0cnVjdG9yUGFyYW1zPFRCYXNlPiAmXHJcbiAgICAgIENyZWF0ZUNvbnN0cnVjdG9yUGFyYW1zICZcclxuICAgICAgRGVsZXRlQ29uc3RydWN0b3JQYXJhbXMgJlxyXG4gICAgICBHZXRDb25zdHJ1Y3RvclBhcmFtcyAmXHJcbiAgICAgIFVwZGF0ZUNvbnN0cnVjdG9yUGFyYW1zLFxyXG4gICAgQ29uc3RydWN0b3JQYXJhbWV0ZXJzPFRNaXhpbkJhc2U+XHJcbiAgPlxyXG4+ID0+IHtcclxuICByZXR1cm4gY2xhc3MgQ3J1ZEhhc3VyYUdyYXBoUUxNaXhpblxyXG4gICAgZXh0ZW5kcyB3aXRoVXBkYXRlSGFzdXJhR3JhcGhRTChcclxuICAgICAgd2l0aEdldEhhc3VyYUdyYXBoUUwoXHJcbiAgICAgICAgd2l0aEZpbmRIYXN1cmFHcmFwaFFMKFxyXG4gICAgICAgICAgd2l0aERlbGV0ZUhhc3VyYUdyYXBoUUwod2l0aENyZWF0ZUhhc3VyYUdyYXBoUUwoTWl4aW5CYXNlIGFzIE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxUQmFzZT4+KSksXHJcbiAgICAgICAgKSxcclxuICAgICAgKSxcclxuICAgIClcclxuICAgIGltcGxlbWVudHMgQ3J1ZFJlcG9zaXRvcnk8VEJhc2U+IHt9IGFzIGFueVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { __awaiter } from "tslib";
2
+ import { isNil } from '../../../utils';
3
+ import { AttributeOptionHelper } from './helpers';
4
+ export const withDeleteHasuraGraphQL = (MixinBase) => {
5
+ return class DeleteHasuraGraphQLMixin extends MixinBase {
6
+ constructor(...params) {
7
+ const options = params === null || params === void 0 ? void 0 : params[0];
8
+ super(...params);
9
+ this.deleteGraphQLOperation = (options === null || options === void 0 ? void 0 : options.deleteGraphQLOperation) || `delete_${this.tableName}_by_pk`;
10
+ }
11
+ delete(identifiers) {
12
+ return __awaiter(this, void 0, void 0, function* () {
13
+ const instance = this.model.toInstance(identifiers);
14
+ yield this.mutation(this.deleteGraphQLOperation, this.model.identifiersFields.map((field) => AttributeOptionHelper.FindByAttribute(field, this.fields).columnName), this.model.identifiersFields.reduce((ids, identifier) => {
15
+ if (isNil(instance[identifier]))
16
+ return ids;
17
+ const columnOption = AttributeOptionHelper.FindByAttribute(identifier, this.fields);
18
+ const value = columnOption.to(identifiers[identifier.toString()], instance);
19
+ return Object.assign(Object.assign({}, ids), { [columnOption.columnName]: {
20
+ type: this.getAttributeGraphQLTypeOf(columnOption.type || value),
21
+ value,
22
+ required: true,
23
+ } });
24
+ }, {}));
25
+ });
26
+ }
27
+ };
28
+ };
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kZWxldGUtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC1kZWxldGUtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxLQUFLLEVBQXFDLE1BQU0sZ0JBQWdCLENBQUE7QUFFekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBTWpELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBSXJDLFNBQTJELEVBSTNELEVBQUU7SUFDRixPQUFPLE1BQU0sd0JBQXlCLFNBQVEsU0FBUztRQUdyRCxZQUFZLEdBQUcsTUFBYTtZQUMxQixNQUFNLE9BQU8sR0FBNEIsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFHLENBQUMsQ0FBQyxDQUFBO1lBRXBELEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFBO1lBRWhCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxzQkFBc0IsS0FBSSxVQUFVLElBQUksQ0FBQyxTQUFTLFFBQVEsQ0FBQTtRQUNuRyxDQUFDO1FBRUssTUFBTSxDQUFDLFdBQTBDOztnQkFDckQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsV0FBa0IsQ0FBQyxDQUFBO2dCQUUxRCxNQUFNLElBQUksQ0FBQyxRQUFRLENBQ2pCLElBQUksQ0FBQyxzQkFBc0IsRUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQzlCLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQ2xELEVBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFO29CQUN0RCxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7d0JBQUUsT0FBTyxHQUFHLENBQUE7b0JBRTNDLE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO29CQUNuRixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQTtvQkFFM0UsdUNBQ0ssR0FBRyxLQUNOLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFOzRCQUN6QixJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDOzRCQUNoRSxLQUFLOzRCQUNMLFFBQVEsRUFBRSxJQUFJO3lCQUNmLElBQ0Y7Z0JBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUNQLENBQUE7WUFDSCxDQUFDO1NBQUE7S0FDSyxDQUFBO0FBQ1YsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVsZXRlUmVwb3NpdG9yeSwgRGVsZXRlUmVwb3NpdG9yeVBhcmFtcywgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xyXG5pbXBvcnQgeyBHcmFwaFFMUmVwb3NpdG9yeSwgSGFzdXJhR3JhcGhRTEZpZWxkcyB9IGZyb20gJy4uL3R5cGVzJ1xyXG5pbXBvcnQgeyBpc05pbCwgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtcywgTWl4aW5DdG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXHJcblxyXG5pbXBvcnQgeyBBdHRyaWJ1dGVPcHRpb25IZWxwZXIgfSBmcm9tICcuL2hlbHBlcnMnXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVDb25zdHJ1Y3RvclBhcmFtcyA9IHtcclxuICBkZWxldGVHcmFwaFFMT3BlcmF0aW9uPzogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCB3aXRoRGVsZXRlSGFzdXJhR3JhcGhRTCA9IDxcclxuICBNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSxcclxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4sXHJcbj4oXHJcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+PiAmIFRNaXhpbkJhc2UsXHJcbik6IE1peGluQ3RvcjxcclxuICBHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4gJiBEZWxldGVSZXBvc2l0b3J5PE1CYXNlPiAmIEluc3RhbmNlVHlwZTxUTWl4aW5CYXNlPixcclxuICBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zPERlbGV0ZUNvbnN0cnVjdG9yUGFyYW1zLCBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VE1peGluQmFzZT4+XHJcbj4gPT4ge1xyXG4gIHJldHVybiBjbGFzcyBEZWxldGVIYXN1cmFHcmFwaFFMTWl4aW4gZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBEZWxldGVSZXBvc2l0b3J5PE1CYXNlPiB7XHJcbiAgICBkZWxldGVHcmFwaFFMT3BlcmF0aW9uOiBzdHJpbmdcclxuXHJcbiAgICBjb25zdHJ1Y3RvciguLi5wYXJhbXM6IGFueVtdKSB7XHJcbiAgICAgIGNvbnN0IG9wdGlvbnM6IERlbGV0ZUNvbnN0cnVjdG9yUGFyYW1zID0gcGFyYW1zPy5bMF1cclxuXHJcbiAgICAgIHN1cGVyKC4uLnBhcmFtcylcclxuXHJcbiAgICAgIHRoaXMuZGVsZXRlR3JhcGhRTE9wZXJhdGlvbiA9IG9wdGlvbnM/LmRlbGV0ZUdyYXBoUUxPcGVyYXRpb24gfHwgYGRlbGV0ZV8ke3RoaXMudGFibGVOYW1lfV9ieV9wa2BcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBkZWxldGUoaWRlbnRpZmllcnM6IERlbGV0ZVJlcG9zaXRvcnlQYXJhbXM8TUJhc2U+KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy5tb2RlbC50b0luc3RhbmNlKGlkZW50aWZpZXJzIGFzIGFueSlcclxuXHJcbiAgICAgIGF3YWl0IHRoaXMubXV0YXRpb24oXHJcbiAgICAgICAgdGhpcy5kZWxldGVHcmFwaFFMT3BlcmF0aW9uLFxyXG4gICAgICAgIHRoaXMubW9kZWwuaWRlbnRpZmllcnNGaWVsZHMubWFwKFxyXG4gICAgICAgICAgKGZpZWxkKSA9PiBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKGZpZWxkLCB0aGlzLmZpZWxkcykuY29sdW1uTmFtZSxcclxuICAgICAgICApIGFzIEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxyXG4gICAgICAgIHRoaXMubW9kZWwuaWRlbnRpZmllcnNGaWVsZHMucmVkdWNlKChpZHMsIGlkZW50aWZpZXIpID0+IHtcclxuICAgICAgICAgIGlmIChpc05pbChpbnN0YW5jZVtpZGVudGlmaWVyXSkpIHJldHVybiBpZHNcclxuXHJcbiAgICAgICAgICBjb25zdCBjb2x1bW5PcHRpb24gPSBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKGlkZW50aWZpZXIsIHRoaXMuZmllbGRzKVxyXG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBjb2x1bW5PcHRpb24udG8oaWRlbnRpZmllcnNbaWRlbnRpZmllci50b1N0cmluZygpXSwgaW5zdGFuY2UpXHJcblxyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uaWRzLFxyXG4gICAgICAgICAgICBbY29sdW1uT3B0aW9uLmNvbHVtbk5hbWVdOiB7XHJcbiAgICAgICAgICAgICAgdHlwZTogdGhpcy5nZXRBdHRyaWJ1dGVHcmFwaFFMVHlwZU9mKGNvbHVtbk9wdGlvbi50eXBlIHx8IHZhbHVlKSxcclxuICAgICAgICAgICAgICB2YWx1ZSxcclxuICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LCB7fSksXHJcbiAgICAgIClcclxuICAgIH1cclxuICB9IGFzIGFueVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,45 @@
1
+ import { __awaiter } from "tslib";
2
+ import { isNil } from '../../../utils';
3
+ import { BindFilterQueryHelper } from './helpers';
4
+ export const withFindHasuraGraphQL = (MixinBase) => {
5
+ return class FindHasuraGraphQLMixin extends MixinBase {
6
+ find(options) {
7
+ return __awaiter(this, void 0, void 0, function* () {
8
+ const { filters, limits, orderBy } = options || {};
9
+ const variablesCount = Object.assign(Object.assign({}, (isNil(orderBy) ? {} : { order_by: { type: `${this.tableName}_order_by!`, list: true, value: orderBy } })), (isNil(filters)
10
+ ? {}
11
+ : {
12
+ where: {
13
+ value: BindFilterQueryHelper.MakeGraphQLWhere(filters, this.fields),
14
+ type: `${this.tableName}_bool_exp`,
15
+ required: true,
16
+ },
17
+ }));
18
+ const variables = Object.assign(Object.assign({}, (isNil(limits) ? {} : limits)), variablesCount);
19
+ const result = yield this.query([
20
+ {
21
+ operation: this.tableName,
22
+ fields: options.fields
23
+ ? options.fields
24
+ .map((fieldName) => {
25
+ var _a;
26
+ return (_a = this.fields.find((fieldOption) => fieldOption === fieldName)) !== null && _a !== void 0 ? _a : this.fields.find((fieldOption) => Object.keys(fieldOption).shift() === fieldName);
27
+ })
28
+ .filter(Boolean)
29
+ : this.fields,
30
+ variables,
31
+ },
32
+ {
33
+ operation: `${this.tableName}_aggregate`,
34
+ fields: [{ aggregate: ['count'] }],
35
+ variables: variablesCount,
36
+ },
37
+ ]);
38
+ const data = result[this.tableName].map((row) => this.convertDataFromHasura(row));
39
+ const count = result[`${this.tableName}_aggregate`].aggregate.count;
40
+ return { count, data };
41
+ });
42
+ }
43
+ };
44
+ };
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maW5kLWhhc3VyYS1ncmFwaHFsLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL3dpdGgtZmluZC1oYXN1cmEtZ3JhcGhxbC5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBU0EsT0FBTyxFQUFFLEtBQUssRUFBYSxNQUFNLGdCQUFnQixDQUFBO0FBR2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUVqRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUluQyxTQUEyRCxFQUMzRCxFQUFFO0lBQ0YsT0FBTyxNQUFNLHNCQUF1QixTQUFRLFNBQVM7UUFDN0MsSUFBSSxDQUFDLE9BS1Y7O2dCQUNDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUE7Z0JBQ2xELE1BQU0sY0FBYyxtQ0FDZixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLFlBQVksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQ3pHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztvQkFDaEIsQ0FBQyxDQUFDLEVBQUU7b0JBQ0osQ0FBQyxDQUFDO3dCQUNFLEtBQUssRUFBRTs0QkFDTCxLQUFLLEVBQUUscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7NEJBQ25FLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLFdBQVc7NEJBQ2xDLFFBQVEsRUFBRSxJQUFJO3lCQUNmO3FCQUNGLENBQUMsQ0FDUCxDQUFBO2dCQUNELE1BQU0sU0FBUyxtQ0FDVixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FDN0IsY0FBYyxDQUNsQixDQUFBO2dCQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQztvQkFDOUI7d0JBQ0UsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO3dCQUN6QixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07NEJBQ3BCLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTTtpQ0FDWCxHQUFHLENBQ0YsQ0FBQyxTQUFTLEVBQUUsRUFBRTs7Z0NBQ1osT0FBQSxNQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLEtBQUssU0FBUyxDQUFDLG1DQUM1RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxTQUFTLENBQUMsQ0FBQTs2QkFBQSxDQUNwRjtpQ0FDQSxNQUFNLENBQUMsT0FBTyxDQUFDOzRCQUNwQixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU07d0JBQ2YsU0FBUztxQkFDVjtvQkFDRDt3QkFDRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxZQUFZO3dCQUN4QyxNQUFNLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7d0JBQ2xDLFNBQVMsRUFBRSxjQUFjO3FCQUMxQjtpQkFDRixDQUFDLENBQUE7Z0JBQ0YsTUFBTSxJQUFJLEdBQVksTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO2dCQUMxRixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFBO2dCQUVuRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFBO1lBQ3hCLENBQUM7U0FBQTtLQUNGLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEZpbmRSZXBvc2l0b3J5LFxyXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcclxuICBOb25GdW5jdGlvblByb3BlcnR5TmFtZXMsXHJcbiAgUmVwb3NpdG9yeUZpbmRGaWVsdGVycyxcclxuICBSZXBvc2l0b3J5RmluZFJlc3VsdCxcclxuICBSZXBvc2l0b3J5TGltaXRPcHRpb25zLFxyXG4gIFJlcG9zaXRvcnlPcmRlckJ5LFxyXG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcclxuaW1wb3J0IHsgaXNOaWwsIE1peGluQ3RvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xyXG5pbXBvcnQgeyBHcmFwaFFMUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xyXG5cclxuaW1wb3J0IHsgQmluZEZpbHRlclF1ZXJ5SGVscGVyIH0gZnJvbSAnLi9oZWxwZXJzJ1xyXG5cclxuZXhwb3J0IGNvbnN0IHdpdGhGaW5kSGFzdXJhR3JhcGhRTCA9IDxcclxuICBNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSxcclxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4sXHJcbj4oXHJcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+PiAmIFRNaXhpbkJhc2UsXHJcbikgPT4ge1xyXG4gIHJldHVybiBjbGFzcyBGaW5kSGFzdXJhR3JhcGhRTE1peGluIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgRmluZFJlcG9zaXRvcnk8TUJhc2U+IHtcclxuICAgIGFzeW5jIGZpbmQob3B0aW9ucz86IHtcclxuICAgICAgZmlsdGVycz86IFJlcG9zaXRvcnlGaW5kRmllbHRlcnM8TUJhc2U+XHJcbiAgICAgIGZpZWxkcz86IE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxNQmFzZT5bXVxyXG4gICAgICBsaW1pdHM/OiBSZXBvc2l0b3J5TGltaXRPcHRpb25zPE1CYXNlPlxyXG4gICAgICBvcmRlckJ5PzogUmVwb3NpdG9yeU9yZGVyQnk8TUJhc2U+XHJcbiAgICB9KTogUHJvbWlzZTxSZXBvc2l0b3J5RmluZFJlc3VsdDxNQmFzZT4+IHtcclxuICAgICAgY29uc3QgeyBmaWx0ZXJzLCBsaW1pdHMsIG9yZGVyQnkgfSA9IG9wdGlvbnMgfHwge31cclxuICAgICAgY29uc3QgdmFyaWFibGVzQ291bnQgPSB7XHJcbiAgICAgICAgLi4uKGlzTmlsKG9yZGVyQnkpID8ge30gOiB7IG9yZGVyX2J5OiB7IHR5cGU6IGAke3RoaXMudGFibGVOYW1lfV9vcmRlcl9ieSFgLCBsaXN0OiB0cnVlLCB2YWx1ZTogb3JkZXJCeSB9IH0pLFxyXG4gICAgICAgIC4uLihpc05pbChmaWx0ZXJzKVxyXG4gICAgICAgICAgPyB7fVxyXG4gICAgICAgICAgOiB7XHJcbiAgICAgICAgICAgICAgd2hlcmU6IHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuTWFrZUdyYXBoUUxXaGVyZShmaWx0ZXJzLCB0aGlzLmZpZWxkcyksXHJcbiAgICAgICAgICAgICAgICB0eXBlOiBgJHt0aGlzLnRhYmxlTmFtZX1fYm9vbF9leHBgLFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgdmFyaWFibGVzID0ge1xyXG4gICAgICAgIC4uLihpc05pbChsaW1pdHMpID8ge30gOiBsaW1pdHMpLFxyXG4gICAgICAgIC4uLnZhcmlhYmxlc0NvdW50LFxyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucXVlcnkoW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIG9wZXJhdGlvbjogdGhpcy50YWJsZU5hbWUsXHJcbiAgICAgICAgICBmaWVsZHM6IG9wdGlvbnMuZmllbGRzXHJcbiAgICAgICAgICAgID8gb3B0aW9ucy5maWVsZHNcclxuICAgICAgICAgICAgICAgIC5tYXAoXHJcbiAgICAgICAgICAgICAgICAgIChmaWVsZE5hbWUpID0+XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZHMuZmluZCgoZmllbGRPcHRpb24pID0+IGZpZWxkT3B0aW9uID09PSBmaWVsZE5hbWUpID8/XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZHMuZmluZCgoZmllbGRPcHRpb24pID0+IE9iamVjdC5rZXlzKGZpZWxkT3B0aW9uKS5zaGlmdCgpID09PSBmaWVsZE5hbWUpLFxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgLmZpbHRlcihCb29sZWFuKVxyXG4gICAgICAgICAgICA6IHRoaXMuZmllbGRzLFxyXG4gICAgICAgICAgdmFyaWFibGVzLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgb3BlcmF0aW9uOiBgJHt0aGlzLnRhYmxlTmFtZX1fYWdncmVnYXRlYCxcclxuICAgICAgICAgIGZpZWxkczogW3sgYWdncmVnYXRlOiBbJ2NvdW50J10gfV0sXHJcbiAgICAgICAgICB2YXJpYWJsZXM6IHZhcmlhYmxlc0NvdW50LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0pXHJcbiAgICAgIGNvbnN0IGRhdGE6IE1CYXNlW10gPSByZXN1bHRbdGhpcy50YWJsZU5hbWVdLm1hcCgocm93KSA9PiB0aGlzLmNvbnZlcnREYXRhRnJvbUhhc3VyYShyb3cpKVxyXG4gICAgICBjb25zdCBjb3VudCA9IHJlc3VsdFtgJHt0aGlzLnRhYmxlTmFtZX1fYWdncmVnYXRlYF0uYWdncmVnYXRlLmNvdW50XHJcblxyXG4gICAgICByZXR1cm4geyBjb3VudCwgZGF0YSB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==