@searchspring/snap-client 0.46.0 → 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.
|
@@ -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) {
|
|
@@ -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
|
}
|