@infrab4a/connect-angular 6.0.0-alpha.0 → 6.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. package/angular-connect.module.d.ts +36 -0
  2. package/angular-elastic-search.module.d.ts +9 -0
  3. package/angular-firebase-auth.module.d.ts +11 -0
  4. package/angular-firestore.module.d.ts +17 -0
  5. package/angular-hasura-graphql.module.d.ts +14 -0
  6. package/angular-vertex-search.module.d.ts +9 -0
  7. package/consts/backend-url.const.d.ts +1 -0
  8. package/consts/category-structure.d.ts +1 -0
  9. package/consts/default-shop.const.d.ts +1 -0
  10. package/consts/es-config.const.d.ts +1 -0
  11. package/consts/firebase-const.d.ts +4 -0
  12. package/consts/hasura-options.const.d.ts +1 -0
  13. package/consts/index.d.ts +8 -0
  14. package/consts/persistence.const.d.ts +1 -0
  15. package/consts/storage-base-url.const.d.ts +1 -0
  16. package/consts/vertex-config.const.d.ts +1 -0
  17. package/esm2022/angular-connect.module.mjs +291 -0
  18. package/esm2022/angular-elastic-search.module.mjs +34 -0
  19. package/esm2022/angular-firebase-auth.module.mjs +141 -0
  20. package/esm2022/angular-firestore.module.mjs +541 -0
  21. package/esm2022/angular-hasura-graphql.module.mjs +333 -0
  22. package/esm2022/angular-vertex-search.module.mjs +34 -0
  23. package/esm2022/consts/backend-url.const.mjs +2 -0
  24. package/esm2022/consts/category-structure.mjs +2 -0
  25. package/esm2022/consts/default-shop.const.mjs +2 -0
  26. package/esm2022/consts/es-config.const.mjs +2 -0
  27. package/esm2022/consts/firebase-const.mjs +5 -0
  28. package/esm2022/consts/hasura-options.const.mjs +2 -0
  29. package/esm2022/consts/index.mjs +9 -0
  30. package/esm2022/consts/persistence.const.mjs +2 -0
  31. package/esm2022/consts/storage-base-url.const.mjs +2 -0
  32. package/esm2022/consts/vertex-config.const.mjs +2 -0
  33. package/esm2022/helpers/index.mjs +2 -0
  34. package/esm2022/helpers/mobile-operation-system-checker.helper.mjs +7 -0
  35. package/esm2022/index.mjs +7 -0
  36. package/esm2022/infrab4a-connect-angular.mjs +5 -0
  37. package/esm2022/interfaces/catalog-strategies.interface.mjs +2 -0
  38. package/esm2022/interfaces/category-facades.interface.mjs +2 -0
  39. package/esm2022/interfaces/index.mjs +3 -0
  40. package/esm2022/persistence/cookie-data-persistence.mjs +22 -0
  41. package/esm2022/persistence/data-persistence.mjs +2 -0
  42. package/esm2022/persistence/index.mjs +3 -0
  43. package/esm2022/services/auth.service.mjs +37 -0
  44. package/esm2022/services/cart/cart-services.facade.mjs +21 -0
  45. package/esm2022/services/cart/index.mjs +2 -0
  46. package/esm2022/services/cart.service.mjs +73 -0
  47. package/esm2022/services/catalog/adapters/category-structure.adapter.mjs +2 -0
  48. package/esm2022/services/catalog/adapters/index.mjs +4 -0
  49. package/esm2022/services/catalog/adapters/new-category-structure.adapter.mjs +43 -0
  50. package/esm2022/services/catalog/adapters/old-category-structure.adapter.mjs +23 -0
  51. package/esm2022/services/catalog/catalog.service.mjs +111 -0
  52. package/esm2022/services/catalog/category.service.mjs +39 -0
  53. package/esm2022/services/catalog/context/catalog-search.context.mjs +40 -0
  54. package/esm2022/services/catalog/enums/index.mjs +2 -0
  55. package/esm2022/services/catalog/enums/product-sorts.enum.mjs +11 -0
  56. package/esm2022/services/catalog/facades/catalog-service.facade.mjs +32 -0
  57. package/esm2022/services/catalog/facades/catalog-strategies.facade.mjs +17 -0
  58. package/esm2022/services/catalog/facades/category-repository.facade.mjs +20 -0
  59. package/esm2022/services/catalog/facades/category-service.facade.mjs +30 -0
  60. package/esm2022/services/catalog/facades/index.mjs +6 -0
  61. package/esm2022/services/catalog/facades/product-catalog.facade.mjs +21 -0
  62. package/esm2022/services/catalog/helpers/brand-manager.helper.mjs +57 -0
  63. package/esm2022/services/catalog/helpers/catalog-filter.helper.mjs +44 -0
  64. package/esm2022/services/catalog/helpers/catalog-sort.helper.mjs +52 -0
  65. package/esm2022/services/catalog/helpers/index.mjs +5 -0
  66. package/esm2022/services/catalog/helpers/product-fields.helper.mjs +39 -0
  67. package/esm2022/services/catalog/index.mjs +8 -0
  68. package/esm2022/services/catalog/models/category-with-tree.model.mjs +10 -0
  69. package/esm2022/services/catalog/models/index.mjs +2 -0
  70. package/esm2022/services/catalog/services/catalog-helpers.service.mjs +33 -0
  71. package/esm2022/services/catalog/services/catalog-operations.facade.mjs +26 -0
  72. package/esm2022/services/catalog/services/catalog-repository.service.mjs +25 -0
  73. package/esm2022/services/catalog/services/index.mjs +5 -0
  74. package/esm2022/services/catalog/services/product-management.facade.mjs +25 -0
  75. package/esm2022/services/catalog/strategies/category-search.strategy.mjs +133 -0
  76. package/esm2022/services/catalog/strategies/index.mjs +4 -0
  77. package/esm2022/services/catalog/strategies/profile-search.strategy.mjs +42 -0
  78. package/esm2022/services/catalog/strategies/term-search.strategy.mjs +123 -0
  79. package/esm2022/services/catalog/strategies/types/strategy-params.type.mjs +2 -0
  80. package/esm2022/services/catalog/types/fetch-products-options.type.mjs +2 -0
  81. package/esm2022/services/catalog/types/fetch-products-params.type.mjs +2 -0
  82. package/esm2022/services/catalog/types/fetch-products-response.type.mjs +2 -0
  83. package/esm2022/services/catalog/types/index.mjs +6 -0
  84. package/esm2022/services/catalog/types/method-params.type.mjs +2 -0
  85. package/esm2022/services/catalog/types/product-sort.type.mjs +2 -0
  86. package/esm2022/services/catalog/wishlist.service.mjs +254 -0
  87. package/esm2022/services/checkout/checkout-dependencies.facade.mjs +20 -0
  88. package/esm2022/services/checkout/checkout-repositories.facade.mjs +20 -0
  89. package/esm2022/services/checkout/index.mjs +3 -0
  90. package/esm2022/services/checkout-subscription.service.mjs +55 -0
  91. package/esm2022/services/checkout.service.mjs +106 -0
  92. package/esm2022/services/coupon/coupon-repositories.facade.mjs +24 -0
  93. package/esm2022/services/coupon/index.mjs +2 -0
  94. package/esm2022/services/coupon/types/coupon-params.type.mjs +2 -0
  95. package/esm2022/services/coupon.service.mjs +248 -0
  96. package/esm2022/services/helpers/index.mjs +2 -0
  97. package/esm2022/services/helpers/util.helper.mjs +18 -0
  98. package/esm2022/services/home-shop/home-shop-repositories.facade.mjs +24 -0
  99. package/esm2022/services/home-shop/index.mjs +2 -0
  100. package/esm2022/services/home-shop.service.mjs +119 -0
  101. package/esm2022/services/index.mjs +11 -0
  102. package/esm2022/services/order-product-review.service.mjs +81 -0
  103. package/esm2022/services/order.service.mjs +30 -0
  104. package/esm2022/services/shared/configuration.facade.mjs +29 -0
  105. package/esm2022/services/shared/index.mjs +2 -0
  106. package/esm2022/services/types/index.mjs +5 -0
  107. package/esm2022/services/types/pending-product-review.type.mjs +2 -0
  108. package/esm2022/services/types/product-review-create.type.mjs +2 -0
  109. package/esm2022/services/types/required-checkout-data.type.mjs +2 -0
  110. package/esm2022/services/types/required-checkout-subscription-data.type.mjs +2 -0
  111. package/esm2022/types/firebase-app-config.type.mjs +2 -0
  112. package/esm2022/types/index.mjs +2 -0
  113. package/fesm2022/infrab4a-connect-angular.mjs +3352 -0
  114. package/fesm2022/infrab4a-connect-angular.mjs.map +1 -0
  115. package/helpers/index.d.ts +1 -0
  116. package/helpers/mobile-operation-system-checker.helper.d.ts +3 -0
  117. package/index.d.ts +6 -0
  118. package/interfaces/catalog-strategies.interface.d.ts +31 -0
  119. package/interfaces/category-facades.interface.d.ts +6 -0
  120. package/interfaces/index.d.ts +2 -0
  121. package/package.json +23 -9
  122. package/persistence/cookie-data-persistence.d.ts +10 -0
  123. package/persistence/data-persistence.d.ts +6 -0
  124. package/persistence/index.d.ts +2 -0
  125. package/services/auth.service.d.ts +18 -0
  126. package/services/cart/cart-services.facade.d.ts +12 -0
  127. package/services/cart/index.d.ts +1 -0
  128. package/services/cart.service.d.ts +26 -0
  129. package/services/catalog/adapters/category-structure.adapter.d.ts +4 -0
  130. package/services/catalog/adapters/index.d.ts +3 -0
  131. package/services/catalog/adapters/new-category-structure.adapter.d.ts +12 -0
  132. package/services/catalog/adapters/old-category-structure.adapter.d.ts +10 -0
  133. package/services/catalog/catalog.service.d.ts +24 -0
  134. package/services/catalog/category.service.d.ts +22 -0
  135. package/services/catalog/context/catalog-search.context.d.ts +14 -0
  136. package/services/catalog/enums/index.d.ts +1 -0
  137. package/services/catalog/enums/product-sorts.enum.d.ts +9 -0
  138. package/services/catalog/facades/catalog-service.facade.d.ts +15 -0
  139. package/services/catalog/facades/catalog-strategies.facade.d.ts +10 -0
  140. package/services/catalog/facades/category-repository.facade.d.ts +9 -0
  141. package/services/catalog/facades/category-service.facade.d.ts +15 -0
  142. package/{src/services/catalog/facades/index.ts → services/catalog/facades/index.d.ts} +5 -5
  143. package/services/catalog/facades/product-catalog.facade.d.ts +10 -0
  144. package/services/catalog/helpers/brand-manager.helper.d.ts +14 -0
  145. package/services/catalog/helpers/catalog-filter.helper.d.ts +8 -0
  146. package/services/catalog/helpers/catalog-sort.helper.d.ts +7 -0
  147. package/services/catalog/helpers/index.d.ts +4 -0
  148. package/services/catalog/helpers/product-fields.helper.d.ts +7 -0
  149. package/services/catalog/index.d.ts +7 -0
  150. package/services/catalog/models/category-with-tree.model.d.ts +4 -0
  151. package/services/catalog/models/index.d.ts +1 -0
  152. package/services/catalog/services/catalog-helpers.service.d.ts +17 -0
  153. package/services/catalog/services/catalog-operations.facade.d.ts +13 -0
  154. package/services/catalog/services/catalog-repository.service.d.ts +12 -0
  155. package/{src/services/catalog/services/index.ts → services/catalog/services/index.d.ts} +4 -4
  156. package/services/catalog/services/product-management.facade.d.ts +12 -0
  157. package/services/catalog/strategies/category-search.strategy.d.ts +19 -0
  158. package/services/catalog/strategies/index.d.ts +3 -0
  159. package/services/catalog/strategies/profile-search.strategy.d.ts +14 -0
  160. package/services/catalog/strategies/term-search.strategy.d.ts +20 -0
  161. package/services/catalog/strategies/types/strategy-params.type.d.ts +58 -0
  162. package/services/catalog/types/fetch-products-options.type.d.ts +8 -0
  163. package/services/catalog/types/fetch-products-params.type.d.ts +25 -0
  164. package/services/catalog/types/fetch-products-response.type.d.ts +19 -0
  165. package/services/catalog/types/index.d.ts +5 -0
  166. package/services/catalog/types/method-params.type.d.ts +17 -0
  167. package/services/catalog/types/product-sort.type.d.ts +2 -0
  168. package/services/catalog/wishlist.service.d.ts +59 -0
  169. package/services/checkout/checkout-dependencies.facade.d.ts +10 -0
  170. package/services/checkout/checkout-repositories.facade.d.ts +9 -0
  171. package/{src/services/checkout/index.ts → services/checkout/index.d.ts} +2 -2
  172. package/services/checkout-subscription.service.d.ts +19 -0
  173. package/services/checkout.service.d.ts +30 -0
  174. package/services/coupon/coupon-repositories.facade.d.ts +10 -0
  175. package/{src/services/coupon/index.ts → services/coupon/index.d.ts} +1 -1
  176. package/services/coupon/types/coupon-params.type.d.ts +13 -0
  177. package/services/coupon.service.d.ts +36 -0
  178. package/services/helpers/index.d.ts +1 -0
  179. package/services/helpers/util.helper.d.ts +3 -0
  180. package/services/home-shop/home-shop-repositories.facade.d.ts +10 -0
  181. package/{src/services/home-shop/index.ts → services/home-shop/index.d.ts} +1 -1
  182. package/services/home-shop.service.d.ts +26 -0
  183. package/services/index.d.ts +10 -0
  184. package/services/order-product-review.service.d.ts +13 -0
  185. package/services/order.service.d.ts +13 -0
  186. package/services/shared/configuration.facade.d.ts +12 -0
  187. package/services/shared/index.d.ts +1 -0
  188. package/services/types/index.d.ts +4 -0
  189. package/services/types/pending-product-review.type.d.ts +10 -0
  190. package/services/types/product-review-create.type.d.ts +14 -0
  191. package/services/types/required-checkout-data.type.d.ts +2 -0
  192. package/services/types/required-checkout-subscription-data.type.d.ts +2 -0
  193. package/types/firebase-app-config.type.d.ts +1 -0
  194. package/types/index.d.ts +1 -0
  195. package/eslint.config.js +0 -18
  196. package/index.ts +0 -1
  197. package/karma.conf.js +0 -32
  198. package/ng-package.json +0 -8
  199. package/project.json +0 -37
  200. package/src/angular-connect.module.ts +0 -256
  201. package/src/angular-elastic-search.module.ts +0 -23
  202. package/src/angular-firebase-auth.module.ts +0 -101
  203. package/src/angular-firestore.module.ts +0 -371
  204. package/src/angular-hasura-graphql.module.ts +0 -219
  205. package/src/angular-vertex-search.module.ts +0 -23
  206. package/src/consts/backend-url.const.ts +0 -1
  207. package/src/consts/category-structure.ts +0 -1
  208. package/src/consts/default-shop.const.ts +0 -1
  209. package/src/consts/es-config.const.ts +0 -1
  210. package/src/consts/firebase-const.ts +0 -5
  211. package/src/consts/hasura-options.const.ts +0 -1
  212. package/src/consts/index.ts +0 -8
  213. package/src/consts/persistence.const.ts +0 -1
  214. package/src/consts/storage-base-url.const.ts +0 -1
  215. package/src/consts/vertex-config.const.ts +0 -1
  216. package/src/helpers/index.ts +0 -1
  217. package/src/helpers/mobile-operation-system-checker.helper.ts +0 -10
  218. package/src/index.ts +0 -6
  219. package/src/interfaces/catalog-strategies.interface.ts +0 -36
  220. package/src/interfaces/category-facades.interface.ts +0 -7
  221. package/src/interfaces/index.ts +0 -2
  222. package/src/persistence/cookie-data-persistence.ts +0 -21
  223. package/src/persistence/data-persistence.ts +0 -7
  224. package/src/persistence/index.ts +0 -2
  225. package/src/services/auth.service.ts +0 -39
  226. package/src/services/cart/cart-services.facade.ts +0 -14
  227. package/src/services/cart/index.ts +0 -1
  228. package/src/services/cart.service.ts +0 -124
  229. package/src/services/catalog/adapters/category-structure.adapter.ts +0 -5
  230. package/src/services/catalog/adapters/index.ts +0 -3
  231. package/src/services/catalog/adapters/new-category-structure.adapter.ts +0 -42
  232. package/src/services/catalog/adapters/old-category-structure.adapter.ts +0 -17
  233. package/src/services/catalog/catalog.service.ts +0 -153
  234. package/src/services/catalog/category.service.ts +0 -52
  235. package/src/services/catalog/context/catalog-search.context.ts +0 -61
  236. package/src/services/catalog/enums/index.ts +0 -1
  237. package/src/services/catalog/enums/product-sorts.enum.ts +0 -9
  238. package/src/services/catalog/facades/catalog-service.facade.ts +0 -32
  239. package/src/services/catalog/facades/catalog-strategies.facade.ts +0 -12
  240. package/src/services/catalog/facades/category-repository.facade.ts +0 -10
  241. package/src/services/catalog/facades/category-service.facade.ts +0 -25
  242. package/src/services/catalog/facades/product-catalog.facade.ts +0 -13
  243. package/src/services/catalog/helpers/brand-manager.helper.ts +0 -63
  244. package/src/services/catalog/helpers/catalog-filter.helper.ts +0 -50
  245. package/src/services/catalog/helpers/catalog-sort.helper.ts +0 -54
  246. package/src/services/catalog/helpers/index.ts +0 -4
  247. package/src/services/catalog/helpers/product-fields.helper.ts +0 -35
  248. package/src/services/catalog/index.ts +0 -7
  249. package/src/services/catalog/models/category-with-tree.model.ts +0 -7
  250. package/src/services/catalog/models/index.ts +0 -1
  251. package/src/services/catalog/services/catalog-helpers.service.ts +0 -35
  252. package/src/services/catalog/services/catalog-operations.facade.ts +0 -24
  253. package/src/services/catalog/services/catalog-repository.service.ts +0 -20
  254. package/src/services/catalog/services/product-management.facade.ts +0 -20
  255. package/src/services/catalog/strategies/category-search.strategy.ts +0 -172
  256. package/src/services/catalog/strategies/index.ts +0 -3
  257. package/src/services/catalog/strategies/profile-search.strategy.ts +0 -51
  258. package/src/services/catalog/strategies/term-search.strategy.ts +0 -178
  259. package/src/services/catalog/strategies/types/strategy-params.type.ts +0 -58
  260. package/src/services/catalog/types/fetch-products-options.type.ts +0 -10
  261. package/src/services/catalog/types/fetch-products-params.type.ts +0 -27
  262. package/src/services/catalog/types/fetch-products-response.type.ts +0 -11
  263. package/src/services/catalog/types/index.ts +0 -5
  264. package/src/services/catalog/types/method-params.type.ts +0 -21
  265. package/src/services/catalog/types/product-sort.type.ts +0 -3
  266. package/src/services/catalog/wishlist.service.ts +0 -368
  267. package/src/services/checkout/checkout-dependencies.facade.ts +0 -13
  268. package/src/services/checkout/checkout-repositories.facade.ts +0 -10
  269. package/src/services/checkout-subscription.service.ts +0 -76
  270. package/src/services/checkout.service.ts +0 -196
  271. package/src/services/coupon/coupon-repositories.facade.ts +0 -11
  272. package/src/services/coupon/types/coupon-params.type.ts +0 -15
  273. package/src/services/coupon.service.ts +0 -347
  274. package/src/services/errors/group-invalid-coupon.error.ts +0 -9
  275. package/src/services/errors/index.ts +0 -2
  276. package/src/services/errors/invalid-coupon.error.ts +0 -7
  277. package/src/services/helpers/index.ts +0 -1
  278. package/src/services/helpers/util.helper.ts +0 -17
  279. package/src/services/home-shop/home-shop-repositories.facade.ts +0 -11
  280. package/src/services/home-shop.service.ts +0 -196
  281. package/src/services/index.ts +0 -9
  282. package/src/services/order.service.ts +0 -23
  283. package/src/services/shared/configuration.facade.ts +0 -21
  284. package/src/services/shared/index.ts +0 -1
  285. package/src/services/types/index.ts +0 -2
  286. package/src/services/types/required-checkout-data.type.ts +0 -3
  287. package/src/services/types/required-checkout-subscription-data.type.ts +0 -3
  288. package/src/types/firebase-app-config.type.ts +0 -1
  289. package/src/types/index.ts +0 -1
  290. package/tsconfig.json +0 -17
  291. package/tsconfig.lib.json +0 -13
  292. package/tsconfig.lib.prod.json +0 -13
  293. package/tsconfig.spec.json +0 -17
@@ -0,0 +1 @@
1
+ export * from './mobile-operation-system-checker.helper';
@@ -0,0 +1,3 @@
1
+ export declare class MobileOperationSystemCheckerHelper {
2
+ static isAppleDevice(): boolean;
3
+ }
package/index.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ export * from './angular-connect.module';
2
+ export * from './angular-firebase-auth.module';
3
+ export * from './angular-firestore.module';
4
+ export * from './angular-hasura-graphql.module';
5
+ export * from './persistence';
6
+ export * from './services';
@@ -0,0 +1,31 @@
1
+ import { Category, Product, ProductGender, RepositoryCacheOptions, RepositoryFindResult, Shops } from '@infrab4a/connect';
2
+ export interface CatalogSearchParams {
3
+ category?: Category;
4
+ profile?: string[];
5
+ term?: string;
6
+ filters?: CatalogFilters;
7
+ mainGender?: ProductGender;
8
+ limits: {
9
+ limit?: number;
10
+ offset?: number;
11
+ };
12
+ sort?: string;
13
+ }
14
+ export interface CatalogFilters {
15
+ clubDiscount?: number[];
16
+ brands?: string[];
17
+ prices?: {
18
+ min?: number;
19
+ max?: number;
20
+ subscriberPrice?: boolean;
21
+ };
22
+ gender?: ProductGender[];
23
+ rate?: number;
24
+ customOptions?: string[];
25
+ tags?: string[];
26
+ }
27
+ export interface CatalogSearchStrategy {
28
+ search(params: CatalogSearchParams, shop: Shops, optionsCache?: {
29
+ cache?: RepositoryCacheOptions;
30
+ }): Promise<RepositoryFindResult<Product>>;
31
+ }
@@ -0,0 +1,6 @@
1
+ import { CategoryRepository, ProductSearchIndex, ProductStockNotificationRepository } from '@infrab4a/connect';
2
+ export interface ProductServicesFacade {
3
+ productStockNotificationRepository: ProductStockNotificationRepository;
4
+ categoryRepository: CategoryRepository;
5
+ productSearch: ProductSearchIndex;
6
+ }
@@ -0,0 +1,2 @@
1
+ export * from './catalog-strategies.interface';
2
+ export * from './category-facades.interface';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infrab4a/connect-angular",
3
- "version": "6.0.0-alpha.0",
3
+ "version": "6.0.0-beta.0",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org"
6
6
  },
@@ -9,17 +9,31 @@
9
9
  "url": "https://github.com/B4AGroup/b4a-firebase-libs"
10
10
  },
11
11
  "peerDependencies": {
12
- "@angular/common": "^15.1.4",
13
- "@angular/core": "^15.1.4",
14
- "@angular/fire": "7.5.0",
15
- "@infrab4a/connect": "6.0.0-alpha.0",
16
- "class-transformer": "^0.5.1",
12
+ "@angular/common": "17.2.3",
13
+ "@angular/core": "17.2.3",
14
+ "@angular/fire": "17.0.1",
15
+ "@infrab4a/connect": "5.3.0-beta.0",
17
16
  "js-cookie": "^3.0.1",
18
- "rxjs": "^6.6.7",
17
+ "class-transformer": "^0.5.1",
18
+ "rxjs": "^7.8.1",
19
19
  "ts-custom-error": "^3.3.1"
20
20
  },
21
21
  "dependencies": {
22
22
  "js-cookie": "^3.0.1",
23
23
  "tslib": "^2.4.0"
24
- }
25
- }
24
+ },
25
+ "module": "fesm2022/infrab4a-connect-angular.mjs",
26
+ "typings": "index.d.ts",
27
+ "exports": {
28
+ "./package.json": {
29
+ "default": "./package.json"
30
+ },
31
+ ".": {
32
+ "types": "./index.d.ts",
33
+ "esm2022": "./esm2022/infrab4a-connect-angular.mjs",
34
+ "esm": "./esm2022/infrab4a-connect-angular.mjs",
35
+ "default": "./fesm2022/infrab4a-connect-angular.mjs"
36
+ }
37
+ },
38
+ "sideEffects": false
39
+ }
@@ -0,0 +1,10 @@
1
+ import { Observable } from 'rxjs';
2
+ import { DataPersistence } from './data-persistence';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CookieDataPersistence implements DataPersistence {
5
+ get(key: string): Observable<string>;
6
+ remove(key: string): Observable<void>;
7
+ set(key: string, value: string): Observable<void>;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<CookieDataPersistence, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<CookieDataPersistence>;
10
+ }
@@ -0,0 +1,6 @@
1
+ import { Observable } from 'rxjs';
2
+ export interface DataPersistence {
3
+ get(key: string): Observable<string>;
4
+ remove(key: string): Observable<void>;
5
+ set(key: string, value: string): Observable<void>;
6
+ }
@@ -0,0 +1,2 @@
1
+ export * from './cookie-data-persistence';
2
+ export * from './data-persistence';
@@ -0,0 +1,18 @@
1
+ import { Auth, User as FirebaseUser } from '@angular/fire/auth';
2
+ import { User, UserRepository } from '@infrab4a/connect';
3
+ import { Observable } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ export declare class AuthService {
6
+ private readonly angularFireAuth;
7
+ private readonly userRepository;
8
+ constructor(angularFireAuth: Auth, userRepository: UserRepository);
9
+ getAuthstate(): Observable<{
10
+ user: User;
11
+ isAnonymous: boolean;
12
+ }>;
13
+ getUser(): Observable<User>;
14
+ getTokenId(): Observable<string>;
15
+ getFireUser(): Observable<FirebaseUser>;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuthService, never>;
17
+ static ɵprov: i0.ɵɵInjectableDeclaration<AuthService>;
18
+ }
@@ -0,0 +1,12 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { AuthService } from '../auth.service';
3
+ import { CheckoutService } from '../checkout.service';
4
+ import * as i0 from "@angular/core";
5
+ export declare class CartServicesFacade {
6
+ readonly authService: AuthService;
7
+ readonly checkoutService: CheckoutService;
8
+ readonly httpClient: HttpClient;
9
+ constructor(authService: AuthService, checkoutService: CheckoutService, httpClient: HttpClient);
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<CartServicesFacade, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<CartServicesFacade>;
12
+ }
@@ -0,0 +1 @@
1
+ export { CartServicesFacade } from './cart-services.facade';
@@ -0,0 +1,26 @@
1
+ import { LineItem, User } from '@infrab4a/connect';
2
+ import { Observable } from 'rxjs';
3
+ import { CartServicesFacade } from './cart';
4
+ import { ConfigurationFacade } from './shared';
5
+ import { RequiredCheckoutData } from './types';
6
+ import * as i0 from "@angular/core";
7
+ export type Cart = {
8
+ [id: string]: LineItem;
9
+ };
10
+ export declare class CartService {
11
+ private readonly servicesFacade;
12
+ private readonly configurationFacade;
13
+ private cartSubject;
14
+ private checkoutUrl;
15
+ constructor(servicesFacade: CartServicesFacade, configurationFacade: ConfigurationFacade);
16
+ addItem(item: LineItem, quantity?: number): Observable<Cart>;
17
+ decreaseItem(item: LineItem): Observable<Cart>;
18
+ removeItem(item: LineItem): Observable<Cart>;
19
+ updateUserCart(user: User): Observable<Cart>;
20
+ getCart(checkout?: RequiredCheckoutData): Observable<Cart>;
21
+ clearCart(): Observable<Cart>;
22
+ private buildCartFromCheckout;
23
+ private generateCartObject;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<CartService, never>;
25
+ static ɵprov: i0.ɵɵInjectableDeclaration<CartService>;
26
+ }
@@ -0,0 +1,4 @@
1
+ import { Category, Product, RepositoryFindFielters } from '@infrab4a/connect/';
2
+ export interface CategoryStructureAdapter {
3
+ buildProductFilterByCategory(category: Category): Promise<RepositoryFindFielters<Product>>;
4
+ }
@@ -0,0 +1,3 @@
1
+ export * from './category-structure.adapter';
2
+ export * from './new-category-structure.adapter';
3
+ export * from './old-category-structure.adapter';
@@ -0,0 +1,12 @@
1
+ import { Category, CategoryRepository, Product, RepositoryFindFielters } from '@infrab4a/connect';
2
+ import { CategoryStructureAdapter } from './category-structure.adapter';
3
+ import * as i0 from "@angular/core";
4
+ export declare class NewCategoryStructureAdapter implements CategoryStructureAdapter {
5
+ private readonly categoryRepository;
6
+ constructor(categoryRepository: CategoryRepository);
7
+ buildProductFilterByCategory(category: Category): Promise<RepositoryFindFielters<Product>>;
8
+ private getAllCategoriesIdFromCategory;
9
+ private getCategory;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<NewCategoryStructureAdapter, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<NewCategoryStructureAdapter>;
12
+ }
@@ -0,0 +1,10 @@
1
+ import { Category, CategoryRepository, Product, RepositoryFindFielters } from '@infrab4a/connect';
2
+ import { CategoryStructureAdapter } from './category-structure.adapter';
3
+ import * as i0 from "@angular/core";
4
+ export declare class OldCategoryStructureAdapter implements CategoryStructureAdapter {
5
+ private readonly categoryRepository;
6
+ constructor(categoryRepository: CategoryRepository);
7
+ buildProductFilterByCategory(category: Category): Promise<RepositoryFindFielters<Product>>;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<OldCategoryStructureAdapter, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<OldCategoryStructureAdapter>;
10
+ }
@@ -0,0 +1,24 @@
1
+ import { Category, RepositoryCacheOptions, Shops } from '@infrab4a/connect';
2
+ import { CatalogSearchContext } from './context/catalog-search.context';
3
+ import { CatalogHelpersService } from './services';
4
+ import { FetchProductsParams, FetchProductsResponse, StockNotificationParams } from './types';
5
+ import * as i0 from "@angular/core";
6
+ export declare class CatalogService<T extends Category = Category> {
7
+ private readonly searchContext;
8
+ private readonly helpersService;
9
+ private readonly shop;
10
+ constructor(searchContext: CatalogSearchContext, helpersService: CatalogHelpersService, shop: Shops);
11
+ fetchProducts(options: FetchProductsParams<T>, optionsCache?: {
12
+ cache?: RepositoryCacheOptions;
13
+ }): Promise<FetchProductsResponse>;
14
+ addCustomerToStockNotification(params: StockNotificationParams): Promise<void>;
15
+ private validateRequest;
16
+ private buildSearchParams;
17
+ private buildResponse;
18
+ private buildLimitQuery;
19
+ private hasProfile;
20
+ private hasTerm;
21
+ private hasCategory;
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<CatalogService<any>, never>;
23
+ static ɵprov: i0.ɵɵInjectableDeclaration<CatalogService<any>>;
24
+ }
@@ -0,0 +1,22 @@
1
+ import { Category, Filter, ProductGender, RepositoryCacheOptions, Shops } from '@infrab4a/connect';
2
+ import { CategoryRepositoryFacade, ProductCatalogFacade } from './facades';
3
+ import * as i0 from "@angular/core";
4
+ type FetchBrandsOptions = {
5
+ mainGender?: ProductGender;
6
+ shop?: Shops;
7
+ };
8
+ export declare class CategoryService {
9
+ private readonly categoryFacade;
10
+ private readonly productCatalog;
11
+ private readonly shop;
12
+ constructor(categoryFacade: CategoryRepositoryFacade, productCatalog: ProductCatalogFacade, shop: Shops);
13
+ fetchBrands(category: Category, options?: FetchBrandsOptions, optionsCache?: {
14
+ cache?: RepositoryCacheOptions;
15
+ }): Promise<Category[]>;
16
+ fetchFilterOptions(category: Category, optionsCache?: {
17
+ cache?: RepositoryCacheOptions;
18
+ }): Promise<Filter[]>;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<CategoryService, never>;
20
+ static ɵprov: i0.ɵɵInjectableDeclaration<CategoryService>;
21
+ }
22
+ export {};
@@ -0,0 +1,14 @@
1
+ import { Product, RepositoryCacheOptions, RepositoryFindResult, Shops } from '@infrab4a/connect';
2
+ import { CatalogSearchParams, CatalogSearchStrategy } from '../../../interfaces';
3
+ export declare class CatalogSearchContext {
4
+ private readonly categoryStrategy;
5
+ private readonly termStrategy;
6
+ private readonly profileStrategy;
7
+ private strategies;
8
+ constructor(categoryStrategy: CatalogSearchStrategy, termStrategy: CatalogSearchStrategy, profileStrategy: CatalogSearchStrategy);
9
+ executeSearch(params: CatalogSearchParams, shop: Shops, optionsCache?: {
10
+ cache?: RepositoryCacheOptions;
11
+ }): Promise<RepositoryFindResult<Product>>;
12
+ private initializeStrategies;
13
+ private selectStrategy;
14
+ }
@@ -0,0 +1 @@
1
+ export * from './product-sorts.enum';
@@ -0,0 +1,9 @@
1
+ export declare enum ProductSorts {
2
+ MOST_RELEVANT = "most-relevant",
3
+ BEST_SELLER = "best-sellers",
4
+ BIGGEST_PRICE = "biggest-price",
5
+ LOWEST_PRICE = "lowest-price",
6
+ BIGGEST_DISCOUNT = "biggest-discount",
7
+ BEST_RATING = "best-rating",
8
+ NEWS = "news"
9
+ }
@@ -0,0 +1,15 @@
1
+ import { Shops } from '@infrab4a/connect';
2
+ import { CatalogService } from '../catalog.service';
3
+ import { CatalogHelpersService } from '../services';
4
+ import { CatalogStrategiesFacade } from './catalog-strategies.facade';
5
+ import * as i0 from "@angular/core";
6
+ export declare class CatalogServiceFacade {
7
+ private readonly helpersService;
8
+ private readonly strategiesFacade;
9
+ private readonly shop;
10
+ private catalogService;
11
+ constructor(helpersService: CatalogHelpersService, strategiesFacade: CatalogStrategiesFacade, shop: Shops);
12
+ getCatalogService(): CatalogService;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<CatalogServiceFacade, never>;
14
+ static ɵprov: i0.ɵɵInjectableDeclaration<CatalogServiceFacade>;
15
+ }
@@ -0,0 +1,10 @@
1
+ import { CategorySearchStrategy, ProfileSearchStrategy, TermSearchStrategy } from '../strategies';
2
+ import * as i0 from "@angular/core";
3
+ export declare class CatalogStrategiesFacade {
4
+ readonly categoryStrategy: CategorySearchStrategy;
5
+ readonly termStrategy: TermSearchStrategy;
6
+ readonly profileStrategy: ProfileSearchStrategy;
7
+ constructor(categoryStrategy: CategorySearchStrategy, termStrategy: TermSearchStrategy, profileStrategy: ProfileSearchStrategy);
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<CatalogStrategiesFacade, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<CatalogStrategiesFacade>;
10
+ }
@@ -0,0 +1,9 @@
1
+ import { CategoryFilterRepository, CategoryRepository } from '@infrab4a/connect';
2
+ import * as i0 from "@angular/core";
3
+ export declare class CategoryRepositoryFacade {
4
+ readonly categoryRepository: CategoryRepository;
5
+ readonly categoryFilterRepository: CategoryFilterRepository;
6
+ constructor(categoryRepository: CategoryRepository, categoryFilterRepository: CategoryFilterRepository);
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<CategoryRepositoryFacade, never>;
8
+ static ɵprov: i0.ɵɵInjectableDeclaration<CategoryRepositoryFacade>;
9
+ }
@@ -0,0 +1,15 @@
1
+ import { Shops } from '@infrab4a/connect';
2
+ import { CategoryService } from '../category.service';
3
+ import { CategoryRepositoryFacade } from './category-repository.facade';
4
+ import { ProductCatalogFacade } from './product-catalog.facade';
5
+ import * as i0 from "@angular/core";
6
+ export declare class CategoryServiceFacade {
7
+ private readonly categoryRepositoryFacade;
8
+ private readonly productCatalogFacade;
9
+ private readonly shop;
10
+ private categoryService;
11
+ constructor(categoryRepositoryFacade: CategoryRepositoryFacade, productCatalogFacade: ProductCatalogFacade, shop: Shops);
12
+ getCategoryService(): CategoryService;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<CategoryServiceFacade, never>;
14
+ static ɵprov: i0.ɵɵInjectableDeclaration<CategoryServiceFacade>;
15
+ }
@@ -1,5 +1,5 @@
1
- export { CatalogServiceFacade } from './catalog-service.facade'
2
- export { CatalogStrategiesFacade } from './catalog-strategies.facade'
3
- export { CategoryRepositoryFacade } from './category-repository.facade'
4
- export { CategoryServiceFacade } from './category-service.facade'
5
- export { ProductCatalogFacade } from './product-catalog.facade'
1
+ export { CatalogServiceFacade } from './catalog-service.facade';
2
+ export { CatalogStrategiesFacade } from './catalog-strategies.facade';
3
+ export { CategoryRepositoryFacade } from './category-repository.facade';
4
+ export { CategoryServiceFacade } from './category-service.facade';
5
+ export { ProductCatalogFacade } from './product-catalog.facade';
@@ -0,0 +1,10 @@
1
+ import { ProductRepository } from '@infrab4a/connect';
2
+ import { CategoryStructureAdapter } from '../adapters';
3
+ import * as i0 from "@angular/core";
4
+ export declare class ProductCatalogFacade {
5
+ readonly productRepository: ProductRepository;
6
+ readonly categoryStructureAdapter: CategoryStructureAdapter;
7
+ constructor(productRepository: ProductRepository, categoryStructureAdapter: CategoryStructureAdapter);
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductCatalogFacade, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductCatalogFacade>;
10
+ }
@@ -0,0 +1,14 @@
1
+ import { CatalogSearchParams } from '../../../interfaces';
2
+ import { ProductCatalogFacade } from '../facades';
3
+ import * as i0 from "@angular/core";
4
+ export declare class BrandManagerHelper {
5
+ private readonly productCatalog;
6
+ private brandsList;
7
+ constructor(productCatalog: ProductCatalogFacade);
8
+ setBrandsList(options: CatalogSearchParams, brands: string[]): Promise<void>;
9
+ getBrandsList(indexKey: string): string[];
10
+ buildIndexBrands(options: CatalogSearchParams): string;
11
+ private fetchBrandsOnly;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<BrandManagerHelper, never>;
13
+ static ɵprov: i0.ɵɵInjectableDeclaration<BrandManagerHelper>;
14
+ }
@@ -0,0 +1,8 @@
1
+ import { Product, RepositoryFindFielters } from '@infrab4a/connect';
2
+ import { CatalogFilters } from '../../../interfaces';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CatalogFilterHelper {
5
+ buildFilterQuery(filters: CatalogFilters): RepositoryFindFielters<Product>;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<CatalogFilterHelper, never>;
7
+ static ɵprov: i0.ɵɵInjectableDeclaration<CatalogFilterHelper>;
8
+ }
@@ -0,0 +1,7 @@
1
+ import { Product, RepositoryOrderBy } from '@infrab4a/connect';
2
+ import * as i0 from "@angular/core";
3
+ export declare class CatalogSortHelper {
4
+ buildSortQuery(sort: string): RepositoryOrderBy<Product>;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<CatalogSortHelper, never>;
6
+ static ɵprov: i0.ɵɵInjectableDeclaration<CatalogSortHelper>;
7
+ }
@@ -0,0 +1,4 @@
1
+ export * from './brand-manager.helper';
2
+ export * from './catalog-filter.helper';
3
+ export * from './catalog-sort.helper';
4
+ export * from './product-fields.helper';
@@ -0,0 +1,7 @@
1
+ import { NonFunctionPropertyNames, Product } from '@infrab4a/connect';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ProductFieldsHelper {
4
+ getStandardFields(): NonFunctionPropertyNames<Product>[];
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductFieldsHelper, never>;
6
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductFieldsHelper>;
7
+ }
@@ -0,0 +1,7 @@
1
+ export * from './adapters';
2
+ export * from './catalog.service';
3
+ export * from './category.service';
4
+ export * from './enums';
5
+ export * from './models';
6
+ export * from './types';
7
+ export * from './wishlist.service';
@@ -0,0 +1,4 @@
1
+ import { Category } from '@infrab4a/connect';
2
+ export declare class CategoryWithTree extends Category {
3
+ children?: CategoryWithTree[];
4
+ }
@@ -0,0 +1 @@
1
+ export * from './category-with-tree.model';
@@ -0,0 +1,17 @@
1
+ import { ProductServicesFacade } from '../../../interfaces';
2
+ import { BrandManagerHelper, CatalogFilterHelper, CatalogSortHelper, ProductFieldsHelper } from '../helpers';
3
+ import { CatalogOperationsFacade } from './catalog-operations.facade';
4
+ import { ProductManagementFacade } from './product-management.facade';
5
+ import * as i0 from "@angular/core";
6
+ export declare class CatalogHelpersService {
7
+ private readonly catalogOperations;
8
+ private readonly productManagement;
9
+ constructor(catalogOperations: CatalogOperationsFacade, productManagement: ProductManagementFacade);
10
+ getFilterHelper(): CatalogFilterHelper;
11
+ getSortHelper(): CatalogSortHelper;
12
+ getFieldsHelper(): ProductFieldsHelper;
13
+ getBrandManager(): BrandManagerHelper;
14
+ getProductServices(): ProductServicesFacade;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<CatalogHelpersService, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<CatalogHelpersService>;
17
+ }
@@ -0,0 +1,13 @@
1
+ import { CatalogFilterHelper, CatalogSortHelper, ProductFieldsHelper } from '../helpers';
2
+ import * as i0 from "@angular/core";
3
+ export declare class CatalogOperationsFacade {
4
+ private readonly filterHelper;
5
+ private readonly sortHelper;
6
+ private readonly fieldsHelper;
7
+ constructor(filterHelper: CatalogFilterHelper, sortHelper: CatalogSortHelper, fieldsHelper: ProductFieldsHelper);
8
+ getFilterHelper(): CatalogFilterHelper;
9
+ getSortHelper(): CatalogSortHelper;
10
+ getFieldsHelper(): ProductFieldsHelper;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<CatalogOperationsFacade, never>;
12
+ static ɵprov: i0.ɵɵInjectableDeclaration<CatalogOperationsFacade>;
13
+ }
@@ -0,0 +1,12 @@
1
+ import { ProductServicesFacade } from '../../../interfaces';
2
+ import { ProductCatalogFacade } from '../facades';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CatalogRepositoryService {
5
+ private readonly productCatalog;
6
+ private readonly productServices;
7
+ constructor(productCatalog: ProductCatalogFacade, productServices: ProductServicesFacade);
8
+ getProductCatalog(): ProductCatalogFacade;
9
+ getProductServices(): ProductServicesFacade;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<CatalogRepositoryService, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<CatalogRepositoryService>;
12
+ }
@@ -1,4 +1,4 @@
1
- export { CatalogHelpersService } from './catalog-helpers.service'
2
- export { CatalogOperationsFacade } from './catalog-operations.facade'
3
- export * from './catalog-repository.service'
4
- export { ProductManagementFacade } from './product-management.facade'
1
+ export { CatalogHelpersService } from './catalog-helpers.service';
2
+ export { CatalogOperationsFacade } from './catalog-operations.facade';
3
+ export * from './catalog-repository.service';
4
+ export { ProductManagementFacade } from './product-management.facade';
@@ -0,0 +1,12 @@
1
+ import { ProductServicesFacade } from '../../../interfaces';
2
+ import { BrandManagerHelper } from '../helpers';
3
+ import * as i0 from "@angular/core";
4
+ export declare class ProductManagementFacade {
5
+ private readonly brandManager;
6
+ private readonly productServices;
7
+ constructor(brandManager: BrandManagerHelper, productServices: ProductServicesFacade);
8
+ getBrandManager(): BrandManagerHelper;
9
+ getProductServices(): ProductServicesFacade;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductManagementFacade, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductManagementFacade>;
12
+ }
@@ -0,0 +1,19 @@
1
+ import { Product, RepositoryCacheOptions, RepositoryFindResult, Shops } from '@infrab4a/connect';
2
+ import { CatalogSearchParams, CatalogSearchStrategy } from '../../../interfaces';
3
+ import { CatalogHelpersService, CatalogRepositoryService } from '../services';
4
+ import * as i0 from "@angular/core";
5
+ export declare class CategorySearchStrategy implements CatalogSearchStrategy {
6
+ private readonly repositoryService;
7
+ private readonly helpersService;
8
+ constructor(repositoryService: CatalogRepositoryService, helpersService: CatalogHelpersService);
9
+ search(params: CatalogSearchParams, shop: Shops, optionsCache?: {
10
+ cache?: RepositoryCacheOptions;
11
+ }): Promise<RepositoryFindResult<Product>>;
12
+ private searchWithMostRelevant;
13
+ private searchDefault;
14
+ private getProductIds;
15
+ private findAndSortByMostRelevant;
16
+ private sortProductsByRelevance;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<CategorySearchStrategy, never>;
18
+ static ɵprov: i0.ɵɵInjectableDeclaration<CategorySearchStrategy>;
19
+ }
@@ -0,0 +1,3 @@
1
+ export * from './category-search.strategy';
2
+ export * from './profile-search.strategy';
3
+ export * from './term-search.strategy';
@@ -0,0 +1,14 @@
1
+ import { Product, RepositoryCacheOptions, RepositoryFindResult, Shops } from '@infrab4a/connect';
2
+ import { CatalogSearchParams, CatalogSearchStrategy } from '../../../interfaces';
3
+ import { CatalogHelpersService, CatalogRepositoryService } from '../services';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ProfileSearchStrategy implements CatalogSearchStrategy {
6
+ private readonly repositoryService;
7
+ private readonly helpersService;
8
+ constructor(repositoryService: CatalogRepositoryService, helpersService: CatalogHelpersService);
9
+ search(params: CatalogSearchParams, shop: Shops, optionsCache?: {
10
+ cache?: RepositoryCacheOptions;
11
+ }): Promise<RepositoryFindResult<Product>>;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProfileSearchStrategy, never>;
13
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProfileSearchStrategy>;
14
+ }
@@ -0,0 +1,20 @@
1
+ import { Product, RepositoryCacheOptions, RepositoryFindResult, Shops } from '@infrab4a/connect';
2
+ import { CatalogSearchParams, CatalogSearchStrategy } from '../../../interfaces';
3
+ import { CatalogHelpersService, CatalogRepositoryService } from '../services';
4
+ import * as i0 from "@angular/core";
5
+ export declare class TermSearchStrategy implements CatalogSearchStrategy {
6
+ private readonly repositoryService;
7
+ private readonly helpersService;
8
+ private productsByTerm;
9
+ constructor(repositoryService: CatalogRepositoryService, helpersService: CatalogHelpersService);
10
+ search(params: CatalogSearchParams, shop: Shops, _optionsCache?: {
11
+ cache?: RepositoryCacheOptions;
12
+ }): Promise<RepositoryFindResult<Product>>;
13
+ private searchWithMostRelevant;
14
+ private searchDefault;
15
+ private sortByTermRelevance;
16
+ private getDetailedProducts;
17
+ private findCatalogIdsBySearch;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<TermSearchStrategy, never>;
19
+ static ɵprov: i0.ɵɵInjectableDeclaration<TermSearchStrategy>;
20
+ }