@infrab4a/connect 4.0.2-beta.14 → 4.0.2-beta.3

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 (777) hide show
  1. package/index.js +2 -0
  2. package/index.js.map +1 -0
  3. package/package.json +4 -11
  4. package/src/domain/catalog/helpers/index.js +2 -0
  5. package/src/domain/catalog/helpers/index.js.map +1 -0
  6. package/src/domain/catalog/helpers/round-product-price.helper.js +15 -0
  7. package/src/domain/catalog/helpers/round-product-price.helper.js.map +1 -0
  8. package/src/domain/catalog/index.js +4 -0
  9. package/src/domain/catalog/index.js.map +1 -0
  10. package/src/domain/catalog/models/category-base.js +18 -0
  11. package/src/domain/catalog/models/category-base.js.map +1 -0
  12. package/src/domain/catalog/models/category-collection-children.d.ts +1 -1
  13. package/src/domain/catalog/models/category-collection-children.js +13 -0
  14. package/src/domain/catalog/models/category-collection-children.js.map +1 -0
  15. package/src/domain/catalog/models/category-filter.d.ts +1 -1
  16. package/src/domain/catalog/models/category-filter.js +19 -0
  17. package/src/domain/catalog/models/category-filter.js.map +1 -0
  18. package/src/domain/catalog/models/category-for-product.js +7 -0
  19. package/src/domain/catalog/models/category-for-product.js.map +1 -0
  20. package/src/domain/catalog/models/category.js +14 -0
  21. package/src/domain/catalog/models/category.js.map +1 -0
  22. package/src/domain/catalog/models/enums/index.js +3 -0
  23. package/src/domain/catalog/models/enums/index.js.map +1 -0
  24. package/src/domain/catalog/models/enums/product-genders.enum.js +7 -0
  25. package/src/domain/catalog/models/enums/product-genders.enum.js.map +1 -0
  26. package/src/domain/catalog/models/enums/shops.enum.js +8 -0
  27. package/src/domain/catalog/models/enums/shops.enum.js.map +1 -0
  28. package/src/domain/catalog/models/filter-option.js +7 -0
  29. package/src/domain/catalog/models/filter-option.js.map +1 -0
  30. package/src/domain/catalog/models/filter.js +7 -0
  31. package/src/domain/catalog/models/filter.js.map +1 -0
  32. package/src/domain/catalog/models/index.js +12 -0
  33. package/src/domain/catalog/models/index.js.map +1 -0
  34. package/src/domain/catalog/models/kit-product.d.ts +1 -1
  35. package/src/domain/catalog/models/kit-product.js +18 -0
  36. package/src/domain/catalog/models/kit-product.js.map +1 -0
  37. package/src/domain/catalog/models/product-base.js +25 -0
  38. package/src/domain/catalog/models/product-base.js.map +1 -0
  39. package/src/domain/catalog/models/product-for-category.js +14 -0
  40. package/src/domain/catalog/models/product-for-category.js.map +1 -0
  41. package/src/domain/catalog/models/product-for-kit.js +14 -0
  42. package/src/domain/catalog/models/product-for-kit.js.map +1 -0
  43. package/src/domain/catalog/models/product.js +19 -0
  44. package/src/domain/catalog/models/product.js.map +1 -0
  45. package/src/domain/catalog/models/types/category-condition.type.d.ts +1 -1
  46. package/src/domain/catalog/models/types/category-condition.type.js +2 -0
  47. package/src/domain/catalog/models/types/category-condition.type.js.map +1 -0
  48. package/src/domain/catalog/models/types/category-metadata.type.d.ts +1 -1
  49. package/src/domain/catalog/models/types/category-metadata.type.js +2 -0
  50. package/src/domain/catalog/models/types/category-metadata.type.js.map +1 -0
  51. package/src/domain/catalog/models/types/category-product.d.ts +1 -1
  52. package/src/domain/catalog/models/types/category-product.js +2 -0
  53. package/src/domain/catalog/models/types/category-product.js.map +1 -0
  54. package/src/domain/catalog/models/types/index.js +12 -0
  55. package/src/domain/catalog/models/types/index.js.map +1 -0
  56. package/src/domain/catalog/models/types/product-evaluation.type.d.ts +1 -1
  57. package/src/domain/catalog/models/types/product-evaluation.type.js +2 -0
  58. package/src/domain/catalog/models/types/product-evaluation.type.js.map +1 -0
  59. package/src/domain/catalog/models/types/product-gender.type.d.ts +1 -1
  60. package/src/domain/catalog/models/types/product-gender.type.js +2 -0
  61. package/src/domain/catalog/models/types/product-gender.type.js.map +1 -0
  62. package/src/domain/catalog/models/types/product-metadata.type.d.ts +1 -1
  63. package/src/domain/catalog/models/types/product-metadata.type.js +2 -0
  64. package/src/domain/catalog/models/types/product-metadata.type.js.map +1 -0
  65. package/src/domain/catalog/models/types/product-review.type.d.ts +1 -1
  66. package/src/domain/catalog/models/types/product-review.type.js +2 -0
  67. package/src/domain/catalog/models/types/product-review.type.js.map +1 -0
  68. package/src/domain/catalog/models/types/shop-description.type.d.ts +1 -1
  69. package/src/domain/catalog/models/types/shop-description.type.js +2 -0
  70. package/src/domain/catalog/models/types/shop-description.type.js.map +1 -0
  71. package/src/domain/catalog/models/types/shop-price.type.d.ts +1 -1
  72. package/src/domain/catalog/models/types/shop-price.type.js +2 -0
  73. package/src/domain/catalog/models/types/shop-price.type.js.map +1 -0
  74. package/src/domain/catalog/models/types/stock.type.d.ts +1 -1
  75. package/src/domain/catalog/models/types/stock.type.js +2 -0
  76. package/src/domain/catalog/models/types/stock.type.js.map +1 -0
  77. package/src/domain/catalog/models/types/variant-grade.type.d.ts +1 -1
  78. package/src/domain/catalog/models/types/variant-grade.type.js +2 -0
  79. package/src/domain/catalog/models/types/variant-grade.type.js.map +1 -0
  80. package/src/domain/catalog/models/variant.d.ts +1 -1
  81. package/src/domain/catalog/models/variant.js +7 -0
  82. package/src/domain/catalog/models/variant.js.map +1 -0
  83. package/src/domain/catalog/models/wishlist.js +7 -0
  84. package/src/domain/catalog/models/wishlist.js.map +1 -0
  85. package/src/domain/catalog/repositories/category-collection-children.repository.js +2 -0
  86. package/src/domain/catalog/repositories/category-collection-children.repository.js.map +1 -0
  87. package/src/domain/catalog/repositories/category-filter.repository.js +2 -0
  88. package/src/domain/catalog/repositories/category-filter.repository.js.map +1 -0
  89. package/src/domain/catalog/repositories/category.repository.js +2 -0
  90. package/src/domain/catalog/repositories/category.repository.js.map +1 -0
  91. package/src/domain/catalog/repositories/filter-option.repository.js +2 -0
  92. package/src/domain/catalog/repositories/filter-option.repository.js.map +1 -0
  93. package/src/domain/catalog/repositories/filter.repository.js +2 -0
  94. package/src/domain/catalog/repositories/filter.repository.js.map +1 -0
  95. package/src/domain/catalog/repositories/index.js +10 -0
  96. package/src/domain/catalog/repositories/index.js.map +1 -0
  97. package/src/domain/catalog/repositories/product.repository.d.ts +2 -2
  98. package/src/domain/catalog/repositories/product.repository.js +2 -0
  99. package/src/domain/catalog/repositories/product.repository.js.map +1 -0
  100. package/src/domain/catalog/repositories/subscription-product.repository.js +2 -0
  101. package/src/domain/catalog/repositories/subscription-product.repository.js.map +1 -0
  102. package/src/domain/catalog/repositories/variant.repository.js +2 -0
  103. package/src/domain/catalog/repositories/variant.repository.js.map +1 -0
  104. package/src/domain/catalog/repositories/wishlist.repository.js +2 -0
  105. package/src/domain/catalog/repositories/wishlist.repository.js.map +1 -0
  106. package/src/domain/generic/index.js +3 -0
  107. package/src/domain/generic/index.js.map +1 -0
  108. package/src/domain/generic/model/base.model.d.ts +1 -1
  109. package/src/domain/generic/model/base.model.js +24 -0
  110. package/src/domain/generic/model/base.model.js.map +1 -0
  111. package/src/domain/generic/model/identifier-fields.js +2 -0
  112. package/src/domain/generic/model/identifier-fields.js.map +1 -0
  113. package/src/domain/generic/model/index.js +4 -0
  114. package/src/domain/generic/model/index.js.map +1 -0
  115. package/src/domain/generic/model/types/base-model-builder.type.js +2 -0
  116. package/src/domain/generic/model/types/base-model-builder.type.js.map +1 -0
  117. package/src/domain/generic/model/types/identifier-model.type.d.ts +3 -3
  118. package/src/domain/generic/model/types/identifier-model.type.js +2 -0
  119. package/src/domain/generic/model/types/identifier-model.type.js.map +1 -0
  120. package/src/domain/generic/model/types/index.js +6 -0
  121. package/src/domain/generic/model/types/index.js.map +1 -0
  122. package/src/domain/generic/model/types/model-base-structure.type.d.ts +2 -2
  123. package/src/domain/generic/model/types/model-base-structure.type.js +2 -0
  124. package/src/domain/generic/model/types/model-base-structure.type.js.map +1 -0
  125. package/src/domain/generic/model/types/non-function-properties.type.d.ts +6 -6
  126. package/src/domain/generic/model/types/non-function-properties.type.js +2 -0
  127. package/src/domain/generic/model/types/non-function-properties.type.js.map +1 -0
  128. package/src/domain/generic/model/types/non-function-property-name.type.d.ts +5 -5
  129. package/src/domain/generic/model/types/non-function-property-name.type.js +2 -0
  130. package/src/domain/generic/model/types/non-function-property-name.type.js.map +1 -0
  131. package/src/domain/generic/repository/create.repository.d.ts +1 -1
  132. package/src/domain/generic/repository/create.repository.js +2 -0
  133. package/src/domain/generic/repository/create.repository.js.map +1 -0
  134. package/src/domain/generic/repository/crud.repository.d.ts +2 -2
  135. package/src/domain/generic/repository/crud.repository.js +2 -0
  136. package/src/domain/generic/repository/crud.repository.js.map +1 -0
  137. package/src/domain/generic/repository/delete.repository.d.ts +1 -1
  138. package/src/domain/generic/repository/delete.repository.js +2 -0
  139. package/src/domain/generic/repository/delete.repository.js.map +1 -0
  140. package/src/domain/generic/repository/enums/index.js +3 -0
  141. package/src/domain/generic/repository/enums/index.js.map +1 -0
  142. package/src/domain/generic/repository/enums/update-option-actions.enum.js +9 -0
  143. package/src/domain/generic/repository/enums/update-option-actions.enum.js.map +1 -0
  144. package/src/domain/generic/repository/enums/where.enum.js +16 -0
  145. package/src/domain/generic/repository/enums/where.enum.js.map +1 -0
  146. package/src/domain/generic/repository/find.repository.d.ts +1 -1
  147. package/src/domain/generic/repository/find.repository.js +2 -0
  148. package/src/domain/generic/repository/find.repository.js.map +1 -0
  149. package/src/domain/generic/repository/get.repository.d.ts +1 -1
  150. package/src/domain/generic/repository/get.repository.js +2 -0
  151. package/src/domain/generic/repository/get.repository.js.map +1 -0
  152. package/src/domain/generic/repository/index.js +10 -0
  153. package/src/domain/generic/repository/index.js.map +1 -0
  154. package/src/domain/generic/repository/read.repository.d.ts +2 -2
  155. package/src/domain/generic/repository/read.repository.js +2 -0
  156. package/src/domain/generic/repository/read.repository.js.map +1 -0
  157. package/src/domain/generic/repository/types/index.js +7 -0
  158. package/src/domain/generic/repository/types/index.js.map +1 -0
  159. package/src/domain/generic/repository/types/repository-find-filters.type.d.ts +4 -4
  160. package/src/domain/generic/repository/types/repository-find-filters.type.js +2 -0
  161. package/src/domain/generic/repository/types/repository-find-filters.type.js.map +1 -0
  162. package/src/domain/generic/repository/types/repository-find-result.type.d.ts +2 -2
  163. package/src/domain/generic/repository/types/repository-find-result.type.js +2 -0
  164. package/src/domain/generic/repository/types/repository-find-result.type.js.map +1 -0
  165. package/src/domain/generic/repository/types/repository-limit-options.type.d.ts +1 -1
  166. package/src/domain/generic/repository/types/repository-limit-options.type.js +2 -0
  167. package/src/domain/generic/repository/types/repository-limit-options.type.js.map +1 -0
  168. package/src/domain/generic/repository/types/repository-order-by-list.type.d.ts +2 -2
  169. package/src/domain/generic/repository/types/repository-order-by-list.type.js +2 -0
  170. package/src/domain/generic/repository/types/repository-order-by-list.type.js.map +1 -0
  171. package/src/domain/generic/repository/types/repository-update-params.type.d.ts +3 -3
  172. package/src/domain/generic/repository/types/repository-update-params.type.js +2 -0
  173. package/src/domain/generic/repository/types/repository-update-params.type.js.map +1 -0
  174. package/src/domain/generic/repository/types/where-options.type.d.ts +1 -1
  175. package/src/domain/generic/repository/types/where-options.type.js +2 -0
  176. package/src/domain/generic/repository/types/where-options.type.js.map +1 -0
  177. package/src/domain/generic/repository/update.repository.d.ts +1 -1
  178. package/src/domain/generic/repository/update.repository.js +2 -0
  179. package/src/domain/generic/repository/update.repository.js.map +1 -0
  180. package/src/domain/index.js +7 -0
  181. package/src/domain/index.js.map +1 -0
  182. package/src/domain/location/index.js +2 -0
  183. package/src/domain/location/index.js.map +1 -0
  184. package/src/domain/location/models/address.js +7 -0
  185. package/src/domain/location/models/address.js.map +1 -0
  186. package/src/domain/location/models/index.js +3 -0
  187. package/src/domain/location/models/index.js.map +1 -0
  188. package/src/domain/location/models/types/index.js +4 -0
  189. package/src/domain/location/models/types/index.js.map +1 -0
  190. package/src/domain/location/models/types/location-bound.type.d.ts +1 -1
  191. package/src/domain/location/models/types/location-bound.type.js +2 -0
  192. package/src/domain/location/models/types/location-bound.type.js.map +1 -0
  193. package/src/domain/location/models/types/location-geometry.type.d.ts +1 -1
  194. package/src/domain/location/models/types/location-geometry.type.js +2 -0
  195. package/src/domain/location/models/types/location-geometry.type.js.map +1 -0
  196. package/src/domain/location/models/types/location-lat-lng.type.d.ts +1 -1
  197. package/src/domain/location/models/types/location-lat-lng.type.js +2 -0
  198. package/src/domain/location/models/types/location-lat-lng.type.js.map +1 -0
  199. package/src/domain/shop-settings/enums/filter-type.enum.js +21 -0
  200. package/src/domain/shop-settings/enums/filter-type.enum.js.map +1 -0
  201. package/src/domain/shop-settings/enums/index.js +3 -0
  202. package/src/domain/shop-settings/enums/index.js.map +1 -0
  203. package/src/domain/shop-settings/enums/questions-filters.enum.js +21 -0
  204. package/src/domain/shop-settings/enums/questions-filters.enum.js.map +1 -0
  205. package/src/domain/shop-settings/helpers/beauty-questions.helper.d.ts +1 -1
  206. package/src/domain/shop-settings/helpers/beauty-questions.helper.js +47 -0
  207. package/src/domain/shop-settings/helpers/beauty-questions.helper.js.map +1 -0
  208. package/src/domain/shop-settings/helpers/index.js +2 -0
  209. package/src/domain/shop-settings/helpers/index.js.map +1 -0
  210. package/src/domain/shop-settings/index.js +5 -0
  211. package/src/domain/shop-settings/index.js.map +1 -0
  212. package/src/domain/shop-settings/models/home.js +7 -0
  213. package/src/domain/shop-settings/models/home.js.map +1 -0
  214. package/src/domain/shop-settings/models/index.js +5 -0
  215. package/src/domain/shop-settings/models/index.js.map +1 -0
  216. package/src/domain/shop-settings/models/shop-menu.js +7 -0
  217. package/src/domain/shop-settings/models/shop-menu.js.map +1 -0
  218. package/src/domain/shop-settings/models/shop-settings.js +7 -0
  219. package/src/domain/shop-settings/models/shop-settings.js.map +1 -0
  220. package/src/domain/shop-settings/models/types/banner.type.d.ts +1 -1
  221. package/src/domain/shop-settings/models/types/banner.type.js +2 -0
  222. package/src/domain/shop-settings/models/types/banner.type.js.map +1 -0
  223. package/src/domain/shop-settings/models/types/benefit.type.d.ts +1 -1
  224. package/src/domain/shop-settings/models/types/benefit.type.js +2 -0
  225. package/src/domain/shop-settings/models/types/benefit.type.js.map +1 -0
  226. package/src/domain/shop-settings/models/types/home-data.type.d.ts +3 -3
  227. package/src/domain/shop-settings/models/types/home-data.type.js +2 -0
  228. package/src/domain/shop-settings/models/types/home-data.type.js.map +1 -0
  229. package/src/domain/shop-settings/models/types/index.js +11 -0
  230. package/src/domain/shop-settings/models/types/index.js.map +1 -0
  231. package/src/domain/shop-settings/models/types/menu-nav.type.d.ts +1 -1
  232. package/src/domain/shop-settings/models/types/menu-nav.type.js +2 -0
  233. package/src/domain/shop-settings/models/types/menu-nav.type.js.map +1 -0
  234. package/src/domain/shop-settings/models/types/shop-banner.type.js +2 -0
  235. package/src/domain/shop-settings/models/types/shop-banner.type.js.map +1 -0
  236. package/src/domain/shop-settings/models/types/shop-brands.type.js +2 -0
  237. package/src/domain/shop-settings/models/types/shop-brands.type.js.map +1 -0
  238. package/src/domain/shop-settings/models/types/shop-carousel.type.js +2 -0
  239. package/src/domain/shop-settings/models/types/shop-carousel.type.js.map +1 -0
  240. package/src/domain/shop-settings/models/types/shop-collection.type.js +2 -0
  241. package/src/domain/shop-settings/models/types/shop-collection.type.js.map +1 -0
  242. package/src/domain/shop-settings/models/types/shop-section.type.d.ts +1 -1
  243. package/src/domain/shop-settings/models/types/shop-section.type.js +2 -0
  244. package/src/domain/shop-settings/models/types/shop-section.type.js.map +1 -0
  245. package/src/domain/shop-settings/models/types/sub-menu.type.d.ts +2 -2
  246. package/src/domain/shop-settings/models/types/sub-menu.type.js +2 -0
  247. package/src/domain/shop-settings/models/types/sub-menu.type.js.map +1 -0
  248. package/src/domain/shop-settings/repositories/home.repository.js +2 -0
  249. package/src/domain/shop-settings/repositories/home.repository.js.map +1 -0
  250. package/src/domain/shop-settings/repositories/index.js +4 -0
  251. package/src/domain/shop-settings/repositories/index.js.map +1 -0
  252. package/src/domain/shop-settings/repositories/shop-menu.repository.js +2 -0
  253. package/src/domain/shop-settings/repositories/shop-menu.repository.js.map +1 -0
  254. package/src/domain/shop-settings/repositories/shop-settings.repository.js +2 -0
  255. package/src/domain/shop-settings/repositories/shop-settings.repository.js.map +1 -0
  256. package/src/domain/shopping/index.js +3 -0
  257. package/src/domain/shopping/index.js.map +1 -0
  258. package/src/domain/shopping/models/buy-2-win.js +14 -0
  259. package/src/domain/shopping/models/buy-2-win.js.map +1 -0
  260. package/src/domain/shopping/models/campaign-dashboard.js +7 -0
  261. package/src/domain/shopping/models/campaign-dashboard.js.map +1 -0
  262. package/src/domain/shopping/models/campaign-hashtag.js +7 -0
  263. package/src/domain/shopping/models/campaign-hashtag.js.map +1 -0
  264. package/src/domain/shopping/models/checkout.js +37 -0
  265. package/src/domain/shopping/models/checkout.js.map +1 -0
  266. package/src/domain/shopping/models/coupons/coupon.js +38 -0
  267. package/src/domain/shopping/models/coupons/coupon.js.map +1 -0
  268. package/src/domain/shopping/models/coupons/enums/coupon-club-mens.enum.js +7 -0
  269. package/src/domain/shopping/models/coupons/enums/coupon-club-mens.enum.js.map +1 -0
  270. package/src/domain/shopping/models/coupons/enums/coupon-subtypes.enum.js +6 -0
  271. package/src/domain/shopping/models/coupons/enums/coupon-subtypes.enum.js.map +1 -0
  272. package/src/domain/shopping/models/coupons/enums/coupon-types.enum.js +10 -0
  273. package/src/domain/shopping/models/coupons/enums/coupon-types.enum.js.map +1 -0
  274. package/src/domain/shopping/models/coupons/enums/exclusivities.enum.js +10 -0
  275. package/src/domain/shopping/models/coupons/enums/exclusivities.enum.js.map +1 -0
  276. package/src/domain/shopping/models/coupons/enums/index.js +4 -0
  277. package/src/domain/shopping/models/coupons/enums/index.js.map +1 -0
  278. package/src/domain/shopping/models/coupons/index.js +3 -0
  279. package/src/domain/shopping/models/coupons/index.js.map +1 -0
  280. package/src/domain/shopping/models/enums/checkout-types.enum.js +7 -0
  281. package/src/domain/shopping/models/enums/checkout-types.enum.js.map +1 -0
  282. package/src/domain/shopping/models/enums/index.js +3 -0
  283. package/src/domain/shopping/models/enums/index.js.map +1 -0
  284. package/src/domain/shopping/models/enums/order-status.enum.js +12 -0
  285. package/src/domain/shopping/models/enums/order-status.enum.js.map +1 -0
  286. package/src/domain/shopping/models/index.js +13 -0
  287. package/src/domain/shopping/models/index.js.map +1 -0
  288. package/src/domain/shopping/models/line-item.js +4 -0
  289. package/src/domain/shopping/models/line-item.js.map +1 -0
  290. package/src/domain/shopping/models/order.js +11 -0
  291. package/src/domain/shopping/models/order.js.map +1 -0
  292. package/src/domain/shopping/models/payment.js +169 -0
  293. package/src/domain/shopping/models/payment.js.map +1 -0
  294. package/src/domain/shopping/models/shipping-method.js +7 -0
  295. package/src/domain/shopping/models/shipping-method.js.map +1 -0
  296. package/src/domain/shopping/models/subscription/checkout.js +28 -0
  297. package/src/domain/shopping/models/subscription/checkout.js.map +1 -0
  298. package/src/domain/shopping/models/subscription/index.js +3 -0
  299. package/src/domain/shopping/models/subscription/index.js.map +1 -0
  300. package/src/domain/shopping/models/subscription/plan.js +7 -0
  301. package/src/domain/shopping/models/subscription/plan.js.map +1 -0
  302. package/src/domain/shopping/models/types/index.js +8 -0
  303. package/src/domain/shopping/models/types/index.js.map +1 -0
  304. package/src/domain/shopping/models/types/payment-address.type.d.ts +1 -1
  305. package/src/domain/shopping/models/types/payment-address.type.js +2 -0
  306. package/src/domain/shopping/models/types/payment-address.type.js.map +1 -0
  307. package/src/domain/shopping/models/types/payment-billing.type.d.ts +1 -1
  308. package/src/domain/shopping/models/types/payment-billing.type.js +2 -0
  309. package/src/domain/shopping/models/types/payment-billing.type.js.map +1 -0
  310. package/src/domain/shopping/models/types/payment-card.type.d.ts +1 -1
  311. package/src/domain/shopping/models/types/payment-card.type.js +2 -0
  312. package/src/domain/shopping/models/types/payment-card.type.js.map +1 -0
  313. package/src/domain/shopping/models/types/payment-customer.type.d.ts +1 -1
  314. package/src/domain/shopping/models/types/payment-customer.type.js +2 -0
  315. package/src/domain/shopping/models/types/payment-customer.type.js.map +1 -0
  316. package/src/domain/shopping/models/types/payment-document.type.d.ts +1 -1
  317. package/src/domain/shopping/models/types/payment-document.type.js +2 -0
  318. package/src/domain/shopping/models/types/payment-document.type.js.map +1 -0
  319. package/src/domain/shopping/models/types/payment-item.type.d.ts +1 -1
  320. package/src/domain/shopping/models/types/payment-item.type.js +2 -0
  321. package/src/domain/shopping/models/types/payment-item.type.js.map +1 -0
  322. package/src/domain/shopping/models/types/payment-shipping.type.d.ts +1 -1
  323. package/src/domain/shopping/models/types/payment-shipping.type.js +2 -0
  324. package/src/domain/shopping/models/types/payment-shipping.type.js.map +1 -0
  325. package/src/domain/shopping/repositories/buy-2-win.repository.js +2 -0
  326. package/src/domain/shopping/repositories/buy-2-win.repository.js.map +1 -0
  327. package/src/domain/shopping/repositories/campaign-dashboard.repository.js +2 -0
  328. package/src/domain/shopping/repositories/campaign-dashboard.repository.js.map +1 -0
  329. package/src/domain/shopping/repositories/campaign-hashtag.repository.js +2 -0
  330. package/src/domain/shopping/repositories/campaign-hashtag.repository.js.map +1 -0
  331. package/src/domain/shopping/repositories/checkout.repository.js +2 -0
  332. package/src/domain/shopping/repositories/checkout.repository.js.map +1 -0
  333. package/src/domain/shopping/repositories/coupon.repository.js +2 -0
  334. package/src/domain/shopping/repositories/coupon.repository.js.map +1 -0
  335. package/src/domain/shopping/repositories/index.js +10 -0
  336. package/src/domain/shopping/repositories/index.js.map +1 -0
  337. package/src/domain/shopping/repositories/legacy-order.repository.js +2 -0
  338. package/src/domain/shopping/repositories/legacy-order.repository.js.map +1 -0
  339. package/src/domain/shopping/repositories/order.repository.js +2 -0
  340. package/src/domain/shopping/repositories/order.repository.js.map +1 -0
  341. package/src/domain/shopping/repositories/payment.repository.js +2 -0
  342. package/src/domain/shopping/repositories/payment.repository.js.map +1 -0
  343. package/src/domain/shopping/repositories/subscription/checkout.repository.js +2 -0
  344. package/src/domain/shopping/repositories/subscription/checkout.repository.js.map +1 -0
  345. package/src/domain/shopping/repositories/subscription/index.js +3 -0
  346. package/src/domain/shopping/repositories/subscription/index.js.map +1 -0
  347. package/src/domain/shopping/repositories/subscription/plan.repository.js +2 -0
  348. package/src/domain/shopping/repositories/subscription/plan.repository.js.map +1 -0
  349. package/src/domain/users/errors/index.js +4 -0
  350. package/src/domain/users/errors/index.js.map +1 -0
  351. package/src/domain/users/errors/unauthorized.error.js +7 -0
  352. package/src/domain/users/errors/unauthorized.error.js.map +1 -0
  353. package/src/domain/users/errors/user-already-registered.error.js +7 -0
  354. package/src/domain/users/errors/user-already-registered.error.js.map +1 -0
  355. package/src/domain/users/errors/weak-password.error.js +7 -0
  356. package/src/domain/users/errors/weak-password.error.js.map +1 -0
  357. package/src/domain/users/index.js +6 -0
  358. package/src/domain/users/index.js.map +1 -0
  359. package/src/domain/users/models/beauty-profile.d.ts +1 -1
  360. package/src/domain/users/models/beauty-profile.js +12 -0
  361. package/src/domain/users/models/beauty-profile.js.map +1 -0
  362. package/src/domain/users/models/enums/accessory-importances.enum.js +7 -0
  363. package/src/domain/users/models/enums/accessory-importances.enum.js.map +1 -0
  364. package/src/domain/users/models/enums/area.enum.js +13 -0
  365. package/src/domain/users/models/enums/area.enum.js.map +1 -0
  366. package/src/domain/users/models/enums/beard-problems.enum.js +11 -0
  367. package/src/domain/users/models/enums/beard-problems.enum.js.map +1 -0
  368. package/src/domain/users/models/enums/beard-sizes.enum.js +9 -0
  369. package/src/domain/users/models/enums/beard-sizes.enum.js.map +1 -0
  370. package/src/domain/users/models/enums/beauty-product-importances.enum.js +8 -0
  371. package/src/domain/users/models/enums/beauty-product-importances.enum.js.map +1 -0
  372. package/src/domain/users/models/enums/body-problems.enum.js +13 -0
  373. package/src/domain/users/models/enums/body-problems.enum.js.map +1 -0
  374. package/src/domain/users/models/enums/body-shapes.enum.js +9 -0
  375. package/src/domain/users/models/enums/body-shapes.enum.js.map +1 -0
  376. package/src/domain/users/models/enums/body-tattoos.enum.js +7 -0
  377. package/src/domain/users/models/enums/body-tattoos.enum.js.map +1 -0
  378. package/src/domain/users/models/enums/face-skin-oilinesses.enum.js +9 -0
  379. package/src/domain/users/models/enums/face-skin-oilinesses.enum.js.map +1 -0
  380. package/src/domain/users/models/enums/face-skin-problems.enum.js +12 -0
  381. package/src/domain/users/models/enums/face-skin-problems.enum.js.map +1 -0
  382. package/src/domain/users/models/enums/face-skin-tones.enum.js +10 -0
  383. package/src/domain/users/models/enums/face-skin-tones.enum.js.map +1 -0
  384. package/src/domain/users/models/enums/family-incomes.enum.js +10 -0
  385. package/src/domain/users/models/enums/family-incomes.enum.js.map +1 -0
  386. package/src/domain/users/models/enums/fragrance-importances.enum.js +7 -0
  387. package/src/domain/users/models/enums/fragrance-importances.enum.js.map +1 -0
  388. package/src/domain/users/models/enums/hair-colors.enum.js +12 -0
  389. package/src/domain/users/models/enums/hair-colors.enum.js.map +1 -0
  390. package/src/domain/users/models/enums/hair-problems.enum.js +12 -0
  391. package/src/domain/users/models/enums/hair-problems.enum.js.map +1 -0
  392. package/src/domain/users/models/enums/hair-strands.enum.js +10 -0
  393. package/src/domain/users/models/enums/hair-strands.enum.js.map +1 -0
  394. package/src/domain/users/models/enums/hair-types.enum.js +9 -0
  395. package/src/domain/users/models/enums/hair-types.enum.js.map +1 -0
  396. package/src/domain/users/models/enums/index.js +21 -0
  397. package/src/domain/users/models/enums/index.js.map +1 -0
  398. package/src/domain/users/models/enums/office-position.enum.js +8 -0
  399. package/src/domain/users/models/enums/office-position.enum.js.map +1 -0
  400. package/src/domain/users/models/enums/product-spents.enum.js +10 -0
  401. package/src/domain/users/models/enums/product-spents.enum.js.map +1 -0
  402. package/src/domain/users/models/enums/user-type.enum.js +10 -0
  403. package/src/domain/users/models/enums/user-type.enum.js.map +1 -0
  404. package/src/domain/users/models/index.js +8 -0
  405. package/src/domain/users/models/index.js.map +1 -0
  406. package/src/domain/users/models/lead.js +7 -0
  407. package/src/domain/users/models/lead.js.map +1 -0
  408. package/src/domain/users/models/subscription/edition.d.ts +1 -1
  409. package/src/domain/users/models/subscription/edition.js +7 -0
  410. package/src/domain/users/models/subscription/edition.js.map +1 -0
  411. package/src/domain/users/models/subscription/enums/billing-status.enum.js +5 -0
  412. package/src/domain/users/models/subscription/enums/billing-status.enum.js.map +1 -0
  413. package/src/domain/users/models/subscription/enums/edition-status.enum.js +6 -0
  414. package/src/domain/users/models/subscription/enums/edition-status.enum.js.map +1 -0
  415. package/src/domain/users/models/subscription/enums/index.js +5 -0
  416. package/src/domain/users/models/subscription/enums/index.js.map +1 -0
  417. package/src/domain/users/models/subscription/enums/payment-type.enum.js +7 -0
  418. package/src/domain/users/models/subscription/enums/payment-type.enum.js.map +1 -0
  419. package/src/domain/users/models/subscription/enums/status.enum.js +6 -0
  420. package/src/domain/users/models/subscription/enums/status.enum.js.map +1 -0
  421. package/src/domain/users/models/subscription/index.js +5 -0
  422. package/src/domain/users/models/subscription/index.js.map +1 -0
  423. package/src/domain/users/models/subscription/payment.d.ts +1 -1
  424. package/src/domain/users/models/subscription/payment.js +14 -0
  425. package/src/domain/users/models/subscription/payment.js.map +1 -0
  426. package/src/domain/users/models/subscription/subscription.js +43 -0
  427. package/src/domain/users/models/subscription/subscription.js.map +1 -0
  428. package/src/domain/users/models/user-address.d.ts +1 -1
  429. package/src/domain/users/models/user-address.js +7 -0
  430. package/src/domain/users/models/user-address.js.map +1 -0
  431. package/src/domain/users/models/user-payment-method.d.ts +1 -1
  432. package/src/domain/users/models/user-payment-method.js +7 -0
  433. package/src/domain/users/models/user-payment-method.js.map +1 -0
  434. package/src/domain/users/models/user.js +26 -0
  435. package/src/domain/users/models/user.js.map +1 -0
  436. package/src/domain/users/repositories/beauty-profile.repository.js +2 -0
  437. package/src/domain/users/repositories/beauty-profile.repository.js.map +1 -0
  438. package/src/domain/users/repositories/edition.repository.js +2 -0
  439. package/src/domain/users/repositories/edition.repository.js.map +1 -0
  440. package/src/domain/users/repositories/index.js +9 -0
  441. package/src/domain/users/repositories/index.js.map +1 -0
  442. package/src/domain/users/repositories/lead.repository.js +2 -0
  443. package/src/domain/users/repositories/lead.repository.js.map +1 -0
  444. package/src/domain/users/repositories/subscription-payment.repository.js +2 -0
  445. package/src/domain/users/repositories/subscription-payment.repository.js.map +1 -0
  446. package/src/domain/users/repositories/subscription.repository.js +2 -0
  447. package/src/domain/users/repositories/subscription.repository.js.map +1 -0
  448. package/src/domain/users/repositories/user-address.repository.js +2 -0
  449. package/src/domain/users/repositories/user-address.repository.js.map +1 -0
  450. package/src/domain/users/repositories/user-payment-method.repository.js +2 -0
  451. package/src/domain/users/repositories/user-payment-method.repository.js.map +1 -0
  452. package/src/domain/users/repositories/user.repository.js +2 -0
  453. package/src/domain/users/repositories/user.repository.js.map +1 -0
  454. package/src/domain/users/services/authentication.service.d.ts +1 -1
  455. package/src/domain/users/services/authentication.service.js +2 -0
  456. package/src/domain/users/services/authentication.service.js.map +1 -0
  457. package/src/domain/users/services/index.js +4 -0
  458. package/src/domain/users/services/index.js.map +1 -0
  459. package/src/domain/users/services/register.service.d.ts +1 -1
  460. package/src/domain/users/services/register.service.js +2 -0
  461. package/src/domain/users/services/register.service.js.map +1 -0
  462. package/src/domain/users/services/types/basic-user-data.type.d.ts +1 -1
  463. package/src/domain/users/services/types/basic-user-data.type.js +2 -0
  464. package/src/domain/users/services/types/basic-user-data.type.js.map +1 -0
  465. package/src/domain/users/services/types/index.js +2 -0
  466. package/src/domain/users/services/types/index.js.map +1 -0
  467. package/src/domain/users/use-cases/authentication.d.ts +2 -2
  468. package/src/domain/users/use-cases/authentication.js +35 -0
  469. package/src/domain/users/use-cases/authentication.js.map +1 -0
  470. package/src/domain/users/use-cases/index.js +5 -0
  471. package/src/domain/users/use-cases/index.js.map +1 -0
  472. package/src/domain/users/use-cases/recovery-password.js +9 -0
  473. package/src/domain/users/use-cases/recovery-password.js.map +1 -0
  474. package/src/domain/users/use-cases/register.d.ts +1 -1
  475. package/src/domain/users/use-cases/register.js +31 -0
  476. package/src/domain/users/use-cases/register.js.map +1 -0
  477. package/src/domain/users/use-cases/signout.js +9 -0
  478. package/src/domain/users/use-cases/signout.js.map +1 -0
  479. package/src/errors/duplicated-results.error.js +7 -0
  480. package/src/errors/duplicated-results.error.js.map +1 -0
  481. package/src/errors/index.js +5 -0
  482. package/src/errors/index.js.map +1 -0
  483. package/src/errors/invalid-argument.error.js +7 -0
  484. package/src/errors/invalid-argument.error.js.map +1 -0
  485. package/src/errors/not-found.error.js +7 -0
  486. package/src/errors/not-found.error.js.map +1 -0
  487. package/src/errors/required-argument.error.js +9 -0
  488. package/src/errors/required-argument.error.js.map +1 -0
  489. package/src/index.js +6 -0
  490. package/src/index.js.map +1 -0
  491. package/src/infra/elasticsearch/adapters/axios.adapter.d.ts +1 -1
  492. package/src/infra/elasticsearch/adapters/axios.adapter.js +67 -0
  493. package/src/infra/elasticsearch/adapters/axios.adapter.js.map +1 -0
  494. package/src/infra/elasticsearch/adapters/elastic-search.adapter.js +2 -0
  495. package/src/infra/elasticsearch/adapters/elastic-search.adapter.js.map +1 -0
  496. package/src/infra/elasticsearch/adapters/index.js +3 -0
  497. package/src/infra/elasticsearch/adapters/index.js.map +1 -0
  498. package/src/infra/elasticsearch/index.js +4 -0
  499. package/src/infra/elasticsearch/index.js.map +1 -0
  500. package/src/infra/elasticsearch/indexes/index.js +2 -0
  501. package/src/infra/elasticsearch/indexes/index.js.map +1 -0
  502. package/src/infra/elasticsearch/indexes/products-index.js +105 -0
  503. package/src/infra/elasticsearch/indexes/products-index.js.map +1 -0
  504. package/src/infra/elasticsearch/types/elastic-search-result.d.ts +1 -1
  505. package/src/infra/elasticsearch/types/elastic-search-result.js +2 -0
  506. package/src/infra/elasticsearch/types/elastic-search-result.js.map +1 -0
  507. package/src/infra/elasticsearch/types/index.js +2 -0
  508. package/src/infra/elasticsearch/types/index.js.map +1 -0
  509. package/src/infra/firebase/auth/authentication-firebase-auth.service.js +41 -0
  510. package/src/infra/firebase/auth/authentication-firebase-auth.service.js.map +1 -0
  511. package/src/infra/firebase/auth/index.js +3 -0
  512. package/src/infra/firebase/auth/index.js.map +1 -0
  513. package/src/infra/firebase/auth/register-firebase-auth.service.js +33 -0
  514. package/src/infra/firebase/auth/register-firebase-auth.service.js.map +1 -0
  515. package/src/infra/firebase/auth/types/firebase-user-with-id.type.d.ts +1 -1
  516. package/src/infra/firebase/auth/types/firebase-user-with-id.type.js +2 -0
  517. package/src/infra/firebase/auth/types/firebase-user-with-id.type.js.map +1 -0
  518. package/src/infra/firebase/auth/types/index.js +2 -0
  519. package/src/infra/firebase/auth/types/index.js.map +1 -0
  520. package/src/infra/firebase/firestore/enums/firestore-field-type.enum.js +10 -0
  521. package/src/infra/firebase/firestore/enums/firestore-field-type.enum.js.map +1 -0
  522. package/src/infra/firebase/firestore/enums/index.js +2 -0
  523. package/src/infra/firebase/firestore/enums/index.js.map +1 -0
  524. package/src/infra/firebase/firestore/index.js +4 -0
  525. package/src/infra/firebase/firestore/index.js.map +1 -0
  526. package/src/infra/firebase/firestore/mixins/index.js +10 -0
  527. package/src/infra/firebase/firestore/mixins/index.js.map +1 -0
  528. package/src/infra/firebase/firestore/mixins/with-create-firestore.mixin.js +33 -0
  529. package/src/infra/firebase/firestore/mixins/with-create-firestore.mixin.js.map +1 -0
  530. package/src/infra/firebase/firestore/mixins/with-crud-firestore.mixin.js +10 -0
  531. package/src/infra/firebase/firestore/mixins/with-crud-firestore.mixin.js.map +1 -0
  532. package/src/infra/firebase/firestore/mixins/with-delete-firestore.mixin.js +19 -0
  533. package/src/infra/firebase/firestore/mixins/with-delete-firestore.mixin.js.map +1 -0
  534. package/src/infra/firebase/firestore/mixins/with-find-firestore.mixin.js +109 -0
  535. package/src/infra/firebase/firestore/mixins/with-find-firestore.mixin.js.map +1 -0
  536. package/src/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +1 -1
  537. package/src/infra/firebase/firestore/mixins/with-firestore.mixin.js +77 -0
  538. package/src/infra/firebase/firestore/mixins/with-firestore.mixin.js.map +1 -0
  539. package/src/infra/firebase/firestore/mixins/with-get-firestore.mixin.js +24 -0
  540. package/src/infra/firebase/firestore/mixins/with-get-firestore.mixin.js.map +1 -0
  541. package/src/infra/firebase/firestore/mixins/with-helpers.mixin.js +17 -0
  542. package/src/infra/firebase/firestore/mixins/with-helpers.mixin.js.map +1 -0
  543. package/src/infra/firebase/firestore/mixins/with-sub-collection.mixin.d.ts +1 -1
  544. package/src/infra/firebase/firestore/mixins/with-sub-collection.mixin.js +13 -0
  545. package/src/infra/firebase/firestore/mixins/with-sub-collection.mixin.js.map +1 -0
  546. package/src/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +1 -1
  547. package/src/infra/firebase/firestore/mixins/with-update-firestore.mixin.js +52 -0
  548. package/src/infra/firebase/firestore/mixins/with-update-firestore.mixin.js.map +1 -0
  549. package/src/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js +67 -0
  550. package/src/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js.map +1 -0
  551. package/src/infra/firebase/firestore/repositories/catalog/index.js +5 -0
  552. package/src/infra/firebase/firestore/repositories/catalog/index.js.map +1 -0
  553. package/src/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js +56 -0
  554. package/src/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js.map +1 -0
  555. package/src/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.js +16 -0
  556. package/src/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.js.map +1 -0
  557. package/src/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.js +14 -0
  558. package/src/infra/firebase/firestore/repositories/catalog/subscription-product-firestore.repository.js.map +1 -0
  559. package/src/infra/firebase/firestore/repositories/index.js +5 -0
  560. package/src/infra/firebase/firestore/repositories/index.js.map +1 -0
  561. package/src/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.js +66 -0
  562. package/src/infra/firebase/firestore/repositories/shop-settings/home-firestore.repository.js.map +1 -0
  563. package/src/infra/firebase/firestore/repositories/shop-settings/index.js +4 -0
  564. package/src/infra/firebase/firestore/repositories/shop-settings/index.js.map +1 -0
  565. package/src/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.js +14 -0
  566. package/src/infra/firebase/firestore/repositories/shop-settings/shop-menu-firestore.repository.js.map +1 -0
  567. package/src/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.js +14 -0
  568. package/src/infra/firebase/firestore/repositories/shop-settings/shop-settings-firestore.repository.js.map +1 -0
  569. package/src/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.js +14 -0
  570. package/src/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.js.map +1 -0
  571. package/src/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.js +14 -0
  572. package/src/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.js.map +1 -0
  573. package/src/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.js +14 -0
  574. package/src/infra/firebase/firestore/repositories/shopping/campaign-hashtag-firestore.repository.js.map +1 -0
  575. package/src/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.js +14 -0
  576. package/src/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.js.map +1 -0
  577. package/src/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.js +14 -0
  578. package/src/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.js.map +1 -0
  579. package/src/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.js +31 -0
  580. package/src/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.js.map +1 -0
  581. package/src/infra/firebase/firestore/repositories/shopping/index.js +11 -0
  582. package/src/infra/firebase/firestore/repositories/shopping/index.js.map +1 -0
  583. package/src/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.js +11 -0
  584. package/src/infra/firebase/firestore/repositories/shopping/legacy-order-firestore.repository.js.map +1 -0
  585. package/src/infra/firebase/firestore/repositories/shopping/order-firestore.repository.js +41 -0
  586. package/src/infra/firebase/firestore/repositories/shopping/order-firestore.repository.js.map +1 -0
  587. package/src/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.js +14 -0
  588. package/src/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.js.map +1 -0
  589. package/src/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.js +14 -0
  590. package/src/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.js.map +1 -0
  591. package/src/infra/firebase/firestore/repositories/users/index.js +9 -0
  592. package/src/infra/firebase/firestore/repositories/users/index.js.map +1 -0
  593. package/src/infra/firebase/firestore/repositories/users/lead-firestore.repository.js +14 -0
  594. package/src/infra/firebase/firestore/repositories/users/lead-firestore.repository.js.map +1 -0
  595. package/src/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.js +16 -0
  596. package/src/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.js.map +1 -0
  597. package/src/infra/firebase/firestore/repositories/users/subscription-firestore.repository.js +14 -0
  598. package/src/infra/firebase/firestore/repositories/users/subscription-firestore.repository.js.map +1 -0
  599. package/src/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.js +16 -0
  600. package/src/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.js.map +1 -0
  601. package/src/infra/firebase/firestore/repositories/users/user-address-firestore.repository.js +16 -0
  602. package/src/infra/firebase/firestore/repositories/users/user-address-firestore.repository.js.map +1 -0
  603. package/src/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.js +16 -0
  604. package/src/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.js.map +1 -0
  605. package/src/infra/firebase/firestore/repositories/users/user-firestore.repository.js +50 -0
  606. package/src/infra/firebase/firestore/repositories/users/user-firestore.repository.js.map +1 -0
  607. package/src/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.js +16 -0
  608. package/src/infra/firebase/firestore/repositories/users/user-payment-method-firestore.repository.js.map +1 -0
  609. package/src/infra/firebase/firestore/types/firestore-interceptors.type.d.ts +1 -1
  610. package/src/infra/firebase/firestore/types/firestore-interceptors.type.js +2 -0
  611. package/src/infra/firebase/firestore/types/firestore-interceptors.type.js.map +1 -0
  612. package/src/infra/firebase/firestore/types/firestore-sub.repository.type.d.ts +1 -1
  613. package/src/infra/firebase/firestore/types/firestore-sub.repository.type.js +2 -0
  614. package/src/infra/firebase/firestore/types/firestore-sub.repository.type.js.map +1 -0
  615. package/src/infra/firebase/firestore/types/firestore.helpers.type.js +2 -0
  616. package/src/infra/firebase/firestore/types/firestore.helpers.type.js.map +1 -0
  617. package/src/infra/firebase/firestore/types/firestore.repository.type.d.ts +1 -1
  618. package/src/infra/firebase/firestore/types/firestore.repository.type.js +2 -0
  619. package/src/infra/firebase/firestore/types/firestore.repository.type.js.map +1 -0
  620. package/src/infra/firebase/firestore/types/index.js +5 -0
  621. package/src/infra/firebase/firestore/types/index.js.map +1 -0
  622. package/src/infra/firebase/index.js +3 -0
  623. package/src/infra/firebase/index.js.map +1 -0
  624. package/src/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.js +13 -0
  625. package/src/infra/hasura-graphql/enums/hasura-graphql-column-type.enum.js.map +1 -0
  626. package/src/infra/hasura-graphql/enums/hasura-graphql-where.enum.js +17 -0
  627. package/src/infra/hasura-graphql/enums/hasura-graphql-where.enum.js.map +1 -0
  628. package/src/infra/hasura-graphql/enums/index.js +3 -0
  629. package/src/infra/hasura-graphql/enums/index.js.map +1 -0
  630. package/src/infra/hasura-graphql/index.js +5 -0
  631. package/src/infra/hasura-graphql/index.js.map +1 -0
  632. package/src/infra/hasura-graphql/mixins/helpers/attribute-option.helper.d.ts +1 -1
  633. package/src/infra/hasura-graphql/mixins/helpers/attribute-option.helper.js +32 -0
  634. package/src/infra/hasura-graphql/mixins/helpers/attribute-option.helper.js.map +1 -0
  635. package/src/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.js +56 -0
  636. package/src/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.js.map +1 -0
  637. package/src/infra/hasura-graphql/mixins/helpers/filter-option.helper.js +22 -0
  638. package/src/infra/hasura-graphql/mixins/helpers/filter-option.helper.js.map +1 -0
  639. package/src/infra/hasura-graphql/mixins/helpers/graphql-field.helper.d.ts +1 -1
  640. package/src/infra/hasura-graphql/mixins/helpers/graphql-field.helper.js +104 -0
  641. package/src/infra/hasura-graphql/mixins/helpers/graphql-field.helper.js.map +1 -0
  642. package/src/infra/hasura-graphql/mixins/helpers/index.js +5 -0
  643. package/src/infra/hasura-graphql/mixins/helpers/index.js.map +1 -0
  644. package/src/infra/hasura-graphql/mixins/index.js +8 -0
  645. package/src/infra/hasura-graphql/mixins/index.js.map +1 -0
  646. package/src/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.d.ts +1 -1
  647. package/src/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.js +41 -0
  648. package/src/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.js.map +1 -0
  649. package/src/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.js +10 -0
  650. package/src/infra/hasura-graphql/mixins/with-crud-hasura-graphql.mixin.js.map +1 -0
  651. package/src/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.d.ts +1 -1
  652. package/src/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.js +28 -0
  653. package/src/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.js.map +1 -0
  654. package/src/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.js +143 -0
  655. package/src/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.js.map +1 -0
  656. package/src/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.d.ts +1 -1
  657. package/src/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.js +35 -0
  658. package/src/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.js.map +1 -0
  659. package/src/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.d.ts +3 -3
  660. package/src/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.js +105 -0
  661. package/src/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.js.map +1 -0
  662. package/src/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.d.ts +2 -2
  663. package/src/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.js +57 -0
  664. package/src/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.js.map +1 -0
  665. package/src/infra/hasura-graphql/models/category-hasura-graphql.js +4 -0
  666. package/src/infra/hasura-graphql/models/category-hasura-graphql.js.map +1 -0
  667. package/src/infra/hasura-graphql/models/index.js +5 -0
  668. package/src/infra/hasura-graphql/models/index.js.map +1 -0
  669. package/src/infra/hasura-graphql/models/kit-product-hasura-graphql.js +15 -0
  670. package/src/infra/hasura-graphql/models/kit-product-hasura-graphql.js.map +1 -0
  671. package/src/infra/hasura-graphql/models/product-hasura-graphql.js +11 -0
  672. package/src/infra/hasura-graphql/models/product-hasura-graphql.js.map +1 -0
  673. package/src/infra/hasura-graphql/models/variant-hasura-graphql.js +9 -0
  674. package/src/infra/hasura-graphql/models/variant-hasura-graphql.js.map +1 -0
  675. package/src/infra/hasura-graphql/repositories/catalog/category-collection-children-hasura-graphql.repository.js +39 -0
  676. package/src/infra/hasura-graphql/repositories/catalog/category-collection-children-hasura-graphql.repository.js.map +1 -0
  677. package/src/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.js +107 -0
  678. package/src/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.js.map +1 -0
  679. package/src/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +330 -0
  680. package/src/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js.map +1 -0
  681. package/src/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.js +106 -0
  682. package/src/infra/hasura-graphql/repositories/catalog/filter-hasura-graphql.repository.js.map +1 -0
  683. package/src/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.js +22 -0
  684. package/src/infra/hasura-graphql/repositories/catalog/filter-option-hasura-graphql.repository.js.map +1 -0
  685. package/src/infra/hasura-graphql/repositories/catalog/index.js +9 -0
  686. package/src/infra/hasura-graphql/repositories/catalog/index.js.map +1 -0
  687. package/src/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +461 -0
  688. package/src/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js.map +1 -0
  689. package/src/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.js +107 -0
  690. package/src/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.js.map +1 -0
  691. package/src/infra/hasura-graphql/repositories/catalog/wishlist-hasura-graphql.repository.js +228 -0
  692. package/src/infra/hasura-graphql/repositories/catalog/wishlist-hasura-graphql.repository.js.map +1 -0
  693. package/src/infra/hasura-graphql/repositories/index.js +2 -0
  694. package/src/infra/hasura-graphql/repositories/index.js.map +1 -0
  695. package/src/infra/hasura-graphql/types/fields.type.d.ts +1 -1
  696. package/src/infra/hasura-graphql/types/fields.type.js +2 -0
  697. package/src/infra/hasura-graphql/types/fields.type.js.map +1 -0
  698. package/src/infra/hasura-graphql/types/graphql.repository.type.d.ts +2 -2
  699. package/src/infra/hasura-graphql/types/graphql.repository.type.js +2 -0
  700. package/src/infra/hasura-graphql/types/graphql.repository.type.js.map +1 -0
  701. package/src/infra/hasura-graphql/types/hasura-graphql-auth-options.type.d.ts +1 -1
  702. package/src/infra/hasura-graphql/types/hasura-graphql-auth-options.type.js +2 -0
  703. package/src/infra/hasura-graphql/types/hasura-graphql-auth-options.type.js.map +1 -0
  704. package/src/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +6 -6
  705. package/src/infra/hasura-graphql/types/hasura-graphql-fields.type.js +2 -0
  706. package/src/infra/hasura-graphql/types/hasura-graphql-fields.type.js.map +1 -0
  707. package/src/infra/hasura-graphql/types/hasura-graphql-headers.type.d.ts +1 -1
  708. package/src/infra/hasura-graphql/types/hasura-graphql-headers.type.js +2 -0
  709. package/src/infra/hasura-graphql/types/hasura-graphql-headers.type.js.map +1 -0
  710. package/src/infra/hasura-graphql/types/index.js +9 -0
  711. package/src/infra/hasura-graphql/types/index.js.map +1 -0
  712. package/src/infra/hasura-graphql/types/nested-field.type.d.ts +1 -1
  713. package/src/infra/hasura-graphql/types/nested-field.type.js +2 -0
  714. package/src/infra/hasura-graphql/types/nested-field.type.js.map +1 -0
  715. package/src/infra/hasura-graphql/types/query-builder-options.type.js +2 -0
  716. package/src/infra/hasura-graphql/types/query-builder-options.type.js.map +1 -0
  717. package/src/infra/hasura-graphql/types/variable-options.type.d.ts +1 -1
  718. package/src/infra/hasura-graphql/types/variable-options.type.js +2 -0
  719. package/src/infra/hasura-graphql/types/variable-options.type.js.map +1 -0
  720. package/src/infra/index.js +4 -0
  721. package/src/infra/index.js.map +1 -0
  722. package/src/utils/decorators/debug.class.decorator.js +7 -0
  723. package/src/utils/decorators/debug.class.decorator.js.map +1 -0
  724. package/src/utils/decorators/index.js +3 -0
  725. package/src/utils/decorators/index.js.map +1 -0
  726. package/src/utils/decorators/trace.method.decorator.d.ts +3 -3
  727. package/src/utils/decorators/trace.method.decorator.js +81 -0
  728. package/src/utils/decorators/trace.method.decorator.js.map +1 -0
  729. package/src/utils/get.js +3 -0
  730. package/src/utils/get.js.map +1 -0
  731. package/src/utils/helpers/class-name.helper.js +15 -0
  732. package/src/utils/helpers/class-name.helper.js.map +1 -0
  733. package/src/utils/helpers/debug-decorator.helper.d.ts +1 -1
  734. package/src/utils/helpers/debug-decorator.helper.js +18 -0
  735. package/src/utils/helpers/debug-decorator.helper.js.map +1 -0
  736. package/src/utils/helpers/debug.helper.d.ts +3 -3
  737. package/src/utils/helpers/debug.helper.js +150 -0
  738. package/src/utils/helpers/debug.helper.js.map +1 -0
  739. package/src/utils/helpers/index.js +5 -0
  740. package/src/utils/helpers/index.js.map +1 -0
  741. package/src/utils/helpers/reflect.helper.d.ts +7 -7
  742. package/src/utils/helpers/reflect.helper.js +165 -0
  743. package/src/utils/helpers/reflect.helper.js.map +1 -0
  744. package/src/utils/index.d.ts +1 -1
  745. package/src/utils/index.js +13 -0
  746. package/src/utils/index.js.map +1 -0
  747. package/src/utils/is-uuid.js +3 -0
  748. package/src/utils/is-uuid.js.map +1 -0
  749. package/src/utils/is.js +4 -0
  750. package/src/utils/is.js.map +1 -0
  751. package/src/utils/log.utils.js +9 -0
  752. package/src/utils/log.utils.js.map +1 -0
  753. package/src/utils/mixins/base.mixin.js +6 -0
  754. package/src/utils/mixins/base.mixin.js.map +1 -0
  755. package/src/utils/mixins/index.js +4 -0
  756. package/src/utils/mixins/index.js.map +1 -0
  757. package/src/utils/mixins/merge-constructor-params.type.d.ts +2 -2
  758. package/src/utils/mixins/merge-constructor-params.type.js +2 -0
  759. package/src/utils/mixins/merge-constructor-params.type.js.map +1 -0
  760. package/src/utils/mixins/mixin-ctor.type.d.ts +1 -1
  761. package/src/utils/mixins/mixin-ctor.type.js +2 -0
  762. package/src/utils/mixins/mixin-ctor.type.js.map +1 -0
  763. package/src/utils/parse-datetime.js +14 -0
  764. package/src/utils/parse-datetime.js.map +1 -0
  765. package/src/utils/types/array-element.type.d.ts +1 -1
  766. package/src/utils/types/array-element.type.js +2 -0
  767. package/src/utils/types/array-element.type.js.map +1 -0
  768. package/src/utils/types/index.js +3 -0
  769. package/src/utils/types/index.js.map +1 -0
  770. package/src/utils/types/prop.type.d.ts +1 -1
  771. package/src/utils/types/prop.type.js +2 -0
  772. package/src/utils/types/prop.type.js.map +1 -0
  773. package/index.cjs.d.ts +0 -1
  774. package/index.cjs.default.js +0 -1
  775. package/index.cjs.js +0 -5730
  776. package/index.cjs.mjs +0 -2
  777. package/index.esm.js +0 -5479
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.class.decorator.js","sourceRoot":"","sources":["../../../../../projects/connect/src/utils/decorators/debug.class.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAgB,MAAM,YAAY,CAAA;AAE/D,MAAM,UAAU,KAAK,CAAC,IAAmB;IACvC,OAAO,UAAqB,MAAW;QACrC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IAClD,CAAC,CAAA;AACH,CAAC","sourcesContent":["import { DebugDecoratorHelper, DebugOptions } from '../helpers'\r\n\r\nexport function Debug(opts?: DebugOptions): ClassDecorator {\r\n return function <TFunction>(target: any): TFunction | void {\r\n DebugDecoratorHelper.set(target.prototype, opts)\r\n }\r\n}\r\n"]}
@@ -0,0 +1,3 @@
1
+ export * from './debug.class.decorator';
2
+ export * from './trace.method.decorator';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../projects/connect/src/utils/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA","sourcesContent":["export * from './debug.class.decorator'\r\nexport * from './trace.method.decorator'\r\n"]}
@@ -1,11 +1,11 @@
1
- export type CallbackFnArgs<T, Result> = {
1
+ export declare type CallbackFnArgs<T, Result> = {
2
2
  target: T;
3
3
  result: Result;
4
4
  args: Array<any>;
5
5
  namespace?: Array<string>;
6
6
  };
7
- type CallbackFn<T, Result> = (opts: CallbackFnArgs<T, Result>) => void;
8
- type TraceOptions<T, Result> = {
7
+ declare type CallbackFn<T, Result> = (opts: CallbackFnArgs<T, Result>) => void;
8
+ declare type TraceOptions<T, Result> = {
9
9
  callbackFn?: CallbackFn<T, Result>;
10
10
  level?: 'trace' | 'log';
11
11
  };
@@ -0,0 +1,81 @@
1
+ import { get } from 'lodash';
2
+ import { DebugHelper } from '../helpers';
3
+ const ASYNC_IDENTIFIER = 'async';
4
+ export function Log(options = {}) {
5
+ return Trace(Object.assign({ level: 'log' }, options));
6
+ }
7
+ export function Trace(options = {}) {
8
+ return function (target, propertyKey, propertyDescriptor) {
9
+ const method = propertyDescriptor.value;
10
+ const isPromise = method.toString().includes(ASYNC_IDENTIFIER);
11
+ const args = {
12
+ options,
13
+ method,
14
+ target,
15
+ propertyKey,
16
+ propertyDescriptor,
17
+ };
18
+ propertyDescriptor.value = isPromise ? promiseTracer(args) : functionTracer(args);
19
+ return propertyDescriptor;
20
+ };
21
+ }
22
+ const traceCall = function ({ target, propertyKey, propertyDescriptor, args }) {
23
+ if (!target.debug)
24
+ target.debug = DebugHelper.for(target, propertyKey);
25
+ return target.debug.push(propertyKey).trace('called', { target, propertyKey, propertyDescriptor, args });
26
+ };
27
+ const promiseTracer = function ({ options, method, propertyKey, propertyDescriptor }) {
28
+ return function (...args) {
29
+ return new Promise((resolve, reject) => {
30
+ const debug = traceCall({ target: this, propertyDescriptor, propertyKey, args });
31
+ if (get(options, 'level', '') === 'log') {
32
+ debug.with('params').log(args);
33
+ }
34
+ return method
35
+ .apply(this, args)
36
+ .then((result) => {
37
+ if (options.callbackFn) {
38
+ options.callbackFn({ target: this, result, args, namespace: [propertyKey] });
39
+ }
40
+ if (get(options, 'level', '') === 'log') {
41
+ debug.with('returns').log(result === undefined ? 'void' : result);
42
+ }
43
+ return resolve(result);
44
+ })
45
+ .catch((error) => {
46
+ debug.error(error, ...args);
47
+ debug.with('stack').error(error.stack).pop();
48
+ return reject(error);
49
+ })
50
+ .finally(() => {
51
+ return debug.trace('finally', { args }).pop();
52
+ });
53
+ });
54
+ };
55
+ };
56
+ const functionTracer = function ({ options, target, method, propertyKey, propertyDescriptor, }) {
57
+ return function (...args) {
58
+ const debug = traceCall({ target: this || target, propertyDescriptor, propertyKey, args });
59
+ if (get(options, 'level', '') === 'log') {
60
+ debug.with('params').log(args);
61
+ }
62
+ let result;
63
+ try {
64
+ result = method.apply(this, args);
65
+ if (options.callbackFn)
66
+ options.callbackFn({ target: this, result, args, namespace: [propertyKey] });
67
+ if (get(options, 'level', '') === 'log') {
68
+ debug.with('returns').log(result === undefined ? 'void' : result);
69
+ }
70
+ return result;
71
+ }
72
+ catch (error) {
73
+ debug.error(error, ...args).pop();
74
+ throw error;
75
+ }
76
+ finally {
77
+ debug.trace('finally', { args }).pop();
78
+ }
79
+ };
80
+ };
81
+ //# sourceMappingURL=trace.method.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.method.decorator.js","sourceRoot":"","sources":["../../../../../projects/connect/src/utils/decorators/trace.method.decorator.ts"],"names":[],"mappings":"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","sourcesContent":["import { get } from 'lodash'\r\n\r\nimport { Debuggable, DebugHelper } from '../helpers'\r\n\r\nexport type CallbackFnArgs<T, Result> = {\r\n target: T\r\n result: Result\r\n args: Array<any>\r\n namespace?: Array<string>\r\n}\r\n\r\ntype CallbackFn<T, Result> = (opts: CallbackFnArgs<T, Result>) => void\r\n\r\ntype TraceOptions<T, Result> = {\r\n callbackFn?: CallbackFn<T, Result>\r\n level?: 'trace' | 'log'\r\n}\r\n\r\ntype Tracer<T, Result> = {\r\n options: TraceOptions<T, Result>\r\n method: any\r\n target: T & Debuggable\r\n propertyDescriptor: PropertyDescriptor\r\n propertyKey: string\r\n}\r\n\r\ntype CallTracerArgs = {\r\n target: any\r\n propertyKey: string\r\n propertyDescriptor: PropertyDescriptor\r\n args: Array<any>\r\n}\r\n\r\nconst ASYNC_IDENTIFIER = 'async'\r\n\r\nexport function Log<T, Result>(options: TraceOptions<T, Result> = {}) {\r\n return Trace<T, Result>({ level: 'log', ...options })\r\n}\r\n\r\nexport function Trace<T, Result>(options: TraceOptions<T, Result> = {}) {\r\n return function (target: any, propertyKey: string, propertyDescriptor: PropertyDescriptor) {\r\n const method = propertyDescriptor.value\r\n const isPromise = method.toString().includes(ASYNC_IDENTIFIER)\r\n const args = {\r\n options,\r\n method,\r\n target,\r\n propertyKey,\r\n propertyDescriptor,\r\n }\r\n\r\n propertyDescriptor.value = isPromise ? promiseTracer(args) : functionTracer(args)\r\n\r\n return propertyDescriptor\r\n }\r\n}\r\n\r\nconst traceCall = function ({ target, propertyKey, propertyDescriptor, args }: CallTracerArgs): DebugHelper {\r\n if (!target.debug) target.debug = DebugHelper.for(target, propertyKey)\r\n\r\n return target.debug.push(propertyKey).trace('called', { target, propertyKey, propertyDescriptor, args })\r\n}\r\n\r\nconst promiseTracer = function <T, Result>({ options, method, propertyKey, propertyDescriptor }: Tracer<T, Result>) {\r\n return function (this: any, ...args: Array<any>): any {\r\n return new Promise((resolve, reject) => {\r\n const debug = traceCall({ target: this, propertyDescriptor, propertyKey, args })\r\n\r\n if (get(options, 'level', '') === 'log') {\r\n debug.with('params').log(args)\r\n }\r\n\r\n return method\r\n .apply(this, args)\r\n .then((result: any) => {\r\n if (options.callbackFn) {\r\n options.callbackFn({ target: this, result, args, namespace: [propertyKey] })\r\n }\r\n\r\n if (get(options, 'level', '') === 'log') {\r\n debug.with('returns').log(result === undefined ? 'void' : result)\r\n }\r\n\r\n return resolve(result)\r\n })\r\n .catch((error: Error) => {\r\n debug.error(error, ...args)\r\n debug.with('stack').error(error.stack).pop()\r\n\r\n return reject(error)\r\n })\r\n .finally(() => {\r\n return debug.trace('finally', { args }).pop()\r\n })\r\n })\r\n }\r\n}\r\n\r\nconst functionTracer = function <T, Result>({\r\n options,\r\n target,\r\n method,\r\n propertyKey,\r\n propertyDescriptor,\r\n}: Tracer<T, Result>) {\r\n return function (this: any, ...args: Array<any>): any {\r\n const debug = traceCall({ target: this || target, propertyDescriptor, propertyKey, args })\r\n\r\n if (get(options, 'level', '') === 'log') {\r\n debug.with('params').log(args)\r\n }\r\n\r\n let result: any\r\n\r\n try {\r\n result = method.apply(this, args)\r\n\r\n if (options.callbackFn) options.callbackFn({ target: this, result, args, namespace: [propertyKey] })\r\n\r\n if (get(options, 'level', '') === 'log') {\r\n debug.with('returns').log(result === undefined ? 'void' : result)\r\n }\r\n\r\n return result\r\n } catch (error) {\r\n debug.error(error, ...args).pop()\r\n\r\n throw error\r\n } finally {\r\n debug.trace('finally', { args }).pop()\r\n }\r\n }\r\n}\r\n"]}
@@ -0,0 +1,3 @@
1
+ import { get as getLodash } from 'lodash';
2
+ export const get = (object, path, defaultValue) => getLodash(object, path, defaultValue);
3
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../projects/connect/src/utils/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAA;AAEzC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAAW,EAAE,IAAY,EAAE,YAAkB,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,CAAA","sourcesContent":["import { get as getLodash } from 'lodash'\r\n\r\nexport const get = (object: any, path: string, defaultValue?: any) => getLodash(object, path, defaultValue)\r\n"]}
@@ -0,0 +1,15 @@
1
+ import { compact, get } from 'lodash';
2
+ export class ClassNameHelper {
3
+ static get(clazz) {
4
+ if (!clazz)
5
+ return null;
6
+ const prototype = Object.getPrototypeOf(clazz);
7
+ const names = compact([
8
+ get(clazz, 'constructor.name'),
9
+ get(prototype, 'constructor.name'),
10
+ get(prototype, '__proto__.constructor.name'),
11
+ ]);
12
+ return names.find((name) => name !== 'class_1');
13
+ }
14
+ }
15
+ //# sourceMappingURL=class-name.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class-name.helper.js","sourceRoot":"","sources":["../../../../../projects/connect/src/utils/helpers/class-name.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAErC,MAAM,OAAO,eAAe;IAC1B,MAAM,CAAC,GAAG,CAAC,KAAU;QACnB,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAA;QAEvB,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;QAC9C,MAAM,KAAK,GAAG,OAAO,CAAC;YACpB,GAAG,CAAC,KAAK,EAAE,kBAAkB,CAAC;YAC9B,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAClC,GAAG,CAAC,SAAS,EAAE,4BAA4B,CAAC;SAC7C,CAAC,CAAA;QAEF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;IACjD,CAAC;CACF","sourcesContent":["import { compact, get } from 'lodash'\r\n\r\nexport class ClassNameHelper {\r\n static get(clazz: any): string {\r\n if (!clazz) return null\r\n\r\n const prototype = Object.getPrototypeOf(clazz)\r\n const names = compact([\r\n get(clazz, 'constructor.name'),\r\n get(prototype, 'constructor.name'),\r\n get(prototype, '__proto__.constructor.name'),\r\n ])\r\n\r\n return names.find((name) => name !== 'class_1')\r\n }\r\n}\r\n"]}
@@ -1,4 +1,4 @@
1
- export type DebugOptions = {
1
+ export declare type DebugOptions = {
2
2
  name?: string;
3
3
  namespaces?: Array<string>;
4
4
  };
@@ -0,0 +1,18 @@
1
+ import { ReflectHelper } from './reflect.helper';
2
+ export class DebugDecoratorHelper {
3
+ static set(target, options) {
4
+ ReflectHelper.add({
5
+ key: DebugDecoratorHelper.DebugNamingMetadataKey,
6
+ target,
7
+ value: options,
8
+ });
9
+ }
10
+ static get(target) {
11
+ return ReflectHelper.first({
12
+ key: DebugDecoratorHelper.DebugNamingMetadataKey,
13
+ target,
14
+ });
15
+ }
16
+ }
17
+ DebugDecoratorHelper.DebugNamingMetadataKey = 'model:naming:decorator';
18
+ //# sourceMappingURL=debug-decorator.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-decorator.helper.js","sourceRoot":"","sources":["../../../../../projects/connect/src/utils/helpers/debug-decorator.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAOhD,MAAM,OAAO,oBAAoB;IAG/B,MAAM,CAAC,GAAG,CAAC,MAAc,EAAE,OAAqB;QAC9C,aAAa,CAAC,GAAG,CAAe;YAC9B,GAAG,EAAE,oBAAoB,CAAC,sBAAsB;YAChD,MAAM;YACN,KAAK,EAAE,OAAO;SACf,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,MAAc;QACvB,OAAO,aAAa,CAAC,KAAK,CAAe;YACvC,GAAG,EAAE,oBAAoB,CAAC,sBAAsB;YAChD,MAAM;SACP,CAAC,CAAA;IACJ,CAAC;;AAfM,2CAAsB,GAAG,wBAAwB,CAAA","sourcesContent":["import { ReflectHelper } from './reflect.helper'\r\n\r\nexport type DebugOptions = {\r\n name?: string\r\n namespaces?: Array<string>\r\n}\r\n\r\nexport class DebugDecoratorHelper {\r\n static DebugNamingMetadataKey = 'model:naming:decorator'\r\n\r\n static set(target: object, options: DebugOptions): void {\r\n ReflectHelper.add<DebugOptions>({\r\n key: DebugDecoratorHelper.DebugNamingMetadataKey,\r\n target,\r\n value: options,\r\n })\r\n }\r\n\r\n static get(target: object): DebugOptions {\r\n return ReflectHelper.first<DebugOptions>({\r\n key: DebugDecoratorHelper.DebugNamingMetadataKey,\r\n target,\r\n })\r\n }\r\n}\r\n"]}
@@ -1,14 +1,14 @@
1
1
  import { Debugger } from 'debug';
2
2
  import { Subject } from 'rxjs';
3
- export type Debuggable = {
3
+ export declare type Debuggable = {
4
4
  debug: DebugHelper;
5
5
  };
6
- type DebugLog = {
6
+ declare type DebugLog = {
7
7
  namespace: string;
8
8
  message: string;
9
9
  args: Array<any>;
10
10
  };
11
- type DebugError = {
11
+ declare type DebugError = {
12
12
  namespace: string;
13
13
  error: any;
14
14
  args: Array<any>;
@@ -0,0 +1,150 @@
1
+ import { compact, flatten, get, isNil } from 'lodash';
2
+ import { Subject } from 'rxjs';
3
+ import { DebugNamespaces, Logger } from '../log.utils';
4
+ import { DebugDecoratorHelper } from './debug-decorator.helper';
5
+ import { ClassNameHelper } from './class-name.helper';
6
+ export const isDebuggable = (object) => {
7
+ return 'debug' in object;
8
+ };
9
+ export class DebugHelper {
10
+ constructor(...namespace) {
11
+ this.namespaces = new Set();
12
+ this.push(...namespace);
13
+ }
14
+ static namespacesFor(target) {
15
+ if (isNil(target))
16
+ return [];
17
+ const decorator = DebugDecoratorHelper.get(Object.getPrototypeOf(target));
18
+ const namespaces = get(decorator, 'namespaces', []);
19
+ const name = get(decorator, 'name', ClassNameHelper.get(target));
20
+ return [...namespaces, name];
21
+ }
22
+ static as(...namespaces) {
23
+ return new DebugHelper(...namespaces);
24
+ }
25
+ static for(target, ...namespaces) {
26
+ const targetNamespaces = this.namespacesFor(target);
27
+ return new DebugHelper(...targetNamespaces, ...namespaces);
28
+ }
29
+ static from(target, ...namespaces) {
30
+ if (this.isDebuggable(target)) {
31
+ const debug = target.debug;
32
+ if (namespaces)
33
+ debug.push(...namespaces);
34
+ return debug;
35
+ }
36
+ return DebugHelper.for(target, ...namespaces);
37
+ }
38
+ static clonedFrom(target, ...namespaces) {
39
+ if (this.isDebuggable(target)) {
40
+ namespaces.push(...target.debug.entries);
41
+ }
42
+ else if (!isNil(target)) {
43
+ namespaces.push(...this.namespacesFor(target));
44
+ }
45
+ return DebugHelper.for(target, ...namespaces);
46
+ }
47
+ static clone(target, ...namespaces) {
48
+ let original;
49
+ if (this.isDebuggable(target)) {
50
+ original = target.debug;
51
+ namespaces.push(...original.entries);
52
+ }
53
+ return {
54
+ original,
55
+ debug: DebugHelper.for(target, ...namespaces),
56
+ };
57
+ }
58
+ static replace(target, attrs) {
59
+ if (this.isDebuggable(target))
60
+ target.debug = attrs.with;
61
+ }
62
+ static mock(target, ...namespaces) {
63
+ const { original, debug } = DebugHelper.clone(target, ...namespaces);
64
+ DebugHelper.replace(target, { with: debug });
65
+ return { original, debug };
66
+ }
67
+ get entries() {
68
+ return Array.from(get(this, 'namespaces', []));
69
+ }
70
+ get namespace() {
71
+ return compact(flatten(this.entries)).join(':');
72
+ }
73
+ log(message, ...args) {
74
+ this.logger(JSON.stringify(message), ...args.map((element) => JSON.stringify(element)));
75
+ DebugHelper.logs$.next({ namespace: this.namespace, message, args });
76
+ return this;
77
+ }
78
+ trace(message, ...args) {
79
+ this.logger.extend(DebugNamespaces.TRACE)(message, ...args);
80
+ DebugHelper.traces$.next({ namespace: this.namespace, message, args });
81
+ return this;
82
+ }
83
+ error(error, ...args) {
84
+ this.logger.extend(DebugNamespaces.ERROR)(JSON.stringify(error), ...args.map((element) => JSON.stringify(element)));
85
+ DebugHelper.errors$.next({ namespace: this.namespace, error, args });
86
+ return this;
87
+ }
88
+ build() {
89
+ this.logger = Logger;
90
+ this.tracer = Logger;
91
+ this.err = Logger;
92
+ this.entries.forEach((namespace) => {
93
+ this.logger = this.logger.extend(namespace);
94
+ this.tracer = this.tracer.extend(namespace);
95
+ this.err = this.err.extend(namespace);
96
+ });
97
+ return this;
98
+ }
99
+ with(...namespace) {
100
+ return new DebugHelper(...this.entries, ...namespace);
101
+ }
102
+ push(...namespace) {
103
+ if (namespace) {
104
+ namespace.filter((item) => Boolean(item)).forEach((item) => this.namespaces.add(item));
105
+ }
106
+ return this.build();
107
+ }
108
+ unshift(...namespace) {
109
+ if (namespace) {
110
+ return this.reset(...namespace, ...this.entries);
111
+ }
112
+ return this;
113
+ }
114
+ reset(...namespace) {
115
+ this.namespaces = new Set(flatten(compact(namespace)));
116
+ return this.build();
117
+ }
118
+ startWith(...namespace) {
119
+ const current = this.namespaces;
120
+ this.namespaces = new Set(flatten([compact(namespace), ...current]));
121
+ return this.build();
122
+ }
123
+ shift() {
124
+ const list = this.entries;
125
+ list.shift();
126
+ return this.reset(...list);
127
+ }
128
+ pop() {
129
+ const list = this.entries;
130
+ list.pop();
131
+ return this.reset(...list);
132
+ }
133
+ clear() {
134
+ return this.reset();
135
+ }
136
+ remove(...namespace) {
137
+ if (namespace) {
138
+ namespace.filter((item) => Boolean(item)).forEach((item) => this.namespaces.delete(item));
139
+ }
140
+ return this.build();
141
+ }
142
+ puts(...args) {
143
+ return [`[${this.namespace}]`, ...args].join(' ');
144
+ }
145
+ }
146
+ DebugHelper.logs$ = new Subject();
147
+ DebugHelper.traces$ = new Subject();
148
+ DebugHelper.errors$ = new Subject();
149
+ DebugHelper.isDebuggable = isDebuggable;
150
+ //# sourceMappingURL=debug.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.helper.js","sourceRoot":"","sources":["../../../../../projects/connect/src/utils/helpers/debug.helper.ts"],"names":[],"mappings":"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","sourcesContent":["import { Debugger } from 'debug'\r\nimport { compact, flatten, get, isNil } from 'lodash'\r\nimport { Subject } from 'rxjs'\r\n\r\nimport { DebugNamespaces, Logger } from '../log.utils'\r\n\r\nimport { DebugDecoratorHelper } from './debug-decorator.helper'\r\nimport { ClassNameHelper } from './class-name.helper'\r\n\r\nexport type Debuggable = {\r\n debug: DebugHelper\r\n}\r\n\r\ntype DebugLog = {\r\n namespace: string\r\n message: string\r\n args: Array<any>\r\n}\r\n\r\ntype DebugError = {\r\n namespace: string\r\n error: any\r\n args: Array<any>\r\n}\r\n\r\nexport const isDebuggable = (object: any): object is Debuggable => {\r\n return 'debug' in object\r\n}\r\n\r\nexport class DebugHelper {\r\n static logs$ = new Subject<DebugLog>()\r\n static traces$ = new Subject<DebugLog>()\r\n static errors$ = new Subject<DebugError>()\r\n static isDebuggable = isDebuggable\r\n\r\n static namespacesFor(target: object): Array<string> {\r\n if (isNil(target)) return []\r\n\r\n const decorator = DebugDecoratorHelper.get(Object.getPrototypeOf(target))\r\n const namespaces = get(decorator, 'namespaces', [])\r\n const name = get(decorator, 'name', ClassNameHelper.get(target))\r\n\r\n return [...namespaces, name]\r\n }\r\n\r\n static as(...namespaces: Array<string>): DebugHelper {\r\n return new DebugHelper(...namespaces)\r\n }\r\n\r\n static for(target: object, ...namespaces: Array<string>): DebugHelper {\r\n const targetNamespaces = this.namespacesFor(target)\r\n\r\n return new DebugHelper(...targetNamespaces, ...namespaces)\r\n }\r\n\r\n static from(target: object, ...namespaces: Array<string>): DebugHelper {\r\n if (this.isDebuggable(target)) {\r\n const debug = target.debug\r\n\r\n if (namespaces) debug.push(...namespaces)\r\n\r\n return debug\r\n }\r\n\r\n return DebugHelper.for(target, ...namespaces)\r\n }\r\n\r\n static clonedFrom(target: object, ...namespaces: Array<string>): DebugHelper {\r\n if (this.isDebuggable(target)) {\r\n namespaces.push(...target.debug.entries)\r\n } else if (!isNil(target)) {\r\n namespaces.push(...this.namespacesFor(target))\r\n }\r\n\r\n return DebugHelper.for(target, ...namespaces)\r\n }\r\n\r\n static clone(target: object, ...namespaces: Array<string>): { original: DebugHelper; debug: DebugHelper } {\r\n let original: DebugHelper\r\n\r\n if (this.isDebuggable(target)) {\r\n original = target.debug\r\n namespaces.push(...original.entries)\r\n }\r\n\r\n return {\r\n original,\r\n debug: DebugHelper.for(target, ...namespaces),\r\n }\r\n }\r\n\r\n static replace(target: any, attrs: { with: DebugHelper }): void {\r\n if (this.isDebuggable(target)) target.debug = attrs.with\r\n }\r\n\r\n static mock(target: object, ...namespaces: Array<string>): { original: DebugHelper; debug: DebugHelper } {\r\n const { original, debug } = DebugHelper.clone(target, ...namespaces)\r\n\r\n DebugHelper.replace(target, { with: debug })\r\n\r\n return { original, debug }\r\n }\r\n\r\n logger: Debugger\r\n tracer: Debugger\r\n err: Debugger\r\n namespaces: Set<string>\r\n\r\n constructor(...namespace: Array<string>) {\r\n this.namespaces = new Set<string>()\r\n this.push(...namespace)\r\n }\r\n\r\n get entries(): Array<string> {\r\n return Array.from(get(this, 'namespaces', []))\r\n }\r\n\r\n get namespace(): string {\r\n return compact(flatten(this.entries)).join(':')\r\n }\r\n\r\n log(message?: any, ...args: Array<any>): DebugHelper {\r\n this.logger(JSON.stringify(message), ...args.map((element) => JSON.stringify(element)))\r\n DebugHelper.logs$.next({ namespace: this.namespace, message, args })\r\n\r\n return this\r\n }\r\n\r\n trace(message?: any, ...args: Array<any>): DebugHelper {\r\n this.logger.extend(DebugNamespaces.TRACE)(message, ...args)\r\n DebugHelper.traces$.next({ namespace: this.namespace, message, args })\r\n\r\n return this\r\n }\r\n\r\n error(error: any, ...args: Array<any>): DebugHelper {\r\n this.logger.extend(DebugNamespaces.ERROR)(JSON.stringify(error), ...args.map((element) => JSON.stringify(element)))\r\n DebugHelper.errors$.next({ namespace: this.namespace, error, args })\r\n\r\n return this\r\n }\r\n\r\n build(): DebugHelper {\r\n this.logger = Logger\r\n this.tracer = Logger\r\n this.err = Logger\r\n\r\n this.entries.forEach((namespace) => {\r\n this.logger = this.logger.extend(namespace)\r\n this.tracer = this.tracer.extend(namespace)\r\n this.err = this.err.extend(namespace)\r\n })\r\n\r\n return this\r\n }\r\n\r\n with(...namespace: Array<string>): DebugHelper {\r\n return new DebugHelper(...this.entries, ...namespace)\r\n }\r\n\r\n push(...namespace: Array<string>): DebugHelper {\r\n if (namespace) {\r\n namespace.filter((item) => Boolean(item)).forEach((item) => this.namespaces.add(item))\r\n }\r\n\r\n return this.build()\r\n }\r\n\r\n unshift(...namespace: Array<string>): DebugHelper {\r\n if (namespace) {\r\n return this.reset(...namespace, ...this.entries)\r\n }\r\n\r\n return this\r\n }\r\n\r\n reset(...namespace: Array<string>): DebugHelper {\r\n this.namespaces = new Set(flatten(compact(namespace)))\r\n\r\n return this.build()\r\n }\r\n\r\n startWith(...namespace: Array<string>): DebugHelper {\r\n const current = this.namespaces\r\n\r\n this.namespaces = new Set(flatten([compact(namespace), ...current]))\r\n\r\n return this.build()\r\n }\r\n\r\n shift(): DebugHelper {\r\n const list = this.entries\r\n\r\n list.shift()\r\n\r\n return this.reset(...list)\r\n }\r\n\r\n pop(): DebugHelper {\r\n const list = this.entries\r\n\r\n list.pop()\r\n\r\n return this.reset(...list)\r\n }\r\n\r\n clear(): DebugHelper {\r\n return this.reset()\r\n }\r\n\r\n remove(...namespace: Array<string>): DebugHelper {\r\n if (namespace) {\r\n namespace.filter((item) => Boolean(item)).forEach((item) => this.namespaces.delete(item))\r\n }\r\n\r\n return this.build()\r\n }\r\n\r\n puts(...args: Array<string>): string {\r\n return [`[${this.namespace}]`, ...args].join(' ')\r\n }\r\n}\r\n"]}
@@ -0,0 +1,5 @@
1
+ export * from './debug.helper';
2
+ export * from './reflect.helper';
3
+ export * from './class-name.helper';
4
+ export * from './debug-decorator.helper';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../projects/connect/src/utils/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA","sourcesContent":["export * from './debug.helper'\r\nexport * from './reflect.helper'\r\nexport * from './class-name.helper'\r\nexport * from './debug-decorator.helper'\r\n"]}
@@ -1,21 +1,21 @@
1
1
  import 'reflect-metadata';
2
- type Dictionary<T> = {
2
+ declare type Dictionary<T> = {
3
3
  [key: string]: T;
4
4
  };
5
- export type MetaArgs = {
5
+ export declare type MetaArgs = {
6
6
  key: keyof MetaStorage | string;
7
7
  target: any;
8
8
  property?: string | symbol;
9
9
  own?: boolean;
10
10
  propertyDescriptor?: PropertyDescriptor;
11
11
  };
12
- export type MetaValueArgs<T = any> = MetaArgs & {
12
+ export declare type MetaValueArgs<T = any> = MetaArgs & {
13
13
  value: T;
14
14
  };
15
- type MetaProperties<T = any> = Dictionary<T>;
16
- type MetaTargets = Dictionary<MetaProperties>;
17
- type MetaKeys = Dictionary<MetaTargets>;
18
- type MetaStorage = {
15
+ declare type MetaProperties<T = any> = Dictionary<T>;
16
+ declare type MetaTargets = Dictionary<MetaProperties>;
17
+ declare type MetaKeys = Dictionary<MetaTargets>;
18
+ declare type MetaStorage = {
19
19
  value?: any;
20
20
  object?: any;
21
21
  values?: MetaKeys;
@@ -0,0 +1,165 @@
1
+ import { first, flatten, isArray, isNil, last } from 'lodash';
2
+ import 'reflect-metadata';
3
+ export class ReflectHelper {
4
+ static get items() {
5
+ return this._items;
6
+ }
7
+ static get keys() {
8
+ return Object.keys(ReflectHelper.items);
9
+ }
10
+ static has(key, target, property) {
11
+ return (!isNil(key) &&
12
+ !isNil(ReflectHelper.items[key]) &&
13
+ (isNil(target) ||
14
+ (!isNil(ReflectHelper.items[key][target]) &&
15
+ (isNil(property) || !isNil(ReflectHelper.items[key][target][String(property)])))));
16
+ }
17
+ static get({ key, target, property, own = true }) {
18
+ try {
19
+ if (own) {
20
+ return Reflect.getOwnMetadata(key, target, property) || null;
21
+ }
22
+ else {
23
+ return Reflect.getMetadata(key, target, property) || null;
24
+ }
25
+ }
26
+ catch (_err) {
27
+ return null;
28
+ }
29
+ }
30
+ static first({ key, target, property, own = true }) {
31
+ const values = ReflectHelper.get({ key, target, property, own });
32
+ return isArray(values) ? first(values) : values;
33
+ }
34
+ static last({ key, target, property, own = true }) {
35
+ const values = ReflectHelper.get({ key, target, property, own });
36
+ return isArray(values) ? last(values) : values;
37
+ }
38
+ static set({ key, target, property, value, propertyDescriptor }) {
39
+ Reflect.defineMetadata(key, value, target, property);
40
+ ReflectHelper.put({ key, target, property, value, propertyDescriptor });
41
+ }
42
+ static add({ key, target, property, value, propertyDescriptor }) {
43
+ let values = ReflectHelper.get({ key, target, property }) || new Array();
44
+ if (!Array.isArray(values))
45
+ values = [values];
46
+ values.push(value);
47
+ ReflectHelper.set({ key, target, property, value: values, propertyDescriptor });
48
+ }
49
+ static all({ key }) {
50
+ const items = ReflectHelper.items[key] || {};
51
+ return flatten(Object.keys(items).map((item) => flatten(this.allFrom(key, items[item]))));
52
+ }
53
+ static allFrom(key, target) {
54
+ return Object.keys(target)
55
+ .filter((property) => property !== 'object')
56
+ .map((property) => this.allValuesFrom(key, target, property));
57
+ }
58
+ static allValuesFrom(key, target, property) {
59
+ const values = target[property];
60
+ let value = values.value;
61
+ const propertyDescriptor = values.propertyDescriptor;
62
+ if (!isArray(value))
63
+ value = [value];
64
+ return flatten(value.map((val) => {
65
+ return {
66
+ key,
67
+ target: target.object,
68
+ property,
69
+ value: val,
70
+ propertyDescriptor,
71
+ };
72
+ }));
73
+ }
74
+ static delete({ key, target, property }) {
75
+ Reflect.deleteMetadata(key, target, property);
76
+ return ReflectHelper.remove(key, target, property);
77
+ }
78
+ static clear(key) {
79
+ if (!key) {
80
+ ReflectHelper.keys.forEach((storedKey) => {
81
+ ReflectHelper.clear(storedKey);
82
+ });
83
+ }
84
+ else {
85
+ if (ReflectHelper.keys.includes(key)) {
86
+ Object.values(ReflectHelper.items[key]).forEach((target) => {
87
+ if (ReflectHelper.has(key, target)) {
88
+ Object.values(ReflectHelper.items[key][target.toString()]).forEach((property) => {
89
+ ReflectHelper.delete({
90
+ key,
91
+ target: target.object,
92
+ property: String(property),
93
+ });
94
+ ReflectHelper.remove(key, target, String(property));
95
+ });
96
+ }
97
+ ReflectHelper.delete({ key, target: target.object });
98
+ ReflectHelper.remove(key, target);
99
+ });
100
+ }
101
+ }
102
+ }
103
+ static getType({ target, propertyKey }) {
104
+ return Reflect.getMetadata('design:type', target, propertyKey);
105
+ }
106
+ static getReturntype({ target, propertyKey }) {
107
+ return Reflect.getMetadata('design:returntype', target, propertyKey);
108
+ }
109
+ static getAllMethods(target) {
110
+ const props = [];
111
+ let obj = target;
112
+ do {
113
+ props.push(...Object.getOwnPropertyNames(obj));
114
+ } while ((obj = Object.getPrototypeOf(obj)));
115
+ return props.sort().filter((e, i, arr) => {
116
+ if ([
117
+ '__defineGetter__',
118
+ '__defineSetter__',
119
+ '__lookupGetter__',
120
+ '__lookupSetter__',
121
+ 'constructor',
122
+ 'hasOwnProperty',
123
+ 'isPrototypeOf',
124
+ 'propertyIsEnumerable',
125
+ 'toLocaleString',
126
+ 'toString',
127
+ 'valueOf',
128
+ ].includes(e))
129
+ return false;
130
+ if (e != arr[i + 1] && typeof target[e] === 'function')
131
+ return true;
132
+ });
133
+ }
134
+ static put({ key, target, property, value, propertyDescriptor }) {
135
+ const index = target.constructor.name;
136
+ ReflectHelper.items[key] = ReflectHelper.items[key] || {};
137
+ ReflectHelper.items[key][index] = ReflectHelper.items[key][index] || {};
138
+ ReflectHelper.items[key][index].object = target;
139
+ if (isNil(property)) {
140
+ ReflectHelper.items[key][index].value = {
141
+ value,
142
+ propertyDescriptor,
143
+ };
144
+ }
145
+ else {
146
+ ReflectHelper.items[key][index][String(property)] = ReflectHelper.items[key][index][String(property)] || {};
147
+ ReflectHelper.items[key][index][String(property)] = {
148
+ value,
149
+ propertyDescriptor,
150
+ };
151
+ }
152
+ }
153
+ static remove(key, target, property) {
154
+ if (ReflectHelper.has(key, target, property))
155
+ return delete ReflectHelper.items[key][target][String(property)];
156
+ else if (ReflectHelper.has(key, target))
157
+ return delete ReflectHelper.items[key][target];
158
+ else if (ReflectHelper.has(key))
159
+ return delete ReflectHelper.items[key];
160
+ else
161
+ return false;
162
+ }
163
+ }
164
+ ReflectHelper._items = {};
165
+ //# sourceMappingURL=reflect.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reflect.helper.js","sourceRoot":"","sources":["../../../../../projects/connect/src/utils/helpers/reflect.helper.ts"],"names":[],"mappings":"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","sourcesContent":["import { first, flatten, isArray, isNil, last } from 'lodash'\r\nimport 'reflect-metadata'\r\n\r\ntype Dictionary<T> = {\r\n [key: string]: T\r\n}\r\nexport type MetaArgs = {\r\n key: keyof MetaStorage | string\r\n target: any\r\n property?: string | symbol\r\n own?: boolean\r\n propertyDescriptor?: PropertyDescriptor\r\n}\r\nexport type MetaValueArgs<T = any> = MetaArgs & {\r\n value: T\r\n}\r\ntype MetaProperties<T = any> = Dictionary<T>\r\ntype MetaTargets = Dictionary<MetaProperties>\r\ntype MetaKeys = Dictionary<MetaTargets>\r\ntype MetaStorage = {\r\n value?: any\r\n object?: any\r\n values?: MetaKeys\r\n} & Record<string, any>\r\n\r\nexport class ReflectHelper {\r\n static get items(): MetaStorage {\r\n return this._items\r\n }\r\n\r\n static get keys(): Array<string> {\r\n return Object.keys(ReflectHelper.items)\r\n }\r\n\r\n static has(key: keyof MetaStorage, target?: any, property?: string | symbol): boolean {\r\n return (\r\n !isNil(key) &&\r\n !isNil(ReflectHelper.items[key]) &&\r\n (isNil(target) ||\r\n (!isNil(ReflectHelper.items[key][target]) &&\r\n (isNil(property) || !isNil(ReflectHelper.items[key][target][String(property)]))))\r\n )\r\n }\r\n\r\n static get<T = any>({ key, target, property, own = true }: MetaArgs): Array<T> {\r\n try {\r\n if (own) {\r\n return Reflect.getOwnMetadata(key, target, property) || null\r\n } else {\r\n return Reflect.getMetadata(key, target, property) || null\r\n }\r\n } catch (_err) {\r\n return null\r\n }\r\n }\r\n\r\n static first<T = any>({ key, target, property, own = true }: MetaArgs): T {\r\n const values = ReflectHelper.get<T>({ key, target, property, own })\r\n\r\n return isArray(values) ? first(values) : values\r\n }\r\n\r\n static last<T = any>({ key, target, property, own = true }: MetaArgs): T {\r\n const values = ReflectHelper.get<T>({ key, target, property, own })\r\n\r\n return isArray(values) ? last(values) : values\r\n }\r\n\r\n static set<T = any>({ key, target, property, value, propertyDescriptor }: MetaValueArgs<T>): void {\r\n Reflect.defineMetadata(key, value, target, property)\r\n\r\n ReflectHelper.put<T>({ key, target, property, value, propertyDescriptor })\r\n }\r\n\r\n static add<T = any>({ key, target, property, value, propertyDescriptor }: MetaValueArgs<T>): void {\r\n let values: Array<T> = ReflectHelper.get<T>({ key, target, property }) || new Array<T>()\r\n\r\n if (!Array.isArray(values)) values = [values]\r\n\r\n values.push(value)\r\n\r\n ReflectHelper.set<Array<T>>({ key, target, property, value: values, propertyDescriptor })\r\n }\r\n\r\n static all<T = any>({ key }: Partial<MetaArgs>): Array<MetaValueArgs<T>> {\r\n const items = ReflectHelper.items[key] || {}\r\n\r\n return flatten(Object.keys(items).map((item) => flatten(this.allFrom(key, items[item]))))\r\n }\r\n\r\n static allFrom(key: string, target: any): any {\r\n return Object.keys(target)\r\n .filter((property) => property !== 'object')\r\n .map((property) => this.allValuesFrom(key, target, property))\r\n }\r\n\r\n static allValuesFrom(key: string, target: any, property: any): any {\r\n const values = target[property]\r\n let value = values.value\r\n const propertyDescriptor = values.propertyDescriptor\r\n\r\n if (!isArray(value)) value = [value]\r\n\r\n return flatten(\r\n value.map((val: any) => {\r\n return {\r\n key,\r\n target: target.object,\r\n property,\r\n value: val,\r\n propertyDescriptor,\r\n }\r\n }),\r\n )\r\n }\r\n\r\n static delete({ key, target, property }: MetaArgs): boolean {\r\n Reflect.deleteMetadata(key, target, property)\r\n\r\n return ReflectHelper.remove(key, target, property)\r\n }\r\n\r\n static clear(key?: string): void {\r\n if (!key) {\r\n ReflectHelper.keys.forEach((storedKey) => {\r\n ReflectHelper.clear(storedKey)\r\n })\r\n } else {\r\n if (ReflectHelper.keys.includes(key)) {\r\n Object.values<MetaStorage>(ReflectHelper.items[key]).forEach((target) => {\r\n if (ReflectHelper.has(key, target)) {\r\n Object.values(ReflectHelper.items[key][target.toString()]).forEach((property) => {\r\n ReflectHelper.delete({\r\n key,\r\n target: target.object,\r\n property: String(property),\r\n })\r\n ReflectHelper.remove(key, target, String(property))\r\n })\r\n }\r\n\r\n ReflectHelper.delete({ key, target: target.object })\r\n ReflectHelper.remove(key, target)\r\n })\r\n }\r\n }\r\n }\r\n\r\n static getType({ target, propertyKey }: { target: string; propertyKey: string }): any {\r\n return Reflect.getMetadata('design:type', target, propertyKey)\r\n }\r\n\r\n static getReturntype({ target, propertyKey }: { target: string; propertyKey: string }): any {\r\n return Reflect.getMetadata('design:returntype', target, propertyKey)\r\n }\r\n\r\n static getAllMethods(target: any): string[] {\r\n const props = []\r\n let obj = target\r\n\r\n do {\r\n props.push(...Object.getOwnPropertyNames(obj))\r\n } while ((obj = Object.getPrototypeOf(obj)))\r\n\r\n return props.sort().filter((e, i, arr) => {\r\n if (\r\n [\r\n '__defineGetter__',\r\n '__defineSetter__',\r\n '__lookupGetter__',\r\n '__lookupSetter__',\r\n 'constructor',\r\n 'hasOwnProperty',\r\n 'isPrototypeOf',\r\n 'propertyIsEnumerable',\r\n 'toLocaleString',\r\n 'toString',\r\n 'valueOf',\r\n ].includes(e)\r\n )\r\n return false\r\n if (e != arr[i + 1] && typeof target[e] === 'function') return true\r\n })\r\n }\r\n\r\n private static _items: MetaStorage = {}\r\n\r\n private static put<T = any>({ key, target, property, value, propertyDescriptor }: MetaValueArgs<T>): void {\r\n const index = target.constructor.name\r\n\r\n ReflectHelper.items[key] = ReflectHelper.items[key] || {}\r\n ReflectHelper.items[key][index] = ReflectHelper.items[key][index] || {}\r\n ReflectHelper.items[key][index].object = target\r\n\r\n if (isNil(property)) {\r\n ReflectHelper.items[key][index].value = {\r\n value,\r\n propertyDescriptor,\r\n }\r\n } else {\r\n ReflectHelper.items[key][index][String(property)] = ReflectHelper.items[key][index][String(property)] || {}\r\n ReflectHelper.items[key][index][String(property)] = {\r\n value,\r\n propertyDescriptor,\r\n }\r\n }\r\n }\r\n\r\n private static remove(key: string, target?: any, property?: string | symbol): boolean {\r\n if (ReflectHelper.has(key, target, property)) return delete ReflectHelper.items[key][target][String(property)]\r\n else if (ReflectHelper.has(key, target)) return delete ReflectHelper.items[key][target]\r\n else if (ReflectHelper.has(key)) return delete ReflectHelper.items[key]\r\n else return false\r\n }\r\n}\r\n"]}
@@ -1,6 +1,6 @@
1
1
  import { add, addBusinessDays, addDays, addMonths, addYears, Duration, endOfDay, format, formatISO9075, parseISO, startOfDay, sub } from 'date-fns';
2
2
  import { chunk, each, get, isBoolean, isDate, isEmpty, isInteger, isNaN, isNil, isNumber, isObject, isString, now, omit, pick, set, unset } from 'lodash';
3
- export type DateDuration = Duration;
3
+ export declare type DateDuration = Duration;
4
4
  export * from './decorators';
5
5
  export * from './get';
6
6
  export * from './helpers';