@infrab4a/connect-angular 5.2.2-beta.5 → 5.2.2-beta.6
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.
- package/esm2020/services/catalog/strategies/category-search.strategy.mjs +11 -1
- package/fesm2015/infrab4a-connect-angular.mjs +4 -0
- package/fesm2015/infrab4a-connect-angular.mjs.map +1 -1
- package/fesm2020/infrab4a-connect-angular.mjs +10 -0
- package/fesm2020/infrab4a-connect-angular.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -25,6 +25,7 @@ export class CategorySearchStrategy {
|
|
|
25
25
|
fields,
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
|
+
console.warn('default search', category);
|
|
28
29
|
return this.searchDefault({
|
|
29
30
|
category,
|
|
30
31
|
filters,
|
|
@@ -37,6 +38,7 @@ export class CategorySearchStrategy {
|
|
|
37
38
|
});
|
|
38
39
|
}
|
|
39
40
|
async searchWithMostRelevant(params) {
|
|
41
|
+
console.warn('searchWithMostRelevant', params);
|
|
40
42
|
const { category, filters, shop, optionsCache } = params;
|
|
41
43
|
const mostRelevant = category.isWishlist ? [] : category.getMostRelevantByShop(shop);
|
|
42
44
|
const productsIds = await this.getProductIds(category, filters, optionsCache);
|
|
@@ -81,6 +83,10 @@ export class CategorySearchStrategy {
|
|
|
81
83
|
async getProductIds(category, filters, optionsCache) {
|
|
82
84
|
const productCatalog = this.repositoryService.getProductCatalog();
|
|
83
85
|
const filterHelper = this.helpersService.getFilterHelper();
|
|
86
|
+
console.warn('getProductIds filters', {
|
|
87
|
+
...(await productCatalog.categoryStructureAdapter.buildProductFilterByCategory(category)),
|
|
88
|
+
...filterHelper.buildFilterQuery(filters || {}),
|
|
89
|
+
});
|
|
84
90
|
return productCatalog.productRepository
|
|
85
91
|
.findCatalog({
|
|
86
92
|
fields: ['id'],
|
|
@@ -97,6 +103,10 @@ export class CategorySearchStrategy {
|
|
|
97
103
|
const filterHelper = this.helpersService.getFilterHelper();
|
|
98
104
|
const sortHelper = this.helpersService.getSortHelper();
|
|
99
105
|
const mostRelevantProductsIds = [...new Set(mostRelevants.concat(productIds))];
|
|
106
|
+
console.warn('findAndSortByMostRelevant', {
|
|
107
|
+
id: { operator: Where.IN, value: mostRelevantProductsIds },
|
|
108
|
+
...filterHelper.buildFilterQuery(filters || {}),
|
|
109
|
+
});
|
|
100
110
|
const totalResult = await productCatalog.productRepository.findCatalog({
|
|
101
111
|
fields,
|
|
102
112
|
filters: {
|
|
@@ -136,4 +146,4 @@ CategorySearchStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0
|
|
|
136
146
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: CategorySearchStrategy, decorators: [{
|
|
137
147
|
type: Injectable
|
|
138
148
|
}], ctorParameters: function () { return [{ type: i1.CatalogRepositoryService }, { type: i1.CatalogHelpersService }]; } });
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktc2VhcmNoLnN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL3N0cmF0ZWdpZXMvY2F0ZWdvcnktc2VhcmNoLnN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBeUQsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBR2hILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTs7O0FBUzdFLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFDbUIsaUJBQTJDLEVBQzNDLGNBQXFDO1FBRHJDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBMEI7UUFDM0MsbUJBQWMsR0FBZCxjQUFjLENBQXVCO0lBQ3JELENBQUM7SUFFSixLQUFLLENBQUMsTUFBTSxDQUNWLE1BQTJCLEVBQzNCLElBQVcsRUFDWCxZQUFpRDtRQUVqRCxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQTtRQUU5RCxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFBO1NBQ25FO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO1FBRXhFLElBQUksSUFBSSxLQUFLLGVBQWUsRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztnQkFDakMsUUFBUTtnQkFDUixPQUFPO2dCQUNQLE1BQU07Z0JBQ04sSUFBSTtnQkFDSixVQUFVO2dCQUNWLFlB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cm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBpc0VtcHR5LCBQcm9kdWN0LCBSZXBvc2l0b3J5Q2FjaGVPcHRpb25zLCBSZXBvc2l0b3J5RmluZFJlc3VsdCwgU2hvcHMsIFdoZXJlIH0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXHJcblxyXG5pbXBvcnQgeyBDYXRhbG9nU2VhcmNoUGFyYW1zLCBDYXRhbG9nU2VhcmNoU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJ1xyXG5pbXBvcnQgeyBDYXRhbG9nSGVscGVyc1NlcnZpY2UsIENhdGFsb2dSZXBvc2l0b3J5U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJ1xyXG5cclxuaW1wb3J0IHtcclxuICBGaW5kQW5kU29ydEJ5TW9zdFJlbGV2YW50UGFyYW1zLFxyXG4gIFNlYXJjaERlZmF1bHRQYXJhbXMsXHJcbiAgU2VhcmNoV2l0aE1vc3RSZWxldmFudFBhcmFtcyxcclxufSBmcm9tICcuL3R5cGVzL3N0cmF0ZWd5LXBhcmFtcy50eXBlJ1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnlTZWFyY2hTdHJhdGVneSBpbXBsZW1lbnRzIENhdGFsb2dTZWFyY2hTdHJhdGVneSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlcG9zaXRvcnlTZXJ2aWNlOiBDYXRhbG9nUmVwb3NpdG9yeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhlbHBlcnNTZXJ2aWNlOiBDYXRhbG9nSGVscGVyc1NlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBhc3luYyBzZWFyY2goXHJcbiAgICBwYXJhbXM6IENhdGFsb2dTZWFyY2hQYXJhbXMsXHJcbiAgICBzaG9wOiBTaG9wcyxcclxuICAgIG9wdGlvbnNDYWNoZT86IHsgY2FjaGU/OiBSZXBvc2l0b3J5Q2FjaGVPcHRpb25zIH0sXHJcbiAgKTogUHJvbWlzZTxSZXBvc2l0b3J5RmluZFJlc3VsdDxQcm9kdWN0Pj4ge1xyXG4gICAgY29uc3QgeyBjYXRlZ29yeSwgZmlsdGVycywgbGltaXRzLCBzb3J0LCBtYWluR2VuZGVyIH0gPSBwYXJhbXNcclxuXHJcbiAgICBpZiAoIWNhdGVnb3J5KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2F0ZWdvcnkgaXMgcmVxdWlyZWQgZm9yIENhdGVnb3J5U2VhcmNoU3RyYXRlZ3knKVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZpZWxkcyA9IHRoaXMuaGVscGVyc1NlcnZpY2UuZ2V0RmllbGRzSGVscGVyKCkuZ2V0U3RhbmRhcmRGaWVsZHMoKVxyXG5cclxuICAgIGlmIChzb3J0ID09PSAnbW9zdC1yZWxldmFudCcpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoV2l0aE1vc3RSZWxldmFudCh7XHJcbiAgICAgICAgY2F0ZWdvcnksXHJcbiAgICAgICAgZmlsdGVycyxcclxuICAgICAgICBsaW1pdHMsXHJcbiAgICAgICAgc2hvcCxcclxuICAgICAgICBtYWluR2VuZGVyLFxyXG4gICAgICAgIG9wdGlvbnNDYWNoZSxcclxuICAgICAgICBmaWVsZHMsXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoRGVmYXVsdCh7XHJcbiAgICAgIGNhdGVnb3J5LFxyXG4gICAgICBmaWx0ZXJzLFxyXG4gICAgICBsaW1pdHMsXHJcbiAgICAgIHNob3AsXHJcbiAgICAgIG1haW5HZW5kZXIsXHJcbiAgICAgIHNvcnQsXHJcbiAgICAgIG9wdGlvbnNDYWNoZSxcclxuICAgICAgZmllbGRzLFxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgc2VhcmNoV2l0aE1vc3RSZWxldmFudChwYXJhbXM6IFNlYXJjaFdpdGhNb3N0UmVsZXZhbnRQYXJhbXMpIHtcclxuICAgIGNvbnN0IHsgY2F0ZWdvcnksIGZpbHRlcnMsIHNob3AsIG9wdGlvbnNDYWNoZSB9ID0gcGFyYW1zXHJcbiAgICBjb25zdCBtb3N0UmVsZXZhbnQgPSBjYXRlZ29yeS5pc1dpc2hsaXN0ID8gW10gOiBjYXRlZ29yeS5nZXRNb3N0UmVsZXZhbnRCeVNob3Aoc2hvcClcclxuICAgIGNvbnN0IHByb2R1Y3RzSWRzID0gYXdhaXQgdGhpcy5nZXRQcm9kdWN0SWRzKGNhdGVnb3J5LCBmaWx0ZXJzLCBvcHRpb25zQ2FjaGUpXHJcblxyXG4gICAgcmV0dXJuIHRoaXMuZmluZEFuZFNvcnRCeU1vc3RSZWxldmFudCh7XHJcbiAgICAgIG1vc3RSZWxldmFudHM6IG1vc3RSZWxldmFudCxcclxuICAgICAgcHJvZHVjdElkczogcHJvZHVjdHNJZHMsXHJcbiAgICAgIGZpbHRlcnM6IHBhcmFtcy5maWx0ZXJzLFxyXG4gICAgICBsaW1pdHM6IHBhcmFtcy5saW1pdHMsXHJcbiAgICAgIHNob3A6IHBhcmFtcy5zaG9wLFxyXG4gICAgICBtYWluR2VuZGVyOiBwYXJhbXMubWFpbkdlbmRlcixcclxuICAgICAgb3B0aW9uc0NhY2hlOiBwYXJhbXMub3B0aW9uc0NhY2hlLFxyXG4gICAgICBmaWVsZHM6IHBhcmFtcy5maWVsZHMsXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBzZWFyY2hEZWZhdWx0KHBhcmFtczogU2VhcmNoRGVmYXVsdFBhcmFtcykge1xyXG4gICAgY29uc3QgeyBjYXRlZ29yeSwgZmlsdGVycywgbGltaXRzLCBzb3J0LCBvcHRpb25zQ2FjaGUsIGZpZWxkcyB9ID0gcGFyYW1zXHJcbiAgICBjb25zdCBwcm9kdWN0Q2F0YWxvZyA9IHRoaXMucmVwb3NpdG9yeVNlcnZpY2UuZ2V0UHJvZHVjdENhdGFsb2coKVxyXG4gICAgY29uc3QgZmlsdGVySGVscGVyID0gdGhpcy5oZWxwZXJzU2VydmljZS5nZXRGaWx0ZXJIZWxwZXIoKVxyXG4gICAgY29uc3Qgc29ydEhlbHBlciA9IHRoaXMuaGVscGVyc1NlcnZpY2UuZ2V0U29ydEhlbHBlcigpXHJcblxyXG4gICAgY29uc29sZS53YXJuKCdzZWFyY2hEZWZhdWx0IHJlcG9QYXJhbXMnLCB7XHJcbiAgICAgIGZpbHRlcnM6IHtcclxuICAgICAgICAuLi4oYXdhaXQgcHJvZHVjdENhdGFsb2cuY2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyLmJ1aWxkUHJvZHVjdEZpbHRlckJ5Q2F0ZWdvcnkoY2F0ZWdvcnkpKSxcclxuICAgICAgICAuLi5maWx0ZXJIZWxwZXIuYnVpbGRGaWx0ZXJRdWVyeShmaWx0ZXJzIHx8IHt9KSxcclxuICAgICAgfSxcclxuICAgIH0pXHJcbiAgICBjb25zdCByZXBvUGFyYW1zID0ge1xyXG4gICAgICBmaWVsZHMsXHJcbiAgICAgIGZpbHRlcnM6IHtcclxuICAgICAgICAuLi4oYXdhaXQgcHJvZHVjdENhdGFsb2cuY2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyLmJ1aWxkUHJvZHVjdEZpbHRlckJ5Q2F0ZWdvcnkoY2F0ZWdvcnkpKSxcclxuICAgICAgICAuLi5maWx0ZXJIZWxwZXIuYnVpbGRGaWx0ZXJRdWVyeShmaWx0ZXJzIHx8IHt9KSxcclxuICAgICAgfSxcclxuICAgICAgLi4uKHNvcnQgPyB7IG9yZGVyQnk6IHNvcnRIZWxwZXIuYnVpbGRTb3J0UXVlcnkoc29ydCkgfSA6IHt9KSxcclxuICAgICAgbGltaXRzLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgbWluaW1hbDogWydwcmljZSddLFxyXG4gICAgICAgIG1heGltdW06IFsncHJpY2UnXSxcclxuICAgICAgICBkaXN0aW5jdDogWydicmFuZCddLFxyXG4gICAgICB9LFxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBwcm9kdWN0Q2F0YWxvZy5wcm9kdWN0UmVwb3NpdG9yeS5maW5kQ2F0YWxvZyhyZXBvUGFyYW1zLCBudWxsLCBvcHRpb25zQ2FjaGUpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGdldFByb2R1Y3RJZHMoY2F0ZWdvcnk6IGFueSwgZmlsdGVyczogYW55LCBvcHRpb25zQ2FjaGU6IGFueSk6IFByb21pc2U8c3RyaW5nW10+IHtcclxuICAgIGNvbnN0IHByb2R1Y3RDYXRhbG9nID0gdGhpcy5yZXBvc2l0b3J5U2VydmljZS5nZXRQcm9kdWN0Q2F0YWxvZygpXHJcbiAgICBjb25zdCBmaWx0ZXJIZWxwZXIgPSB0aGlzLmhlbHBlcnNTZXJ2aWNlLmdldEZpbHRlckhlbHBlcigpXHJcblxyXG4gICAgcmV0dXJuIHByb2R1Y3RDYXRhbG9nLnByb2R1Y3RSZXBvc2l0b3J5XHJcbiAgICAgIC5maW5kQ2F0YWxvZyhcclxuICAgICAgICB7XHJcbiAgICAgICAgICBmaWVsZHM6IFsnaWQnXSxcclxuICAgICAgICAgIGZpbHRlcnM6IHtcclxuICAgICAgICAgICAgLi4uKGF3YWl0IHByb2R1Y3RDYXRhbG9nLmNhdGVnb3J5U3RydWN0dXJlQWRhcHRlci5idWlsZFByb2R1Y3RGaWx0ZXJCeUNhdGVnb3J5KGNhdGVnb3J5KSksXHJcbiAgICAgICAgICAgIC4uLmZpbHRlckhlbHBlci5idWlsZEZpbHRlclF1ZXJ5KGZpbHRlcnMgfHwge30pLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHVuZGVmaW5lZCxcclxuICAgICAgICBvcHRpb25zQ2FjaGUsXHJcbiAgICAgIClcclxuICAgICAgLnRoZW4oKHByb2R1Y3RzKSA9PiBwcm9kdWN0cy5kYXRhLm1hcCgocHJvZHVjdCkgPT4gcHJvZHVjdC5pZCkpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGZpbmRBbmRTb3J0QnlNb3N0UmVsZXZhbnQoXHJcbiAgICBwYXJhbXM6IEZpbmRBbmRTb3J0QnlNb3N0UmVsZXZhbnRQYXJhbXMsXHJcbiAgKTogUHJvbWlzZTxSZXBvc2l0b3J5RmluZFJlc3VsdDxQcm9kdWN0Pj4ge1xyXG4gICAgY29uc3QgeyBtb3N0UmVsZXZhbnRzLCBwcm9kdWN0SWRzLCBmaWx0ZXJzLCBzaG9wLCBtYWluR2VuZGVyLCBvcHRpb25zQ2FjaGUsIGZpZWxkcywgbGltaXRzIH0gPSBwYXJhbXNcclxuICAgIGNvbnN0IHByb2R1Y3RDYXRhbG9nID0gdGhpcy5yZXBvc2l0b3J5U2VydmljZS5nZXRQcm9kdWN0Q2F0YWxvZygpXHJcbiAgICBjb25zdCBmaWx0ZXJIZWxwZXIgPSB0aGlzLmhlbHBlcnNTZXJ2aWNlLmdldEZpbHRlckhlbHBlcigpXHJcbiAgICBjb25zdCBzb3J0SGVscGVyID0gdGhpcy5oZWxwZXJzU2VydmljZS5nZXRTb3J0SGVscGVyKClcclxuXHJcbiAgICBjb25zdCBtb3N0UmVsZXZhbnRQcm9kdWN0c0lkcyA9IFsuLi5uZXcgU2V0KG1vc3RSZWxldmFudHMuY29uY2F0KHByb2R1Y3RJZHMpKV1cclxuICAgIGNvbnN0IHRvdGFsUmVzdWx0ID0gYXdhaXQgcHJvZHVjdENhdGFsb2cucHJvZHVjdFJlcG9zaXRvcnkuZmluZENhdGFsb2coXHJcbiAgICAgIHtcclxuICAgICAgICBmaWVsZHMsXHJcbiAgICAgICAgZmlsdGVyczoge1xyXG4gICAgICAgICAgaWQ6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogbW9zdFJlbGV2YW50UHJvZHVjdHNJZHMgfSxcclxuICAgICAgICAgIC4uLmZpbHRlckhlbHBlci5idWlsZEZpbHRlclF1ZXJ5KGZpbHRlcnMgfHwge30pLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb3JkZXJCeTogc29ydEhlbHBlci5idWlsZFNvcnRRdWVyeSgnYmVzdC1zZWxsZXJzJyksXHJcbiAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgbWluaW1hbDogWydwcmljZSddLFxyXG4gICAgICAgICAgbWF4aW11bTogWydwcmljZSddLFxyXG4gICAgICAgICAgLi4uKGlzRW1wdHkoZmlsdGVycz8uYnJhbmRzKSA/IHsgZGlzdGluY3Q6IFsnYnJhbmQnXSB9IDoge30pLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIG1haW5HZW5kZXIgfHwgKHNob3AgPT09IFNob3BzLk1FTlNNQVJLRVQgPyAnbWFsZScgOiAnZmVtYWxlJyksXHJcbiAgICAgIG9wdGlvbnNDYWNoZSxcclxuICAgIClcclxuXHJcbiAgICByZXR1cm4gdGhpcy5zb3J0UHJvZHVjdHNCeVJlbGV2YW5jZSh0b3RhbFJlc3VsdCwgbW9zdFJlbGV2YW50cywgbGltaXRzKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzb3J0UHJvZHVjdHNCeVJlbGV2YW5jZSh0b3RhbFJlc3VsdDogYW55LCBtb3N0UmVsZXZhbnRzOiBzdHJpbmdbXSwgbGltaXRzOiBhbnkpIHtcclxuICAgIGNvbnN0IG1vc3RSZWxldmFudFdpdGhvdXRTdG9jayA9IHRvdGFsUmVzdWx0LmRhdGEuZmlsdGVyKFxyXG4gICAgICAocHJvZHVjdDogYW55KSA9PiBtb3N0UmVsZXZhbnRzLmluY2x1ZGVzKHByb2R1Y3QuaWQpICYmIHByb2R1Y3Quc3RvY2sucXVhbnRpdHkgPD0gMCxcclxuICAgIClcclxuICAgIGNvbnN0IGZpcnN0UHJvZHVjdHMgPSB0b3RhbFJlc3VsdC5kYXRhXHJcbiAgICAgIC5maWx0ZXIoKHByb2R1Y3Q6IGFueSkgPT4gbW9zdFJlbGV2YW50cy5pbmNsdWRlcyhwcm9kdWN0LmlkKSAmJiBwcm9kdWN0LnN0b2NrLnF1YW50aXR5ID4gMClcclxuICAgICAgLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiBtb3N0UmVsZXZhbnRzLmluZGV4T2YoYS5pZCkgLSBtb3N0UmVsZXZhbnRzLmluZGV4T2YoYi5pZCkpXHJcbiAgICBjb25zdCBsYXN0UHJvZHVjdHMgPSB0b3RhbFJlc3VsdC5kYXRhXHJcbiAgICAgIC5maWx0ZXIoKHByb2R1Y3Q6IGFueSkgPT4gIW1vc3RSZWxldmFudHMuaW5jbHVkZXMocHJvZHVjdC5pZCkpXHJcbiAgICAgIC5jb25jYXQobW9zdFJlbGV2YW50V2l0aG91dFN0b2NrKVxyXG4gICAgY29uc3QgY2F0ZWdvcnlNb3N0UmVsZXZhbnRzID0gZmlyc3RQcm9kdWN0cy5jb25jYXQobGFzdFByb2R1Y3RzKVxyXG4gICAgY29uc3QgcmVzdWx0RmluYWwgPSBjYXRlZ29yeU1vc3RSZWxldmFudHMuc2xpY2UobGltaXRzLm9mZnNldCwgbGltaXRzLm9mZnNldCArIGxpbWl0cy5saW1pdClcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBkYXRhOiByZXN1bHRGaW5hbCxcclxuICAgICAgY291bnQ6IHRvdGFsUmVzdWx0LmNvdW50LFxyXG4gICAgICBtYXhpbXVtOiB0b3RhbFJlc3VsdC5tYXhpbXVtLFxyXG4gICAgICBtaW5pbWFsOiB0b3RhbFJlc3VsdC5taW5pbWFsLFxyXG4gICAgICBkaXN0aW5jdDogdG90YWxSZXN1bHQuZGlzdGluY3QsXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktc2VhcmNoLnN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC1hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jYXRhbG9nL3N0cmF0ZWdpZXMvY2F0ZWdvcnktc2VhcmNoLnN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBeUQsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBR2hILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTs7O0FBUzdFLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFDbUIsaUJBQTJDLEVBQzNDLGNBQXFDO1FBRHJDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBMEI7UUFDM0MsbUJBQWMsR0FBZCxjQUFjLENBQXVCO0lBQ3JELENBQUM7SUFFSixLQUFLLENBQUMsTUFBTSxDQUNWLE1BQTJCLEVBQzNCLElBQVcsRUFDWCxZQUFpRDtRQUVqRCxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQTtRQUU5RCxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFBO1NBQ25FO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO1FBRXhFLElBQUksSUFBSSxLQUFLLGVBQWUsRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztnQkFDakMsUUFBUTtnQkFDUixPQUFPO2dCQUNQLE1BQU07Z0JBQ04sSUFBSTtnQkFDSixVQUFVO2dCQUNWLFlB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QUFDLHdCQUF3QixDQUFDLENBQUE7UUFDbkMsTUFBTSxxQkFBcUIsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ2hFLE1BQU0sV0FBVyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBRTVGLE9BQU87WUFDTCxJQUFJLEVBQUUsV0FBVztZQUNqQixLQUFLLEVBQUUsV0FBVyxDQUFDLEtBQUs7WUFDeEIsT0FBTyxFQUFFLFdBQVcsQ0FBQyxPQUFPO1lBQzVCLE9BQU8sRUFBRSxXQUFXLENBQUMsT0FBTztZQUM1QixRQUFRLEVBQUUsV0FBVyxDQUFDLFFBQVE7U0FDL0IsQ0FBQTtJQUNILENBQUM7O21IQTdLVSxzQkFBc0I7dUhBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IGlzRW1wdHksIFByb2R1Y3QsIFJlcG9zaXRvcnlDYWNoZU9wdGlvbnMsIFJlcG9zaXRvcnlGaW5kUmVzdWx0LCBTaG9wcywgV2hlcmUgfSBmcm9tICdAaW5mcmFiNGEvY29ubmVjdCdcclxuXHJcbmltcG9ydCB7IENhdGFsb2dTZWFyY2hQYXJhbXMsIENhdGFsb2dTZWFyY2hTdHJhdGVneSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnXHJcbmltcG9ydCB7IENhdGFsb2dIZWxwZXJzU2VydmljZSwgQ2F0YWxvZ1JlcG9zaXRvcnlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnXHJcblxyXG5pbXBvcnQge1xyXG4gIEZpbmRBbmRTb3J0QnlNb3N0UmVsZXZhbnRQYXJhbXMsXHJcbiAgU2VhcmNoRGVmYXVsdFBhcmFtcyxcclxuICBTZWFyY2hXaXRoTW9zdFJlbGV2YW50UGFyYW1zLFxyXG59IGZyb20gJy4vdHlwZXMvc3RyYXRlZ3ktcGFyYW1zLnR5cGUnXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDYXRlZ29yeVNlYXJjaFN0cmF0ZWd5IGltcGxlbWVudHMgQ2F0YWxvZ1NlYXJjaFN0cmF0ZWd5IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVwb3NpdG9yeVNlcnZpY2U6IENhdGFsb2dSZXBvc2l0b3J5U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaGVscGVyc1NlcnZpY2U6IENhdGFsb2dIZWxwZXJzU2VydmljZSxcclxuICApIHt9XHJcblxyXG4gIGFzeW5jIHNlYXJjaChcclxuICAgIHBhcmFtczogQ2F0YWxvZ1NlYXJjaFBhcmFtcyxcclxuICAgIHNob3A6IFNob3BzLFxyXG4gICAgb3B0aW9uc0NhY2hlPzogeyBjYWNoZT86IFJlcG9zaXRvcnlDYWNoZU9wdGlvbnMgfSxcclxuICApOiBQcm9taXNlPFJlcG9zaXRvcnlGaW5kUmVzdWx0PFByb2R1Y3Q+PiB7XHJcbiAgICBjb25zdCB7IGNhdGVnb3J5LCBmaWx0ZXJzLCBsaW1pdHMsIHNvcnQsIG1haW5HZW5kZXIgfSA9IHBhcmFtc1xyXG5cclxuICAgIGlmICghY2F0ZWdvcnkpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYXRlZ29yeSBpcyByZXF1aXJlZCBmb3IgQ2F0ZWdvcnlTZWFyY2hTdHJhdGVneScpXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZmllbGRzID0gdGhpcy5oZWxwZXJzU2VydmljZS5nZXRGaWVsZHNIZWxwZXIoKS5nZXRTdGFuZGFyZEZpZWxkcygpXHJcblxyXG4gICAgaWYgKHNvcnQgPT09ICdtb3N0LXJlbGV2YW50Jykge1xyXG4gICAgICByZXR1cm4gdGhpcy5zZWFyY2hXaXRoTW9zdFJlbGV2YW50KHtcclxuICAgICAgICBjYXRlZ29yeSxcclxuICAgICAgICBmaWx0ZXJzLFxyXG4gICAgICAgIGxpbWl0cyxcclxuICAgICAgICBzaG9wLFxyXG4gICAgICAgIG1haW5HZW5kZXIsXHJcbiAgICAgICAgb3B0aW9uc0NhY2hlLFxyXG4gICAgICAgIGZpZWxkcyxcclxuICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICBjb25zb2xlLndhcm4oJ2RlZmF1bHQgc2VhcmNoJywgY2F0ZWdvcnkpXHJcblxyXG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoRGVmYXVsdCh7XHJcbiAgICAgIGNhdGVnb3J5LFxyXG4gICAgICBmaWx0ZXJzLFxyXG4gICAgICBsaW1pdHMsXHJcbiAgICAgIHNob3AsXHJcbiAgICAgIG1haW5HZW5kZXIsXHJcbiAgICAgIHNvcnQsXHJcbiAgICAgIG9wdGlvbnNDYWNoZSxcclxuICAgICAgZmllbGRzLFxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgc2VhcmNoV2l0aE1vc3RSZWxldmFudChwYXJhbXM6IFNlYXJjaFdpdGhNb3N0UmVsZXZhbnRQYXJhbXMpIHtcclxuICAgIGNvbnNvbGUud2Fybignc2VhcmNoV2l0aE1vc3RSZWxldmFudCcsIHBhcmFtcylcclxuICAgIGNvbnN0IHsgY2F0ZWdvcnksIGZpbHRlcnMsIHNob3AsIG9wdGlvbnNDYWNoZSB9ID0gcGFyYW1zXHJcbiAgICBjb25zdCBtb3N0UmVsZXZhbnQgPSBjYXRlZ29yeS5pc1dpc2hsaXN0ID8gW10gOiBjYXRlZ29yeS5nZXRNb3N0UmVsZXZhbnRCeVNob3Aoc2hvcClcclxuICAgIGNvbnN0IHByb2R1Y3RzSWRzID0gYXdhaXQgdGhpcy5nZXRQcm9kdWN0SWRzKGNhdGVnb3J5LCBmaWx0ZXJzLCBvcHRpb25zQ2FjaGUpXHJcblxyXG4gICAgcmV0dXJuIHRoaXMuZmluZEFuZFNvcnRCeU1vc3RSZWxldmFudCh7XHJcbiAgICAgIG1vc3RSZWxldmFudHM6IG1vc3RSZWxldmFudCxcclxuICAgICAgcHJvZHVjdElkczogcHJvZHVjdHNJZHMsXHJcbiAgICAgIGZpbHRlcnM6IHBhcmFtcy5maWx0ZXJzLFxyXG4gICAgICBsaW1pdHM6IHBhcmFtcy5saW1pdHMsXHJcbiAgICAgIHNob3A6IHBhcmFtcy5zaG9wLFxyXG4gICAgICBtYWluR2VuZGVyOiBwYXJhbXMubWFpbkdlbmRlcixcclxuICAgICAgb3B0aW9uc0NhY2hlOiBwYXJhbXMub3B0aW9uc0NhY2hlLFxyXG4gICAgICBmaWVsZHM6IHBhcmFtcy5maWVsZHMsXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBzZWFyY2hEZWZhdWx0KHBhcmFtczogU2VhcmNoRGVmYXVsdFBhcmFtcykge1xyXG4gICAgY29uc3QgeyBjYXRlZ29yeSwgZmlsdGVycywgbGltaXRzLCBzb3J0LCBvcHRpb25zQ2FjaGUsIGZpZWxkcyB9ID0gcGFyYW1zXHJcbiAgICBjb25zdCBwcm9kdWN0Q2F0YWxvZyA9IHRoaXMucmVwb3NpdG9yeVNlcnZpY2UuZ2V0UHJvZHVjdENhdGFsb2coKVxyXG4gICAgY29uc3QgZmlsdGVySGVscGVyID0gdGhpcy5oZWxwZXJzU2VydmljZS5nZXRGaWx0ZXJIZWxwZXIoKVxyXG4gICAgY29uc3Qgc29ydEhlbHBlciA9IHRoaXMuaGVscGVyc1NlcnZpY2UuZ2V0U29ydEhlbHBlcigpXHJcblxyXG4gICAgY29uc29sZS53YXJuKCdzZWFyY2hEZWZhdWx0IHJlcG9QYXJhbXMnLCB7XHJcbiAgICAgIGZpbHRlcnM6IHtcclxuICAgICAgICAuLi4oYXdhaXQgcHJvZHVjdENhdGFsb2cuY2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyLmJ1aWxkUHJvZHVjdEZpbHRlckJ5Q2F0ZWdvcnkoY2F0ZWdvcnkpKSxcclxuICAgICAgICAuLi5maWx0ZXJIZWxwZXIuYnVpbGRGaWx0ZXJRdWVyeShmaWx0ZXJzIHx8IHt9KSxcclxuICAgICAgfSxcclxuICAgIH0pXHJcbiAgICBjb25zdCByZXBvUGFyYW1zID0ge1xyXG4gICAgICBmaWVsZHMsXHJcbiAgICAgIGZpbHRlcnM6IHtcclxuICAgICAgICAuLi4oYXdhaXQgcHJvZHVjdENhdGFsb2cuY2F0ZWdvcnlTdHJ1Y3R1cmVBZGFwdGVyLmJ1aWxkUHJvZHVjdEZpbHRlckJ5Q2F0ZWdvcnkoY2F0ZWdvcnkpKSxcclxuICAgICAgICAuLi5maWx0ZXJIZWxwZXIuYnVpbGRGaWx0ZXJRdWVyeShmaWx0ZXJzIHx8IHt9KSxcclxuICAgICAgfSxcclxuICAgICAgLi4uKHNvcnQgPyB7IG9yZGVyQnk6IHNvcnRIZWxwZXIuYnVpbGRTb3J0UXVlcnkoc29ydCkgfSA6IHt9KSxcclxuICAgICAgbGltaXRzLFxyXG4gICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgbWluaW1hbDogWydwcmljZSddLFxyXG4gICAgICAgIG1heGltdW06IFsncHJpY2UnXSxcclxuICAgICAgICBkaXN0aW5jdDogWydicmFuZCddLFxyXG4gICAgICB9LFxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBwcm9kdWN0Q2F0YWxvZy5wcm9kdWN0UmVwb3NpdG9yeS5maW5kQ2F0YWxvZyhyZXBvUGFyYW1zLCBudWxsLCBvcHRpb25zQ2FjaGUpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGdldFByb2R1Y3RJZHMoY2F0ZWdvcnk6IGFueSwgZmlsdGVyczogYW55LCBvcHRpb25zQ2FjaGU6IGFueSk6IFByb21pc2U8c3RyaW5nW10+IHtcclxuICAgIGNvbnN0IHByb2R1Y3RDYXRhbG9nID0gdGhpcy5yZXBvc2l0b3J5U2VydmljZS5nZXRQcm9kdWN0Q2F0YWxvZygpXHJcbiAgICBjb25zdCBmaWx0ZXJIZWxwZXIgPSB0aGlzLmhlbHBlcnNTZXJ2aWNlLmdldEZpbHRlckhlbHBlcigpXHJcblxyXG4gICAgY29uc29sZS53YXJuKCdnZXRQcm9kdWN0SWRzIGZpbHRlcnMnLCB7XHJcbiAgICAgIC4uLihhd2FpdCBwcm9kdWN0Q2F0YWxvZy5jYXRlZ29yeVN0cnVjdHVyZUFkYXB0ZXIuYnVpbGRQcm9kdWN0RmlsdGVyQnlDYXRlZ29yeShjYXRlZ29yeSkpLFxyXG4gICAgICAuLi5maWx0ZXJIZWxwZXIuYnVpbGRGaWx0ZXJRdWVyeShmaWx0ZXJzIHx8IHt9KSxcclxuICAgIH0pXHJcblxyXG4gICAgcmV0dXJuIHByb2R1Y3RDYXRhbG9nLnByb2R1Y3RSZXBvc2l0b3J5XHJcbiAgICAgIC5maW5kQ2F0YWxvZyhcclxuICAgICAgICB7XHJcbiAgICAgICAgICBmaWVsZHM6IFsnaWQnXSxcclxuICAgICAgICAgIGZpbHRlcnM6IHtcclxuICAgICAgICAgICAgLi4uKGF3YWl0IHByb2R1Y3RDYXRhbG9nLmNhdGVnb3J5U3RydWN0dXJlQWRhcHRlci5idWlsZFByb2R1Y3RGaWx0ZXJCeUNhdGVnb3J5KGNhdGVnb3J5KSksXHJcbiAgICAgICAgICAgIC4uLmZpbHRlckhlbHBlci5idWlsZEZpbHRlclF1ZXJ5KGZpbHRlcnMgfHwge30pLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHVuZGVmaW5lZCxcclxuICAgICAgICBvcHRpb25zQ2FjaGUsXHJcbiAgICAgIClcclxuICAgICAgLnRoZW4oKHByb2R1Y3RzKSA9PiBwcm9kdWN0cy5kYXRhLm1hcCgocHJvZHVjdCkgPT4gcHJvZHVjdC5pZCkpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGZpbmRBbmRTb3J0QnlNb3N0UmVsZXZhbnQoXHJcbiAgICBwYXJhbXM6IEZpbmRBbmRTb3J0QnlNb3N0UmVsZXZhbnRQYXJhbXMsXHJcbiAgKTogUHJvbWlzZTxSZXBvc2l0b3J5RmluZFJlc3VsdDxQcm9kdWN0Pj4ge1xyXG4gICAgY29uc3QgeyBtb3N0UmVsZXZhbnRzLCBwcm9kdWN0SWRzLCBmaWx0ZXJzLCBzaG9wLCBtYWluR2VuZGVyLCBvcHRpb25zQ2FjaGUsIGZpZWxkcywgbGltaXRzIH0gPSBwYXJhbXNcclxuICAgIGNvbnN0IHByb2R1Y3RDYXRhbG9nID0gdGhpcy5yZXBvc2l0b3J5U2VydmljZS5nZXRQcm9kdWN0Q2F0YWxvZygpXHJcbiAgICBjb25zdCBmaWx0ZXJIZWxwZXIgPSB0aGlzLmhlbHBlcnNTZXJ2aWNlLmdldEZpbHRlckhlbHBlcigpXHJcbiAgICBjb25zdCBzb3J0SGVscGVyID0gdGhpcy5oZWxwZXJzU2VydmljZS5nZXRTb3J0SGVscGVyKClcclxuXHJcbiAgICBjb25zdCBtb3N0UmVsZXZhbnRQcm9kdWN0c0lkcyA9IFsuLi5uZXcgU2V0KG1vc3RSZWxldmFudHMuY29uY2F0KHByb2R1Y3RJZHMpKV1cclxuXHJcbiAgICBjb25zb2xlLndhcm4oJ2ZpbmRBbmRTb3J0QnlNb3N0UmVsZXZhbnQnLCB7XHJcbiAgICAgIGlkOiB7IG9wZXJhdG9yOiBXaGVyZS5JTiwgdmFsdWU6IG1vc3RSZWxldmFudFByb2R1Y3RzSWRzIH0sXHJcbiAgICAgIC4uLmZpbHRlckhlbHBlci5idWlsZEZpbHRlclF1ZXJ5KGZpbHRlcnMgfHwge30pLFxyXG4gICAgfSlcclxuXHJcbiAgICBjb25zdCB0b3RhbFJlc3VsdCA9IGF3YWl0IHByb2R1Y3RDYXRhbG9nLnByb2R1Y3RSZXBvc2l0b3J5LmZpbmRDYXRhbG9nKFxyXG4gICAgICB7XHJcbiAgICAgICAgZmllbGRzLFxyXG4gICAgICAgIGZpbHRlcnM6IHtcclxuICAgICAgICAgIGlkOiB7IG9wZXJhdG9yOiBXaGVyZS5JTiwgdmFsdWU6IG1vc3RSZWxldmFudFByb2R1Y3RzSWRzIH0sXHJcbiAgICAgICAgICAuLi5maWx0ZXJIZWxwZXIuYnVpbGRGaWx0ZXJRdWVyeShmaWx0ZXJzIHx8IHt9KSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIG9yZGVyQnk6IHNvcnRIZWxwZXIuYnVpbGRTb3J0UXVlcnkoJ2Jlc3Qtc2VsbGVycycpLFxyXG4gICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgIG1pbmltYWw6IFsncHJpY2UnXSxcclxuICAgICAgICAgIG1heGltdW06IFsncHJpY2UnXSxcclxuICAgICAgICAgIC4uLihpc0VtcHR5KGZpbHRlcnM/LmJyYW5kcykgPyB7IGRpc3RpbmN0OiBbJ2JyYW5kJ10gfSA6IHt9KSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBtYWluR2VuZGVyIHx8IChzaG9wID09PSBTaG9wcy5NRU5TTUFSS0VUID8gJ21hbGUnIDogJ2ZlbWFsZScpLFxyXG4gICAgICBvcHRpb25zQ2FjaGUsXHJcbiAgICApXHJcblxyXG4gICAgcmV0dXJuIHRoaXMuc29ydFByb2R1Y3RzQnlSZWxldmFuY2UodG90YWxSZXN1bHQsIG1vc3RSZWxldmFudHMsIGxpbWl0cylcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc29ydFByb2R1Y3RzQnlSZWxldmFuY2UodG90YWxSZXN1bHQ6IGFueSwgbW9zdFJlbGV2YW50czogc3RyaW5nW10sIGxpbWl0czogYW55KSB7XHJcbiAgICBjb25zdCBtb3N0UmVsZXZhbnRXaXRob3V0U3RvY2sgPSB0b3RhbFJlc3VsdC5kYXRhLmZpbHRlcihcclxuICAgICAgKHByb2R1Y3Q6IGFueSkgPT4gbW9zdFJlbGV2YW50cy5pbmNsdWRlcyhwcm9kdWN0LmlkKSAmJiBwcm9kdWN0LnN0b2NrLnF1YW50aXR5IDw9IDAsXHJcbiAgICApXHJcbiAgICBjb25zdCBmaXJzdFByb2R1Y3RzID0gdG90YWxSZXN1bHQuZGF0YVxyXG4gICAgICAuZmlsdGVyKChwcm9kdWN0OiBhbnkpID0+IG1vc3RSZWxldmFudHMuaW5jbHVkZXMocHJvZHVjdC5pZCkgJiYgcHJvZHVjdC5zdG9jay5xdWFudGl0eSA+IDApXHJcbiAgICAgIC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4gbW9zdFJlbGV2YW50cy5pbmRleE9mKGEuaWQpIC0gbW9zdFJlbGV2YW50cy5pbmRleE9mKGIuaWQpKVxyXG4gICAgY29uc3QgbGFzdFByb2R1Y3RzID0gdG90YWxSZXN1bHQuZGF0YVxyXG4gICAgICAuZmlsdGVyKChwcm9kdWN0OiBhbnkpID0+ICFtb3N0UmVsZXZhbnRzLmluY2x1ZGVzKHByb2R1Y3QuaWQpKVxyXG4gICAgICAuY29uY2F0KG1vc3RSZWxldmFudFdpdGhvdXRTdG9jaylcclxuICAgIGNvbnN0IGNhdGVnb3J5TW9zdFJlbGV2YW50cyA9IGZpcnN0UHJvZHVjdHMuY29uY2F0KGxhc3RQcm9kdWN0cylcclxuICAgIGNvbnN0IHJlc3VsdEZpbmFsID0gY2F0ZWdvcnlNb3N0UmVsZXZhbnRzLnNsaWNlKGxpbWl0cy5vZmZzZXQsIGxpbWl0cy5vZmZzZXQgKyBsaW1pdHMubGltaXQpXHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZGF0YTogcmVzdWx0RmluYWwsXHJcbiAgICAgIGNvdW50OiB0b3RhbFJlc3VsdC5jb3VudCxcclxuICAgICAgbWF4aW11bTogdG90YWxSZXN1bHQubWF4aW11bSxcclxuICAgICAgbWluaW1hbDogdG90YWxSZXN1bHQubWluaW1hbCxcclxuICAgICAgZGlzdGluY3Q6IHRvdGFsUmVzdWx0LmRpc3RpbmN0LFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1533,6 +1533,7 @@ class CategorySearchStrategy {
|
|
|
1533
1533
|
fields,
|
|
1534
1534
|
});
|
|
1535
1535
|
}
|
|
1536
|
+
console.warn('default search', category);
|
|
1536
1537
|
return this.searchDefault({
|
|
1537
1538
|
category,
|
|
1538
1539
|
filters,
|
|
@@ -1547,6 +1548,7 @@ class CategorySearchStrategy {
|
|
|
1547
1548
|
}
|
|
1548
1549
|
searchWithMostRelevant(params) {
|
|
1549
1550
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1551
|
+
console.warn('searchWithMostRelevant', params);
|
|
1550
1552
|
const { category, filters, shop, optionsCache } = params;
|
|
1551
1553
|
const mostRelevant = category.isWishlist ? [] : category.getMostRelevantByShop(shop);
|
|
1552
1554
|
const productsIds = yield this.getProductIds(category, filters, optionsCache);
|
|
@@ -1583,6 +1585,7 @@ class CategorySearchStrategy {
|
|
|
1583
1585
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1584
1586
|
const productCatalog = this.repositoryService.getProductCatalog();
|
|
1585
1587
|
const filterHelper = this.helpersService.getFilterHelper();
|
|
1588
|
+
console.warn('getProductIds filters', Object.assign(Object.assign({}, (yield productCatalog.categoryStructureAdapter.buildProductFilterByCategory(category))), filterHelper.buildFilterQuery(filters || {})));
|
|
1586
1589
|
return productCatalog.productRepository
|
|
1587
1590
|
.findCatalog({
|
|
1588
1591
|
fields: ['id'],
|
|
@@ -1598,6 +1601,7 @@ class CategorySearchStrategy {
|
|
|
1598
1601
|
const filterHelper = this.helpersService.getFilterHelper();
|
|
1599
1602
|
const sortHelper = this.helpersService.getSortHelper();
|
|
1600
1603
|
const mostRelevantProductsIds = [...new Set(mostRelevants.concat(productIds))];
|
|
1604
|
+
console.warn('findAndSortByMostRelevant', Object.assign({ id: { operator: Where.IN, value: mostRelevantProductsIds } }, filterHelper.buildFilterQuery(filters || {})));
|
|
1601
1605
|
const totalResult = yield productCatalog.productRepository.findCatalog({
|
|
1602
1606
|
fields,
|
|
1603
1607
|
filters: Object.assign({ id: { operator: Where.IN, value: mostRelevantProductsIds } }, filterHelper.buildFilterQuery(filters || {})),
|