@infrab4a/connect-angular 5.1.0 → 5.2.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 (194) hide show
  1. package/angular-connect.module.d.ts +36 -26
  2. package/angular-elastic-search.module.d.ts +9 -9
  3. package/angular-firebase-auth.module.d.ts +11 -11
  4. package/angular-firestore.module.d.ts +17 -18
  5. package/angular-hasura-graphql.module.d.ts +14 -16
  6. package/angular-vertex-search.module.d.ts +9 -0
  7. package/consts/backend-url.const.d.ts +1 -1
  8. package/consts/category-structure.d.ts +1 -1
  9. package/consts/default-shop.const.d.ts +1 -1
  10. package/consts/es-config.const.d.ts +1 -1
  11. package/consts/firebase-const.d.ts +4 -3
  12. package/consts/hasura-options.const.d.ts +1 -1
  13. package/consts/index.d.ts +8 -7
  14. package/consts/persistence.const.d.ts +1 -1
  15. package/consts/storage-base-url.const.d.ts +1 -1
  16. package/consts/vertex-config.const.d.ts +1 -0
  17. package/esm2020/angular-connect.module.mjs +289 -115
  18. package/esm2020/angular-elastic-search.module.mjs +34 -34
  19. package/esm2020/angular-firebase-auth.module.mjs +141 -115
  20. package/esm2020/angular-firestore.module.mjs +541 -504
  21. package/esm2020/angular-hasura-graphql.module.mjs +333 -265
  22. package/esm2020/angular-vertex-search.module.mjs +34 -0
  23. package/esm2020/consts/backend-url.const.mjs +2 -2
  24. package/esm2020/consts/category-structure.mjs +2 -2
  25. package/esm2020/consts/default-shop.const.mjs +2 -2
  26. package/esm2020/consts/es-config.const.mjs +2 -2
  27. package/esm2020/consts/firebase-const.mjs +5 -4
  28. package/esm2020/consts/hasura-options.const.mjs +2 -2
  29. package/esm2020/consts/index.mjs +9 -8
  30. package/esm2020/consts/persistence.const.mjs +2 -2
  31. package/esm2020/consts/storage-base-url.const.mjs +2 -2
  32. package/esm2020/consts/vertex-config.const.mjs +2 -0
  33. package/esm2020/helpers/index.mjs +2 -2
  34. package/esm2020/helpers/mobile-operation-system-checker.helper.mjs +7 -7
  35. package/esm2020/index.mjs +7 -7
  36. package/esm2020/infrab4a-connect-angular.mjs +4 -4
  37. package/esm2020/interfaces/catalog-strategies.interface.mjs +2 -0
  38. package/esm2020/interfaces/category-facades.interface.mjs +2 -0
  39. package/esm2020/interfaces/index.mjs +3 -0
  40. package/esm2020/persistence/cookie-data-persistence.mjs +22 -22
  41. package/esm2020/persistence/data-persistence.mjs +2 -2
  42. package/esm2020/persistence/index.mjs +3 -3
  43. package/esm2020/services/auth.service.mjs +37 -37
  44. package/esm2020/services/cart/cart-services.facade.mjs +21 -0
  45. package/esm2020/services/cart/index.mjs +2 -0
  46. package/esm2020/services/cart.service.mjs +73 -281
  47. package/esm2020/services/catalog/adapters/category-structure.adapter.mjs +2 -2
  48. package/esm2020/services/catalog/adapters/index.mjs +4 -4
  49. package/esm2020/services/catalog/adapters/new-category-structure.adapter.mjs +43 -43
  50. package/esm2020/services/catalog/adapters/old-category-structure.adapter.mjs +23 -23
  51. package/esm2020/services/catalog/catalog.service.mjs +111 -194
  52. package/esm2020/services/catalog/category.service.mjs +39 -51
  53. package/esm2020/services/catalog/context/catalog-search.context.mjs +40 -0
  54. package/esm2020/services/catalog/enums/index.mjs +2 -2
  55. package/esm2020/services/catalog/enums/product-sorts.enum.mjs +11 -11
  56. package/esm2020/services/catalog/facades/catalog-service.facade.mjs +32 -0
  57. package/esm2020/services/catalog/facades/catalog-strategies.facade.mjs +17 -0
  58. package/esm2020/services/catalog/facades/category-repository.facade.mjs +20 -0
  59. package/esm2020/services/catalog/facades/category-service.facade.mjs +30 -0
  60. package/esm2020/services/catalog/facades/index.mjs +6 -0
  61. package/esm2020/services/catalog/facades/product-catalog.facade.mjs +21 -0
  62. package/esm2020/services/catalog/helpers/brand-manager.helper.mjs +57 -0
  63. package/esm2020/services/catalog/helpers/catalog-filter.helper.mjs +44 -0
  64. package/esm2020/services/catalog/helpers/catalog-sort.helper.mjs +52 -0
  65. package/esm2020/services/catalog/helpers/index.mjs +5 -0
  66. package/esm2020/services/catalog/helpers/product-fields.helper.mjs +39 -0
  67. package/esm2020/services/catalog/index.mjs +8 -8
  68. package/esm2020/services/catalog/models/category-with-tree.model.mjs +10 -10
  69. package/esm2020/services/catalog/models/index.mjs +2 -2
  70. package/esm2020/services/catalog/services/catalog-helpers.service.mjs +33 -0
  71. package/esm2020/services/catalog/services/catalog-operations.facade.mjs +26 -0
  72. package/esm2020/services/catalog/services/catalog-repository.service.mjs +25 -0
  73. package/esm2020/services/catalog/services/index.mjs +5 -0
  74. package/esm2020/services/catalog/services/product-management.facade.mjs +25 -0
  75. package/esm2020/services/catalog/strategies/category-search.strategy.mjs +133 -0
  76. package/esm2020/services/catalog/strategies/index.mjs +4 -0
  77. package/esm2020/services/catalog/strategies/profile-search.strategy.mjs +42 -0
  78. package/esm2020/services/catalog/strategies/term-search.strategy.mjs +126 -0
  79. package/esm2020/services/catalog/strategies/types/strategy-params.type.mjs +2 -0
  80. package/esm2020/services/catalog/types/fetch-products-options.type.mjs +2 -0
  81. package/esm2020/services/catalog/types/fetch-products-params.type.mjs +2 -0
  82. package/esm2020/services/catalog/types/fetch-products-response.type.mjs +2 -0
  83. package/esm2020/services/catalog/types/index.mjs +6 -2
  84. package/esm2020/services/catalog/types/method-params.type.mjs +2 -0
  85. package/esm2020/services/catalog/types/product-sort.type.mjs +2 -2
  86. package/esm2020/services/catalog/wishlist.service.mjs +255 -115
  87. package/esm2020/services/checkout/checkout-dependencies.facade.mjs +20 -0
  88. package/esm2020/services/checkout/checkout-repositories.facade.mjs +20 -0
  89. package/esm2020/services/checkout/index.mjs +3 -0
  90. package/esm2020/services/checkout-subscription.service.mjs +55 -50
  91. package/esm2020/services/checkout.service.mjs +106 -68
  92. package/esm2020/services/coupon/coupon-repositories.facade.mjs +24 -0
  93. package/esm2020/services/coupon/index.mjs +2 -0
  94. package/esm2020/services/coupon/types/coupon-params.type.mjs +2 -0
  95. package/esm2020/services/coupon.service.mjs +248 -235
  96. package/esm2020/services/helpers/index.mjs +2 -2
  97. package/esm2020/services/helpers/util.helper.mjs +18 -18
  98. package/esm2020/services/home-shop/home-shop-repositories.facade.mjs +24 -0
  99. package/esm2020/services/home-shop/index.mjs +2 -0
  100. package/esm2020/services/home-shop.service.mjs +119 -125
  101. package/esm2020/services/index.mjs +10 -11
  102. package/esm2020/services/order.service.mjs +30 -30
  103. package/esm2020/services/shared/configuration.facade.mjs +29 -0
  104. package/esm2020/services/shared/index.mjs +2 -0
  105. package/esm2020/services/types/index.mjs +3 -3
  106. package/esm2020/services/types/required-checkout-data.type.mjs +2 -2
  107. package/esm2020/services/types/required-checkout-subscription-data.type.mjs +2 -2
  108. package/esm2020/types/firebase-app-config.type.mjs +2 -2
  109. package/esm2020/types/index.mjs +2 -2
  110. package/fesm2015/infrab4a-connect-angular.mjs +3297 -2342
  111. package/fesm2015/infrab4a-connect-angular.mjs.map +1 -1
  112. package/fesm2020/infrab4a-connect-angular.mjs +3206 -2281
  113. package/fesm2020/infrab4a-connect-angular.mjs.map +1 -1
  114. package/helpers/index.d.ts +1 -1
  115. package/helpers/mobile-operation-system-checker.helper.d.ts +3 -3
  116. package/index.d.ts +6 -6
  117. package/interfaces/catalog-strategies.interface.d.ts +31 -0
  118. package/interfaces/category-facades.interface.d.ts +6 -0
  119. package/interfaces/index.d.ts +2 -0
  120. package/package.json +8 -6
  121. package/persistence/cookie-data-persistence.d.ts +10 -10
  122. package/persistence/data-persistence.d.ts +6 -6
  123. package/persistence/index.d.ts +2 -2
  124. package/services/auth.service.d.ts +18 -18
  125. package/services/cart/cart-services.facade.d.ts +12 -0
  126. package/services/cart/index.d.ts +1 -0
  127. package/services/cart.service.d.ts +26 -42
  128. package/services/catalog/adapters/category-structure.adapter.d.ts +4 -4
  129. package/services/catalog/adapters/index.d.ts +3 -3
  130. package/services/catalog/adapters/new-category-structure.adapter.d.ts +12 -12
  131. package/services/catalog/adapters/old-category-structure.adapter.d.ts +10 -10
  132. package/services/catalog/catalog.service.d.ts +24 -86
  133. package/services/catalog/category.service.d.ts +22 -20
  134. package/services/catalog/context/catalog-search.context.d.ts +14 -0
  135. package/services/catalog/enums/index.d.ts +1 -1
  136. package/services/catalog/enums/product-sorts.enum.d.ts +9 -9
  137. package/services/catalog/facades/catalog-service.facade.d.ts +15 -0
  138. package/services/catalog/facades/catalog-strategies.facade.d.ts +10 -0
  139. package/services/catalog/facades/category-repository.facade.d.ts +9 -0
  140. package/services/catalog/facades/category-service.facade.d.ts +15 -0
  141. package/services/catalog/facades/index.d.ts +5 -0
  142. package/services/catalog/facades/product-catalog.facade.d.ts +10 -0
  143. package/services/catalog/helpers/brand-manager.helper.d.ts +14 -0
  144. package/services/catalog/helpers/catalog-filter.helper.d.ts +8 -0
  145. package/services/catalog/helpers/catalog-sort.helper.d.ts +7 -0
  146. package/services/catalog/helpers/index.d.ts +4 -0
  147. package/services/catalog/helpers/product-fields.helper.d.ts +7 -0
  148. package/services/catalog/index.d.ts +7 -7
  149. package/services/catalog/models/category-with-tree.model.d.ts +4 -4
  150. package/services/catalog/models/index.d.ts +1 -1
  151. package/services/catalog/services/catalog-helpers.service.d.ts +17 -0
  152. package/services/catalog/services/catalog-operations.facade.d.ts +13 -0
  153. package/services/catalog/services/catalog-repository.service.d.ts +12 -0
  154. package/services/catalog/services/index.d.ts +4 -0
  155. package/services/catalog/services/product-management.facade.d.ts +12 -0
  156. package/services/catalog/strategies/category-search.strategy.d.ts +19 -0
  157. package/services/catalog/strategies/index.d.ts +3 -0
  158. package/services/catalog/strategies/profile-search.strategy.d.ts +14 -0
  159. package/services/catalog/strategies/term-search.strategy.d.ts +20 -0
  160. package/services/catalog/strategies/types/strategy-params.type.d.ts +58 -0
  161. package/services/catalog/types/fetch-products-options.type.d.ts +8 -0
  162. package/services/catalog/types/fetch-products-params.type.d.ts +25 -0
  163. package/services/catalog/types/fetch-products-response.type.d.ts +19 -0
  164. package/services/catalog/types/index.d.ts +5 -1
  165. package/services/catalog/types/method-params.type.d.ts +17 -0
  166. package/services/catalog/types/product-sort.type.d.ts +2 -2
  167. package/services/catalog/wishlist.service.d.ts +58 -38
  168. package/services/checkout/checkout-dependencies.facade.d.ts +10 -0
  169. package/services/checkout/checkout-repositories.facade.d.ts +9 -0
  170. package/services/checkout/index.d.ts +2 -0
  171. package/services/checkout-subscription.service.d.ts +19 -19
  172. package/services/checkout.service.d.ts +30 -24
  173. package/services/coupon/coupon-repositories.facade.d.ts +10 -0
  174. package/services/coupon/index.d.ts +1 -0
  175. package/services/coupon/types/coupon-params.type.d.ts +13 -0
  176. package/services/coupon.service.d.ts +36 -29
  177. package/services/helpers/index.d.ts +1 -1
  178. package/services/helpers/util.helper.d.ts +3 -3
  179. package/services/home-shop/home-shop-repositories.facade.d.ts +10 -0
  180. package/services/home-shop/index.d.ts +1 -0
  181. package/services/home-shop.service.d.ts +26 -26
  182. package/services/index.d.ts +9 -10
  183. package/services/order.service.d.ts +13 -13
  184. package/services/shared/configuration.facade.d.ts +12 -0
  185. package/services/shared/index.d.ts +1 -0
  186. package/services/types/index.d.ts +2 -2
  187. package/services/types/required-checkout-data.type.d.ts +2 -2
  188. package/services/types/required-checkout-subscription-data.type.d.ts +2 -2
  189. package/types/firebase-app-config.type.d.ts +1 -1
  190. package/types/index.d.ts +1 -1
  191. package/esm2020/services/shipping.service.mjs +0 -96
  192. package/esm2020/services/types/shipping-methods.type.mjs +0 -2
  193. package/services/shipping.service.d.ts +0 -19
  194. package/services/types/shipping-methods.type.d.ts +0 -12
@@ -1,115 +1,289 @@
1
- import { NgModule } from '@angular/core';
2
- import { getApp, initializeApp, provideFirebaseApp } from '@angular/fire/app';
3
- import { UpdateUserImage, isNil, } from '@infrab4a/connect';
4
- import { AngularElasticSeachModule } from './angular-elastic-search.module';
5
- import { AngularFirebaseAuthModule } from './angular-firebase-auth.module';
6
- import { AngularFirestoreModule } from './angular-firestore.module';
7
- import { AngularHasuraGraphQLModule } from './angular-hasura-graphql.module';
8
- import { BACKEND_URL, CATEGORY_STRUCTURE, DEFAULT_SHOP, ES_CONFIG, FIREBASE_APP_NAME, FIREBASE_OPTIONS, HASURA_OPTIONS, PERSISTENCE_PROVIDER, } from './consts';
9
- import { STORAGE_BASE_URL } from './consts/storage-base-url.const';
10
- import { CookieDataPersistence } from './persistence';
11
- import { AuthService, CartService, CatalogService, CategoryService, CheckoutService, CheckoutSubscriptionService, CouponService, HomeShopService, OrderService, ShippingService, WishlistService, } from './services';
12
- import { NewCategoryStructureAdapter, OldCategoryStructureAdapter } from './services/catalog/adapters';
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "@angular/fire/app";
15
- export class AngularConnectModule {
16
- static initializeApp(defaultShop, options, nameOrConfig) {
17
- return {
18
- ngModule: AngularConnectModule,
19
- providers: [
20
- {
21
- provide: CATEGORY_STRUCTURE,
22
- useClass: isNil(options?.oldCategoryStructure) || options?.oldCategoryStructure
23
- ? OldCategoryStructureAdapter
24
- : NewCategoryStructureAdapter,
25
- },
26
- { provide: PERSISTENCE_PROVIDER, useClass: options?.persistenceProvider || CookieDataPersistence },
27
- ...(isNil(defaultShop) ? [] : [{ provide: DEFAULT_SHOP, useValue: defaultShop }]),
28
- ...(isNil(options?.firebase) ? [] : [{ provide: FIREBASE_OPTIONS, useValue: options?.firebase }]),
29
- ...(isNil(options?.firebase) ? [] : [{ provide: FIREBASE_APP_NAME, useValue: nameOrConfig }]),
30
- ...(isNil(options?.elasticSearch) ? [] : [{ provide: ES_CONFIG, useValue: options.elasticSearch }]),
31
- ...(isNil(options?.hasura) ? [] : [{ provide: HASURA_OPTIONS, useValue: options.hasura }]),
32
- ...(isNil(options?.backendUrl) ? [] : [{ provide: BACKEND_URL, useValue: options.backendUrl }]),
33
- ...(isNil(options?.storageBaseUrl) ? [] : [{ provide: STORAGE_BASE_URL, useValue: options.storageBaseUrl }]),
34
- ],
35
- };
36
- }
37
- }
38
- AngularConnectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
39
- AngularConnectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, imports: [i1.FirebaseAppModule, AngularElasticSeachModule,
40
- AngularFirebaseAuthModule,
41
- AngularFirestoreModule,
42
- AngularHasuraGraphQLModule] });
43
- AngularConnectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, providers: [
44
- AuthService,
45
- CartService,
46
- CatalogService,
47
- CategoryService,
48
- CheckoutService,
49
- CheckoutSubscriptionService,
50
- CouponService,
51
- HomeShopService,
52
- OrderService,
53
- ShippingService,
54
- WishlistService,
55
- {
56
- provide: UpdateUserImage,
57
- useFactory: (userRepository, fileUploader) => {
58
- return new UpdateUserImage(userRepository, fileUploader);
59
- },
60
- deps: ['UserRepository', 'FileUploaderService'],
61
- },
62
- ], imports: [provideFirebaseApp((injector) => {
63
- const appName = injector.get(FIREBASE_APP_NAME) || '[DEFAULT]';
64
- try {
65
- return getApp(appName);
66
- }
67
- catch (error) {
68
- return initializeApp(injector.get(FIREBASE_OPTIONS), appName);
69
- }
70
- }),
71
- AngularElasticSeachModule,
72
- AngularFirebaseAuthModule,
73
- AngularFirestoreModule,
74
- AngularHasuraGraphQLModule] });
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, decorators: [{
76
- type: NgModule,
77
- args: [{
78
- imports: [
79
- provideFirebaseApp((injector) => {
80
- const appName = injector.get(FIREBASE_APP_NAME) || '[DEFAULT]';
81
- try {
82
- return getApp(appName);
83
- }
84
- catch (error) {
85
- return initializeApp(injector.get(FIREBASE_OPTIONS), appName);
86
- }
87
- }),
88
- AngularElasticSeachModule,
89
- AngularFirebaseAuthModule,
90
- AngularFirestoreModule,
91
- AngularHasuraGraphQLModule,
92
- ],
93
- providers: [
94
- AuthService,
95
- CartService,
96
- CatalogService,
97
- CategoryService,
98
- CheckoutService,
99
- CheckoutSubscriptionService,
100
- CouponService,
101
- HomeShopService,
102
- OrderService,
103
- ShippingService,
104
- WishlistService,
105
- {
106
- provide: UpdateUserImage,
107
- useFactory: (userRepository, fileUploader) => {
108
- return new UpdateUserImage(userRepository, fileUploader);
109
- },
110
- deps: ['UserRepository', 'FileUploaderService'],
111
- },
112
- ],
113
- }]
114
- }] });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1jb25uZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvYW5ndWxhci1jb25uZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlDLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQTtBQUM3RSxPQUFPLEVBQW1CLE1BQU0sRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUM5RixPQUFPLEVBSUwsZUFBZSxFQUVmLEtBQUssR0FDTixNQUFNLG1CQUFtQixDQUFBO0FBQzFCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ25FLE9BQU8sRUFBRSwwQkFBMEIsRUFBd0IsTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRyxPQUFPLEVBQ0wsV0FBVyxFQUNYLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osU0FBUyxFQUNULGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLG9CQUFvQixHQUNyQixNQUFNLFVBQVUsQ0FBQTtBQUNqQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQW1CLE1BQU0sZUFBZSxDQUFBO0FBQ3RFLE9BQU8sRUFDTCxXQUFXLEVBQ1gsV0FBVyxFQUNYLGNBQWMsRUFDZCxlQUFlLEVBQ2YsZUFBZSxFQUNmLDJCQUEyQixFQUMzQixhQUFhLEVBQ2IsZUFBZSxFQUNmLFlBQVksRUFDWixlQUFlLEVBQ2YsZUFBZSxHQUNoQixNQUFNLFlBQVksQ0FBQTtBQUNuQixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsMkJBQTJCLEVB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QWU7d0JBQ2YsZUFBZTt3QkFDZjs0QkFDRSxPQUFPLEVBQUUsZUFBZTs0QkFDeEIsVUFBVSxFQUFFLENBQUMsY0FBOEIsRUFBRSxZQUFpQyxFQUFFLEVBQUU7Z0NBQ2hGLE9BQU8sSUFBSSxlQUFlLENBQUMsY0FBYyxFQUFFLFlBQVksQ0FBQyxDQUFBOzRCQUMxRCxDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLGdCQUFnQixFQUFFLHFCQUFxQixDQUFDO3lCQUNoRDtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBGaXJlYmFzZU9wdGlvbnMsIGdldEFwcCwgaW5pdGlhbGl6ZUFwcCwgcHJvdmlkZUZpcmViYXNlQXBwIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hcHAnXG5pbXBvcnQge1xuICBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWcsXG4gIEZpbGVVcGxvYWRlclNlcnZpY2UsXG4gIFNob3BzLFxuICBVcGRhdGVVc2VySW1hZ2UsXG4gIFVzZXJSZXBvc2l0b3J5LFxuICBpc05pbCxcbn0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5pbXBvcnQgeyBBbmd1bGFyRWxhc3RpY1NlYWNoTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyLWVsYXN0aWMtc2VhcmNoLm1vZHVsZSdcbmltcG9ydCB7IEFuZ3VsYXJGaXJlYmFzZUF1dGhNb2R1bGUgfSBmcm9tICcuL2FuZ3VsYXItZmlyZWJhc2UtYXV0aC5tb2R1bGUnXG5pbXBvcnQgeyBBbmd1bGFyRmlyZXN0b3JlTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyLWZpcmVzdG9yZS5tb2R1bGUnXG5pbXBvcnQgeyBBbmd1bGFySGFzdXJhR3JhcGhRTE1vZHVsZSwgSGFzdXJhR3JhcGhRTE9wdGlvbnMgfSBmcm9tICcuL2FuZ3VsYXItaGFzdXJhLWdyYXBocWwubW9kdWxlJ1xuaW1wb3J0IHtcbiAgQkFDS0VORF9VUkwsXG4gIENBVEVHT1JZX1NUUlVDVFVSRSxcbiAgREVGQVVMVF9TSE9QLFxuICBFU19DT05GSUcsXG4gIEZJUkVCQVNFX0FQUF9OQU1FLFxuICBGSVJFQkFTRV9PUFRJT05TLFxuICBIQVNVUkFfT1BUSU9OUyxcbiAgUEVSU0lTVEVOQ0VfUFJPVklERVIsXG59IGZyb20gJy4vY29uc3RzJ1xuaW1wb3J0IHsgU1RPUkFHRV9CQVNFX1VSTCB9IGZyb20gJy4vY29uc3RzL3N0b3JhZ2UtYmFzZS11cmwuY29uc3QnXG5pbXBvcnQgeyBDb29raWVEYXRhUGVyc2lzdGVuY2UsIERhdGFQZXJzaXN0ZW5jZSB9IGZyb20gJy4vcGVyc2lzdGVuY2UnXG5pbXBvcnQge1xuICBBdXRoU2VydmljZSxcbiAgQ2FydFNlcnZpY2UsXG4gIENhdGFsb2dTZXJ2aWNlLFxuICBDYXRlZ29yeVNlcnZpY2UsXG4gIENoZWNrb3V0U2VydmljZSxcbiAgQ2hlY2tvdXRTdWJzY3JpcHRpb25TZXJ2aWNlLFxuICBDb3Vwb25TZXJ2aWNlLFxuICBIb21lU2hvcFNlcnZpY2UsXG4gIE9yZGVyU2VydmljZSxcbiAgU2hpcHBpbmdTZXJ2aWNlLFxuICBXaXNobGlzdFNlcnZpY2UsXG59IGZyb20gJy4vc2VydmljZXMnXG5pbXBvcnQgeyBOZXdDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIsIE9sZENhdGVnb3J5U3RydWN0dXJlQWRhcHRlciB9IGZyb20gJy4vc2VydmljZXMvY2F0YWxvZy9hZGFwdGVycydcbmltcG9ydCB7IEZpcmViYXNlQXBwQ29uZmlnIH0gZnJvbSAnLi90eXBlcydcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVGaXJlYmFzZUFwcCgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBhcHBOYW1lID0gaW5qZWN0b3IuZ2V0PHN0cmluZz4oRklSRUJBU0VfQVBQX05BTUUpIHx8ICdbREVGQVVMVF0nXG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBnZXRBcHAoYXBwTmFtZSlcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBpbml0aWFsaXplQXBwKGluamVjdG9yLmdldChGSVJFQkFTRV9PUFRJT05TKSwgYXBwTmFtZSlcbiAgICAgIH1cbiAgICB9KSxcbiAgICBBbmd1bGFyRWxhc3RpY1NlYWNoTW9kdWxlLFxuICAgIEFuZ3VsYXJGaXJlYmFzZUF1dGhNb2R1bGUsXG4gICAgQW5ndWxhckZpcmVzdG9yZU1vZHVsZSxcbiAgICBBbmd1bGFySGFzdXJhR3JhcGhRTE1vZHVsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQXV0aFNlcnZpY2UsXG4gICAgQ2FydFNlcnZpY2UsXG4gICAgQ2F0YWxvZ1NlcnZpY2UsXG4gICAgQ2F0ZWdvcnlTZXJ2aWNlLFxuICAgIENoZWNrb3V0U2VydmljZSxcbiAgICBDaGVja291dFN1YnNjcmlwdGlvblNlcnZpY2UsXG4gICAgQ291cG9uU2VydmljZSxcbiAgICBIb21lU2hvcFNlcnZpY2UsXG4gICAgT3JkZXJTZXJ2aWNlLFxuICAgIFNoaXBwaW5nU2VydmljZSxcbiAgICBXaXNobGlzdFNlcnZpY2UsXG4gICAge1xuICAgICAgcHJvdmlkZTogVXBkYXRlVXNlckltYWdlLFxuICAgICAgdXNlRmFjdG9yeTogKHVzZXJSZXBvc2l0b3J5OiBVc2VyUmVwb3NpdG9yeSwgZmlsZVVwbG9hZGVyOiBGaWxlVXBsb2FkZXJTZXJ2aWNlKSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgVXBkYXRlVXNlckltYWdlKHVzZXJSZXBvc2l0b3J5LCBmaWxlVXBsb2FkZXIpXG4gICAgICB9LFxuICAgICAgZGVwczogWydVc2VyUmVwb3NpdG9yeScsICdGaWxlVXBsb2FkZXJTZXJ2aWNlJ10sXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhckNvbm5lY3RNb2R1bGUge1xuICBzdGF0aWMgaW5pdGlhbGl6ZUFwcChcbiAgICBkZWZhdWx0U2hvcDogU2hvcHMsXG4gICAgb3B0aW9uczoge1xuICAgICAgZmlyZWJhc2U6IEZpcmViYXNlT3B0aW9uc1xuICAgICAgZWxhc3RpY1NlYXJjaDogQXhpb3NFbGFzdGljU2VhcmNoQ29uZmlnXG4gICAgICBoYXN1cmE6IEhhc3VyYUdyYXBoUUxPcHRpb25zXG4gICAgICBiYWNrZW5kVXJsOiBzdHJpbmdcbiAgICAgIG9sZENhdGVnb3J5U3RydWN0dXJlPzogYm9vbGVhblxuICAgICAgc3RvcmFnZUJhc2VVcmw/OiBzdHJpbmdcbiAgICAgIHBlcnNpc3RlbmNlUHJvdmlkZXI/OiBUeXBlPERhdGFQZXJzaXN0ZW5jZT5cbiAgICB9LFxuICAgIG5hbWVPckNvbmZpZz86IHN0cmluZyB8IEZpcmViYXNlQXBwQ29uZmlnLFxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFuZ3VsYXJDb25uZWN0TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBbmd1bGFyQ29ubmVjdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQ0FURUdPUllfU1RSVUNUVVJFLFxuICAgICAgICAgIHVzZUNsYXNzOlxuICAgICAgICAgICAgaXNOaWwob3B0aW9ucz8ub2xkQ2F0ZWdvcnlTdHJ1Y3R1cmUpIHx8IG9wdGlvbnM/Lm9sZENhdGVnb3J5U3RydWN0dXJlXG4gICAgICAgICAgICAgID8gT2xkQ2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyXG4gICAgICAgICAgICAgIDogTmV3Q2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyLFxuICAgICAgICB9LFxuICAgICAgICB7IHByb3ZpZGU6IFBFUlNJU1RFTkNFX1BST1ZJREVSLCB1c2VDbGFzczogb3B0aW9ucz8ucGVyc2lzdGVuY2VQcm92aWRlciB8fCBDb29raWVEYXRhUGVyc2lzdGVuY2UgfSxcbiAgICAgICAgLi4uKGlzTmlsKGRlZmF1bHRTaG9wKSA/IFtdIDogW3sgcHJvdmlkZTogREVGQVVMVF9TSE9QLCB1c2VWYWx1ZTogZGVmYXVsdFNob3AgfV0pLFxuICAgICAgICAuLi4oaXNOaWwob3B0aW9ucz8uZmlyZWJhc2UpID8gW10gOiBbeyBwcm92aWRlOiBGSVJFQkFTRV9PUFRJT05TLCB1c2VWYWx1ZTogb3B0aW9ucz8uZmlyZWJhc2UgfV0pLFxuICAgICAgICAuLi4oaXNOaWwob3B0aW9ucz8uZmlyZWJhc2UpID8gW10gOiBbeyBwcm92aWRlOiBGSVJFQkFTRV9BUFBfTkFNRSwgdXNlVmFsdWU6IG5hbWVPckNvbmZpZyB9XSksXG4gICAgICAgIC4uLihpc05pbChvcHRpb25zPy5lbGFzdGljU2VhcmNoKSA/IFtdIDogW3sgcHJvdmlkZTogRVNfQ09ORklHLCB1c2VWYWx1ZTogb3B0aW9ucy5lbGFzdGljU2VhcmNoIH1dKSxcbiAgICAgICAgLi4uKGlzTmlsKG9wdGlvbnM/Lmhhc3VyYSkgPyBbXSA6IFt7IHByb3ZpZGU6IEhBU1VSQV9PUFRJT05TLCB1c2VWYWx1ZTogb3B0aW9ucy5oYXN1cmEgfV0pLFxuICAgICAgICAuLi4oaXNOaWwob3B0aW9ucz8uYmFja2VuZFVybCkgPyBbXSA6IFt7IHByb3ZpZGU6IEJBQ0tFTkRfVVJMLCB1c2VWYWx1ZTogb3B0aW9ucy5iYWNrZW5kVXJsIH1dKSxcbiAgICAgICAgLi4uKGlzTmlsKG9wdGlvbnM/LnN0b3JhZ2VCYXNlVXJsKSA/IFtdIDogW3sgcHJvdmlkZTogU1RPUkFHRV9CQVNFX1VSTCwgdXNlVmFsdWU6IG9wdGlvbnMuc3RvcmFnZUJhc2VVcmwgfV0pLFxuICAgICAgXSxcbiAgICB9XG4gIH1cbn1cbiJdfQ==
1
+ import { NgModule } from '@angular/core';
2
+ import { FirebaseApp, getApp, initializeApp, provideFirebaseApp } from '@angular/fire/app';
3
+ import { initializeAppCheck, provideAppCheck } from '@angular/fire/app-check';
4
+ import { getStorage, provideStorage, Storage } from '@angular/fire/storage';
5
+ import { FirebaseFileUploaderService, isNil, ProductsVertexSearch, UpdateUserImage, } from '@infrab4a/connect';
6
+ import { AngularElasticSeachModule } from './angular-elastic-search.module';
7
+ import { AngularFirebaseAuthModule } from './angular-firebase-auth.module';
8
+ import { AngularFirestoreModule } from './angular-firestore.module';
9
+ import { AngularHasuraGraphQLModule } from './angular-hasura-graphql.module';
10
+ import { AngularVertexSeachModule } from './angular-vertex-search.module';
11
+ import { APP_CHECK_PROVIDER, BACKEND_URL, CATEGORY_STRUCTURE, DEFAULT_SHOP, ES_CONFIG, FIREBASE_APP_NAME, FIREBASE_OPTIONS, HASURA_OPTIONS, PERSISTENCE_PROVIDER, VERTEX_CONFIG, } from './consts';
12
+ import { STORAGE_BASE_URL } from './consts/storage-base-url.const';
13
+ import { CookieDataPersistence } from './persistence';
14
+ import { AuthService, CartService, CatalogService, CategoryService, CheckoutService, CheckoutSubscriptionService, CouponService, HomeShopService, OrderService, WishlistService, } from './services';
15
+ import { CartServicesFacade } from './services/cart';
16
+ import { NewCategoryStructureAdapter, OldCategoryStructureAdapter } from './services/catalog/adapters';
17
+ import { CatalogSearchContext } from './services/catalog/context/catalog-search.context';
18
+ import { CatalogServiceFacade, CatalogStrategiesFacade, CategoryRepositoryFacade, CategoryServiceFacade, ProductCatalogFacade, } from './services/catalog/facades';
19
+ import { BrandManagerHelper, CatalogFilterHelper, CatalogSortHelper, ProductFieldsHelper, } from './services/catalog/helpers';
20
+ import { CatalogHelpersService, CatalogOperationsFacade, CatalogRepositoryService, ProductManagementFacade, } from './services/catalog/services';
21
+ import { CategorySearchStrategy, ProfileSearchStrategy, TermSearchStrategy } from './services/catalog/strategies';
22
+ import { CheckoutDependenciesFacade, CheckoutRepositoriesFacade } from './services/checkout';
23
+ import { CouponRepositoriesFacade } from './services/coupon';
24
+ import { HomeShopRepositoriesFacade } from './services/home-shop';
25
+ import { ConfigurationFacade } from './services/shared';
26
+ import * as i0 from "@angular/core";
27
+ import * as i1 from "@angular/fire/app";
28
+ import * as i2 from "@angular/fire/app-check";
29
+ import * as i3 from "@angular/fire/storage";
30
+ export class AngularConnectModule {
31
+ static initializeApp(defaultShop, options, nameOrConfig) {
32
+ return {
33
+ ngModule: AngularConnectModule,
34
+ providers: [
35
+ ...this.buildCoreProviders(nameOrConfig, options),
36
+ ...this.buildConditionalProviders(defaultShop, options),
37
+ ],
38
+ };
39
+ }
40
+ static buildCoreProviders(nameOrConfig, options) {
41
+ return [
42
+ { provide: FIREBASE_APP_NAME, useValue: nameOrConfig },
43
+ { provide: APP_CHECK_PROVIDER, useValue: options.appCheckProvider },
44
+ {
45
+ provide: CATEGORY_STRUCTURE,
46
+ useClass: this.selectCategoryStructureAdapter(options.oldCategoryStructure),
47
+ },
48
+ { provide: PERSISTENCE_PROVIDER, useClass: options?.persistenceProvider || CookieDataPersistence },
49
+ ];
50
+ }
51
+ static buildConditionalProviders(defaultShop, options) {
52
+ return [
53
+ ...this.createProviderIfExists(DEFAULT_SHOP, defaultShop),
54
+ ...this.createProviderIfExists(FIREBASE_OPTIONS, options.firebase),
55
+ ...this.createProviderIfExists(ES_CONFIG, options.elasticSearch),
56
+ ...this.createProviderIfExists(VERTEX_CONFIG, options.vertexConfig),
57
+ ...this.createProviderIfExists(HASURA_OPTIONS, options.hasura),
58
+ ...this.createProviderIfExists(BACKEND_URL, options.backendUrl),
59
+ ...this.createProviderIfExists(STORAGE_BASE_URL, options.storageBaseUrl),
60
+ ];
61
+ }
62
+ static selectCategoryStructureAdapter(oldCategoryStructure) {
63
+ return isNil(oldCategoryStructure) || oldCategoryStructure
64
+ ? OldCategoryStructureAdapter
65
+ : NewCategoryStructureAdapter;
66
+ }
67
+ static createProviderIfExists(token, value) {
68
+ return isNil(value) ? [] : [{ provide: token, useValue: value }];
69
+ }
70
+ }
71
+ AngularConnectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
72
+ AngularConnectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, imports: [i1.FirebaseAppModule, i2.AppCheckModule, i3.StorageModule, AngularElasticSeachModule,
73
+ AngularVertexSeachModule,
74
+ AngularFirebaseAuthModule,
75
+ AngularFirestoreModule,
76
+ AngularHasuraGraphQLModule] });
77
+ AngularConnectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, providers: [
78
+ AuthService,
79
+ CartService,
80
+ CatalogService,
81
+ CategoryService,
82
+ CheckoutService,
83
+ CheckoutSubscriptionService,
84
+ CouponService,
85
+ HomeShopService,
86
+ OrderService,
87
+ WishlistService,
88
+ ConfigurationFacade,
89
+ CartServicesFacade,
90
+ CheckoutRepositoriesFacade,
91
+ CheckoutDependenciesFacade,
92
+ CategoryRepositoryFacade,
93
+ ProductCatalogFacade,
94
+ CatalogServiceFacade,
95
+ CategoryServiceFacade,
96
+ CatalogStrategiesFacade,
97
+ CatalogOperationsFacade,
98
+ ProductManagementFacade,
99
+ {
100
+ provide: 'ProductServicesFacade',
101
+ useFactory: (productStockNotificationRepository, categoryRepository, productSearch) => ({
102
+ productStockNotificationRepository,
103
+ categoryRepository,
104
+ productSearch,
105
+ }),
106
+ deps: ['ProductStockNotificationRepository', 'CategoryRepository', 'ProductSearch'],
107
+ },
108
+ CatalogFilterHelper,
109
+ CatalogSortHelper,
110
+ ProductFieldsHelper,
111
+ BrandManagerHelper,
112
+ CatalogRepositoryService,
113
+ CatalogHelpersService,
114
+ CategorySearchStrategy,
115
+ TermSearchStrategy,
116
+ ProfileSearchStrategy,
117
+ {
118
+ provide: CatalogSearchContext,
119
+ useFactory: (categoryStrategy, termStrategy, profileStrategy) => {
120
+ return new CatalogSearchContext(categoryStrategy, termStrategy, profileStrategy);
121
+ },
122
+ deps: [CategorySearchStrategy, TermSearchStrategy, ProfileSearchStrategy],
123
+ },
124
+ {
125
+ provide: UpdateUserImage,
126
+ useFactory: (userRepository, fileUploader) => {
127
+ return new UpdateUserImage(userRepository, fileUploader);
128
+ },
129
+ deps: ['UserRepository', 'FileUploaderService'],
130
+ },
131
+ {
132
+ provide: 'FileUploaderService',
133
+ useFactory: (storage, baseUrl) => {
134
+ return new FirebaseFileUploaderService(storage, baseUrl);
135
+ },
136
+ deps: [Storage, STORAGE_BASE_URL],
137
+ },
138
+ {
139
+ provide: 'ProductSearch',
140
+ useExisting: ProductsVertexSearch,
141
+ },
142
+ CouponRepositoriesFacade,
143
+ HomeShopRepositoriesFacade,
144
+ ], imports: [provideFirebaseApp((injector) => {
145
+ const appName = injector.get(FIREBASE_APP_NAME);
146
+ try {
147
+ const app = appName ? getApp(appName) : getApp();
148
+ return app;
149
+ }
150
+ catch (error) {
151
+ console.warn('Firebase app not found, initializing new app');
152
+ if (error instanceof Error)
153
+ console.error(error.message);
154
+ return initializeApp(injector.get(FIREBASE_OPTIONS), appName);
155
+ }
156
+ }),
157
+ provideAppCheck((injector) => {
158
+ const app = injector.get(FirebaseApp);
159
+ try {
160
+ const provider = injector.get(APP_CHECK_PROVIDER);
161
+ if (provider)
162
+ return initializeAppCheck(app, {
163
+ provider,
164
+ isTokenAutoRefreshEnabled: true,
165
+ });
166
+ }
167
+ catch (error) {
168
+ if (error instanceof Error)
169
+ console.error(error.message);
170
+ return;
171
+ }
172
+ }),
173
+ provideStorage((injector) => getStorage(injector.get(FirebaseApp))),
174
+ AngularElasticSeachModule,
175
+ AngularVertexSeachModule,
176
+ AngularFirebaseAuthModule,
177
+ AngularFirestoreModule,
178
+ AngularHasuraGraphQLModule] });
179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularConnectModule, decorators: [{
180
+ type: NgModule,
181
+ args: [{
182
+ imports: [
183
+ provideFirebaseApp((injector) => {
184
+ const appName = injector.get(FIREBASE_APP_NAME);
185
+ try {
186
+ const app = appName ? getApp(appName) : getApp();
187
+ return app;
188
+ }
189
+ catch (error) {
190
+ console.warn('Firebase app not found, initializing new app');
191
+ if (error instanceof Error)
192
+ console.error(error.message);
193
+ return initializeApp(injector.get(FIREBASE_OPTIONS), appName);
194
+ }
195
+ }),
196
+ provideAppCheck((injector) => {
197
+ const app = injector.get(FirebaseApp);
198
+ try {
199
+ const provider = injector.get(APP_CHECK_PROVIDER);
200
+ if (provider)
201
+ return initializeAppCheck(app, {
202
+ provider,
203
+ isTokenAutoRefreshEnabled: true,
204
+ });
205
+ }
206
+ catch (error) {
207
+ if (error instanceof Error)
208
+ console.error(error.message);
209
+ return;
210
+ }
211
+ }),
212
+ provideStorage((injector) => getStorage(injector.get(FirebaseApp))),
213
+ AngularElasticSeachModule,
214
+ AngularVertexSeachModule,
215
+ AngularFirebaseAuthModule,
216
+ AngularFirestoreModule,
217
+ AngularHasuraGraphQLModule,
218
+ ],
219
+ providers: [
220
+ AuthService,
221
+ CartService,
222
+ CatalogService,
223
+ CategoryService,
224
+ CheckoutService,
225
+ CheckoutSubscriptionService,
226
+ CouponService,
227
+ HomeShopService,
228
+ OrderService,
229
+ WishlistService,
230
+ ConfigurationFacade,
231
+ CartServicesFacade,
232
+ CheckoutRepositoriesFacade,
233
+ CheckoutDependenciesFacade,
234
+ CategoryRepositoryFacade,
235
+ ProductCatalogFacade,
236
+ CatalogServiceFacade,
237
+ CategoryServiceFacade,
238
+ CatalogStrategiesFacade,
239
+ CatalogOperationsFacade,
240
+ ProductManagementFacade,
241
+ {
242
+ provide: 'ProductServicesFacade',
243
+ useFactory: (productStockNotificationRepository, categoryRepository, productSearch) => ({
244
+ productStockNotificationRepository,
245
+ categoryRepository,
246
+ productSearch,
247
+ }),
248
+ deps: ['ProductStockNotificationRepository', 'CategoryRepository', 'ProductSearch'],
249
+ },
250
+ CatalogFilterHelper,
251
+ CatalogSortHelper,
252
+ ProductFieldsHelper,
253
+ BrandManagerHelper,
254
+ CatalogRepositoryService,
255
+ CatalogHelpersService,
256
+ CategorySearchStrategy,
257
+ TermSearchStrategy,
258
+ ProfileSearchStrategy,
259
+ {
260
+ provide: CatalogSearchContext,
261
+ useFactory: (categoryStrategy, termStrategy, profileStrategy) => {
262
+ return new CatalogSearchContext(categoryStrategy, termStrategy, profileStrategy);
263
+ },
264
+ deps: [CategorySearchStrategy, TermSearchStrategy, ProfileSearchStrategy],
265
+ },
266
+ {
267
+ provide: UpdateUserImage,
268
+ useFactory: (userRepository, fileUploader) => {
269
+ return new UpdateUserImage(userRepository, fileUploader);
270
+ },
271
+ deps: ['UserRepository', 'FileUploaderService'],
272
+ },
273
+ {
274
+ provide: 'FileUploaderService',
275
+ useFactory: (storage, baseUrl) => {
276
+ return new FirebaseFileUploaderService(storage, baseUrl);
277
+ },
278
+ deps: [Storage, STORAGE_BASE_URL],
279
+ },
280
+ {
281
+ provide: 'ProductSearch',
282
+ useExisting: ProductsVertexSearch,
283
+ },
284
+ CouponRepositoriesFacade,
285
+ HomeShopRepositoriesFacade,
286
+ ],
287
+ }]
288
+ }] });
289
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1jb25uZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvYW5ndWxhci1jb25uZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlDLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQTtBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFtQixNQUFNLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDM0csT0FBTyxFQUFtQixrQkFBa0IsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUM5RixPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMzRSxPQUFPLEVBR0wsMkJBQTJCLEVBQzNCLEtBQUssRUFDTCxvQkFBb0IsRUFFcEIsZUFBZSxHQUdoQixNQUFNLG1CQUFtQixDQUFBO0FBRTFCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ25FLE9BQU8sRUFBRSwwQkFBMEIsRUFBd0IsTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUN6RSxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsYUFBYSxHQUNkLE1BQU0sVUFBVSxDQUFBO0FBQ2pCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FB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ZHVsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IEZpcmViYXNlQXBwLCBGaXJlYmFzZU9wdGlvbnMsIGdldEFwcCwgaW5pdGlhbGl6ZUFwcCwgcHJvdmlkZUZpcmViYXNlQXBwIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hcHAnXHJcbmltcG9ydCB7IEFwcENoZWNrT3B0aW9ucywgaW5pdGlhbGl6ZUFwcENoZWNrLCBwcm92aWRlQXBwQ2hlY2sgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcC1jaGVjaydcclxuaW1wb3J0IHsgZ2V0U3RvcmFnZSwgcHJvdmlkZVN0b3JhZ2UsIFN0b3JhZ2UgfSBmcm9tICdAYW5ndWxhci9maXJlL3N0b3JhZ2UnXHJcbmltcG9ydCB7XHJcbiAgQXhpb3NFbGFzdGljU2VhcmNoQ29uZmlnLFxyXG4gIEZpbGVVcGxvYWRlclNlcnZpY2UsXHJcbiAgRmlyZWJhc2VGaWxlVXBsb2FkZXJTZXJ2aWNlLFxyXG4gIGlzTmlsLFxyXG4gIFByb2R1Y3RzVmVydGV4U2VhcmNoLFxyXG4gIFNob3BzLFxyXG4gIFVwZGF0ZVVzZXJJbWFnZSxcclxuICBVc2VyUmVwb3NpdG9yeSxcclxuICBWZXJ0ZXhTZWFyY2hDb25maWcsXHJcbn0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXHJcblxyXG5pbXBvcnQgeyBBbmd1bGFyRWxhc3RpY1NlYWNoTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyLWVsYXN0aWMtc2VhcmNoLm1vZHVsZSdcclxuaW1wb3J0IHsgQW5ndWxhckZpcmViYXNlQXV0aE1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci1maXJlYmFzZS1hdXRoLm1vZHVsZSdcclxuaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZU1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci1maXJlc3RvcmUubW9kdWxlJ1xyXG5pbXBvcnQgeyBBbmd1bGFySGFzdXJhR3JhcGhRTE1vZHVsZSwgSGFzdXJhR3JhcGhRTE9wdGlvbnMgfSBmcm9tICcuL2FuZ3VsYXItaGFzdXJhLWdyYXBocWwubW9kdWxlJ1xyXG5pbXBvcnQgeyBBbmd1bGFyVmVydGV4U2VhY2hNb2R1bGUgfSBmcm9tICcuL2FuZ3VsYXItdmVydGV4LXNlYXJjaC5tb2R1bGUnXHJcbmltcG9ydCB7XHJcbiAgQVBQX0NIRUNLX1BST1ZJREVSLFxyXG4gIEJBQ0tFTkRfVVJMLFxyXG4gIENBVEVHT1JZX1NUUlVDVFVSRSxcclxuICBERUZBVUxUX1NIT1AsXHJcbiAgRVNfQ09ORklHLFxyXG4gIEZJUkVCQVNFX0FQUF9OQU1FLFxyXG4gIEZJUkVCQVNFX09QVElPTlMsXHJcbiAgSEFTVVJBX09QVElPTlMsXHJcbiAgUEVSU0lTVEVOQ0VfUFJPVklERVIsXHJcbiAgVkVSVEVYX0NPTkZJRyxcclxufSBmcm9tICcuL2NvbnN0cydcclxuaW1wb3J0IHsgU1RPUkFHRV9CQVNFX1VSTCB9IGZyb20gJy4vY29uc3RzL3N0b3JhZ2UtYmFzZS11cmwuY29uc3QnXHJcbmltcG9ydCB7IENvb2tpZURhdGFQZXJzaXN0ZW5jZSwgRGF0YVBlcnNpc3RlbmNlIH0gZnJvbSAnLi9wZXJzaXN0ZW5jZSdcclxuaW1wb3J0IHtcclxuICBBdXRoU2VydmljZSxcclxuICBDYXJ0U2VydmljZSxcclxuICBDYXRhbG9nU2VydmljZSxcclxuICBDYXRlZ29yeVNlcnZpY2UsXHJcbiAgQ2hlY2tvdXRTZXJ2aWNlLFxyXG4gIENoZWNrb3V0U3Vic2NyaXB0aW9uU2VydmljZSxcclxuICBDb3Vwb25TZXJ2aWNlLFxyXG4gIEhvbWVTaG9wU2VydmljZSxcclxuICBPcmRlclNlcnZpY2UsXHJcbiAgV2lzaGxpc3RTZXJ2aWNlLFxyXG59IGZyb20gJy4vc2VydmljZXMnXHJcbmltcG9ydCB7IENhcnRTZXJ2aWNlc0ZhY2FkZSB9IGZyb20gJy4vc2VydmljZXMvY2FydCdcclxuaW1wb3J0IHsgTmV3Q2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyLCBPbGRDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIgfSBmcm9tICcuL3NlcnZpY2VzL2NhdGFsb2cvYWRhcHRlcnMnXHJcbmltcG9ydCB7IENhdGFsb2dTZWFyY2hDb250ZXh0IH0gZnJvbSAnLi9zZXJ2aWNlcy9jYXRhbG9nL2NvbnRleHQvY2F0YWxvZy1zZWFyY2guY29udGV4dCdcclxuaW1wb3J0IHtcclxuICBDYXRhbG9nU2VydmljZUZhY2FkZSxcclxuICBDYXRhbG9nU3RyYXRlZ2llc0ZhY2FkZSxcclxuICBDYXRlZ29yeVJlcG9zaXRvcnlGYWNhZGUsXHJcbiAgQ2F0ZWdvcnlTZXJ2aWNlRmFjYWRlLFxyXG4gIFByb2R1Y3RDYXRhbG9nRmFjYWRlLFxyXG59IGZyb20gJy4vc2VydmljZXMvY2F0YWxvZy9mYWNhZGVzJ1xyXG5pbXBvcnQge1xyXG4gIEJyYW5kTWFuYWdlckhlbHBlcixcclxuICBDYXRhbG9nRmlsdGVySGVscGVyLFxyXG4gIENhdGFsb2dTb3J0SGVscGVyLFxyXG4gIFByb2R1Y3RGaWVsZHNIZWxwZXIsXHJcbn0gZnJvbSAnLi9zZXJ2aWNlcy9jYXRhbG9nL2hlbHBlcnMnXHJcbmltcG9ydCB7XHJcbiAgQ2F0YWxvZ0hlbHBlcnNTZXJ2aWNlLFxyXG4gIENhdGFsb2dPcGVyYXRpb25zRmFjYWRlLFxyXG4gIENhdGFsb2dSZXBvc2l0b3J5U2VydmljZSxcclxuICBQcm9kdWN0TWFuYWdlbWVudEZhY2FkZSxcclxufSBmcm9tICcuL3NlcnZpY2VzL2NhdGFsb2cvc2VydmljZXMnXHJcbmltcG9ydCB7IENhdGVnb3J5U2VhcmNoU3RyYXRlZ3ksIFByb2ZpbGVTZWFyY2hTdHJhdGVneSwgVGVybVNlYXJjaFN0cmF0ZWd5IH0gZnJvbSAnLi9zZXJ2aWNlcy9jYXRhbG9nL3N0cmF0ZWdpZXMnXHJcbmltcG9ydCB7IENoZWNrb3V0RGVwZW5kZW5jaWVzRmFjYWRlLCBDaGVja291dFJlcG9zaXRvcmllc0ZhY2FkZSB9IGZyb20gJy4vc2VydmljZXMvY2hlY2tvdXQnXHJcbmltcG9ydCB7IENvdXBvblJlcG9zaXRvcmllc0ZhY2FkZSB9IGZyb20gJy4vc2VydmljZXMvY291cG9uJ1xyXG5pbXBvcnQgeyBIb21lU2hvcFJlcG9zaXRvcmllc0ZhY2FkZSB9IGZyb20gJy4vc2VydmljZXMvaG9tZS1zaG9wJ1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uRmFjYWRlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zaGFyZWQnXHJcbmltcG9ydCB7IEZpcmViYXNlQXBwQ29uZmlnIH0gZnJvbSAnLi90eXBlcydcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgcHJvdmlkZUZpcmViYXNlQXBwKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcclxuICAgICAgY29uc3QgYXBwTmFtZSA9IGluamVjdG9yLmdldDxzdHJpbmc+KEZJUkVCQVNFX0FQUF9OQU1FKVxyXG5cclxuICAgICAgdHJ5IHtcclxuICAgICAgICBjb25zdCBhcHAgPSBhcHBOYW1lID8gZ2V0QXBwKGFwcE5hbWUpIDogZ2V0QXBwKClcclxuXHJcbiAgICAgICAgcmV0dXJuIGFwcFxyXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgIGNvbnNvbGUud2FybignRmlyZWJhc2UgYXBwIG5vdCBmb3VuZCwgaW5pdGlhbGl6aW5nIG5ldyBhcHAnKVxyXG5cclxuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikgY29uc29sZS5lcnJvcihlcnJvci5tZXNzYWdlKVxyXG5cclxuICAgICAgICByZXR1cm4gaW5pdGlhbGl6ZUFwcChpbmplY3Rvci5nZXQoRklSRUJBU0VfT1BUSU9OUyksIGFwcE5hbWUpXHJcbiAgICAgIH1cclxuICAgIH0pLFxyXG4gICAgcHJvdmlkZUFwcENoZWNrKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcclxuICAgICAgY29uc3QgYXBwID0gaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKVxyXG5cclxuICAgICAgdHJ5IHtcclxuICAgICAgICBjb25zdCBwcm92aWRlciA9IGluamVjdG9yLmdldDxBcHBDaGVja09wdGlvbnNbJ3Byb3ZpZGVyJ10+KEFQUF9DSEVDS19QUk9WSURFUilcclxuXHJcbiAgICAgICAgaWYgKHByb3ZpZGVyKVxyXG4gICAgICAgICAgcmV0dXJuIGluaXRpYWxpemVBcHBDaGVjayhhcHAsIHtcclxuICAgICAgICAgICAgcHJvdmlkZXIsXHJcbiAgICAgICAgICAgIGlzVG9rZW5BdXRvUmVmcmVzaEVuYWJsZWQ6IHRydWUsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSBjb25zb2xlLmVycm9yKGVycm9yLm1lc3NhZ2UpXHJcblxyXG4gICAgICAgIHJldHVyblxyXG4gICAgICB9XHJcbiAgICB9KSxcclxuICAgIHByb3ZpZGVTdG9yYWdlKChpbmplY3RvcjogSW5qZWN0b3IpID0+IGdldFN0b3JhZ2UoaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKSkpLFxyXG4gICAgQW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZSxcclxuICAgIEFuZ3VsYXJWZXJ0ZXhTZWFjaE1vZHVsZSxcclxuICAgIEFuZ3VsYXJGaXJlYmFzZUF1dGhNb2R1bGUsXHJcbiAgICBBbmd1bGFyRmlyZXN0b3JlTW9kdWxlLFxyXG4gICAgQW5ndWxhckhhc3VyYUdyYXBoUUxNb2R1bGUsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIEF1dGhTZXJ2aWNlLFxyXG4gICAgQ2FydFNlcnZpY2UsXHJcbiAgICBDYXRhbG9nU2VydmljZSxcclxuICAgIENhdGVnb3J5U2VydmljZSxcclxuICAgIENoZWNrb3V0U2VydmljZSxcclxuICAgIENoZWNrb3V0U3Vic2NyaXB0aW9uU2VydmljZSxcclxuICAgIENvdXBvblNlcnZpY2UsXHJcbiAgICBIb21lU2hvcFNlcnZpY2UsXHJcbiAgICBPcmRlclNlcnZpY2UsXHJcbiAgICBXaXNobGlzdFNlcnZpY2UsXHJcbiAgICBDb25maWd1cmF0aW9uRmFjYWRlLFxyXG4gICAgQ2FydFNlcnZpY2VzRmFjYWRlLFxyXG4gICAgQ2hlY2tvdXRSZXBvc2l0b3JpZXNGYWNhZGUsXHJcbiAgICBDaGVja291dERlcGVuZGVuY2llc0ZhY2FkZSxcclxuICAgIENhdGVnb3J5UmVwb3NpdG9yeUZhY2FkZSxcclxuICAgIFByb2R1Y3RDYXRhbG9nRmFjYWRlLFxyXG4gICAgQ2F0YWxvZ1NlcnZpY2VGYWNhZGUsXHJcbiAgICBDYXRlZ29yeVNlcnZpY2VGYWNhZGUsXHJcbiAgICBDYXRhbG9nU3RyYXRlZ2llc0ZhY2FkZSxcclxuICAgIENhdGFsb2dPcGVyYXRpb25zRmFjYWRlLFxyXG4gICAgUHJvZHVjdE1hbmFnZW1lbnRGYWNhZGUsXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdQcm9kdWN0U2VydmljZXNGYWNhZGUnLFxyXG4gICAgICB1c2VGYWN0b3J5OiAocHJvZHVjdFN0b2NrTm90aWZpY2F0aW9uUmVwb3NpdG9yeTogYW55LCBjYXRlZ29yeVJlcG9zaXRvcnk6IGFueSwgcHJvZHVjdFNlYXJjaDogYW55KSA9PiAoe1xyXG4gICAgICAgIHByb2R1Y3RTdG9ja05vdGlmaWNhdGlvblJlcG9zaXRvcnksXHJcbiAgICAgICAgY2F0ZWdvcnlSZXBvc2l0b3J5LFxyXG4gICAgICAgIHByb2R1Y3RTZWFyY2gsXHJcbiAgICAgIH0pLFxyXG4gICAgICBkZXBzOiBbJ1Byb2R1Y3RTdG9ja05vdGlmaWNhdGlvblJlcG9zaXRvcnknLCAnQ2F0ZWdvcnlSZXBvc2l0b3J5JywgJ1Byb2R1Y3RTZWFyY2gnXSxcclxuICAgIH0sXHJcbiAgICBDYXRhbG9nRmlsdGVySGVscGVyLFxyXG4gICAgQ2F0YWxvZ1NvcnRIZWxwZXIsXHJcbiAgICBQcm9kdWN0RmllbGRzSGVscGVyLFxyXG4gICAgQnJhbmRNYW5hZ2VySGVscGVyLFxyXG4gICAgQ2F0YWxvZ1JlcG9zaXRvcnlTZXJ2aWNlLFxyXG4gICAgQ2F0YWxvZ0hlbHBlcnNTZXJ2aWNlLFxyXG4gICAgQ2F0ZWdvcnlTZWFyY2hTdHJhdGVneSxcclxuICAgIFRlcm1TZWFyY2hTdHJhdGVneSxcclxuICAgIFByb2ZpbGVTZWFyY2hTdHJhdGVneSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogQ2F0YWxvZ1NlYXJjaENvbnRleHQsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChcclxuICAgICAgICBjYXRlZ29yeVN0cmF0ZWd5OiBDYXRlZ29yeVNlYXJjaFN0cmF0ZWd5LFxyXG4gICAgICAgIHRlcm1TdHJhdGVneTogVGVybVNlYXJjaFN0cmF0ZWd5LFxyXG4gICAgICAgIHByb2ZpbGVTdHJhdGVneTogUHJvZmlsZVNlYXJjaFN0cmF0ZWd5LFxyXG4gICAgICApID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IENhdGFsb2dTZWFyY2hDb250ZXh0KGNhdGVnb3J5U3RyYXRlZ3ksIHRlcm1TdHJhdGVneSwgcHJvZmlsZVN0cmF0ZWd5KVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbQ2F0ZWdvcnlTZWFyY2hTdHJhdGVneSwgVGVybVNlYXJjaFN0cmF0ZWd5LCBQcm9maWxlU2VhcmNoU3RyYXRlZ3ldLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogVXBkYXRlVXNlckltYWdlLFxyXG4gICAgICB1c2VGYWN0b3J5OiAodXNlclJlcG9zaXRvcnk6IFVzZXJSZXBvc2l0b3J5LCBmaWxlVXBsb2FkZXI6IEZpbGVVcGxvYWRlclNlcnZpY2UpID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFVwZGF0ZVVzZXJJbWFnZSh1c2VyUmVwb3NpdG9yeSwgZmlsZVVwbG9hZGVyKVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbJ1VzZXJSZXBvc2l0b3J5JywgJ0ZpbGVVcGxvYWRlclNlcnZpY2UnXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdGaWxlVXBsb2FkZXJTZXJ2aWNlJyxcclxuICAgICAgdXNlRmFjdG9yeTogKHN0b3JhZ2U6IFN0b3JhZ2UsIGJhc2VVcmw6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgRmlyZWJhc2VGaWxlVXBsb2FkZXJTZXJ2aWNlKHN0b3JhZ2UsIGJhc2VVcmwpXHJcbiAgICAgIH0sXHJcbiAgICAgIGRlcHM6IFtTdG9yYWdlLCBTVE9SQUdFX0JBU0VfVVJMXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6ICdQcm9kdWN0U2VhcmNoJyxcclxuICAgICAgdXNlRXhpc3Rpbmc6IFByb2R1Y3RzVmVydGV4U2VhcmNoLFxyXG4gICAgfSxcclxuICAgIENvdXBvblJlcG9zaXRvcmllc0ZhY2FkZSxcclxuICAgIEhvbWVTaG9wUmVwb3NpdG9yaWVzRmFjYWRlLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbmd1bGFyQ29ubmVjdE1vZHVsZSB7XHJcbiAgc3RhdGljIGluaXRpYWxpemVBcHAoXHJcbiAgICBkZWZhdWx0U2hvcDogU2hvcHMsXHJcbiAgICBvcHRpb25zOiB7XHJcbiAgICAgIGZpcmViYXNlPzogRmlyZWJhc2VPcHRpb25zXHJcbiAgICAgIGVsYXN0aWNTZWFyY2g/OiBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWdcclxuICAgICAgdmVydGV4Q29uZmlnPzogVmVydGV4U2VhcmNoQ29uZmlnXHJcbiAgICAgIGhhc3VyYTogSGFzdXJhR3JhcGhRTE9wdGlvbnNcclxuICAgICAgYmFja2VuZFVybDogc3RyaW5nXHJcbiAgICAgIG9sZENhdGVnb3J5U3RydWN0dXJlPzogYm9vbGVhblxyXG4gICAgICBzdG9yYWdlQmFzZVVybD86IHN0cmluZ1xyXG4gICAgICBwZXJzaXN0ZW5jZVByb3ZpZGVyPzogVHlwZTxEYXRhUGVyc2lzdGVuY2U+XHJcbiAgICAgIGFwcENoZWNrUHJvdmlkZXI/OiBBcHBDaGVja09wdGlvbnNbJ3Byb3ZpZGVyJ11cclxuICAgIH0sXHJcbiAgICBuYW1lT3JDb25maWc/OiBzdHJpbmcgfCBGaXJlYmFzZUFwcENvbmZpZyxcclxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFuZ3VsYXJDb25uZWN0TW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogQW5ndWxhckNvbm5lY3RNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIC4uLnRoaXMuYnVpbGRDb3JlUHJvdmlkZXJzKG5hbWVPckNvbmZpZywgb3B0aW9ucyksXHJcbiAgICAgICAgLi4udGhpcy5idWlsZENvbmRpdGlvbmFsUHJvdmlkZXJzKGRlZmF1bHRTaG9wLCBvcHRpb25zKSxcclxuICAgICAgXSxcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGJ1aWxkQ29yZVByb3ZpZGVycyhcclxuICAgIG5hbWVPckNvbmZpZzogc3RyaW5nIHwgRmlyZWJhc2VBcHBDb25maWcsXHJcbiAgICBvcHRpb25zOiB7XHJcbiAgICAgIGFwcENoZWNrUHJvdmlkZXI/OiBBcHBDaGVja09wdGlvbnNbJ3Byb3ZpZGVyJ11cclxuICAgICAgb2xkQ2F0ZWdvcnlTdHJ1Y3R1cmU/OiBib29sZWFuXHJcbiAgICAgIHBlcnNpc3RlbmNlUHJvdmlkZXI/OiBUeXBlPERhdGFQZXJzaXN0ZW5jZT5cclxuICAgIH0sXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gW1xyXG4gICAgICB7IHByb3ZpZGU6IEZJUkVCQVNFX0FQUF9OQU1FLCB1c2VWYWx1ZTogbmFtZU9yQ29uZmlnIH0sXHJcbiAgICAgIHsgcHJvdmlkZTogQVBQX0NIRUNLX1BST1ZJREVSLCB1c2VWYWx1ZTogb3B0aW9ucy5hcHBDaGVja1Byb3ZpZGVyIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBwcm92aWRlOiBDQVRFR09SWV9TVFJVQ1RVUkUsXHJcbiAgICAgICAgdXNlQ2xhc3M6IHRoaXMuc2VsZWN0Q2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyKG9wdGlvbnMub2xkQ2F0ZWdvcnlTdHJ1Y3R1cmUpLFxyXG4gICAgICB9LFxyXG4gICAgICB7IHByb3ZpZGU6IFBFUlNJU1RFTkNFX1BST1ZJREVSLCB1c2VDbGFzczogb3B0aW9ucz8ucGVyc2lzdGVuY2VQcm92aWRlciB8fCBDb29raWVEYXRhUGVyc2lzdGVuY2UgfSxcclxuICAgIF1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGJ1aWxkQ29uZGl0aW9uYWxQcm92aWRlcnMoXHJcbiAgICBkZWZhdWx0U2hvcDogU2hvcHMsXHJcbiAgICBvcHRpb25zOiB7XHJcbiAgICAgIGZpcmViYXNlPzogRmlyZWJhc2VPcHRpb25zXHJcbiAgICAgIGVsYXN0aWNTZWFyY2g/OiBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWdcclxuICAgICAgdmVydGV4Q29uZmlnPzogVmVydGV4U2VhcmNoQ29uZmlnXHJcbiAgICAgIGhhc3VyYTogSGFzdXJhR3JhcGhRTE9wdGlvbnNcclxuICAgICAgYmFja2VuZFVybDogc3RyaW5nXHJcbiAgICAgIHN0b3JhZ2VCYXNlVXJsPzogc3RyaW5nXHJcbiAgICB9LFxyXG4gICkge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAgLi4udGhpcy5jcmVhdGVQcm92aWRlcklmRXhpc3RzKERFRkFVTFRfU0hPUCwgZGVmYXVsdFNob3ApLFxyXG4gICAgICAuLi50aGlzLmNyZWF0ZVByb3ZpZGVySWZFeGlzdHMoRklSRUJBU0VfT1BUSU9OUywgb3B0aW9ucy5maXJlYmFzZSksXHJcbiAgICAgIC4uLnRoaXMuY3JlYXRlUHJvdmlkZXJJZkV4aXN0cyhFU19DT05GSUcsIG9wdGlvbnMuZWxhc3RpY1NlYXJjaCksXHJcbiAgICAgIC4uLnRoaXMuY3JlYXRlUHJvdmlkZXJJZkV4aXN0cyhWRVJURVhfQ09ORklHLCBvcHRpb25zLnZlcnRleENvbmZpZyksXHJcbiAgICAgIC4uLnRoaXMuY3JlYXRlUHJvdmlkZXJJZkV4aXN0cyhIQVNVUkFfT1BUSU9OUywgb3B0aW9ucy5oYXN1cmEpLFxyXG4gICAgICAuLi50aGlzLmNyZWF0ZVByb3ZpZGVySWZFeGlzdHMoQkFDS0VORF9VUkwsIG9wdGlvbnMuYmFja2VuZFVybCksXHJcbiAgICAgIC4uLnRoaXMuY3JlYXRlUHJvdmlkZXJJZkV4aXN0cyhTVE9SQUdFX0JBU0VfVVJMLCBvcHRpb25zLnN0b3JhZ2VCYXNlVXJsKSxcclxuICAgIF1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIHNlbGVjdENhdGVnb3J5U3RydWN0dXJlQWRhcHRlcihvbGRDYXRlZ29yeVN0cnVjdHVyZT86IGJvb2xlYW4pIHtcclxuICAgIHJldHVybiBpc05pbChvbGRDYXRlZ29yeVN0cnVjdHVyZSkgfHwgb2xkQ2F0ZWdvcnlTdHJ1Y3R1cmVcclxuICAgICAgPyBPbGRDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXJcclxuICAgICAgOiBOZXdDYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXJcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZVByb3ZpZGVySWZFeGlzdHModG9rZW46IGFueSwgdmFsdWU6IGFueSkge1xyXG4gICAgcmV0dXJuIGlzTmlsKHZhbHVlKSA/IFtdIDogW3sgcHJvdmlkZTogdG9rZW4sIHVzZVZhbHVlOiB2YWx1ZSB9XVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,34 +1,34 @@
1
- import { NgModule } from '@angular/core';
2
- import { AxiosAdapter, ProductsIndex } from '@infrab4a/connect';
3
- import { ES_CONFIG } from './consts/es-config.const';
4
- import * as i0 from "@angular/core";
5
- export class AngularElasticSeachModule {
6
- static initializeApp(options) {
7
- return {
8
- ngModule: AngularElasticSeachModule,
9
- providers: [{ provide: ES_CONFIG, useValue: options }],
10
- };
11
- }
12
- }
13
- AngularElasticSeachModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularElasticSeachModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- AngularElasticSeachModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularElasticSeachModule });
15
- AngularElasticSeachModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularElasticSeachModule, providers: [
16
- {
17
- provide: ProductsIndex,
18
- useFactory: (configuration) => new ProductsIndex(new AxiosAdapter(configuration)),
19
- deps: [ES_CONFIG],
20
- },
21
- ] });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularElasticSeachModule, decorators: [{
23
- type: NgModule,
24
- args: [{
25
- providers: [
26
- {
27
- provide: ProductsIndex,
28
- useFactory: (configuration) => new ProductsIndex(new AxiosAdapter(configuration)),
29
- deps: [ES_CONFIG],
30
- },
31
- ],
32
- }]
33
- }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1lbGFzdGljLXNlYXJjaC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL2FuZ3VsYXItZWxhc3RpYy1zZWFyY2gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQTRCLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXpGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7QUFZcEQsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQWlDO1FBQ3BELE9BQU87WUFDTCxRQUFRLEVBQUUseUJBQXlCO1lBQ25DLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7U0FDdkQsQ0FBQTtJQUNILENBQUM7O3NIQU5VLHlCQUF5Qjt1SEFBekIseUJBQXlCO3VIQUF6Qix5QkFBeUIsYUFUekI7UUFDVDtZQUNFLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLFVBQVUsRUFBRSxDQUFDLGFBQXVDLEVBQWlCLEVBQUUsQ0FDckUsSUFBSSxhQUFhLENBQUMsSUFBSSxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDcEQsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDO1NBQ2xCO0tBQ0Y7MkZBRVUseUJBQXlCO2tCQVZyQyxRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsVUFBVSxFQUFFLENBQUMsYUFBdUMsRUFBaUIsRUFBRSxDQUNyRSxJQUFJLGFBQWEsQ0FBQyxJQUFJLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQzs0QkFDcEQsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDO3lCQUNsQjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEF4aW9zQWRhcHRlciwgQXhpb3NFbGFzdGljU2VhcmNoQ29uZmlnLCBQcm9kdWN0c0luZGV4IH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5cbmltcG9ydCB7IEVTX0NPTkZJRyB9IGZyb20gJy4vY29uc3RzL2VzLWNvbmZpZy5jb25zdCdcblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogUHJvZHVjdHNJbmRleCxcbiAgICAgIHVzZUZhY3Rvcnk6IChjb25maWd1cmF0aW9uOiBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWcpOiBQcm9kdWN0c0luZGV4ID0+XG4gICAgICAgIG5ldyBQcm9kdWN0c0luZGV4KG5ldyBBeGlvc0FkYXB0ZXIoY29uZmlndXJhdGlvbikpLFxuICAgICAgZGVwczogW0VTX0NPTkZJR10sXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZSB7XG4gIHN0YXRpYyBpbml0aWFsaXplQXBwKG9wdGlvbnM6IEF4aW9zRWxhc3RpY1NlYXJjaENvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogRVNfQ09ORklHLCB1c2VWYWx1ZTogb3B0aW9ucyB9XSxcbiAgICB9XG4gIH1cbn1cbiJdfQ==
1
+ import { NgModule } from '@angular/core';
2
+ import { AxiosAdapter, ProductsIndex } from '@infrab4a/connect';
3
+ import { ES_CONFIG } from './consts/es-config.const';
4
+ import * as i0 from "@angular/core";
5
+ export class AngularElasticSeachModule {
6
+ static initializeApp(options) {
7
+ return {
8
+ ngModule: AngularElasticSeachModule,
9
+ providers: [{ provide: ES_CONFIG, useValue: options }],
10
+ };
11
+ }
12
+ }
13
+ AngularElasticSeachModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularElasticSeachModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ AngularElasticSeachModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularElasticSeachModule });
15
+ AngularElasticSeachModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularElasticSeachModule, providers: [
16
+ {
17
+ provide: ProductsIndex,
18
+ useFactory: (configuration) => new ProductsIndex(new AxiosAdapter(configuration)),
19
+ deps: [ES_CONFIG],
20
+ },
21
+ ] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularElasticSeachModule, decorators: [{
23
+ type: NgModule,
24
+ args: [{
25
+ providers: [
26
+ {
27
+ provide: ProductsIndex,
28
+ useFactory: (configuration) => new ProductsIndex(new AxiosAdapter(configuration)),
29
+ deps: [ES_CONFIG],
30
+ },
31
+ ],
32
+ }]
33
+ }] });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1lbGFzdGljLXNlYXJjaC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL2FuZ3VsYXItZWxhc3RpYy1zZWFyY2gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQTRCLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXpGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7QUFZcEQsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQWlDO1FBQ3BELE9BQU87WUFDTCxRQUFRLEVBQUUseUJBQXlCO1lBQ25DLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7U0FDdkQsQ0FBQTtJQUNILENBQUM7O3NIQU5VLHlCQUF5Qjt1SEFBekIseUJBQXlCO3VIQUF6Qix5QkFBeUIsYUFUekI7UUFDVDtZQUNFLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLFVBQVUsRUFBRSxDQUFDLGFBQXVDLEVBQWlCLEVBQUUsQ0FDckUsSUFBSSxhQUFhLENBQUMsSUFBSSxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDcEQsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDO1NBQ2xCO0tBQ0Y7MkZBRVUseUJBQXlCO2tCQVZyQyxRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsVUFBVSxFQUFFLENBQUMsYUFBdUMsRUFBaUIsRUFBRSxDQUNyRSxJQUFJLGFBQWEsQ0FBQyxJQUFJLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQzs0QkFDcEQsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDO3lCQUNsQjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgQXhpb3NBZGFwdGVyLCBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWcsIFByb2R1Y3RzSW5kZXggfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcclxuXHJcbmltcG9ydCB7IEVTX0NPTkZJRyB9IGZyb20gJy4vY29uc3RzL2VzLWNvbmZpZy5jb25zdCdcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFByb2R1Y3RzSW5kZXgsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChjb25maWd1cmF0aW9uOiBBeGlvc0VsYXN0aWNTZWFyY2hDb25maWcpOiBQcm9kdWN0c0luZGV4ID0+XHJcbiAgICAgICAgbmV3IFByb2R1Y3RzSW5kZXgobmV3IEF4aW9zQWRhcHRlcihjb25maWd1cmF0aW9uKSksXHJcbiAgICAgIGRlcHM6IFtFU19DT05GSUddLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZSB7XHJcbiAgc3RhdGljIGluaXRpYWxpemVBcHAob3B0aW9uczogQXhpb3NFbGFzdGljU2VhcmNoQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBbmd1bGFyRWxhc3RpY1NlYWNoTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogQW5ndWxhckVsYXN0aWNTZWFjaE1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBFU19DT05GSUcsIHVzZVZhbHVlOiBvcHRpb25zIH1dLFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=