@searchspring/snap-client 0.45.1 → 0.47.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.
- package/dist/cjs/Client/apis/Hybrid.d.ts.map +1 -1
- package/dist/cjs/Client/apis/Hybrid.js +14 -8
- package/dist/cjs/Client/transforms/searchResponse.js +94 -77
- package/dist/esm/Client/apis/Hybrid.d.ts.map +1 -1
- package/dist/esm/Client/apis/Hybrid.js +9 -4
- package/dist/esm/Client/transforms/searchResponse.js +97 -81
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hybrid.d.ts","sourceRoot":"","sources":["../../../../src/Client/apis/Hybrid.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,GAAG,EAAqD,gBAAgB,EAAE,MAAM,GAAG,CAAC;AAE7F,OAAO,KAAK,EAAuB,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE9E,qBAAa,SAAU,SAAQ,GAAG;IACjC,OAAO,CAAC,UAAU,CAGhB;gBAEU,aAAa,EAAE,gBAAgB,EAAE,uBAAuB,CAAC,EAAE,qBAAqB;IAkCtF,OAAO,CAAC,iBAAiB,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAKxE,SAAS,CAAC,iBAAiB,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAQ9E,SAAS,CAAC,iBAAiB,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAQ9E,eAAe,CAAC,iBAAiB,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"Hybrid.d.ts","sourceRoot":"","sources":["../../../../src/Client/apis/Hybrid.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,GAAG,EAAqD,gBAAgB,EAAE,MAAM,GAAG,CAAC;AAE7F,OAAO,KAAK,EAAuB,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE9E,qBAAa,SAAU,SAAQ,GAAG;IACjC,OAAO,CAAC,UAAU,CAGhB;gBAEU,aAAa,EAAE,gBAAgB,EAAE,uBAAuB,CAAC,EAAE,qBAAqB;IAkCtF,OAAO,CAAC,iBAAiB,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAKxE,SAAS,CAAC,iBAAiB,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAQ9E,SAAS,CAAC,iBAAiB,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAQ9E,eAAe,CAAC,iBAAiB,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC;CA0CtG"}
|
|
@@ -135,10 +135,11 @@ var HybridAPI = /** @class */ (function (_super) {
|
|
|
135
135
|
});
|
|
136
136
|
};
|
|
137
137
|
HybridAPI.prototype.getAutocomplete = function (requestParameters) {
|
|
138
|
+
var _a, _b, _c, _d;
|
|
138
139
|
return __awaiter(this, void 0, void 0, function () {
|
|
139
140
|
var legacyRequestParameters, suggestParams, suggestResults, transformedSuggestResults, q, queryParameters, legacyResults, searchResults;
|
|
140
|
-
return __generator(this, function (
|
|
141
|
-
switch (
|
|
141
|
+
return __generator(this, function (_e) {
|
|
142
|
+
switch (_e.label) {
|
|
142
143
|
case 0:
|
|
143
144
|
legacyRequestParameters = (0, transforms_1.transformSearchRequest)(requestParameters);
|
|
144
145
|
suggestParams = {
|
|
@@ -152,17 +153,22 @@ var HybridAPI = /** @class */ (function (_super) {
|
|
|
152
153
|
}
|
|
153
154
|
return [4 /*yield*/, this.requesters.suggest.getSuggest(suggestParams)];
|
|
154
155
|
case 1:
|
|
155
|
-
suggestResults =
|
|
156
|
+
suggestResults = _e.sent();
|
|
156
157
|
transformedSuggestResults = (0, transforms_1.transformSuggestResponse)(suggestResults);
|
|
157
|
-
q = (
|
|
158
|
+
q = (transformedSuggestResults.suggested || {}).text || transformedSuggestResults.correctedQuery || transformedSuggestResults.query;
|
|
159
|
+
if ((_b = (_a = this.requesters.suggest.configuration) === null || _a === void 0 ? void 0 : _a.globals) === null || _b === void 0 ? void 0 : _b.integratedSpellCorrection) {
|
|
160
|
+
q = (transformedSuggestResults.suggested || {}).text || transformedSuggestResults.query || transformedSuggestResults.correctedQuery;
|
|
161
|
+
}
|
|
158
162
|
queryParameters = __assign(__assign({}, legacyRequestParameters), { redirectResponse: 'full', q: q });
|
|
163
|
+
// modify the original request parameter for the transform
|
|
164
|
+
if ((_d = (_c = requestParameters.search) === null || _c === void 0 ? void 0 : _c.query) === null || _d === void 0 ? void 0 : _d.string) {
|
|
165
|
+
requestParameters.search.query.string = q;
|
|
166
|
+
}
|
|
159
167
|
return [4 /*yield*/, this.requesters.legacy.getAutocomplete(queryParameters)];
|
|
160
168
|
case 2:
|
|
161
|
-
legacyResults =
|
|
169
|
+
legacyResults = _e.sent();
|
|
162
170
|
searchResults = (0, transforms_1.transformSearchResponse)(legacyResults, requestParameters);
|
|
163
|
-
return [2 /*return*/, __assign(__assign({}, searchResults), {
|
|
164
|
-
query: q,
|
|
165
|
-
}, autocomplete: transformedSuggestResults })];
|
|
171
|
+
return [2 /*return*/, __assign(__assign({}, searchResults), { autocomplete: transformedSuggestResults })];
|
|
166
172
|
}
|
|
167
173
|
});
|
|
168
174
|
});
|
|
@@ -120,93 +120,110 @@ transformSearchResponse.filters = function (response) {
|
|
|
120
120
|
};
|
|
121
121
|
};
|
|
122
122
|
transformSearchResponse.facets = function (response, request) {
|
|
123
|
+
var _a, _b;
|
|
123
124
|
if (request === void 0) { request = {}; }
|
|
124
125
|
var filters = request.filters || [];
|
|
125
126
|
var facets = (response === null || response === void 0 ? void 0 : response.facets) || [];
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
low: facet.range[0] == '*' ? undefined : +facet.range[0],
|
|
139
|
-
high: facet.range[1] == '*' ? undefined : +facet.range[1],
|
|
140
|
-
} });
|
|
141
|
-
}
|
|
142
|
-
if (facet.active && typeof facet.active != 'boolean' && facet.active.length > 1) {
|
|
143
|
-
transformedFacet.active = {
|
|
127
|
+
var limit = (_a = request === null || request === void 0 ? void 0 : request.facets) === null || _a === void 0 ? void 0 : _a.limit;
|
|
128
|
+
var valueLimit = (_b = request === null || request === void 0 ? void 0 : request.facets) === null || _b === void 0 ? void 0 : _b.valueLimit;
|
|
129
|
+
var transformedFacets = facets.map(function (facet) {
|
|
130
|
+
var _a;
|
|
131
|
+
var transformedFacet = {
|
|
132
|
+
field: facet.field,
|
|
133
|
+
type: 'value',
|
|
134
|
+
filtered: Boolean(facet.facet_active),
|
|
135
|
+
};
|
|
136
|
+
if (facet.step) {
|
|
137
|
+
if (facet.range) {
|
|
138
|
+
transformedFacet = __assign(__assign({}, transformedFacet), { type: 'range', step: facet.step, range: {
|
|
144
139
|
// TODO: change to null
|
|
145
|
-
low: facet.
|
|
146
|
-
high: facet.
|
|
147
|
-
};
|
|
148
|
-
}
|
|
140
|
+
low: facet.range[0] == '*' ? undefined : +facet.range[0],
|
|
141
|
+
high: facet.range[1] == '*' ? undefined : +facet.range[1],
|
|
142
|
+
} });
|
|
149
143
|
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
144
|
+
if (facet.active && typeof facet.active != 'boolean' && facet.active.length > 1) {
|
|
145
|
+
transformedFacet.active = {
|
|
146
|
+
// TODO: change to null
|
|
147
|
+
low: facet.active[0] == '*' ? undefined : +facet.active[0],
|
|
148
|
+
high: facet.active[1] == '*' ? undefined : +facet.active[1],
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
else if (facet.values instanceof Array) {
|
|
153
|
+
if (facet.type == 'hierarchy') {
|
|
154
|
+
transformedFacet.type = 'value';
|
|
155
|
+
transformedFacet.values = (facet.values || []).map(function (value) {
|
|
156
|
+
return {
|
|
157
|
+
filtered: Boolean(value.active),
|
|
158
|
+
value: value.value,
|
|
159
|
+
label: value.label,
|
|
160
|
+
count: value.count,
|
|
161
|
+
};
|
|
162
|
+
});
|
|
163
|
+
var filterSelected = filters.find(function (f) { return f.field == facet.field; });
|
|
164
|
+
var newValues = [];
|
|
165
|
+
if (filterSelected && !filterSelected.background) {
|
|
166
|
+
var valueLevels = (_a = filterSelected.value) === null || _a === void 0 ? void 0 : _a.split(facet.hierarchyDelimiter || '>');
|
|
167
|
+
if (valueLevels) {
|
|
168
|
+
for (var i = valueLevels.length - 1; i >= 0; i--) {
|
|
169
|
+
var valueSplit = valueLevels.slice(0, i + 1);
|
|
170
|
+
var value = valueSplit.join(facet.hierarchyDelimiter);
|
|
171
|
+
newValues.unshift({
|
|
172
|
+
value: value,
|
|
173
|
+
filtered: value == filterSelected.value,
|
|
174
|
+
label: valueSplit[valueSplit.length - 1],
|
|
175
|
+
});
|
|
175
176
|
}
|
|
176
|
-
newValues.unshift({
|
|
177
|
-
value: null,
|
|
178
|
-
filtered: false,
|
|
179
|
-
label: 'View All',
|
|
180
|
-
});
|
|
181
177
|
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
transformedFacet.values = facet.values.map(function (value) {
|
|
187
|
-
return {
|
|
188
|
-
filtered: value.active,
|
|
189
|
-
value: value.value,
|
|
190
|
-
label: value.label,
|
|
191
|
-
count: value.count,
|
|
192
|
-
};
|
|
193
|
-
});
|
|
194
|
-
}
|
|
195
|
-
else if (facet.values[0].type == 'range') {
|
|
196
|
-
transformedFacet.type = 'range-buckets';
|
|
197
|
-
transformedFacet.values = facet.values.map(function (value) {
|
|
198
|
-
return {
|
|
199
|
-
filtered: value.active,
|
|
200
|
-
low: value.low == '*' ? null : value.low ? +value.low : null,
|
|
201
|
-
high: value.high == '*' ? null : value.high ? +value.high : null,
|
|
202
|
-
label: value.label,
|
|
203
|
-
count: value.count,
|
|
204
|
-
};
|
|
178
|
+
newValues.unshift({
|
|
179
|
+
value: null,
|
|
180
|
+
filtered: false,
|
|
181
|
+
label: 'View All',
|
|
205
182
|
});
|
|
206
183
|
}
|
|
184
|
+
transformedFacet.values = newValues.concat(transformedFacet.values);
|
|
207
185
|
}
|
|
208
|
-
|
|
209
|
-
|
|
186
|
+
else if (facet.values[0].type == 'value') {
|
|
187
|
+
transformedFacet.type = 'value';
|
|
188
|
+
transformedFacet.values = facet.values.map(function (value) {
|
|
189
|
+
return {
|
|
190
|
+
filtered: value.active,
|
|
191
|
+
value: value.value,
|
|
192
|
+
label: value.label,
|
|
193
|
+
count: value.count,
|
|
194
|
+
};
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
else if (facet.values[0].type == 'range') {
|
|
198
|
+
transformedFacet.type = 'range-buckets';
|
|
199
|
+
transformedFacet.values = facet.values.map(function (value) {
|
|
200
|
+
return {
|
|
201
|
+
filtered: value.active,
|
|
202
|
+
low: value.low == '*' ? null : value.low ? +value.low : null,
|
|
203
|
+
high: value.high == '*' ? null : value.high ? +value.high : null,
|
|
204
|
+
label: value.label,
|
|
205
|
+
count: value.count,
|
|
206
|
+
};
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
return transformedFacet;
|
|
211
|
+
});
|
|
212
|
+
// limit facets based on request
|
|
213
|
+
if (limit) {
|
|
214
|
+
transformedFacets = transformedFacets.slice(0, limit);
|
|
215
|
+
}
|
|
216
|
+
// limit facet values based on request
|
|
217
|
+
if (valueLimit) {
|
|
218
|
+
transformedFacets = transformedFacets.map(function (facet) {
|
|
219
|
+
if (facet.values) {
|
|
220
|
+
facet.values = facet.values.slice(0, valueLimit);
|
|
221
|
+
}
|
|
222
|
+
return facet;
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
return {
|
|
226
|
+
facets: transformedFacets,
|
|
210
227
|
};
|
|
211
228
|
};
|
|
212
229
|
transformSearchResponse.sorting = function (response) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hybrid.d.ts","sourceRoot":"","sources":["../../../../src/Client/apis/Hybrid.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,GAAG,EAAqD,gBAAgB,EAAE,MAAM,GAAG,CAAC;AAE7F,OAAO,KAAK,EAAuB,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE9E,qBAAa,SAAU,SAAQ,GAAG;IACjC,OAAO,CAAC,UAAU,CAGhB;gBAEU,aAAa,EAAE,gBAAgB,EAAE,uBAAuB,CAAC,EAAE,qBAAqB;IAkCtF,OAAO,CAAC,iBAAiB,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAKxE,SAAS,CAAC,iBAAiB,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAQ9E,SAAS,CAAC,iBAAiB,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAQ9E,eAAe,CAAC,iBAAiB,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"Hybrid.d.ts","sourceRoot":"","sources":["../../../../src/Client/apis/Hybrid.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,GAAG,EAAqD,gBAAgB,EAAE,MAAM,GAAG,CAAC;AAE7F,OAAO,KAAK,EAAuB,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE9E,qBAAa,SAAU,SAAQ,GAAG;IACjC,OAAO,CAAC,UAAU,CAGhB;gBAEU,aAAa,EAAE,gBAAgB,EAAE,uBAAuB,CAAC,EAAE,qBAAqB;IAkCtF,OAAO,CAAC,iBAAiB,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAKxE,SAAS,CAAC,iBAAiB,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAQ9E,SAAS,CAAC,iBAAiB,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAQ9E,eAAe,CAAC,iBAAiB,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC;CA0CtG"}
|
|
@@ -52,19 +52,24 @@ export class HybridAPI extends API {
|
|
|
52
52
|
}
|
|
53
53
|
const suggestResults = await this.requesters.suggest.getSuggest(suggestParams);
|
|
54
54
|
const transformedSuggestResults = transformSuggestResponse(suggestResults);
|
|
55
|
-
|
|
55
|
+
// determine the query to utilize
|
|
56
|
+
let q = (transformedSuggestResults.suggested || {}).text || transformedSuggestResults.correctedQuery || transformedSuggestResults.query;
|
|
57
|
+
if (this.requesters.suggest.configuration?.globals?.integratedSpellCorrection) {
|
|
58
|
+
q = (transformedSuggestResults.suggested || {}).text || transformedSuggestResults.query || transformedSuggestResults.correctedQuery;
|
|
59
|
+
}
|
|
56
60
|
const queryParameters = {
|
|
57
61
|
...legacyRequestParameters,
|
|
58
62
|
redirectResponse: 'full',
|
|
59
63
|
q,
|
|
60
64
|
};
|
|
65
|
+
// modify the original request parameter for the transform
|
|
66
|
+
if (requestParameters.search?.query?.string) {
|
|
67
|
+
requestParameters.search.query.string = q;
|
|
68
|
+
}
|
|
61
69
|
const legacyResults = await this.requesters.legacy.getAutocomplete(queryParameters);
|
|
62
70
|
const searchResults = transformSearchResponse(legacyResults, requestParameters);
|
|
63
71
|
return {
|
|
64
72
|
...searchResults,
|
|
65
|
-
search: {
|
|
66
|
-
query: q,
|
|
67
|
-
},
|
|
68
73
|
autocomplete: transformedSuggestResults,
|
|
69
74
|
};
|
|
70
75
|
}
|
|
@@ -121,94 +121,110 @@ transformSearchResponse.filters = (response) => {
|
|
|
121
121
|
transformSearchResponse.facets = (response, request = {}) => {
|
|
122
122
|
const filters = request.filters || [];
|
|
123
123
|
const facets = response?.facets || [];
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
low: facet.range[0] == '*' ? undefined : +facet.range[0],
|
|
140
|
-
high: facet.range[1] == '*' ? undefined : +facet.range[1],
|
|
141
|
-
},
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
if (facet.active && typeof facet.active != 'boolean' && facet.active.length > 1) {
|
|
145
|
-
transformedFacet.active = {
|
|
124
|
+
const limit = request?.facets?.limit;
|
|
125
|
+
const valueLimit = request?.facets?.valueLimit;
|
|
126
|
+
let transformedFacets = facets.map((facet) => {
|
|
127
|
+
let transformedFacet = {
|
|
128
|
+
field: facet.field,
|
|
129
|
+
type: 'value',
|
|
130
|
+
filtered: Boolean(facet.facet_active),
|
|
131
|
+
};
|
|
132
|
+
if (facet.step) {
|
|
133
|
+
if (facet.range) {
|
|
134
|
+
transformedFacet = {
|
|
135
|
+
...transformedFacet,
|
|
136
|
+
type: 'range',
|
|
137
|
+
step: facet.step,
|
|
138
|
+
range: {
|
|
146
139
|
// TODO: change to null
|
|
147
|
-
low: facet.
|
|
148
|
-
high: facet.
|
|
149
|
-
}
|
|
150
|
-
}
|
|
140
|
+
low: facet.range[0] == '*' ? undefined : +facet.range[0],
|
|
141
|
+
high: facet.range[1] == '*' ? undefined : +facet.range[1],
|
|
142
|
+
},
|
|
143
|
+
};
|
|
151
144
|
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
145
|
+
if (facet.active && typeof facet.active != 'boolean' && facet.active.length > 1) {
|
|
146
|
+
transformedFacet.active = {
|
|
147
|
+
// TODO: change to null
|
|
148
|
+
low: facet.active[0] == '*' ? undefined : +facet.active[0],
|
|
149
|
+
high: facet.active[1] == '*' ? undefined : +facet.active[1],
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
else if (facet.values instanceof Array) {
|
|
154
|
+
if (facet.type == 'hierarchy') {
|
|
155
|
+
transformedFacet.type = 'value';
|
|
156
|
+
transformedFacet.values = (facet.values || []).map((value) => {
|
|
157
|
+
return {
|
|
158
|
+
filtered: Boolean(value.active),
|
|
159
|
+
value: value.value,
|
|
160
|
+
label: value.label,
|
|
161
|
+
count: value.count,
|
|
162
|
+
};
|
|
163
|
+
});
|
|
164
|
+
const filterSelected = filters.find((f) => f.field == facet.field);
|
|
165
|
+
const newValues = [];
|
|
166
|
+
if (filterSelected && !filterSelected.background) {
|
|
167
|
+
const valueLevels = filterSelected.value?.split(facet.hierarchyDelimiter || '>');
|
|
168
|
+
if (valueLevels) {
|
|
169
|
+
for (let i = valueLevels.length - 1; i >= 0; i--) {
|
|
170
|
+
const valueSplit = valueLevels.slice(0, i + 1);
|
|
171
|
+
const value = valueSplit.join(facet.hierarchyDelimiter);
|
|
172
|
+
newValues.unshift({
|
|
173
|
+
value,
|
|
174
|
+
filtered: value == filterSelected.value,
|
|
175
|
+
label: valueSplit[valueSplit.length - 1],
|
|
176
|
+
});
|
|
177
177
|
}
|
|
178
|
-
newValues.unshift({
|
|
179
|
-
value: null,
|
|
180
|
-
filtered: false,
|
|
181
|
-
label: 'View All',
|
|
182
|
-
});
|
|
183
178
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
transformedFacet.values = facet.values.map((value) => {
|
|
189
|
-
return {
|
|
190
|
-
filtered: value.active,
|
|
191
|
-
value: value.value,
|
|
192
|
-
label: value.label,
|
|
193
|
-
count: value.count,
|
|
194
|
-
};
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
else if (facet.values[0].type == 'range') {
|
|
198
|
-
transformedFacet.type = 'range-buckets';
|
|
199
|
-
transformedFacet.values = facet.values.map((value) => {
|
|
200
|
-
return {
|
|
201
|
-
filtered: value.active,
|
|
202
|
-
low: value.low == '*' ? null : value.low ? +value.low : null,
|
|
203
|
-
high: value.high == '*' ? null : value.high ? +value.high : null,
|
|
204
|
-
label: value.label,
|
|
205
|
-
count: value.count,
|
|
206
|
-
};
|
|
179
|
+
newValues.unshift({
|
|
180
|
+
value: null,
|
|
181
|
+
filtered: false,
|
|
182
|
+
label: 'View All',
|
|
207
183
|
});
|
|
208
184
|
}
|
|
185
|
+
transformedFacet.values = newValues.concat(transformedFacet.values);
|
|
209
186
|
}
|
|
210
|
-
|
|
211
|
-
|
|
187
|
+
else if (facet.values[0].type == 'value') {
|
|
188
|
+
transformedFacet.type = 'value';
|
|
189
|
+
transformedFacet.values = facet.values.map((value) => {
|
|
190
|
+
return {
|
|
191
|
+
filtered: value.active,
|
|
192
|
+
value: value.value,
|
|
193
|
+
label: value.label,
|
|
194
|
+
count: value.count,
|
|
195
|
+
};
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
else if (facet.values[0].type == 'range') {
|
|
199
|
+
transformedFacet.type = 'range-buckets';
|
|
200
|
+
transformedFacet.values = facet.values.map((value) => {
|
|
201
|
+
return {
|
|
202
|
+
filtered: value.active,
|
|
203
|
+
low: value.low == '*' ? null : value.low ? +value.low : null,
|
|
204
|
+
high: value.high == '*' ? null : value.high ? +value.high : null,
|
|
205
|
+
label: value.label,
|
|
206
|
+
count: value.count,
|
|
207
|
+
};
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
return transformedFacet;
|
|
212
|
+
});
|
|
213
|
+
// limit facets based on request
|
|
214
|
+
if (limit) {
|
|
215
|
+
transformedFacets = transformedFacets.slice(0, limit);
|
|
216
|
+
}
|
|
217
|
+
// limit facet values based on request
|
|
218
|
+
if (valueLimit) {
|
|
219
|
+
transformedFacets = transformedFacets.map((facet) => {
|
|
220
|
+
if (facet.values) {
|
|
221
|
+
facet.values = facet.values.slice(0, valueLimit);
|
|
222
|
+
}
|
|
223
|
+
return facet;
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
return {
|
|
227
|
+
facets: transformedFacets,
|
|
212
228
|
};
|
|
213
229
|
};
|
|
214
230
|
transformSearchResponse.sorting = (response) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@searchspring/snap-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.47.0",
|
|
4
4
|
"description": "Snap Client",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -20,12 +20,12 @@
|
|
|
20
20
|
"test:watch": "jest --watch"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@searchspring/snap-toolbox": "^0.
|
|
23
|
+
"@searchspring/snap-toolbox": "^0.47.0",
|
|
24
24
|
"deepmerge": "4.3.1"
|
|
25
25
|
},
|
|
26
26
|
"sideEffects": false,
|
|
27
27
|
"files": [
|
|
28
28
|
"dist/**/*"
|
|
29
29
|
],
|
|
30
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "a63e30a2be1a74dabf22063eddb28e81ef1b1aa1"
|
|
31
31
|
}
|