@searchspring/snap-client 0.27.4 → 0.27.5

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 (36) hide show
  1. package/dist/cjs/Client/Client.d.ts.map +1 -1
  2. package/dist/cjs/Client/Client.js +13 -13
  3. package/dist/cjs/Client/NetworkCache/NetworkCache.d.ts +3 -3
  4. package/dist/cjs/Client/NetworkCache/NetworkCache.d.ts.map +1 -1
  5. package/dist/cjs/Client/NetworkCache/NetworkCache.js +5 -3
  6. package/dist/cjs/Client/apis/Abstract.js +4 -3
  7. package/dist/cjs/Client/apis/Recommend.d.ts.map +1 -1
  8. package/dist/cjs/Client/apis/Recommend.js +34 -19
  9. package/dist/cjs/Client/transforms/searchRequest.d.ts +6 -6
  10. package/dist/cjs/Client/transforms/searchRequest.d.ts.map +1 -1
  11. package/dist/cjs/Client/transforms/searchRequest.js +4 -4
  12. package/dist/cjs/Client/transforms/searchResponse.d.ts +161 -20
  13. package/dist/cjs/Client/transforms/searchResponse.d.ts.map +1 -1
  14. package/dist/cjs/Client/transforms/searchResponse.js +49 -40
  15. package/dist/cjs/Client/utils/mergeParams.d.ts.map +1 -1
  16. package/dist/cjs/types.d.ts +7 -6
  17. package/dist/cjs/types.d.ts.map +1 -1
  18. package/dist/esm/Client/Client.d.ts.map +1 -1
  19. package/dist/esm/Client/Client.js +8 -8
  20. package/dist/esm/Client/NetworkCache/NetworkCache.d.ts +3 -3
  21. package/dist/esm/Client/NetworkCache/NetworkCache.d.ts.map +1 -1
  22. package/dist/esm/Client/NetworkCache/NetworkCache.js +4 -3
  23. package/dist/esm/Client/apis/Abstract.js +3 -3
  24. package/dist/esm/Client/apis/Recommend.d.ts.map +1 -1
  25. package/dist/esm/Client/apis/Recommend.js +19 -7
  26. package/dist/esm/Client/transforms/searchRequest.d.ts +21 -21
  27. package/dist/esm/Client/transforms/searchRequest.d.ts.map +1 -1
  28. package/dist/esm/Client/transforms/searchRequest.js +3 -3
  29. package/dist/esm/Client/transforms/searchResponse.d.ts +161 -20
  30. package/dist/esm/Client/transforms/searchResponse.d.ts.map +1 -1
  31. package/dist/esm/Client/transforms/searchResponse.js +51 -45
  32. package/dist/esm/Client/transforms/suggestResponse.d.ts +2 -2
  33. package/dist/esm/Client/utils/mergeParams.d.ts.map +1 -1
  34. package/dist/esm/types.d.ts +7 -6
  35. package/dist/esm/types.d.ts.map +1 -1
  36. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/Client/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,oBAAoB,EACpB,qBAAqB,EAErB,6BAA6B,EAC7B,8BAA8B,EAG9B,MAAM,QAAQ,CAAC;AAEhB,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE5D,OAAO,KAAK,EACX,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,MAAM,2BAA2B,CAAC;AAgCnC,qBAAa,MAAM;IAClB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAMhB;gBAEU,OAAO,EAAE,aAAa,EAAE,MAAM,GAAE,YAAiB;IA0CvD,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAO3D,YAAY,CAAC,MAAM,GAAE,wBAA6B,GAAG,OAAO,CAAC,CAAC,iBAAiB,EAAE,yBAAyB,CAAC,CAAC;IAU5G,MAAM,CAAC,MAAM,GAAE,kBAAuB,GAAG,OAAO,CAAC,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;IAM1F,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAM/E,SAAS,CAAC,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC,8BAA8B,CAAC;CAgC/F"}
1
+ {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/Client/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,oBAAoB,EACpB,qBAAqB,EAErB,6BAA6B,EAC7B,8BAA8B,EAG9B,MAAM,QAAQ,CAAC;AAEhB,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE5D,OAAO,KAAK,EACX,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,MAAM,2BAA2B,CAAC;AAgCnC,qBAAa,MAAM;IAClB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAMhB;gBAEU,OAAO,EAAE,aAAa,EAAE,MAAM,GAAE,YAAiB;IA0CvD,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAO3D,YAAY,CAAC,MAAM,GAAE,wBAA6B,GAAG,OAAO,CAAC,CAAC,iBAAiB,EAAE,yBAAyB,CAAC,CAAC;IAU5G,MAAM,CAAC,MAAM,GAAE,kBAAuB,GAAG,OAAO,CAAC,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;IAM1F,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAM/E,SAAS,CAAC,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC,8BAA8B,CAAC;CAgC/F"}
@@ -94,7 +94,7 @@ var defaultConfig = {
94
94
  var Client = /** @class */ (function () {
95
95
  function Client(globals, config) {
96
96
  if (config === void 0) { config = {}; }
97
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
97
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
98
98
  if (!(globals === null || globals === void 0 ? void 0 : globals.siteId)) {
99
99
  throw 'no siteId specified!';
100
100
  }
@@ -103,23 +103,23 @@ var Client = /** @class */ (function () {
103
103
  this.requesters = {
104
104
  autocomplete: new apis_1.HybridAPI(new apis_1.ApiConfiguration({
105
105
  origin: (_b = (_a = this.config.autocomplete) === null || _a === void 0 ? void 0 : _a.api) === null || _b === void 0 ? void 0 : _b.origin,
106
- cache: this.config.autocomplete.cache,
106
+ cache: (_c = this.config.autocomplete) === null || _c === void 0 ? void 0 : _c.cache,
107
107
  })),
108
108
  meta: new apis_1.HybridAPI(new apis_1.ApiConfiguration({
109
- origin: (_d = (_c = this.config.meta) === null || _c === void 0 ? void 0 : _c.api) === null || _d === void 0 ? void 0 : _d.origin,
110
- cache: this.config.meta.cache,
109
+ origin: (_e = (_d = this.config.meta) === null || _d === void 0 ? void 0 : _d.api) === null || _e === void 0 ? void 0 : _e.origin,
110
+ cache: (_f = this.config.meta) === null || _f === void 0 ? void 0 : _f.cache,
111
111
  })),
112
112
  recommend: new apis_1.RecommendAPI(new apis_1.ApiConfiguration({
113
- origin: (_f = (_e = this.config.recommend) === null || _e === void 0 ? void 0 : _e.api) === null || _f === void 0 ? void 0 : _f.origin,
114
- cache: this.config.recommend.cache,
113
+ origin: (_h = (_g = this.config.recommend) === null || _g === void 0 ? void 0 : _g.api) === null || _h === void 0 ? void 0 : _h.origin,
114
+ cache: (_j = this.config.recommend) === null || _j === void 0 ? void 0 : _j.cache,
115
115
  })),
116
116
  search: new apis_1.HybridAPI(new apis_1.ApiConfiguration({
117
- origin: (_h = (_g = this.config.search) === null || _g === void 0 ? void 0 : _g.api) === null || _h === void 0 ? void 0 : _h.origin,
118
- cache: this.config.search.cache,
117
+ origin: (_l = (_k = this.config.search) === null || _k === void 0 ? void 0 : _k.api) === null || _l === void 0 ? void 0 : _l.origin,
118
+ cache: (_m = this.config.search) === null || _m === void 0 ? void 0 : _m.cache,
119
119
  })),
120
120
  suggest: new apis_1.SuggestAPI(new apis_1.ApiConfiguration({
121
- origin: (_k = (_j = this.config.suggest) === null || _j === void 0 ? void 0 : _j.api) === null || _k === void 0 ? void 0 : _k.origin,
122
- cache: this.config.suggest.cache,
121
+ origin: (_p = (_o = this.config.suggest) === null || _o === void 0 ? void 0 : _o.api) === null || _p === void 0 ? void 0 : _p.origin,
122
+ cache: (_q = this.config.suggest) === null || _q === void 0 ? void 0 : _q.cache,
123
123
  })),
124
124
  };
125
125
  }
@@ -142,7 +142,7 @@ var Client = /** @class */ (function () {
142
142
  throw 'query string parameter is required';
143
143
  }
144
144
  params = (0, deepmerge_1.default)(this.globals, params);
145
- return [2 /*return*/, Promise.all([this.meta({ siteId: params.siteId }), this.requesters.autocomplete.getAutocomplete(params)])];
145
+ return [2 /*return*/, Promise.all([this.meta({ siteId: params.siteId || '' }), this.requesters.autocomplete.getAutocomplete(params)])];
146
146
  });
147
147
  });
148
148
  };
@@ -151,7 +151,7 @@ var Client = /** @class */ (function () {
151
151
  return __awaiter(this, void 0, void 0, function () {
152
152
  return __generator(this, function (_a) {
153
153
  params = (0, deepmerge_1.default)(this.globals, params);
154
- return [2 /*return*/, Promise.all([this.meta({ siteId: params.siteId }), this.requesters.search.getSearch(params)])];
154
+ return [2 /*return*/, Promise.all([this.meta({ siteId: params.siteId || '' }), this.requesters.search.getSearch(params)])];
155
155
  });
156
156
  });
157
157
  };
@@ -181,7 +181,7 @@ var Client = /** @class */ (function () {
181
181
  profileParams.branch = otherParams.branch;
182
182
  delete otherParams.branch;
183
183
  }
184
- recommendParams = __assign({ tags: [tag], siteId: params.siteId || this.globals.siteId }, otherParams);
184
+ recommendParams = __assign(__assign({ tags: [tag] }, otherParams), { siteId: params.siteId || this.globals.siteId });
185
185
  return [4 /*yield*/, Promise.all([
186
186
  this.requesters.recommend.getProfile(profileParams),
187
187
  this.requesters.recommend.batchRecommendations(recommendParams),
@@ -1,9 +1,9 @@
1
- import { CacheConfig } from '../../types';
1
+ import { CacheConfig, DefaultCacheConfig } from '../../types';
2
2
  export declare class NetworkCache {
3
3
  private memoryCache;
4
- config: CacheConfig;
4
+ config: DefaultCacheConfig;
5
5
  constructor(config?: CacheConfig);
6
- get(key: string): Response;
6
+ get(key: string): Response | void;
7
7
  set(key: string, value: Response): void;
8
8
  clear(): void;
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkCache.d.ts","sourceRoot":"","sources":["../../../../src/Client/NetworkCache/NetworkCache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAS,MAAM,aAAa,CAAC;AAWjD,qBAAa,YAAY;IACxB,OAAO,CAAC,WAAW,CAAa;IAChC,MAAM,EAAE,WAAW,CAAC;gBAER,MAAM,CAAC,EAAE,WAAW;IASzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;IAgC1B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI;IAyCvC,KAAK;CAQZ"}
1
+ {"version":3,"file":"NetworkCache.d.ts","sourceRoot":"","sources":["../../../../src/Client/NetworkCache/NetworkCache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAS,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAWrE,qBAAa,YAAY;IACxB,OAAO,CAAC,WAAW,CAAa;IAChC,MAAM,EAAE,kBAAkB,CAAC;gBAEf,MAAM,CAAC,EAAE,WAAW;IAWzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAgCjC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI;IAyCvC,KAAK;CAQZ"}
@@ -26,13 +26,15 @@ var defaultConfig = {
26
26
  var NetworkCache = /** @class */ (function () {
27
27
  function NetworkCache(config) {
28
28
  var _this = this;
29
+ var _a;
29
30
  this.memoryCache = {};
30
31
  this.config = (0, deepmerge_1.default)(defaultConfig, config || {});
31
- if (this.config.entries) {
32
+ ((_a = this.config) === null || _a === void 0 ? void 0 : _a.entries) &&
32
33
  Object.keys(this.config.entries).map(function (key) {
33
- _this.set(key, _this.config.entries[key]);
34
+ if (_this.config.entries && _this.config.entries[key]) {
35
+ _this.set(key, _this.config.entries[key]);
36
+ }
34
37
  });
35
- }
36
38
  }
37
39
  NetworkCache.prototype.get = function (key) {
38
40
  try {
@@ -142,21 +142,22 @@ var ApiConfiguration = /** @class */ (function () {
142
142
  }
143
143
  Object.defineProperty(ApiConfiguration.prototype, "cache", {
144
144
  get: function () {
145
- return this.configuration.cache;
145
+ var _a;
146
+ return ((_a = this.configuration) === null || _a === void 0 ? void 0 : _a.cache) || {};
146
147
  },
147
148
  enumerable: false,
148
149
  configurable: true
149
150
  });
150
151
  Object.defineProperty(ApiConfiguration.prototype, "maxRetry", {
151
152
  get: function () {
152
- return this.configuration.maxRetry;
153
+ return this.configuration.maxRetry || 8;
153
154
  },
154
155
  enumerable: false,
155
156
  configurable: true
156
157
  });
157
158
  Object.defineProperty(ApiConfiguration.prototype, "origin", {
158
159
  get: function () {
159
- return this.configuration.origin;
160
+ return this.configuration.origin || '';
160
161
  },
161
162
  enumerable: false,
162
163
  configurable: true
@@ -1 +1 @@
1
- {"version":3,"file":"Recommend.d.ts","sourceRoot":"","sources":["../../../../src/Client/apis/Recommend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Recommend.d.ts","sourceRoot":"","sources":["../../../../src/Client/apis/Recommend.ts"],"names":[],"mappings":"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"}
@@ -116,16 +116,15 @@ var RecommendAPI = /** @class */ (function (_super) {
116
116
  });
117
117
  };
118
118
  RecommendAPI.prototype.batchRecommendations = function (parameters) {
119
+ var _a;
119
120
  return __awaiter(this, void 0, void 0, function () {
120
- var tags, limits, otherParams, tag, key, paramBatch, deferred;
121
+ var tags, limits, categories, otherParams, tag, key, paramBatch, deferred;
121
122
  var _this = this;
122
- return __generator(this, function (_a) {
123
- tags = parameters.tags, limits = parameters.limits, otherParams = __rest(parameters, ["tags", "limits"]);
123
+ return __generator(this, function (_b) {
124
+ tags = parameters.tags, limits = parameters.limits, categories = parameters.categories, otherParams = __rest(parameters, ["tags", "limits", "categories"]);
124
125
  if (!limits)
125
126
  limits = 20;
126
127
  tag = (tags || [])[0];
127
- if (!tag)
128
- return [2 /*return*/];
129
128
  key = (0, hashParams_1.hashParams)(otherParams);
130
129
  if ('batched' in otherParams) {
131
130
  if (otherParams.batched) {
@@ -137,14 +136,23 @@ var RecommendAPI = /** @class */ (function (_super) {
137
136
  paramBatch = this.batches[key];
138
137
  deferred = new Deferred();
139
138
  paramBatch.request.tags.push(tag);
139
+ if (categories) {
140
+ if (!paramBatch.request.categories) {
141
+ paramBatch.request.categories = categories;
142
+ }
143
+ else {
144
+ paramBatch.request.categories = paramBatch.request.categories.concat(categories);
145
+ }
146
+ }
140
147
  paramBatch.request.limits = paramBatch.request.limits.concat(limits);
141
148
  paramBatch.request = __assign(__assign({}, paramBatch.request), otherParams);
142
- paramBatch.deferreds.push(deferred);
149
+ (_a = paramBatch.deferreds) === null || _a === void 0 ? void 0 : _a.push(deferred);
143
150
  window.clearTimeout(paramBatch.timeout);
144
151
  paramBatch.timeout = window.setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {
145
152
  var requestMethod, response_1, err_1;
146
- return __generator(this, function (_a) {
147
- switch (_a.label) {
153
+ var _a, _b;
154
+ return __generator(this, function (_c) {
155
+ switch (_c.label) {
148
156
  case 0:
149
157
  requestMethod = 'getRecommendations';
150
158
  if ((0, snap_toolbox_1.charsParams)(paramBatch.request) > 1024) {
@@ -154,23 +162,30 @@ var RecommendAPI = /** @class */ (function (_super) {
154
162
  paramBatch.request['product'] = paramBatch.request['product'].toString();
155
163
  }
156
164
  }
157
- _a.label = 1;
165
+ _c.label = 1;
158
166
  case 1:
159
- _a.trys.push([1, 3, , 4]);
160
- return [4 /*yield*/, this[requestMethod](paramBatch.request)];
167
+ _c.trys.push([1, 6, , 7]);
168
+ if (!((0, snap_toolbox_1.charsParams)(paramBatch.request) > 1024)) return [3 /*break*/, 3];
169
+ return [4 /*yield*/, this.postRecommendations(paramBatch.request)];
161
170
  case 2:
162
- response_1 = _a.sent();
163
- paramBatch.deferreds.forEach(function (def, index) {
171
+ response_1 = _c.sent();
172
+ return [3 /*break*/, 5];
173
+ case 3: return [4 /*yield*/, this.getRecommendations(paramBatch.request)];
174
+ case 4:
175
+ response_1 = _c.sent();
176
+ _c.label = 5;
177
+ case 5:
178
+ (_a = paramBatch.deferreds) === null || _a === void 0 ? void 0 : _a.forEach(function (def, index) {
164
179
  def.resolve([response_1[index]]);
165
180
  });
166
- return [3 /*break*/, 4];
167
- case 3:
168
- err_1 = _a.sent();
169
- paramBatch.deferreds.forEach(function (def) {
181
+ return [3 /*break*/, 7];
182
+ case 6:
183
+ err_1 = _c.sent();
184
+ (_b = paramBatch.deferreds) === null || _b === void 0 ? void 0 : _b.forEach(function (def) {
170
185
  def.reject(err_1);
171
186
  });
172
- return [3 /*break*/, 4];
173
- case 4:
187
+ return [3 /*break*/, 7];
188
+ case 7:
174
189
  delete this.batches[key];
175
190
  return [2 /*return*/];
176
191
  }
@@ -1,18 +1,18 @@
1
- import { SearchRequestModel } from '@searchspring/snapi-types';
1
+ import { SearchRequestModel, SearchRequestModelSortsDirectionEnum, SearchRequestModelFilterRangeAllOfValue } from '@searchspring/snapi-types';
2
2
  export declare function transformSearchRequest(request: SearchRequestModel): any;
3
3
  export declare namespace transformSearchRequest {
4
- var sorts: (request?: SearchRequestModel) => import("@searchspring/snapi-types").SearchRequestModelSorts;
4
+ var sorts: (request?: SearchRequestModel) => Record<string, SearchRequestModelSortsDirectionEnum[]>;
5
5
  var search: (request?: SearchRequestModel) => {
6
6
  q?: string;
7
7
  rq?: string;
8
8
  originalQuery?: string;
9
9
  redirectResponse?: string;
10
10
  };
11
- var filters: (request?: SearchRequestModel) => {};
11
+ var filters: (request?: SearchRequestModel) => Record<string, (string | number | SearchRequestModelFilterRangeAllOfValue)[]>;
12
12
  var merchandising: (request?: SearchRequestModel) => {
13
- disableMerchandising: boolean;
14
- } | {
15
- disableMerchandising?: undefined;
13
+ disableMerchandising?: boolean;
14
+ tag?: string[];
15
+ 'landing-page'?: string;
16
16
  };
17
17
  var pagination: (request?: SearchRequestModel) => {
18
18
  page?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"searchRequest.d.ts","sourceRoot":"","sources":["../../../../src/Client/transforms/searchRequest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAgE,MAAM,2BAA2B,CAAC;AAE7H,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,kBAAkB,GAAG,GAAG,CAYvE;yBAZe,sBAAsB"}
1
+ {"version":3,"file":"searchRequest.d.ts","sourceRoot":"","sources":["../../../../src/Client/transforms/searchRequest.ts"],"names":[],"mappings":"AACA,OAAO,EACN,kBAAkB,EAIlB,oCAAoC,EACpC,uCAAuC,EACvC,MAAM,2BAA2B,CAAC;AAEnC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,kBAAkB,GAAG,GAAG,CAYvE;yBAZe,sBAAsB"}
@@ -30,7 +30,7 @@ transformSearchRequest.sorts = function (request) {
30
30
  if (sort.direction != 'asc' && sort.direction != 'desc') {
31
31
  throw 'valid sort directions: asc, desc';
32
32
  }
33
- return __assign(__assign({}, acc), (_a = {}, _a['sort.' + sort.field] = (acc[sort.field] || []).concat(sort.direction), _a));
33
+ return __assign(__assign({}, acc), (_a = {}, _a['sort.' + sort.field] = (acc[sort.field] || []).concat([sort.direction]), _a));
34
34
  }, {});
35
35
  };
36
36
  transformSearchRequest.search = function (request) {
@@ -55,7 +55,7 @@ transformSearchRequest.filters = function (request) {
55
55
  if (request === void 0) { request = {}; }
56
56
  return (request.filters || []).reduce(function (acc, filter) {
57
57
  var _a, _b;
58
- var _c, _d;
58
+ var _c, _d, _e, _f;
59
59
  var baseKey = filter.background ? 'bgfilter' : 'filter';
60
60
  if (filter.type == 'value') {
61
61
  var key = baseKey + '.' + filter.field;
@@ -64,8 +64,8 @@ transformSearchRequest.filters = function (request) {
64
64
  else if (filter.type == 'range') {
65
65
  var keyLow = baseKey + '.' + filter.field + '.low';
66
66
  var keyHigh = baseKey + '.' + filter.field + '.high';
67
- var low = (_c = filter.value.low) !== null && _c !== void 0 ? _c : '*';
68
- var high = (_d = filter.value.high) !== null && _d !== void 0 ? _d : '*';
67
+ var low = (_d = (_c = filter === null || filter === void 0 ? void 0 : filter.value) === null || _c === void 0 ? void 0 : _c.low) !== null && _d !== void 0 ? _d : '*';
68
+ var high = (_f = (_e = filter === null || filter === void 0 ? void 0 : filter.value) === null || _e === void 0 ? void 0 : _e.high) !== null && _f !== void 0 ? _f : '*';
69
69
  return __assign(__assign({}, acc), (_b = {}, _b[keyLow] = (acc[keyLow] || []).concat([low]), _b[keyHigh] = (acc[keyHigh] || []).concat([high]), _b));
70
70
  }
71
71
  return acc;
@@ -1,32 +1,173 @@
1
- import { SearchRequestModel, SearchResponseModel, SearchResponseModelResult, SearchResponseModelPagination } from '@searchspring/snapi-types';
2
- export declare function transformSearchResponse(response: any, request: SearchRequestModel): SearchResponseModel;
1
+ import { SearchRequestModel, SearchResponseModelResult, SearchResponseModelPagination, SearchResponseModelSearchMatchTypeEnum } from '@searchspring/snapi-types';
2
+ declare type sortingOption = {
3
+ field: string;
4
+ direction: string;
5
+ label: string;
6
+ active?: number;
7
+ };
8
+ declare type rawResult = {
9
+ brand?: string;
10
+ collection_handle?: string[];
11
+ collection_id?: string[];
12
+ handle?: string;
13
+ id: string;
14
+ imageUrl: string;
15
+ intellisuggestData?: string;
16
+ intellisuggestSignature?: string;
17
+ msrp?: string;
18
+ name: string;
19
+ price: string;
20
+ product_type?: string[];
21
+ product_type_unigram?: string;
22
+ sku: string;
23
+ ss_available?: string;
24
+ ss_best_selling?: string;
25
+ ss_days_since_published?: string;
26
+ ss_id?: string;
27
+ ss_image_hover?: string;
28
+ ss_images?: string[];
29
+ ss_inventory_count?: string;
30
+ ss_tags?: string[];
31
+ thumbnailImageUrl?: string;
32
+ uid?: string;
33
+ url?: string;
34
+ children?: [];
35
+ };
36
+ declare type facetValue = {
37
+ active: boolean;
38
+ type: string;
39
+ value: string;
40
+ label: string;
41
+ count: number;
42
+ low?: string | number;
43
+ high?: string | number;
44
+ };
45
+ declare type facet = {
46
+ hierarchyDelimiter?: string;
47
+ multiple?: string;
48
+ active?: any;
49
+ count?: number;
50
+ high?: string;
51
+ low?: string;
52
+ field: string;
53
+ label: string;
54
+ type: null | string;
55
+ collapse: number;
56
+ facet_active: number;
57
+ values: facetValue[];
58
+ step?: number;
59
+ filtered?: boolean;
60
+ range?: string[];
61
+ };
62
+ declare type breadcrumb = {
63
+ field: string;
64
+ label: string;
65
+ filterLabel: string;
66
+ filterValue: string;
67
+ removeFilters: [];
68
+ removeRefineQuery: [];
69
+ };
70
+ export declare type searchResponseType = {
71
+ pagination: {
72
+ totalResults: number;
73
+ begin: number;
74
+ end: number;
75
+ currentPage: number;
76
+ totalPages: number;
77
+ previousPage: number;
78
+ nextPage: number;
79
+ perPage: number;
80
+ defaultPerPage: number;
81
+ };
82
+ sorting: {
83
+ options: sortingOption[];
84
+ };
85
+ resultLayout?: string;
86
+ results: rawResult[];
87
+ facets: facet[];
88
+ breadcrumbs?: breadcrumb[];
89
+ filterSummary: {
90
+ field: string;
91
+ filterLabel: string;
92
+ filterValue: string;
93
+ label: string;
94
+ value: {
95
+ rangeHigh?: string | number;
96
+ rangeLow?: string | number;
97
+ low?: string | number;
98
+ high?: string | number;
99
+ } | string;
100
+ }[];
101
+ merchandising: {
102
+ redirect: string;
103
+ is_elevated: string[];
104
+ elevated: any[];
105
+ removed: string[];
106
+ content: {};
107
+ facets: any[];
108
+ facetsHide: any[];
109
+ experiments?: [];
110
+ variants?: [];
111
+ personalized?: boolean;
112
+ triggeredCampaigns?: {
113
+ id: string;
114
+ title: string;
115
+ type: string;
116
+ }[];
117
+ };
118
+ didYouMean?: {
119
+ query: string;
120
+ };
121
+ query?: {
122
+ matchType: SearchResponseModelSearchMatchTypeEnum | undefined;
123
+ };
124
+ };
125
+ export declare function transformSearchResponse(response: searchResponseType, request: SearchRequestModel): any;
3
126
  export declare namespace transformSearchResponse {
4
- var pagination: (response: any) => {
127
+ var pagination: (response: searchResponseType) => {
5
128
  pagination: SearchResponseModelPagination;
6
129
  };
7
- var results: (response: any) => {
8
- results: any;
9
- };
10
- var result: (rawResult: any) => SearchResponseModelResult;
11
- var filters: (response: any) => {
12
- filters: any;
130
+ var results: (response: searchResponseType) => {
131
+ results: SearchResponseModelResult[];
13
132
  };
14
- var facets: (response: any, request?: SearchRequestModel) => {
15
- facets: any;
133
+ var result: (rawResult: rawResult) => SearchResponseModelResult;
134
+ var filters: (response: searchResponseType) => any;
135
+ var facets: (response: searchResponseType, request?: SearchRequestModel) => {
136
+ facets: any[];
16
137
  };
17
- var sorting: (response: any) => {
18
- sorting: any;
138
+ var sorting: (response: searchResponseType) => {
139
+ sorting: {
140
+ field: string;
141
+ direction: string;
142
+ }[];
19
143
  };
20
- var merchandising: (response: any) => {
21
- merchandising: any;
144
+ var merchandising: (response: searchResponseType) => {
145
+ merchandising: {
146
+ redirect: string;
147
+ is_elevated: string[];
148
+ elevated: any[];
149
+ removed: string[];
150
+ content: {};
151
+ facets: any[];
152
+ facetsHide: any[];
153
+ experiments?: [];
154
+ variants?: [];
155
+ personalized?: boolean;
156
+ triggeredCampaigns?: {
157
+ id: string;
158
+ title: string;
159
+ type: string;
160
+ }[];
161
+ };
22
162
  };
23
- var search: (response: any, request: any) => {
163
+ var search: (response: searchResponseType, request: SearchRequestModel) => {
24
164
  search: {
25
- query: any;
26
- didYouMean: any;
27
- originalQuery: any;
28
- matchType: any;
165
+ query: string;
166
+ didYouMean: string;
167
+ originalQuery: string;
168
+ matchType: SearchResponseModelSearchMatchTypeEnum;
29
169
  };
30
170
  };
31
171
  }
172
+ export {};
32
173
  //# sourceMappingURL=searchResponse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"searchResponse.d.ts","sourceRoot":"","sources":["../../../../src/Client/transforms/searchResponse.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,kBAAkB,EAElB,mBAAmB,EACnB,yBAAyB,EAIzB,6BAA6B,EAC7B,MAAM,2BAA2B,CAAC;AA8BnC,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,kBAAkB,GAAG,mBAAmB,CAUvG;yBAVe,uBAAuB"}
1
+ {"version":3,"file":"searchResponse.d.ts","sourceRoot":"","sources":["../../../../src/Client/transforms/searchResponse.ts"],"names":[],"mappings":"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"}