@infrab4a/connect-angular 4.21.0 → 4.21.1-alpha.1

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 (114) hide show
  1. package/angular-connect.module.d.ts +4 -0
  2. package/esm2020/angular-connect.module.mjs +119 -17
  3. package/esm2020/angular-hasura-graphql.module.mjs +1 -1
  4. package/esm2020/consts/backend-url.const.mjs +1 -1
  5. package/esm2020/interfaces/catalog-strategies.interface.mjs +2 -0
  6. package/esm2020/interfaces/category-facades.interface.mjs +2 -0
  7. package/esm2020/interfaces/index.mjs +3 -0
  8. package/esm2020/persistence/cookie-data-persistence.mjs +1 -1
  9. package/esm2020/services/cart/cart-services.facade.mjs +21 -0
  10. package/esm2020/services/cart/index.mjs +2 -0
  11. package/esm2020/services/cart.service.mjs +25 -38
  12. package/esm2020/services/catalog/adapters/new-category-structure.adapter.mjs +1 -1
  13. package/esm2020/services/catalog/adapters/old-category-structure.adapter.mjs +1 -1
  14. package/esm2020/services/catalog/catalog.service.mjs +80 -294
  15. package/esm2020/services/catalog/category.service.mjs +15 -27
  16. package/esm2020/services/catalog/context/catalog-search.context.mjs +40 -0
  17. package/esm2020/services/catalog/facades/catalog-service.facade.mjs +32 -0
  18. package/esm2020/services/catalog/facades/catalog-strategies.facade.mjs +17 -0
  19. package/esm2020/services/catalog/facades/category-repository.facade.mjs +20 -0
  20. package/esm2020/services/catalog/facades/category-service.facade.mjs +30 -0
  21. package/esm2020/services/catalog/facades/index.mjs +6 -0
  22. package/esm2020/services/catalog/facades/product-catalog.facade.mjs +21 -0
  23. package/esm2020/services/catalog/helpers/brand-manager.helper.mjs +57 -0
  24. package/esm2020/services/catalog/helpers/catalog-filter.helper.mjs +44 -0
  25. package/esm2020/services/catalog/helpers/catalog-sort.helper.mjs +52 -0
  26. package/esm2020/services/catalog/helpers/index.mjs +5 -0
  27. package/esm2020/services/catalog/helpers/product-fields.helper.mjs +39 -0
  28. package/esm2020/services/catalog/models/category-with-tree.model.mjs +1 -1
  29. package/esm2020/services/catalog/services/catalog-helpers.service.mjs +33 -0
  30. package/esm2020/services/catalog/services/catalog-operations.facade.mjs +26 -0
  31. package/esm2020/services/catalog/services/catalog-repository.service.mjs +25 -0
  32. package/esm2020/services/catalog/services/index.mjs +5 -0
  33. package/esm2020/services/catalog/services/product-management.facade.mjs +25 -0
  34. package/esm2020/services/catalog/strategies/category-search.strategy.mjs +133 -0
  35. package/esm2020/services/catalog/strategies/index.mjs +4 -0
  36. package/esm2020/services/catalog/strategies/profile-search.strategy.mjs +42 -0
  37. package/esm2020/services/catalog/strategies/term-search.strategy.mjs +126 -0
  38. package/esm2020/services/catalog/strategies/types/strategy-params.type.mjs +2 -0
  39. package/esm2020/services/catalog/types/fetch-products-options.type.mjs +2 -0
  40. package/esm2020/services/catalog/types/fetch-products-params.type.mjs +2 -0
  41. package/esm2020/services/catalog/types/fetch-products-response.type.mjs +2 -0
  42. package/esm2020/services/catalog/types/index.mjs +5 -1
  43. package/esm2020/services/catalog/types/method-params.type.mjs +2 -0
  44. package/esm2020/services/catalog/wishlist.service.mjs +92 -72
  45. package/esm2020/services/checkout/checkout-dependencies.facade.mjs +20 -0
  46. package/esm2020/services/checkout/checkout-repositories.facade.mjs +20 -0
  47. package/esm2020/services/checkout/index.mjs +3 -0
  48. package/esm2020/services/checkout-subscription.service.mjs +8 -3
  49. package/esm2020/services/checkout.service.mjs +34 -50
  50. package/esm2020/services/coupon/coupon-repositories.facade.mjs +24 -0
  51. package/esm2020/services/coupon/index.mjs +2 -0
  52. package/esm2020/services/coupon/types/coupon-params.type.mjs +2 -0
  53. package/esm2020/services/coupon.service.mjs +79 -59
  54. package/esm2020/services/helpers/util.helper.mjs +12 -12
  55. package/esm2020/services/home-shop/home-shop-repositories.facade.mjs +24 -0
  56. package/esm2020/services/home-shop/index.mjs +2 -0
  57. package/esm2020/services/home-shop.service.mjs +27 -33
  58. package/esm2020/services/shared/configuration.facade.mjs +29 -0
  59. package/esm2020/services/shared/index.mjs +2 -0
  60. package/fesm2015/infrab4a-connect-angular.mjs +1287 -566
  61. package/fesm2015/infrab4a-connect-angular.mjs.map +1 -1
  62. package/fesm2020/infrab4a-connect-angular.mjs +1207 -533
  63. package/fesm2020/infrab4a-connect-angular.mjs.map +1 -1
  64. package/interfaces/catalog-strategies.interface.d.ts +31 -0
  65. package/interfaces/category-facades.interface.d.ts +6 -0
  66. package/interfaces/index.d.ts +2 -0
  67. package/package.json +5 -3
  68. package/services/cart/cart-services.facade.d.ts +12 -0
  69. package/services/cart/index.d.ts +1 -0
  70. package/services/cart.service.d.ts +6 -11
  71. package/services/catalog/catalog.service.d.ts +11 -83
  72. package/services/catalog/category.service.d.ts +5 -7
  73. package/services/catalog/context/catalog-search.context.d.ts +14 -0
  74. package/services/catalog/facades/catalog-service.facade.d.ts +15 -0
  75. package/services/catalog/facades/catalog-strategies.facade.d.ts +10 -0
  76. package/services/catalog/facades/category-repository.facade.d.ts +9 -0
  77. package/services/catalog/facades/category-service.facade.d.ts +15 -0
  78. package/services/catalog/facades/index.d.ts +5 -0
  79. package/services/catalog/facades/product-catalog.facade.d.ts +10 -0
  80. package/services/catalog/helpers/brand-manager.helper.d.ts +14 -0
  81. package/services/catalog/helpers/catalog-filter.helper.d.ts +8 -0
  82. package/services/catalog/helpers/catalog-sort.helper.d.ts +7 -0
  83. package/services/catalog/helpers/index.d.ts +4 -0
  84. package/services/catalog/helpers/product-fields.helper.d.ts +7 -0
  85. package/services/catalog/services/catalog-helpers.service.d.ts +17 -0
  86. package/services/catalog/services/catalog-operations.facade.d.ts +13 -0
  87. package/services/catalog/services/catalog-repository.service.d.ts +12 -0
  88. package/services/catalog/services/index.d.ts +4 -0
  89. package/services/catalog/services/product-management.facade.d.ts +12 -0
  90. package/services/catalog/strategies/category-search.strategy.d.ts +19 -0
  91. package/services/catalog/strategies/index.d.ts +3 -0
  92. package/services/catalog/strategies/profile-search.strategy.d.ts +14 -0
  93. package/services/catalog/strategies/term-search.strategy.d.ts +20 -0
  94. package/services/catalog/strategies/types/strategy-params.type.d.ts +58 -0
  95. package/services/catalog/types/fetch-products-options.type.d.ts +8 -0
  96. package/services/catalog/types/fetch-products-params.type.d.ts +25 -0
  97. package/services/catalog/types/fetch-products-response.type.d.ts +19 -0
  98. package/services/catalog/types/index.d.ts +4 -0
  99. package/services/catalog/types/method-params.type.d.ts +17 -0
  100. package/services/catalog/wishlist.service.d.ts +12 -4
  101. package/services/checkout/checkout-dependencies.facade.d.ts +10 -0
  102. package/services/checkout/checkout-repositories.facade.d.ts +9 -0
  103. package/services/checkout/index.d.ts +2 -0
  104. package/services/checkout-subscription.service.d.ts +2 -2
  105. package/services/checkout.service.d.ts +7 -11
  106. package/services/coupon/coupon-repositories.facade.d.ts +10 -0
  107. package/services/coupon/index.d.ts +1 -0
  108. package/services/coupon/types/coupon-params.type.d.ts +13 -0
  109. package/services/coupon.service.d.ts +16 -7
  110. package/services/home-shop/home-shop-repositories.facade.d.ts +10 -0
  111. package/services/home-shop/index.d.ts +1 -0
  112. package/services/home-shop.service.d.ts +6 -6
  113. package/services/shared/configuration.facade.d.ts +12 -0
  114. package/services/shared/index.d.ts +1 -0
@@ -0,0 +1,25 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { ProductCatalogFacade } from '../facades';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../facades";
5
+ export class CatalogRepositoryService {
6
+ constructor(productCatalog, productServices) {
7
+ this.productCatalog = productCatalog;
8
+ this.productServices = productServices;
9
+ }
10
+ getProductCatalog() {
11
+ return this.productCatalog;
12
+ }
13
+ getProductServices() {
14
+ return this.productServices;
15
+ }
16
+ }
17
+ CatalogRepositoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogRepositoryService, deps: [{ token: i1.ProductCatalogFacade }, { token: 'ProductServicesFacade' }], target: i0.ɵɵFactoryTarget.Injectable });
18
+ CatalogRepositoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogRepositoryService });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CatalogRepositoryService, decorators: [{
20
+ type: Injectable
21
+ }], ctorParameters: function () { return [{ type: i1.ProductCatalogFacade }, { type: undefined, decorators: [{
22
+ type: Inject,
23
+ args: ['ProductServicesFacade']
24
+ }] }]; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1yZXBvc2l0b3J5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvc2VydmljZXMvY2F0YWxvZy1yZXBvc2l0b3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFHbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFBOzs7QUFHakQsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUNtQixjQUFvQyxFQUNILGVBQXNDO1FBRHZFLG1CQUFjLEdBQWQsY0FBYyxDQUFzQjtRQUNILG9CQUFlLEdBQWYsZUFBZSxDQUF1QjtJQUN2RixDQUFDO0lBRUosaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFBO0lBQzVCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFBO0lBQzdCLENBQUM7O3FIQVpVLHdCQUF3QixzREFHekIsdUJBQXVCO3lIQUh0Qix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVTs7MEJBSU4sTUFBTTsyQkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5pbXBvcnQgeyBQcm9kdWN0U2VydmljZXNGYWNhZGUgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJ1xuaW1wb3J0IHsgUHJvZHVjdENhdGFsb2dGYWNhZGUgfSBmcm9tICcuLi9mYWNhZGVzJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2F0YWxvZ1JlcG9zaXRvcnlTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9kdWN0Q2F0YWxvZzogUHJvZHVjdENhdGFsb2dGYWNhZGUsXG4gICAgQEluamVjdCgnUHJvZHVjdFNlcnZpY2VzRmFjYWRlJykgcHJpdmF0ZSByZWFkb25seSBwcm9kdWN0U2VydmljZXM6IFByb2R1Y3RTZXJ2aWNlc0ZhY2FkZSxcbiAgKSB7fVxuXG4gIGdldFByb2R1Y3RDYXRhbG9nKCk6IFByb2R1Y3RDYXRhbG9nRmFjYWRlIHtcbiAgICByZXR1cm4gdGhpcy5wcm9kdWN0Q2F0YWxvZ1xuICB9XG5cbiAgZ2V0UHJvZHVjdFNlcnZpY2VzKCk6IFByb2R1Y3RTZXJ2aWNlc0ZhY2FkZSB7XG4gICAgcmV0dXJuIHRoaXMucHJvZHVjdFNlcnZpY2VzXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
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';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDakUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDckUsY0FBYyw4QkFBOEIsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IENhdGFsb2dIZWxwZXJzU2VydmljZSB9IGZyb20gJy4vY2F0YWxvZy1oZWxwZXJzLnNlcnZpY2UnXG5leHBvcnQgeyBDYXRhbG9nT3BlcmF0aW9uc0ZhY2FkZSB9IGZyb20gJy4vY2F0YWxvZy1vcGVyYXRpb25zLmZhY2FkZSdcbmV4cG9ydCAqIGZyb20gJy4vY2F0YWxvZy1yZXBvc2l0b3J5LnNlcnZpY2UnXG5leHBvcnQgeyBQcm9kdWN0TWFuYWdlbWVudEZhY2FkZSB9IGZyb20gJy4vcHJvZHVjdC1tYW5hZ2VtZW50LmZhY2FkZSdcbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { BrandManagerHelper } from '../helpers';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../helpers";
5
+ export class ProductManagementFacade {
6
+ constructor(brandManager, productServices) {
7
+ this.brandManager = brandManager;
8
+ this.productServices = productServices;
9
+ }
10
+ getBrandManager() {
11
+ return this.brandManager;
12
+ }
13
+ getProductServices() {
14
+ return this.productServices;
15
+ }
16
+ }
17
+ ProductManagementFacade.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ProductManagementFacade, deps: [{ token: i1.BrandManagerHelper }, { token: 'ProductServicesFacade' }], target: i0.ɵɵFactoryTarget.Injectable });
18
+ ProductManagementFacade.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ProductManagementFacade });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ProductManagementFacade, decorators: [{
20
+ type: Injectable
21
+ }], ctorParameters: function () { return [{ type: i1.BrandManagerHelper }, { type: undefined, decorators: [{
22
+ type: Inject,
23
+ args: ['ProductServicesFacade']
24
+ }] }]; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tYW5hZ2VtZW50LmZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2F0YWxvZy9zZXJ2aWNlcy9wcm9kdWN0LW1hbmFnZW1lbnQuZmFjYWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBR2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQTs7O0FBRy9DLE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsWUFDbUIsWUFBZ0MsRUFDQyxlQUFzQztRQUR2RSxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFDQyxvQkFBZSxHQUFmLGVBQWUsQ0FBdUI7SUFDdkYsQ0FBQztJQUVKLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUE7SUFDMUIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUE7SUFDN0IsQ0FBQzs7b0hBWlUsdUJBQXVCLG9EQUd4Qix1QkFBdUI7d0hBSHRCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVOzswQkFJTixNQUFNOzJCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmltcG9ydCB7IFByb2R1Y3RTZXJ2aWNlc0ZhY2FkZSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnXG5pbXBvcnQgeyBCcmFuZE1hbmFnZXJIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1hbmFnZW1lbnRGYWNhZGUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJyYW5kTWFuYWdlcjogQnJhbmRNYW5hZ2VySGVscGVyLFxuICAgIEBJbmplY3QoJ1Byb2R1Y3RTZXJ2aWNlc0ZhY2FkZScpIHByaXZhdGUgcmVhZG9ubHkgcHJvZHVjdFNlcnZpY2VzOiBQcm9kdWN0U2VydmljZXNGYWNhZGUsXG4gICkge31cblxuICBnZXRCcmFuZE1hbmFnZXIoKTogQnJhbmRNYW5hZ2VySGVscGVyIHtcbiAgICByZXR1cm4gdGhpcy5icmFuZE1hbmFnZXJcbiAgfVxuXG4gIGdldFByb2R1Y3RTZXJ2aWNlcygpOiBQcm9kdWN0U2VydmljZXNGYWNhZGUge1xuICAgIHJldHVybiB0aGlzLnByb2R1Y3RTZXJ2aWNlc1xuICB9XG59XG4iXX0=
@@ -0,0 +1,133 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Shops, Where, isEmpty } from '@infrab4a/connect';
3
+ import { CatalogHelpersService, CatalogRepositoryService } from '../services';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../services";
6
+ export class CategorySearchStrategy {
7
+ constructor(repositoryService, helpersService) {
8
+ this.repositoryService = repositoryService;
9
+ this.helpersService = helpersService;
10
+ }
11
+ async search(params, shop, optionsCache) {
12
+ const { category, filters, limits, sort, mainGender } = params;
13
+ if (!category) {
14
+ throw new Error('Category is required for CategorySearchStrategy');
15
+ }
16
+ const fields = this.helpersService.getFieldsHelper().getStandardFields();
17
+ if (sort === 'most-relevant') {
18
+ return this.searchWithMostRelevant({
19
+ category,
20
+ filters,
21
+ limits,
22
+ shop,
23
+ mainGender,
24
+ optionsCache,
25
+ fields,
26
+ });
27
+ }
28
+ return this.searchDefault({
29
+ category,
30
+ filters,
31
+ limits,
32
+ shop,
33
+ mainGender,
34
+ sort,
35
+ optionsCache,
36
+ fields,
37
+ });
38
+ }
39
+ async searchWithMostRelevant(params) {
40
+ const { category, filters, shop, optionsCache } = params;
41
+ const mostRelevant = category.isWishlist ? [] : category.getMostRelevantByShop(shop);
42
+ const productsIds = await this.getProductIds(category, filters, optionsCache);
43
+ return this.findAndSortByMostRelevant({
44
+ mostRelevants: mostRelevant,
45
+ productIds: productsIds,
46
+ filters: params.filters,
47
+ limits: params.limits,
48
+ shop: params.shop,
49
+ mainGender: params.mainGender,
50
+ optionsCache: params.optionsCache,
51
+ fields: params.fields,
52
+ });
53
+ }
54
+ async searchDefault(params) {
55
+ const { category, filters, limits, shop, mainGender, sort, optionsCache, fields } = params;
56
+ const productCatalog = this.repositoryService.getProductCatalog();
57
+ const filterHelper = this.helpersService.getFilterHelper();
58
+ const sortHelper = this.helpersService.getSortHelper();
59
+ const repoParams = {
60
+ fields,
61
+ filters: {
62
+ ...(await productCatalog.categoryStructureAdapter.buildProductFilterByCategory(category)),
63
+ ...filterHelper.buildFilterQuery(filters || {}),
64
+ },
65
+ ...(sort ? { orderBy: sortHelper.buildSortQuery(sort) } : {}),
66
+ limits,
67
+ options: {
68
+ minimal: ['price'],
69
+ maximum: ['price'],
70
+ distinct: ['brand'],
71
+ },
72
+ };
73
+ return productCatalog.productRepository.findCatalog(repoParams, mainGender || (shop === Shops.MENSMARKET ? 'male' : 'female'), optionsCache);
74
+ }
75
+ async getProductIds(category, filters, optionsCache) {
76
+ const productCatalog = this.repositoryService.getProductCatalog();
77
+ const filterHelper = this.helpersService.getFilterHelper();
78
+ return productCatalog.productRepository
79
+ .findCatalog({
80
+ fields: ['id'],
81
+ filters: {
82
+ ...(await productCatalog.categoryStructureAdapter.buildProductFilterByCategory(category)),
83
+ ...filterHelper.buildFilterQuery(filters || {}),
84
+ },
85
+ }, undefined, optionsCache)
86
+ .then((products) => products.data.map((product) => product.id));
87
+ }
88
+ async findAndSortByMostRelevant(params) {
89
+ const { mostRelevants, productIds, filters, shop, mainGender, optionsCache, fields, limits } = params;
90
+ const productCatalog = this.repositoryService.getProductCatalog();
91
+ const filterHelper = this.helpersService.getFilterHelper();
92
+ const sortHelper = this.helpersService.getSortHelper();
93
+ const mostRelevantProductsIds = [...new Set(mostRelevants.concat(productIds))];
94
+ const totalResult = await productCatalog.productRepository.findCatalog({
95
+ fields,
96
+ filters: {
97
+ id: { operator: Where.IN, value: mostRelevantProductsIds },
98
+ ...filterHelper.buildFilterQuery(filters || {}),
99
+ },
100
+ orderBy: sortHelper.buildSortQuery('best-sellers'),
101
+ options: {
102
+ minimal: ['price'],
103
+ maximum: ['price'],
104
+ ...(isEmpty(filters?.brands) ? { distinct: ['brand'] } : {}),
105
+ },
106
+ }, mainGender || (shop === Shops.MENSMARKET ? 'male' : 'female'), optionsCache);
107
+ return this.sortProductsByRelevance(totalResult, mostRelevants, limits);
108
+ }
109
+ sortProductsByRelevance(totalResult, mostRelevants, limits) {
110
+ const mostRelevantWithoutStock = totalResult.data.filter((product) => mostRelevants.includes(product.id) && product.stock.quantity <= 0);
111
+ const firstProducts = totalResult.data
112
+ .filter((product) => mostRelevants.includes(product.id) && product.stock.quantity > 0)
113
+ .sort((a, b) => mostRelevants.indexOf(a.id) - mostRelevants.indexOf(b.id));
114
+ const lastProducts = totalResult.data
115
+ .filter((product) => !mostRelevants.includes(product.id))
116
+ .concat(mostRelevantWithoutStock);
117
+ const categoryMostRelevants = firstProducts.concat(lastProducts);
118
+ const resultFinal = categoryMostRelevants.slice(limits.offset, limits.offset + limits.limit);
119
+ return {
120
+ data: resultFinal,
121
+ count: totalResult.count,
122
+ maximum: totalResult.maximum,
123
+ minimal: totalResult.minimal,
124
+ distinct: totalResult.distinct,
125
+ };
126
+ }
127
+ }
128
+ CategorySearchStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategorySearchStrategy, deps: [{ token: i1.CatalogRepositoryService }, { token: i1.CatalogHelpersService }], target: i0.ɵɵFactoryTarget.Injectable });
129
+ CategorySearchStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategorySearchStrategy });
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategorySearchStrategy, decorators: [{
131
+ type: Injectable
132
+ }], ctorParameters: function () { return [{ type: i1.CatalogRepositoryService }, { type: i1.CatalogHelpersService }]; } });
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktc2VhcmNoLnN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL3N0cmF0ZWdpZXMvY2F0ZWdvcnktc2VhcmNoLnN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUF5RCxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBR2hILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTs7O0FBUzdFLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFDbUIsaUJBQTJDLEVBQzNDLGNBQXFDO1FBRHJDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBMEI7UUFDM0MsbUJBQWMsR0FBZCxjQUFjLENBQXVCO0lBQ3JELENBQUM7SUFFSixLQUFLLENBQUMsTUFBTSxDQUNWLE1BQTJCLEVBQzNCLElBQVcsRUFDWCxZQUFpRDtRQUVqRCxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQTtRQUU5RCxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFBO1NBQ25FO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO1FBRXhFLElBQUksSUFBSSxLQUFLLGVBQWUsRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztnQkFDakMsUUFBUTtnQkFDUixPQUFPO2dCQUNQLE1BQU07Z0JBQ04sSUFBSTtnQkFDSixVQUFVO2dCQUNWLFlB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QyxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7YUFDMUYsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLENBQU0sRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUN0RixNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsSUFBSTthQUNsQyxNQUFNLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDN0QsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFDbkMsTUFBTSxxQkFBcUIsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ2hFLE1BQU0sV0FBVyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBRTVGLE9BQU87WUFDTCxJQUFJLEVBQUUsV0FBVztZQUNqQixLQUFLLEVBQUUsV0FBVyxDQUFDLEtBQUs7WUFDeEIsT0FBTyxFQUFFLFdBQVcsQ0FBQyxPQUFPO1lBQzVCLE9BQU8sRUFBRSxXQUFXLENBQUMsT0FBTztZQUM1QixRQUFRLEVBQUUsV0FBVyxDQUFDLFFBQVE7U0FDL0IsQ0FBQTtJQUNILENBQUM7O21IQTdKVSxzQkFBc0I7dUhBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBQcm9kdWN0LCBSZXBvc2l0b3J5Q2FjaGVPcHRpb25zLCBSZXBvc2l0b3J5RmluZFJlc3VsdCwgU2hvcHMsIFdoZXJlLCBpc0VtcHR5IH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5cbmltcG9ydCB7IENhdGFsb2dTZWFyY2hQYXJhbXMsIENhdGFsb2dTZWFyY2hTdHJhdGVneSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnXG5pbXBvcnQgeyBDYXRhbG9nSGVscGVyc1NlcnZpY2UsIENhdGFsb2dSZXBvc2l0b3J5U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJ1xuXG5pbXBvcnQge1xuICBGaW5kQW5kU29ydEJ5TW9zdFJlbGV2YW50UGFyYW1zLFxuICBTZWFyY2hEZWZhdWx0UGFyYW1zLFxuICBTZWFyY2hXaXRoTW9zdFJlbGV2YW50UGFyYW1zLFxufSBmcm9tICcuL3R5cGVzL3N0cmF0ZWd5LXBhcmFtcy50eXBlJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnlTZWFyY2hTdHJhdGVneSBpbXBsZW1lbnRzIENhdGFsb2dTZWFyY2hTdHJhdGVneSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVwb3NpdG9yeVNlcnZpY2U6IENhdGFsb2dSZXBvc2l0b3J5U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhlbHBlcnNTZXJ2aWNlOiBDYXRhbG9nSGVscGVyc1NlcnZpY2UsXG4gICkge31cblxuICBhc3luYyBzZWFyY2goXG4gICAgcGFyYW1zOiBDYXRhbG9nU2VhcmNoUGFyYW1zLFxuICAgIHNob3A6IFNob3BzLFxuICAgIG9wdGlvbnNDYWNoZT86IHsgY2FjaGU/OiBSZXBvc2l0b3J5Q2FjaGVPcHRpb25zIH0sXG4gICk6IFByb21pc2U8UmVwb3NpdG9yeUZpbmRSZXN1bHQ8UHJvZHVjdD4+IHtcbiAgICBjb25zdCB7IGNhdGVnb3J5LCBmaWx0ZXJzLCBsaW1pdHMsIHNvcnQsIG1haW5HZW5kZXIgfSA9IHBhcmFtc1xuXG4gICAgaWYgKCFjYXRlZ29yeSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYXRlZ29yeSBpcyByZXF1aXJlZCBmb3IgQ2F0ZWdvcnlTZWFyY2hTdHJhdGVneScpXG4gICAgfVxuXG4gICAgY29uc3QgZmllbGRzID0gdGhpcy5oZWxwZXJzU2VydmljZS5nZXRGaWVsZHNIZWxwZXIoKS5nZXRTdGFuZGFyZEZpZWxkcygpXG5cbiAgICBpZiAoc29ydCA9PT0gJ21vc3QtcmVsZXZhbnQnKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZWFyY2hXaXRoTW9zdFJlbGV2YW50KHtcbiAgICAgICAgY2F0ZWdvcnksXG4gICAgICAgIGZpbHRlcnMsXG4gICAgICAgIGxpbWl0cyxcbiAgICAgICAgc2hvcCxcbiAgICAgICAgbWFpbkdlbmRlcixcbiAgICAgICAgb3B0aW9uc0NhY2hlLFxuICAgICAgICBmaWVsZHMsXG4gICAgICB9KVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnNlYXJjaERlZmF1bHQoe1xuICAgICAgY2F0ZWdvcnksXG4gICAgICBmaWx0ZXJzLFxuICAgICAgbGltaXRzLFxuICAgICAgc2hvcCxcbiAgICAgIG1haW5HZW5kZXIsXG4gICAgICBzb3J0LFxuICAgICAgb3B0aW9uc0NhY2hlLFxuICAgICAgZmllbGRzLFxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNlYXJjaFdpdGhNb3N0UmVsZXZhbnQocGFyYW1zOiBTZWFyY2hXaXRoTW9zdFJlbGV2YW50UGFyYW1zKSB7XG4gICAgY29uc3QgeyBjYXRlZ29yeSwgZmlsdGVycywgc2hvcCwgb3B0aW9uc0NhY2hlIH0gPSBwYXJhbXNcbiAgICBjb25zdCBtb3N0UmVsZXZhbnQgPSBjYXRlZ29yeS5pc1dpc2hsaXN0ID8gW10gOiBjYXRlZ29yeS5nZXRNb3N0UmVsZXZhbnRCeVNob3Aoc2hvcClcbiAgICBjb25zdCBwcm9kdWN0c0lkcyA9IGF3YWl0IHRoaXMuZ2V0UHJvZHVjdElkcyhjYXRlZ29yeSwgZmlsdGVycywgb3B0aW9uc0NhY2hlKVxuXG4gICAgcmV0dXJuIHRoaXMuZmluZEFuZFNvcnRCeU1vc3RSZWxldmFudCh7XG4gICAgICBtb3N0UmVsZXZhbnRzOiBtb3N0UmVsZXZhbnQsXG4gICAgICBwcm9kdWN0SWRzOiBwcm9kdWN0c0lkcyxcbiAgICAgIGZpbHRlcnM6IHBhcmFtcy5maWx0ZXJzLFxuICAgICAgbGltaXRzOiBwYXJhbXMubGltaXRzLFxuICAgICAgc2hvcDogcGFyYW1zLnNob3AsXG4gICAgICBtYWluR2VuZGVyOiBwYXJhbXMubWFpbkdlbmRlcixcbiAgICAgIG9wdGlvbnNDYWNoZTogcGFyYW1zLm9wdGlvbnNDYWNoZSxcbiAgICAgIGZpZWxkczogcGFyYW1zLmZpZWxkcyxcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZWFyY2hEZWZhdWx0KHBhcmFtczogU2VhcmNoRGVmYXVsdFBhcmFtcykge1xuICAgIGNvbnN0IHsgY2F0ZWdvcnksIGZpbHRlcnMsIGxpbWl0cywgc2hvcCwgbWFpbkdlbmRlciwgc29ydCwgb3B0aW9uc0NhY2hlLCBmaWVsZHMgfSA9IHBhcmFtc1xuICAgIGNvbnN0IHByb2R1Y3RDYXRhbG9nID0gdGhpcy5yZXBvc2l0b3J5U2VydmljZS5nZXRQcm9kdWN0Q2F0YWxvZygpXG4gICAgY29uc3QgZmlsdGVySGVscGVyID0gdGhpcy5oZWxwZXJzU2VydmljZS5nZXRGaWx0ZXJIZWxwZXIoKVxuICAgIGNvbnN0IHNvcnRIZWxwZXIgPSB0aGlzLmhlbHBlcnNTZXJ2aWNlLmdldFNvcnRIZWxwZXIoKVxuXG4gICAgY29uc3QgcmVwb1BhcmFtcyA9IHtcbiAgICAgIGZpZWxkcyxcbiAgICAgIGZpbHRlcnM6IHtcbiAgICAgICAgLi4uKGF3YWl0IHByb2R1Y3RDYXRhbG9nLmNhdGVnb3J5U3RydWN0dXJlQWRhcHRlci5idWlsZFByb2R1Y3RGaWx0ZXJCeUNhdGVnb3J5KGNhdGVnb3J5KSksXG4gICAgICAgIC4uLmZpbHRlckhlbHBlci5idWlsZEZpbHRlclF1ZXJ5KGZpbHRlcnMgfHwge30pLFxuICAgICAgfSxcbiAgICAgIC4uLihzb3J0ID8geyBvcmRlckJ5OiBzb3J0SGVscGVyLmJ1aWxkU29ydFF1ZXJ5KHNvcnQpIH0gOiB7fSksXG4gICAgICBsaW1pdHMsXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIG1pbmltYWw6IFsncHJpY2UnXSxcbiAgICAgICAgbWF4aW11bTogWydwcmljZSddLFxuICAgICAgICBkaXN0aW5jdDogWydicmFuZCddLFxuICAgICAgfSxcbiAgICB9XG5cbiAgICByZXR1cm4gcHJvZHVjdENhdGFsb2cucHJvZHVjdFJlcG9zaXRvcnkuZmluZENhdGFsb2coXG4gICAgICByZXBvUGFyYW1zLFxuICAgICAgbWFpbkdlbmRlciB8fCAoc2hvcCA9PT0gU2hvcHMuTUVOU01BUktFVCA/ICdtYWxlJyA6ICdmZW1hbGUnKSxcbiAgICAgIG9wdGlvbnNDYWNoZSxcbiAgICApXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFByb2R1Y3RJZHMoY2F0ZWdvcnk6IGFueSwgZmlsdGVyczogYW55LCBvcHRpb25zQ2FjaGU6IGFueSk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICBjb25zdCBwcm9kdWN0Q2F0YWxvZyA9IHRoaXMucmVwb3NpdG9yeVNlcnZpY2UuZ2V0UHJvZHVjdENhdGFsb2coKVxuICAgIGNvbnN0IGZpbHRlckhlbHBlciA9IHRoaXMuaGVscGVyc1NlcnZpY2UuZ2V0RmlsdGVySGVscGVyKClcblxuICAgIHJldHVybiBwcm9kdWN0Q2F0YWxvZy5wcm9kdWN0UmVwb3NpdG9yeVxuICAgICAgLmZpbmRDYXRhbG9nKFxuICAgICAgICB7XG4gICAgICAgICAgZmllbGRzOiBbJ2lkJ10sXG4gICAgICAgICAgZmlsdGVyczoge1xuICAgICAgICAgICAgLi4uKGF3YWl0IHByb2R1Y3RDYXRhbG9nLmNhdGVnb3J5U3RydWN0dXJlQWRhcHRlci5idWlsZFByb2R1Y3RGaWx0ZXJCeUNhdGVnb3J5KGNhdGVnb3J5KSksXG4gICAgICAgICAgICAuLi5maWx0ZXJIZWxwZXIuYnVpbGRGaWx0ZXJRdWVyeShmaWx0ZXJzIHx8IHt9KSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIG9wdGlvbnNDYWNoZSxcbiAgICAgIClcbiAgICAgIC50aGVuKChwcm9kdWN0cykgPT4gcHJvZHVjdHMuZGF0YS5tYXAoKHByb2R1Y3QpID0+IHByb2R1Y3QuaWQpKVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBmaW5kQW5kU29ydEJ5TW9zdFJlbGV2YW50KFxuICAgIHBhcmFtczogRmluZEFuZFNvcnRCeU1vc3RSZWxldmFudFBhcmFtcyxcbiAgKTogUHJvbWlzZTxSZXBvc2l0b3J5RmluZFJlc3VsdDxQcm9kdWN0Pj4ge1xuICAgIGNvbnN0IHsgbW9zdFJlbGV2YW50cywgcHJvZHVjdElkcywgZmlsdGVycywgc2hvcCwgbWFpbkdlbmRlciwgb3B0aW9uc0NhY2hlLCBmaWVsZHMsIGxpbWl0cyB9ID0gcGFyYW1zXG4gICAgY29uc3QgcHJvZHVjdENhdGFsb2cgPSB0aGlzLnJlcG9zaXRvcnlTZXJ2aWNlLmdldFByb2R1Y3RDYXRhbG9nKClcbiAgICBjb25zdCBmaWx0ZXJIZWxwZXIgPSB0aGlzLmhlbHBlcnNTZXJ2aWNlLmdldEZpbHRlckhlbHBlcigpXG4gICAgY29uc3Qgc29ydEhlbHBlciA9IHRoaXMuaGVscGVyc1NlcnZpY2UuZ2V0U29ydEhlbHBlcigpXG5cbiAgICBjb25zdCBtb3N0UmVsZXZhbnRQcm9kdWN0c0lkcyA9IFsuLi5uZXcgU2V0KG1vc3RSZWxldmFudHMuY29uY2F0KHByb2R1Y3RJZHMpKV1cbiAgICBjb25zdCB0b3RhbFJlc3VsdCA9IGF3YWl0IHByb2R1Y3RDYXRhbG9nLnByb2R1Y3RSZXBvc2l0b3J5LmZpbmRDYXRhbG9nKFxuICAgICAge1xuICAgICAgICBmaWVsZHMsXG4gICAgICAgIGZpbHRlcnM6IHtcbiAgICAgICAgICBpZDogeyBvcGVyYXRvcjogV2hlcmUuSU4sIHZhbHVlOiBtb3N0UmVsZXZhbnRQcm9kdWN0c0lkcyB9LFxuICAgICAgICAgIC4uLmZpbHRlckhlbHBlci5idWlsZEZpbHRlclF1ZXJ5KGZpbHRlcnMgfHwge30pLFxuICAgICAgICB9LFxuICAgICAgICBvcmRlckJ5OiBzb3J0SGVscGVyLmJ1aWxkU29ydFF1ZXJ5KCdiZXN0LXNlbGxlcnMnKSxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIG1pbmltYWw6IFsncHJpY2UnXSxcbiAgICAgICAgICBtYXhpbXVtOiBbJ3ByaWNlJ10sXG4gICAgICAgICAgLi4uKGlzRW1wdHkoZmlsdGVycz8uYnJhbmRzKSA/IHsgZGlzdGluY3Q6IFsnYnJhbmQnXSB9IDoge30pLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG1haW5HZW5kZXIgfHwgKHNob3AgPT09IFNob3BzLk1FTlNNQVJLRVQgPyAnbWFsZScgOiAnZmVtYWxlJyksXG4gICAgICBvcHRpb25zQ2FjaGUsXG4gICAgKVxuXG4gICAgcmV0dXJuIHRoaXMuc29ydFByb2R1Y3RzQnlSZWxldmFuY2UodG90YWxSZXN1bHQsIG1vc3RSZWxldmFudHMsIGxpbWl0cylcbiAgfVxuXG4gIHByaXZhdGUgc29ydFByb2R1Y3RzQnlSZWxldmFuY2UodG90YWxSZXN1bHQ6IGFueSwgbW9zdFJlbGV2YW50czogc3RyaW5nW10sIGxpbWl0czogYW55KSB7XG4gICAgY29uc3QgbW9zdFJlbGV2YW50V2l0aG91dFN0b2NrID0gdG90YWxSZXN1bHQuZGF0YS5maWx0ZXIoXG4gICAgICAocHJvZHVjdDogYW55KSA9PiBtb3N0UmVsZXZhbnRzLmluY2x1ZGVzKHByb2R1Y3QuaWQpICYmIHByb2R1Y3Quc3RvY2sucXVhbnRpdHkgPD0gMCxcbiAgICApXG4gICAgY29uc3QgZmlyc3RQcm9kdWN0cyA9IHRvdGFsUmVzdWx0LmRhdGFcbiAgICAgIC5maWx0ZXIoKHByb2R1Y3Q6IGFueSkgPT4gbW9zdFJlbGV2YW50cy5pbmNsdWRlcyhwcm9kdWN0LmlkKSAmJiBwcm9kdWN0LnN0b2NrLnF1YW50aXR5ID4gMClcbiAgICAgIC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4gbW9zdFJlbGV2YW50cy5pbmRleE9mKGEuaWQpIC0gbW9zdFJlbGV2YW50cy5pbmRleE9mKGIuaWQpKVxuICAgIGNvbnN0IGxhc3RQcm9kdWN0cyA9IHRvdGFsUmVzdWx0LmRhdGFcbiAgICAgIC5maWx0ZXIoKHByb2R1Y3Q6IGFueSkgPT4gIW1vc3RSZWxldmFudHMuaW5jbHVkZXMocHJvZHVjdC5pZCkpXG4gICAgICAuY29uY2F0KG1vc3RSZWxldmFudFdpdGhvdXRTdG9jaylcbiAgICBjb25zdCBjYXRlZ29yeU1vc3RSZWxldmFudHMgPSBmaXJzdFByb2R1Y3RzLmNvbmNhdChsYXN0UHJvZHVjdHMpXG4gICAgY29uc3QgcmVzdWx0RmluYWwgPSBjYXRlZ29yeU1vc3RSZWxldmFudHMuc2xpY2UobGltaXRzLm9mZnNldCwgbGltaXRzLm9mZnNldCArIGxpbWl0cy5saW1pdClcblxuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiByZXN1bHRGaW5hbCxcbiAgICAgIGNvdW50OiB0b3RhbFJlc3VsdC5jb3VudCxcbiAgICAgIG1heGltdW06IHRvdGFsUmVzdWx0Lm1heGltdW0sXG4gICAgICBtaW5pbWFsOiB0b3RhbFJlc3VsdC5taW5pbWFsLFxuICAgICAgZGlzdGluY3Q6IHRvdGFsUmVzdWx0LmRpc3RpbmN0LFxuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './category-search.strategy';
2
+ export * from './profile-search.strategy';
3
+ export * from './term-search.strategy';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvc3RyYXRlZ2llcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFBO0FBQzFDLGNBQWMsMkJBQTJCLENBQUE7QUFDekMsY0FBYyx3QkFBd0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2F0ZWdvcnktc2VhcmNoLnN0cmF0ZWd5J1xuZXhwb3J0ICogZnJvbSAnLi9wcm9maWxlLXNlYXJjaC5zdHJhdGVneSdcbmV4cG9ydCAqIGZyb20gJy4vdGVybS1zZWFyY2guc3RyYXRlZ3knXG4iXX0=
@@ -0,0 +1,42 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Shops, Where } from '@infrab4a/connect';
3
+ import { CatalogHelpersService, CatalogRepositoryService } from '../services';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../services";
6
+ export class ProfileSearchStrategy {
7
+ constructor(repositoryService, helpersService) {
8
+ this.repositoryService = repositoryService;
9
+ this.helpersService = helpersService;
10
+ }
11
+ async search(params, shop, optionsCache) {
12
+ const { profile, filters, limits, sort, mainGender } = params;
13
+ if (!profile) {
14
+ throw new Error('Profile is required for ProfileSearchStrategy');
15
+ }
16
+ const productCatalog = this.repositoryService.getProductCatalog();
17
+ const filterHelper = this.helpersService.getFilterHelper();
18
+ const sortHelper = this.helpersService.getSortHelper();
19
+ const fieldsHelper = this.helpersService.getFieldsHelper();
20
+ const repoParams = {
21
+ fields: fieldsHelper.getStandardFields(),
22
+ filters: {
23
+ tags: { operator: Where.LIKE, value: profile },
24
+ ...filterHelper.buildFilterQuery(filters || {}),
25
+ },
26
+ ...(sort ? { orderBy: sortHelper.buildSortQuery(sort) } : {}),
27
+ limits,
28
+ options: {
29
+ minimal: ['price'],
30
+ maximum: ['price'],
31
+ distinct: ['brand'],
32
+ },
33
+ };
34
+ return productCatalog.productRepository.findCatalog(repoParams, mainGender || (shop === Shops.MENSMARKET ? 'male' : 'female'), optionsCache);
35
+ }
36
+ }
37
+ ProfileSearchStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ProfileSearchStrategy, deps: [{ token: i1.CatalogRepositoryService }, { token: i1.CatalogHelpersService }], target: i0.ɵɵFactoryTarget.Injectable });
38
+ ProfileSearchStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ProfileSearchStrategy });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ProfileSearchStrategy, decorators: [{
40
+ type: Injectable
41
+ }], ctorParameters: function () { return [{ type: i1.CatalogRepositoryService }, { type: i1.CatalogHelpersService }]; } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1zZWFyY2guc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvc3RyYXRlZ2llcy9wcm9maWxlLXNlYXJjaC5zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBeUQsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBR3ZHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTs7O0FBRzdFLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsWUFDbUIsaUJBQTJDLEVBQzNDLGNBQXFDO1FBRHJDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBMEI7UUFDM0MsbUJBQWMsR0FBZCxjQUFjLENBQXVCO0lBQ3JELENBQUM7SUFFSixLQUFLLENBQUMsTUFBTSxDQUNWLE1BQTJCLEVBQzNCLElBQVcsRUFDWCxZQUFpRDtRQUVqRCxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQTtRQUU3RCxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFBO1NBQ2pFO1FBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixFQUFFLENBQUE7UUFDakUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsQ0FBQTtRQUMxRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ3RELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLENBQUE7UUFFMUQsTUFBTSxVQUFVLEdBQUc7WUFDakIsTUFBTSxFQUFFLFlBQVksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QyxPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtnQkFDOUMsR0FBRyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQzthQUNoRDtZQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzdELE1BQU07WUFDTixPQUFPLEVBQUU7Z0JBQ1AsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO2dCQUNsQixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7Z0JBQ2xCLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQzthQUNwQjtTQUNGLENBQUE7UUFFRCxPQUFPLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQ2pELFVBQVUsRUFDVixVQUFVLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFDN0QsWUFBWSxDQUNiLENBQUE7SUFDSCxDQUFDOztrSEExQ1UscUJBQXFCO3NIQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgUHJvZHVjdCwgUmVwb3NpdG9yeUNhY2hlT3B0aW9ucywgUmVwb3NpdG9yeUZpbmRSZXN1bHQsIFNob3BzLCBXaGVyZSB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuXG5pbXBvcnQgeyBDYXRhbG9nU2VhcmNoUGFyYW1zLCBDYXRhbG9nU2VhcmNoU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJ1xuaW1wb3J0IHsgQ2F0YWxvZ0hlbHBlcnNTZXJ2aWNlLCBDYXRhbG9nUmVwb3NpdG9yeVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcydcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVTZWFyY2hTdHJhdGVneSBpbXBsZW1lbnRzIENhdGFsb2dTZWFyY2hTdHJhdGVneSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVwb3NpdG9yeVNlcnZpY2U6IENhdGFsb2dSZXBvc2l0b3J5U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhlbHBlcnNTZXJ2aWNlOiBDYXRhbG9nSGVscGVyc1NlcnZpY2UsXG4gICkge31cblxuICBhc3luYyBzZWFyY2goXG4gICAgcGFyYW1zOiBDYXRhbG9nU2VhcmNoUGFyYW1zLFxuICAgIHNob3A6IFNob3BzLFxuICAgIG9wdGlvbnNDYWNoZT86IHsgY2FjaGU/OiBSZXBvc2l0b3J5Q2FjaGVPcHRpb25zIH0sXG4gICk6IFByb21pc2U8UmVwb3NpdG9yeUZpbmRSZXN1bHQ8UHJvZHVjdD4+IHtcbiAgICBjb25zdCB7IHByb2ZpbGUsIGZpbHRlcnMsIGxpbWl0cywgc29ydCwgbWFpbkdlbmRlciB9ID0gcGFyYW1zXG5cbiAgICBpZiAoIXByb2ZpbGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUHJvZmlsZSBpcyByZXF1aXJlZCBmb3IgUHJvZmlsZVNlYXJjaFN0cmF0ZWd5JylcbiAgICB9XG5cbiAgICBjb25zdCBwcm9kdWN0Q2F0YWxvZyA9IHRoaXMucmVwb3NpdG9yeVNlcnZpY2UuZ2V0UHJvZHVjdENhdGFsb2coKVxuICAgIGNvbnN0IGZpbHRlckhlbHBlciA9IHRoaXMuaGVscGVyc1NlcnZpY2UuZ2V0RmlsdGVySGVscGVyKClcbiAgICBjb25zdCBzb3J0SGVscGVyID0gdGhpcy5oZWxwZXJzU2VydmljZS5nZXRTb3J0SGVscGVyKClcbiAgICBjb25zdCBmaWVsZHNIZWxwZXIgPSB0aGlzLmhlbHBlcnNTZXJ2aWNlLmdldEZpZWxkc0hlbHBlcigpXG5cbiAgICBjb25zdCByZXBvUGFyYW1zID0ge1xuICAgICAgZmllbGRzOiBmaWVsZHNIZWxwZXIuZ2V0U3RhbmRhcmRGaWVsZHMoKSxcbiAgICAgIGZpbHRlcnM6IHtcbiAgICAgICAgdGFnczogeyBvcGVyYXRvcjogV2hlcmUuTElLRSwgdmFsdWU6IHByb2ZpbGUgfSxcbiAgICAgICAgLi4uZmlsdGVySGVscGVyLmJ1aWxkRmlsdGVyUXVlcnkoZmlsdGVycyB8fCB7fSksXG4gICAgICB9LFxuICAgICAgLi4uKHNvcnQgPyB7IG9yZGVyQnk6IHNvcnRIZWxwZXIuYnVpbGRTb3J0UXVlcnkoc29ydCkgfSA6IHt9KSxcbiAgICAgIGxpbWl0cyxcbiAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgbWluaW1hbDogWydwcmljZSddLFxuICAgICAgICBtYXhpbXVtOiBbJ3ByaWNlJ10sXG4gICAgICAgIGRpc3RpbmN0OiBbJ2JyYW5kJ10sXG4gICAgICB9LFxuICAgIH1cblxuICAgIHJldHVybiBwcm9kdWN0Q2F0YWxvZy5wcm9kdWN0UmVwb3NpdG9yeS5maW5kQ2F0YWxvZyhcbiAgICAgIHJlcG9QYXJhbXMsXG4gICAgICBtYWluR2VuZGVyIHx8IChzaG9wID09PSBTaG9wcy5NRU5TTUFSS0VUID8gJ21hbGUnIDogJ2ZlbWFsZScpLFxuICAgICAgb3B0aW9uc0NhY2hlLFxuICAgIClcbiAgfVxufVxuIl19
@@ -0,0 +1,126 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Shops, Where, isEmpty, } from '@infrab4a/connect';
3
+ import { CatalogHelpersService, CatalogRepositoryService } from '../services';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../services";
6
+ export class TermSearchStrategy {
7
+ constructor(repositoryService, helpersService) {
8
+ this.repositoryService = repositoryService;
9
+ this.helpersService = helpersService;
10
+ this.productsByTerm = {};
11
+ }
12
+ async search(params, shop, _optionsCache) {
13
+ const { term, filters, limits, sort, mainGender } = params;
14
+ if (!term) {
15
+ throw new Error('Term is required for TermSearchStrategy');
16
+ }
17
+ const productIds = await this.findCatalogIdsBySearch(term, shop);
18
+ if (sort === 'most-relevant') {
19
+ return this.searchWithMostRelevant({
20
+ productIds,
21
+ filters,
22
+ limits,
23
+ shop,
24
+ mainGender,
25
+ });
26
+ }
27
+ return this.searchDefault({
28
+ productIds,
29
+ filters,
30
+ limits,
31
+ shop,
32
+ mainGender,
33
+ fields: this.helpersService.getFieldsHelper().getStandardFields(),
34
+ });
35
+ }
36
+ async searchWithMostRelevant(params) {
37
+ const { productIds, filters, shop, mainGender } = params;
38
+ const productCatalog = this.repositoryService.getProductCatalog();
39
+ const filterHelper = this.helpersService.getFilterHelper();
40
+ const totalResult = await productCatalog.productRepository.findCatalog({
41
+ fields: ['id', 'stock', 'gender'],
42
+ filters: {
43
+ id: { operator: Where.IN, value: productIds },
44
+ published: { operator: Where.EQUALS, value: true },
45
+ ...filterHelper.buildFilterQuery(filters || {}),
46
+ },
47
+ options: {
48
+ minimal: ['price'],
49
+ maximum: ['price'],
50
+ ...(isEmpty(filters?.brands) ? { distinct: ['brand'] } : {}),
51
+ },
52
+ }, mainGender || (shop === Shops.MENSMARKET ? 'male' : 'female'));
53
+ return this.sortByTermRelevance({
54
+ productIds,
55
+ totalResult,
56
+ limits: params.limits,
57
+ filters,
58
+ fieldsHelper: this.helpersService.getFieldsHelper(),
59
+ });
60
+ }
61
+ async searchDefault(params) {
62
+ const { productIds, filters, limits, shop, mainGender, fields } = params;
63
+ const productCatalog = this.repositoryService.getProductCatalog();
64
+ const filterHelper = this.helpersService.getFilterHelper();
65
+ return productCatalog.productRepository.findCatalog({
66
+ fields,
67
+ filters: {
68
+ id: { operator: Where.IN, value: productIds },
69
+ published: { operator: Where.EQUALS, value: true },
70
+ ...filterHelper.buildFilterQuery(filters || {}),
71
+ },
72
+ limits,
73
+ options: {
74
+ minimal: ['price'],
75
+ maximum: ['price'],
76
+ distinct: ['brand'],
77
+ },
78
+ }, mainGender || (shop === Shops.MENSMARKET ? 'male' : 'female'));
79
+ }
80
+ sortByTermRelevance(params) {
81
+ const { productIds, totalResult, limits, filters, fieldsHelper } = params;
82
+ const defaultGender = filters?.gender?.at(0) || 'male';
83
+ const stockData = totalResult.data.filter((product) => product.stock.quantity > 0);
84
+ const stockOut = totalResult.data.filter((product) => product.stock.quantity <= 0);
85
+ const productIdsStockGender = productIds.filter((product) => stockData.some((result) => result.id === product && (result.gender?.includes(defaultGender) || result.gender?.includes('unisex'))));
86
+ const productIdsStockNotGender = productIds.filter((product) => stockData.some((result) => result.id === product && !result.gender?.includes(defaultGender) && !result.gender?.includes('unisex')));
87
+ const productIdsStock = productIdsStockGender.concat(productIdsStockNotGender);
88
+ const productIdsStockOut = productIds.filter((product) => stockOut.some((result) => result.id === product));
89
+ const limitedProductId = productIdsStock
90
+ .concat(productIdsStockOut)
91
+ .slice(limits.offset, limits.offset + limits.limit);
92
+ const orderedId = productIds.filter((product) => limitedProductId.includes(product));
93
+ return this.getDetailedProducts(orderedId, totalResult, fieldsHelper);
94
+ }
95
+ async getDetailedProducts(orderedId, totalResult, fieldsHelper) {
96
+ const productCatalog = this.repositoryService.getProductCatalog();
97
+ const fields = fieldsHelper.getStandardFields();
98
+ const productResult = await productCatalog.productRepository.findCatalog({
99
+ filters: {
100
+ id: { operator: Where.IN, value: orderedId },
101
+ },
102
+ fields,
103
+ });
104
+ return {
105
+ data: orderedId.map((id) => productResult.data.find((product) => product.id === id)).filter(Boolean),
106
+ count: totalResult.count,
107
+ maximum: totalResult.maximum,
108
+ minimal: totalResult.minimal,
109
+ distinct: totalResult.distinct,
110
+ };
111
+ }
112
+ async findCatalogIdsBySearch(term, shop) {
113
+ if (this.productsByTerm[term])
114
+ return this.productsByTerm[term];
115
+ const productServices = this.repositoryService.getProductServices();
116
+ return (this.productsByTerm[term] = await productServices.productSearch
117
+ .search(term, 999, shop === Shops.GLAMSHOP ? 'female' : 'male')
118
+ .then((products) => [...new Set(products.map((product) => product.id))]));
119
+ }
120
+ }
121
+ TermSearchStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: TermSearchStrategy, deps: [{ token: i1.CatalogRepositoryService }, { token: i1.CatalogHelpersService }], target: i0.ɵɵFactoryTarget.Injectable });
122
+ TermSearchStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: TermSearchStrategy });
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: TermSearchStrategy, decorators: [{
124
+ type: Injectable
125
+ }], ctorParameters: function () { return [{ type: i1.CatalogRepositoryService }, { type: i1.CatalogHelpersService }]; } });
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybS1zZWFyY2guc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvc3RyYXRlZ2llcy90ZXJtLXNlYXJjaC5zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFLTCxLQUFLLEVBQ0wsS0FBSyxFQUNMLE9BQU8sR0FDUixNQUFNLG1CQUFtQixDQUFBO0FBRzFCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTs7O0FBUzdFLE1BQU0sT0FBTyxrQkFBa0I7SUFHN0IsWUFDbUIsaUJBQTJDLEVBQzNDLGNBQXFDO1FBRHJDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBMEI7UUFDM0MsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBSmhELG1CQUFjLEdBQTZCLEVBQUUsQ0FBQTtJQUtsRCxDQUFDO0lBRUosS0FBSyxDQUFDLE1BQU0sQ0FDVixNQUEyQixFQUMzQixJQUFXLEVBQ1gsYUFBa0Q7UUFFbEQsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxNQUFNLENBQUE7UUFFMUQsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQTtTQUMzRDtRQUVELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUVoRSxJQUFJLElBQUksS0FBSyxlQUFlLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUM7Z0JBQ2pDLFVBQVU7Z0JBQ1YsT0FBTztnQkFDUCxNQUFNO2dCQUNOLElBQUk7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UUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDN0UsQ0FBQzs7K0dBM0pVLGtCQUFrQjttSEFBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIFByb2R1Y3QsXG4gIFByb2R1Y3RTZWFyY2gsXG4gIFJlcG9zaXRvcnlDYWNoZU9wdGlvbnMsXG4gIFJlcG9zaXRvcnlGaW5kUmVzdWx0LFxuICBTaG9wcyxcbiAgV2hlcmUsXG4gIGlzRW1wdHksXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuXG5pbXBvcnQgeyBDYXRhbG9nU2VhcmNoUGFyYW1zLCBDYXRhbG9nU2VhcmNoU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJ1xuaW1wb3J0IHsgQ2F0YWxvZ0hlbHBlcnNTZXJ2aWNlLCBDYXRhbG9nUmVwb3NpdG9yeVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcydcblxuaW1wb3J0IHtcbiAgU29ydEJ5VGVybVJlbGV2YW5jZVBhcmFtcyxcbiAgVGVybVNlYXJjaERlZmF1bHRQYXJhbXMsXG4gIFRlcm1TZWFyY2hNb3N0UmVsZXZhbnRQYXJhbXMsXG59IGZyb20gJy4vdHlwZXMvc3RyYXRlZ3ktcGFyYW1zLnR5cGUnXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUZXJtU2VhcmNoU3RyYXRlZ3kgaW1wbGVtZW50cyBDYXRhbG9nU2VhcmNoU3RyYXRlZ3kge1xuICBwcml2YXRlIHByb2R1Y3RzQnlUZXJtOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gPSB7fVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVwb3NpdG9yeVNlcnZpY2U6IENhdGFsb2dSZXBvc2l0b3J5U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhlbHBlcnNTZXJ2aWNlOiBDYXRhbG9nSGVscGVyc1NlcnZpY2UsXG4gICkge31cblxuICBhc3luYyBzZWFyY2goXG4gICAgcGFyYW1zOiBDYXRhbG9nU2VhcmNoUGFyYW1zLFxuICAgIHNob3A6IFNob3BzLFxuICAgIF9vcHRpb25zQ2FjaGU/OiB7IGNhY2hlPzogUmVwb3NpdG9yeUNhY2hlT3B0aW9ucyB9LFxuICApOiBQcm9taXNlPFJlcG9zaXRvcnlGaW5kUmVzdWx0PFByb2R1Y3Q+PiB7XG4gICAgY29uc3QgeyB0ZXJtLCBmaWx0ZXJzLCBsaW1pdHMsIHNvcnQsIG1haW5HZW5kZXIgfSA9IHBhcmFtc1xuXG4gICAgaWYgKCF0ZXJtKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Rlcm0gaXMgcmVxdWlyZWQgZm9yIFRlcm1TZWFyY2hTdHJhdGVneScpXG4gICAgfVxuXG4gICAgY29uc3QgcHJvZHVjdElkcyA9IGF3YWl0IHRoaXMuZmluZENhdGFsb2dJZHNCeVNlYXJjaCh0ZXJtLCBzaG9wKVxuXG4gICAgaWYgKHNvcnQgPT09ICdtb3N0LXJlbGV2YW50Jykge1xuICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoV2l0aE1vc3RSZWxldmFudCh7XG4gICAgICAgIHByb2R1Y3RJZHMsXG4gICAgICAgIGZpbHRlcnMsXG4gICAgICAgIGxpbWl0cyxcbiAgICAgICAgc2hvcCxcbiAgICAgICAgbWFpbkdlbmRlcixcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoRGVmYXVsdCh7XG4gICAgICBwcm9kdWN0SWRzLFxuICAgICAgZmlsdGVycyxcbiAgICAgIGxpbWl0cyxcbiAgICAgIHNob3AsXG4gICAgICBtYWluR2VuZGVyLFxuICAgICAgZmllbGRzOiB0aGlzLmhlbHBlcnNTZXJ2aWNlLmdldEZpZWxkc0hlbHBlcigpLmdldFN0YW5kYXJkRmllbGRzKCksXG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2VhcmNoV2l0aE1vc3RSZWxldmFudChwYXJhbXM6IFRlcm1TZWFyY2hNb3N0UmVsZXZhbnRQYXJhbXMpOiBQcm9taXNlPFJlcG9zaXRvcnlGaW5kUmVzdWx0PFByb2R1Y3Q+PiB7XG4gICAgY29uc3QgeyBwcm9kdWN0SWRzLCBmaWx0ZXJzLCBzaG9wLCBtYWluR2VuZGVyIH0gPSBwYXJhbXNcbiAgICBjb25zdCBwcm9kdWN0Q2F0YWxvZyA9IHRoaXMucmVwb3NpdG9yeVNlcnZpY2UuZ2V0UHJvZHVjdENhdGFsb2coKVxuICAgIGNvbnN0IGZpbHRlckhlbHBlciA9IHRoaXMuaGVscGVyc1NlcnZpY2UuZ2V0RmlsdGVySGVscGVyKClcblxuICAgIGNvbnN0IHRvdGFsUmVzdWx0ID0gYXdhaXQgcHJvZHVjdENhdGFsb2cucHJvZHVjdFJlcG9zaXRvcnkuZmluZENhdGFsb2coXG4gICAgICB7XG4gICAgICAgIGZpZWxkczogWydpZCcsICdzdG9jaycsICdnZW5kZXInXSxcbiAgICAgICAgZmlsdGVyczoge1xuICAgICAgICAgIGlkOiB7IG9wZXJhdG9yOiBXaGVyZS5JTiwgdmFsdWU6IHByb2R1Y3RJZHMgfSxcbiAgICAgICAgICBwdWJsaXNoZWQ6IHsgb3BlcmF0b3I6IFdoZXJlLkVRVUFMUywgdmFsdWU6IHRydWUgfSxcbiAgICAgICAgICAuLi5maWx0ZXJIZWxwZXIuYnVpbGRGaWx0ZXJRdWVyeShmaWx0ZXJzIHx8IHt9KSxcbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIG1pbmltYWw6IFsncHJpY2UnXSxcbiAgICAgICAgICBtYXhpbXVtOiBbJ3ByaWNlJ10sXG4gICAgICAgICAgLi4uKGlzRW1wdHkoZmlsdGVycz8uYnJhbmRzKSA/IHsgZGlzdGluY3Q6IFsnYnJhbmQnXSB9IDoge30pLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG1haW5HZW5kZXIgfHwgKHNob3AgPT09IFNob3BzLk1FTlNNQVJLRVQgPyAnbWFsZScgOiAnZmVtYWxlJyksXG4gICAgKVxuXG4gICAgcmV0dXJuIHRoaXMuc29ydEJ5VGVybVJlbGV2YW5jZSh7XG4gICAgICBwcm9kdWN0SWRzLFxuICAgICAgdG90YWxSZXN1bHQsXG4gICAgICBsaW1pdHM6IHBhcmFtcy5saW1pdHMsXG4gICAgICBmaWx0ZXJzLFxuICAgICAgZmllbGRzSGVscGVyOiB0aGlzLmhlbHBlcnNTZXJ2aWNlLmdldEZpZWxkc0hlbHBlcigpLFxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNlYXJjaERlZmF1bHQocGFyYW1zOiBUZXJtU2VhcmNoRGVmYXVsdFBhcmFtcyk6IFByb21pc2U8UmVwb3NpdG9yeUZpbmRSZXN1bHQ8UHJvZHVjdD4+IHtcbiAgICBjb25zdCB7IHByb2R1Y3RJZHMsIGZpbHRlcnMsIGxpbWl0cywgc2hvcCwgbWFpbkdlbmRlciwgZmllbGRzIH0gPSBwYXJhbXNcbiAgICBjb25zdCBwcm9kdWN0Q2F0YWxvZyA9IHRoaXMucmVwb3NpdG9yeVNlcnZpY2UuZ2V0UHJvZHVjdENhdGFsb2coKVxuICAgIGNvbnN0IGZpbHRlckhlbHBlciA9IHRoaXMuaGVscGVyc1NlcnZpY2UuZ2V0RmlsdGVySGVscGVyKClcblxuICAgIHJldHVybiBwcm9kdWN0Q2F0YWxvZy5wcm9kdWN0UmVwb3NpdG9yeS5maW5kQ2F0YWxvZyhcbiAgICAgIHtcbiAgICAgICAgZmllbGRzLFxuICAgICAgICBmaWx0ZXJzOiB7XG4gICAgICAgICAgaWQ6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogcHJvZHVjdElkcyB9LFxuICAgICAgICAgIHB1Ymxpc2hlZDogeyBvcGVyYXRvcjogV2hlcmUuRVFVQUxTLCB2YWx1ZTogdHJ1ZSB9LFxuICAgICAgICAgIC4uLmZpbHRlckhlbHBlci5idWlsZEZpbHRlclF1ZXJ5KGZpbHRlcnMgfHwge30pLFxuICAgICAgICB9LFxuICAgICAgICBsaW1pdHMsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBtaW5pbWFsOiBbJ3ByaWNlJ10sXG4gICAgICAgICAgbWF4aW11bTogWydwcmljZSddLFxuICAgICAgICAgIGRpc3RpbmN0OiBbJ2JyYW5kJ10sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgbWFpbkdlbmRlciB8fCAoc2hvcCA9PT0gU2hvcHMuTUVOU01BUktFVCA/ICdtYWxlJyA6ICdmZW1hbGUnKSxcbiAgICApXG4gIH1cblxuICBwcml2YXRlIHNvcnRCeVRlcm1SZWxldmFuY2UocGFyYW1zOiBTb3J0QnlUZXJtUmVsZXZhbmNlUGFyYW1zKSB7XG4gICAgY29uc3QgeyBwcm9kdWN0SWRzLCB0b3RhbFJlc3VsdCwgbGltaXRzLCBmaWx0ZXJzLCBmaWVsZHNIZWxwZXIgfSA9IHBhcmFtc1xuICAgIGNvbnN0IGRlZmF1bHRHZW5kZXIgPSBmaWx0ZXJzPy5nZW5kZXI/LmF0KDApIHx8ICdtYWxlJ1xuICAgIGNvbnN0IHN0b2NrRGF0YSA9IHRvdGFsUmVzdWx0LmRhdGEuZmlsdGVyKChwcm9kdWN0OiBhbnkpID0+IHByb2R1Y3Quc3RvY2sucXVhbnRpdHkgPiAwKVxuICAgIGNvbnN0IHN0b2NrT3V0ID0gdG90YWxSZXN1bHQuZGF0YS5maWx0ZXIoKHByb2R1Y3Q6IGFueSkgPT4gcHJvZHVjdC5zdG9jay5xdWFudGl0eSA8PSAwKVxuXG4gICAgY29uc3QgcHJvZHVjdElkc1N0b2NrR2VuZGVyID0gcHJvZHVjdElkcy5maWx0ZXIoKHByb2R1Y3QpID0+XG4gICAgICBzdG9ja0RhdGEuc29tZShcbiAgICAgICAgKHJlc3VsdDogYW55KSA9PlxuICAgICAgICAgIHJlc3VsdC5pZCA9PT0gcHJvZHVjdCAmJiAocmVzdWx0LmdlbmRlcj8uaW5jbHVkZXMoZGVmYXVsdEdlbmRlcikgfHwgcmVzdWx0LmdlbmRlcj8uaW5jbHVkZXMoJ3VuaXNleCcpKSxcbiAgICAgICksXG4gICAgKVxuXG4gICAgY29uc3QgcHJvZHVjdElkc1N0b2NrTm90R2VuZGVyID0gcHJvZHVjdElkcy5maWx0ZXIoKHByb2R1Y3QpID0+XG4gICAgICBzdG9ja0RhdGEuc29tZShcbiAgICAgICAgKHJlc3VsdDogYW55KSA9PlxuICAgICAgICAgIHJlc3VsdC5pZCA9PT0gcHJvZHVjdCAmJiAhcmVzdWx0LmdlbmRlcj8uaW5jbHVkZXMoZGVmYXVsdEdlbmRlcikgJiYgIXJlc3VsdC5nZW5kZXI/LmluY2x1ZGVzKCd1bmlzZXgnKSxcbiAgICAgICksXG4gICAgKVxuXG4gICAgY29uc3QgcHJvZHVjdElkc1N0b2NrID0gcHJvZHVjdElkc1N0b2NrR2VuZGVyLmNvbmNhdChwcm9kdWN0SWRzU3RvY2tOb3RHZW5kZXIpXG4gICAgY29uc3QgcHJvZHVjdElkc1N0b2NrT3V0ID0gcHJvZHVjdElkcy5maWx0ZXIoKHByb2R1Y3QpID0+IHN0b2NrT3V0LnNvbWUoKHJlc3VsdDogYW55KSA9PiByZXN1bHQuaWQgPT09IHByb2R1Y3QpKVxuXG4gICAgY29uc3QgbGltaXRlZFByb2R1Y3RJZCA9IHByb2R1Y3RJZHNTdG9ja1xuICAgICAgLmNvbmNhdChwcm9kdWN0SWRzU3RvY2tPdXQpXG4gICAgICAuc2xpY2UobGltaXRzLm9mZnNldCwgbGltaXRzLm9mZnNldCArIGxpbWl0cy5saW1pdClcblxuICAgIGNvbnN0IG9yZGVyZWRJZCA9IHByb2R1Y3RJZHMuZmlsdGVyKChwcm9kdWN0KSA9PiBsaW1pdGVkUHJvZHVjdElkLmluY2x1ZGVzKHByb2R1Y3QpKVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0RGV0YWlsZWRQcm9kdWN0cyhvcmRlcmVkSWQsIHRvdGFsUmVzdWx0LCBmaWVsZHNIZWxwZXIpXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldERldGFpbGVkUHJvZHVjdHMob3JkZXJlZElkOiBzdHJpbmdbXSwgdG90YWxSZXN1bHQ6IGFueSwgZmllbGRzSGVscGVyOiBhbnkpIHtcbiAgICBjb25zdCBwcm9kdWN0Q2F0YWxvZyA9IHRoaXMucmVwb3NpdG9yeVNlcnZpY2UuZ2V0UHJvZHVjdENhdGFsb2coKVxuICAgIGNvbnN0IGZpZWxkcyA9IGZpZWxkc0hlbHBlci5nZXRTdGFuZGFyZEZpZWxkcygpXG4gICAgY29uc3QgcHJvZHVjdFJlc3VsdCA9IGF3YWl0IHByb2R1Y3RDYXRhbG9nLnByb2R1Y3RSZXBvc2l0b3J5LmZpbmRDYXRhbG9nKHtcbiAgICAgIGZpbHRlcnM6IHtcbiAgICAgICAgaWQ6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogb3JkZXJlZElkIH0sXG4gICAgICB9LFxuICAgICAgZmllbGRzLFxuICAgIH0pXG5cbiAgICByZXR1cm4ge1xuICAgICAgZGF0YTogb3JkZXJlZElkLm1hcCgoaWQpID0+IHByb2R1Y3RSZXN1bHQuZGF0YS5maW5kKChwcm9kdWN0KSA9PiBwcm9kdWN0LmlkID09PSBpZCkpLmZpbHRlcihCb29sZWFuKSxcbiAgICAgIGNvdW50OiB0b3RhbFJlc3VsdC5jb3VudCxcbiAgICAgIG1heGltdW06IHRvdGFsUmVzdWx0Lm1heGltdW0sXG4gICAgICBtaW5pbWFsOiB0b3RhbFJlc3VsdC5taW5pbWFsLFxuICAgICAgZGlzdGluY3Q6IHRvdGFsUmVzdWx0LmRpc3RpbmN0LFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZmluZENhdGFsb2dJZHNCeVNlYXJjaCh0ZXJtOiBzdHJpbmcsIHNob3A6IFNob3BzKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIGlmICh0aGlzLnByb2R1Y3RzQnlUZXJtW3Rlcm1dKSByZXR1cm4gdGhpcy5wcm9kdWN0c0J5VGVybVt0ZXJtXVxuXG4gICAgY29uc3QgcHJvZHVjdFNlcnZpY2VzID0gdGhpcy5yZXBvc2l0b3J5U2VydmljZS5nZXRQcm9kdWN0U2VydmljZXMoKVxuXG4gICAgcmV0dXJuICh0aGlzLnByb2R1Y3RzQnlUZXJtW3Rlcm1dID0gYXdhaXQgcHJvZHVjdFNlcnZpY2VzLnByb2R1Y3RTZWFyY2hcbiAgICAgIC5zZWFyY2g8UHJvZHVjdFNlYXJjaD4odGVybSwgOTk5LCBzaG9wID09PSBTaG9wcy5HTEFNU0hPUCA/ICdmZW1hbGUnIDogJ21hbGUnKVxuICAgICAgLnRoZW4oKHByb2R1Y3RzKSA9PiBbLi4ubmV3IFNldChwcm9kdWN0cy5tYXAoKHByb2R1Y3QpID0+IHByb2R1Y3QuaWQpKV0pKVxuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyYXRlZ3ktcGFyYW1zLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvc3RyYXRlZ2llcy90eXBlcy9zdHJhdGVneS1wYXJhbXMudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVwb3NpdG9yeUNhY2hlT3B0aW9ucywgU2hvcHMgfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcblxuZXhwb3J0IHR5cGUgU2VhcmNoV2l0aE1vc3RSZWxldmFudFBhcmFtcyA9IHtcbiAgY2F0ZWdvcnk6IGFueVxuICBmaWx0ZXJzOiBhbnlcbiAgbGltaXRzOiBhbnlcbiAgc2hvcDogU2hvcHNcbiAgbWFpbkdlbmRlcjogYW55XG4gIG9wdGlvbnNDYWNoZTogeyBjYWNoZT86IFJlcG9zaXRvcnlDYWNoZU9wdGlvbnMgfSB8IHVuZGVmaW5lZFxuICBmaWVsZHM6IGFueVxufVxuXG5leHBvcnQgdHlwZSBTZWFyY2hEZWZhdWx0UGFyYW1zID0ge1xuICBjYXRlZ29yeTogYW55XG4gIGZpbHRlcnM6IGFueVxuICBsaW1pdHM6IGFueVxuICBzaG9wOiBTaG9wc1xuICBtYWluR2VuZGVyOiBhbnlcbiAgc29ydDogYW55XG4gIG9wdGlvbnNDYWNoZTogeyBjYWNoZT86IFJlcG9zaXRvcnlDYWNoZU9wdGlvbnMgfSB8IHVuZGVmaW5lZFxuICBmaWVsZHM6IGFueVxufVxuXG5leHBvcnQgdHlwZSBGaW5kQW5kU29ydEJ5TW9zdFJlbGV2YW50UGFyYW1zID0ge1xuICBtb3N0UmVsZXZhbnRzOiBzdHJpbmdbXVxuICBwcm9kdWN0SWRzOiBzdHJpbmdbXVxuICBmaWx0ZXJzOiBhbnlcbiAgbGltaXRzOiBhbnlcbiAgc2hvcDogU2hvcHNcbiAgbWFpbkdlbmRlcjogYW55XG4gIG9wdGlvbnNDYWNoZTogeyBjYWNoZT86IFJlcG9zaXRvcnlDYWNoZU9wdGlvbnMgfSB8IHVuZGVmaW5lZFxuICBmaWVsZHM6IGFueVxufVxuXG5leHBvcnQgdHlwZSBUZXJtU2VhcmNoTW9zdFJlbGV2YW50UGFyYW1zID0ge1xuICBwcm9kdWN0SWRzOiBzdHJpbmdbXVxuICBmaWx0ZXJzOiBhbnlcbiAgbGltaXRzOiBhbnlcbiAgbWFpbkdlbmRlcjogYW55XG4gIHNob3A6IFNob3BzXG59XG5cbmV4cG9ydCB0eXBlIFRlcm1TZWFyY2hEZWZhdWx0UGFyYW1zID0ge1xuICBwcm9kdWN0SWRzOiBzdHJpbmdbXVxuICBmaWx0ZXJzOiBhbnlcbiAgbGltaXRzOiBhbnlcbiAgbWFpbkdlbmRlcjogYW55XG4gIHNob3A6IFNob3BzXG4gIGZpZWxkczogYW55XG59XG5cbmV4cG9ydCB0eXBlIFNvcnRCeVRlcm1SZWxldmFuY2VQYXJhbXMgPSB7XG4gIHByb2R1Y3RJZHM6IHN0cmluZ1tdXG4gIHRvdGFsUmVzdWx0OiBhbnlcbiAgbGltaXRzOiBhbnlcbiAgZmlsdGVyczogYW55XG4gIGZpZWxkc0hlbHBlcjogYW55XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtcHJvZHVjdHMtb3B0aW9ucy50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL3R5cGVzL2ZldGNoLXByb2R1Y3RzLW9wdGlvbnMudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvZHVjdEdlbmRlciB9IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuXG5pbXBvcnQgeyBQcm9kdWN0U29ydCB9IGZyb20gJy4vcHJvZHVjdC1zb3J0LnR5cGUnXG5cbmV4cG9ydCB0eXBlIEZldGNoUHJvZHVjdHNPcHRpb25zID0ge1xuICBwYWdlPzogbnVtYmVyXG4gIHBlclBhZ2U/OiBudW1iZXJcbiAgc29ydD86IFByb2R1Y3RTb3J0XG4gIG1haW5HZW5kZXI/OiBQcm9kdWN0R2VuZGVyXG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtcHJvZHVjdHMtcGFyYW1zLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvdHlwZXMvZmV0Y2gtcHJvZHVjdHMtcGFyYW1zLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhdGVnb3J5IH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5cbmltcG9ydCB7IENhdGFsb2dGaWx0ZXJzIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcydcblxuaW1wb3J0IHsgRmV0Y2hQcm9kdWN0c09wdGlvbnMgfSBmcm9tICcuL2ZldGNoLXByb2R1Y3RzLW9wdGlvbnMudHlwZSdcblxuZXhwb3J0IHR5cGUgRmV0Y2hQcm9kdWN0c01haW5QYXJhbXM8VCBleHRlbmRzIENhdGVnb3J5PiA9IHtcbiAgY2F0ZWdvcnk/OiBUXG4gIHByb2ZpbGU/OiBzdHJpbmdbXVxuICB0ZXJtPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEZldGNoUHJvZHVjdHNQYXJhbXM8VCBleHRlbmRzIENhdGVnb3J5PiA9IEZldGNoUHJvZHVjdHNPcHRpb25zICZcbiAgKFxuICAgIHwge1xuICAgICAgICBjYXRlZ29yeTogRmV0Y2hQcm9kdWN0c01haW5QYXJhbXM8VD5bJ2NhdGVnb3J5J11cbiAgICAgICAgZmlsdGVycz86IENhdGFsb2dGaWx0ZXJzICYgeyBjdXN0b21PcHRpb25zPzogbmV2ZXIgfVxuICAgICAgfVxuICAgIHwge1xuICAgICAgICBwcm9maWxlOiBGZXRjaFByb2R1Y3RzTWFpblBhcmFtczxUPlsncHJvZmlsZSddXG4gICAgICAgIGZpbHRlcnM/OiBDYXRhbG9nRmlsdGVycyAmIHsgY3VzdG9tT3B0aW9ucz86IG5ldmVyOyB0YWdzPzogbmV2ZXIgfVxuICAgICAgfVxuICAgIHwge1xuICAgICAgICB0ZXJtOiBGZXRjaFByb2R1Y3RzTWFpblBhcmFtczxUPlsndGVybSddXG4gICAgICAgIGZpbHRlcnM/OiBDYXRhbG9nRmlsdGVycyAmIHsgY3VzdG9tT3B0aW9ucz86IG5ldmVyIH1cbiAgICAgIH1cbiAgKVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtcHJvZHVjdHMtcmVzcG9uc2UudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvc2VydmljZXMvY2F0YWxvZy90eXBlcy9mZXRjaC1wcm9kdWN0cy1yZXNwb25zZS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5cbmV4cG9ydCB0eXBlIEZldGNoUHJvZHVjdHNSZXNwb25zZSA9IHtcbiAgcHJvZHVjdHM6IHsgZGF0YTogUHJvZHVjdFtdOyB0b3RhbDogbnVtYmVyIH1cbiAgcGFnZXM6IG51bWJlclxuICBwcmljZXM6IHtcbiAgICBwcmljZTogeyBtaW46IG51bWJlcjsgbWF4OiBudW1iZXIgfVxuICAgIHN1YnNjcmliZXJQcmljZTogeyBtaW46IG51bWJlcjsgbWF4OiBudW1iZXIgfVxuICB9XG4gIGJyYW5kcz86IHN0cmluZ1tdXG59XG4iXX0=
@@ -1,2 +1,6 @@
1
+ export * from './fetch-products-options.type';
2
+ export * from './fetch-products-params.type';
3
+ export * from './fetch-products-response.type';
4
+ export * from './method-params.type';
1
5
  export * from './product-sort.type';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHJvZHVjdC1zb3J0LnR5cGUnXG4iXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0LWFuZ3VsYXIvc3JjL3NlcnZpY2VzL2NhdGFsb2cvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQTtBQUM3QyxjQUFjLDhCQUE4QixDQUFBO0FBQzVDLGNBQWMsZ0NBQWdDLENBQUE7QUFDOUMsY0FBYyxzQkFBc0IsQ0FBQTtBQUNwQyxjQUFjLHFCQUFxQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mZXRjaC1wcm9kdWN0cy1vcHRpb25zLnR5cGUnXG5leHBvcnQgKiBmcm9tICcuL2ZldGNoLXByb2R1Y3RzLXBhcmFtcy50eXBlJ1xuZXhwb3J0ICogZnJvbSAnLi9mZXRjaC1wcm9kdWN0cy1yZXNwb25zZS50eXBlJ1xuZXhwb3J0ICogZnJvbSAnLi9tZXRob2QtcGFyYW1zLnR5cGUnXG5leHBvcnQgKiBmcm9tICcuL3Byb2R1Y3Qtc29ydC50eXBlJ1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0aG9kLXBhcmFtcy50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL3R5cGVzL21ldGhvZC1wYXJhbXMudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2F0ZWdvcnksIFByb2R1Y3QsIFNob3BzIH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXG5cbmltcG9ydCB7IENhdGFsb2dTZWFyY2hQYXJhbXMgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJ1xuXG5pbXBvcnQgeyBGZXRjaFByb2R1Y3RzUGFyYW1zIH0gZnJvbSAnLi9mZXRjaC1wcm9kdWN0cy1wYXJhbXMudHlwZSdcblxuZXhwb3J0IHR5cGUgU3RvY2tOb3RpZmljYXRpb25QYXJhbXMgPSB7XG4gIHNob3A6IFNob3BzXG4gIHByb2R1Y3RJZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBlbWFpbDogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEJ1aWxkUmVzcG9uc2VQYXJhbXM8VCBleHRlbmRzIENhdGVnb3J5ID0gQ2F0ZWdvcnk+ID0ge1xuICBkYXRhOiBQcm9kdWN0W11cbiAgdG90YWw6IG51bWJlclxuICBtYXhpbXVtOiBhbnlcbiAgbWluaW1hbDogYW55XG4gIHNlYXJjaFBhcmFtczogQ2F0YWxvZ1NlYXJjaFBhcmFtc1xuICBvcHRpb25zOiBGZXRjaFByb2R1Y3RzUGFyYW1zPFQ+XG59XG4iXX0=