@searchspring/snap-client 0.53.4 → 0.55.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/README.md +17 -26
- package/dist/cjs/Client/Client.d.ts.map +1 -1
- package/dist/cjs/Client/Client.js +10 -3
- package/dist/cjs/Client/NetworkCache/NetworkCache.d.ts.map +1 -1
- package/dist/cjs/Client/NetworkCache/NetworkCache.js +38 -32
- package/dist/cjs/Client/apis/Abstract.js +2 -1
- package/dist/cjs/Client/apis/Hybrid.d.ts.map +1 -1
- package/dist/cjs/Client/apis/Hybrid.js +6 -4
- package/dist/cjs/Client/apis/Recommend.d.ts.map +1 -1
- package/dist/cjs/Client/apis/Recommend.js +5 -4
- package/dist/cjs/Client/transforms/searchResponse.d.ts +2 -1
- package/dist/cjs/Client/transforms/searchResponse.d.ts.map +1 -1
- package/dist/cjs/Client/transforms/searchResponse.js +11 -3
- package/dist/cjs/types.d.ts +4 -1
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/Client/Client.d.ts.map +1 -1
- package/dist/esm/Client/Client.js +10 -2
- package/dist/esm/Client/NetworkCache/NetworkCache.d.ts.map +1 -1
- package/dist/esm/Client/NetworkCache/NetworkCache.js +42 -36
- package/dist/esm/Client/apis/Abstract.js +1 -1
- package/dist/esm/Client/apis/Hybrid.d.ts.map +1 -1
- package/dist/esm/Client/apis/Hybrid.js +6 -4
- package/dist/esm/Client/apis/Recommend.d.ts.map +1 -1
- package/dist/esm/Client/apis/Recommend.js +4 -2
- package/dist/esm/Client/transforms/searchResponse.d.ts +2 -1
- package/dist/esm/Client/transforms/searchResponse.d.ts.map +1 -1
- package/dist/esm/Client/transforms/searchResponse.js +11 -3
- package/dist/esm/types.d.ts +4 -1
- package/dist/esm/types.d.ts.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -54,34 +54,25 @@ const globals = {
|
|
|
54
54
|
Optional configuration for each requester. This can be used to specifiy a development origin URL or to configure cache settings per requester.
|
|
55
55
|
|
|
56
56
|
```typescript
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
autocomplete?: {
|
|
67
|
-
origin?: string;
|
|
68
|
-
cache?: CacheConfig;
|
|
69
|
-
};
|
|
70
|
-
finder?: {
|
|
71
|
-
origin?: string;
|
|
72
|
-
cache?: CacheConfig;
|
|
73
|
-
};
|
|
74
|
-
recommend?: {
|
|
75
|
-
origin?: string;
|
|
76
|
-
cache?: CacheConfig;
|
|
77
|
-
};
|
|
78
|
-
suggest?: {
|
|
79
|
-
origin?: string;
|
|
80
|
-
cache?: CacheConfig;
|
|
81
|
-
};
|
|
57
|
+
type ClientConfig = {
|
|
58
|
+
mode?: keyof typeof AppMode | AppMode;
|
|
59
|
+
fetchApi?: WindowOrWorkerGlobalScope['fetch'];
|
|
60
|
+
meta?: RequesterConfig<MetaRequestModel>;
|
|
61
|
+
search?: RequesterConfig<SearchRequestModel>;
|
|
62
|
+
autocomplete?: RequesterConfig<AutocompleteRequestModel> & { requesters?: HybridRequesterConfig };
|
|
63
|
+
finder?: RequesterConfig<SearchRequestModel>;
|
|
64
|
+
recommend?: RequesterConfig<RecommendRequestModel>;
|
|
65
|
+
suggest?: RequesterConfig<SuggestRequestModel>;
|
|
82
66
|
};
|
|
83
67
|
|
|
84
|
-
|
|
68
|
+
type RequesterConfig<T> = {
|
|
69
|
+
origin?: string;
|
|
70
|
+
headers?: HTTPHeaders;
|
|
71
|
+
cache?: CacheConfig;
|
|
72
|
+
globals?: Partial<T>;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
type CacheConfig = {
|
|
85
76
|
enabled?: boolean;
|
|
86
77
|
ttl?: number;
|
|
87
78
|
maxSize?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/Client/Client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EAGrB,6BAA6B,EAC7B,8BAA8B,EAC9B,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EACX,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,MAAM,2BAA2B,CAAC;AA4BnC,qBAAa,MAAM;IAClB,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAOhB;gBAEU,OAAO,EAAE,aAAa,EAAE,MAAM,GAAE,YAAiB;
|
|
1
|
+
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/Client/Client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EAGrB,6BAA6B,EAC7B,8BAA8B,EAC9B,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EACX,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,MAAM,2BAA2B,CAAC;AA4BnC,qBAAa,MAAM;IAClB,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAOhB;gBAEU,OAAO,EAAE,aAAa,EAAE,MAAM,GAAE,YAAiB;IA6EvD,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,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;CAkC/F"}
|
|
@@ -103,6 +103,7 @@ var Client = /** @class */ (function () {
|
|
|
103
103
|
}
|
|
104
104
|
this.requesters = {
|
|
105
105
|
autocomplete: new apis_1.HybridAPI(new apis_1.ApiConfiguration({
|
|
106
|
+
fetchApi: this.config.fetchApi,
|
|
106
107
|
mode: this.mode,
|
|
107
108
|
origin: (_a = this.config.autocomplete) === null || _a === void 0 ? void 0 : _a.origin,
|
|
108
109
|
headers: (_b = this.config.autocomplete) === null || _b === void 0 ? void 0 : _b.headers,
|
|
@@ -110,6 +111,7 @@ var Client = /** @class */ (function () {
|
|
|
110
111
|
globals: (_d = this.config.autocomplete) === null || _d === void 0 ? void 0 : _d.globals,
|
|
111
112
|
}), (_e = this.config.autocomplete) === null || _e === void 0 ? void 0 : _e.requesters),
|
|
112
113
|
meta: new apis_1.HybridAPI(new apis_1.ApiConfiguration({
|
|
114
|
+
fetchApi: this.config.fetchApi,
|
|
113
115
|
mode: this.mode,
|
|
114
116
|
origin: (_f = this.config.meta) === null || _f === void 0 ? void 0 : _f.origin,
|
|
115
117
|
headers: (_g = this.config.meta) === null || _g === void 0 ? void 0 : _g.headers,
|
|
@@ -117,6 +119,7 @@ var Client = /** @class */ (function () {
|
|
|
117
119
|
globals: (_j = this.config.meta) === null || _j === void 0 ? void 0 : _j.globals,
|
|
118
120
|
})),
|
|
119
121
|
recommend: new apis_1.RecommendAPI(new apis_1.ApiConfiguration({
|
|
122
|
+
fetchApi: this.config.fetchApi,
|
|
120
123
|
mode: this.mode,
|
|
121
124
|
origin: (_k = this.config.recommend) === null || _k === void 0 ? void 0 : _k.origin,
|
|
122
125
|
headers: (_l = this.config.recommend) === null || _l === void 0 ? void 0 : _l.headers,
|
|
@@ -124,6 +127,7 @@ var Client = /** @class */ (function () {
|
|
|
124
127
|
globals: (_o = this.config.recommend) === null || _o === void 0 ? void 0 : _o.globals,
|
|
125
128
|
})),
|
|
126
129
|
search: new apis_1.HybridAPI(new apis_1.ApiConfiguration({
|
|
130
|
+
fetchApi: this.config.fetchApi,
|
|
127
131
|
mode: this.mode,
|
|
128
132
|
origin: (_p = this.config.search) === null || _p === void 0 ? void 0 : _p.origin,
|
|
129
133
|
headers: (_q = this.config.search) === null || _q === void 0 ? void 0 : _q.headers,
|
|
@@ -131,6 +135,7 @@ var Client = /** @class */ (function () {
|
|
|
131
135
|
globals: (_s = this.config.search) === null || _s === void 0 ? void 0 : _s.globals,
|
|
132
136
|
})),
|
|
133
137
|
finder: new apis_1.HybridAPI(new apis_1.ApiConfiguration({
|
|
138
|
+
fetchApi: this.config.fetchApi,
|
|
134
139
|
mode: this.mode,
|
|
135
140
|
origin: (_t = this.config.finder) === null || _t === void 0 ? void 0 : _t.origin,
|
|
136
141
|
headers: (_u = this.config.finder) === null || _u === void 0 ? void 0 : _u.headers,
|
|
@@ -138,6 +143,7 @@ var Client = /** @class */ (function () {
|
|
|
138
143
|
globals: (_w = this.config.finder) === null || _w === void 0 ? void 0 : _w.globals,
|
|
139
144
|
})),
|
|
140
145
|
suggest: new apis_1.SuggestAPI(new apis_1.ApiConfiguration({
|
|
146
|
+
fetchApi: this.config.fetchApi,
|
|
141
147
|
mode: this.mode,
|
|
142
148
|
origin: (_x = this.config.suggest) === null || _x === void 0 ? void 0 : _x.origin,
|
|
143
149
|
headers: (_y = this.config.suggest) === null || _y === void 0 ? void 0 : _y.headers,
|
|
@@ -197,7 +203,7 @@ var Client = /** @class */ (function () {
|
|
|
197
203
|
};
|
|
198
204
|
Client.prototype.recommend = function (params) {
|
|
199
205
|
return __awaiter(this, void 0, void 0, function () {
|
|
200
|
-
var tag, otherParams, profileParams, recommendParams, _a, profile, recommendations;
|
|
206
|
+
var tag, otherParams, profileParams, recommendParams, _a, meta, profile, recommendations;
|
|
201
207
|
return __generator(this, function (_b) {
|
|
202
208
|
switch (_b.label) {
|
|
203
209
|
case 0:
|
|
@@ -215,12 +221,13 @@ var Client = /** @class */ (function () {
|
|
|
215
221
|
}
|
|
216
222
|
recommendParams = __assign(__assign({ tags: [tag] }, otherParams), { siteId: params.siteId || this.globals.siteId });
|
|
217
223
|
return [4 /*yield*/, Promise.all([
|
|
224
|
+
this.meta(params.siteId ? { siteId: params.siteId } : undefined),
|
|
218
225
|
this.requesters.recommend.getProfile(profileParams),
|
|
219
226
|
this.requesters.recommend.batchRecommendations(recommendParams),
|
|
220
227
|
])];
|
|
221
228
|
case 1:
|
|
222
|
-
_a = _b.sent(),
|
|
223
|
-
return [2 /*return*/, __assign(__assign({}, profile), { results: recommendations[0].results })];
|
|
229
|
+
_a = _b.sent(), meta = _a[0], profile = _a[1], recommendations = _a[2];
|
|
230
|
+
return [2 /*return*/, __assign(__assign({}, profile), { meta: meta, results: recommendations[0] && recommendations[0].results })];
|
|
224
231
|
}
|
|
225
232
|
});
|
|
226
233
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkCache.d.ts","sourceRoot":"","sources":["../../../../src/Client/NetworkCache/NetworkCache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAWrE,qBAAa,YAAY;IACxB,SAAS,CAAC,WAAW,EAAE,KAAK,CAAM;IAClC,SAAS,CAAC,MAAM,EAAE,kBAAkB,CAAC;gBAEzB,MAAM,CAAC,EAAE,WAAW;IAWzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"NetworkCache.d.ts","sourceRoot":"","sources":["../../../../src/Client/NetworkCache/NetworkCache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAWrE,qBAAa,YAAY;IACxB,SAAS,CAAC,WAAW,EAAE,KAAK,CAAM;IAClC,SAAS,CAAC,MAAM,EAAE,kBAAkB,CAAC;gBAEzB,MAAM,CAAC,EAAE,WAAW;IAWzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAkCjC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI;IA2CvC,KAAK;CAUZ"}
|
|
@@ -44,19 +44,21 @@ var NetworkCache = /** @class */ (function () {
|
|
|
44
44
|
return (0, deepmerge_1.default)({}, this.memoryCache[key].value);
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
47
|
+
if (typeof window !== 'undefined' && (window === null || window === void 0 ? void 0 : window.sessionStorage)) {
|
|
48
|
+
var stored = window.sessionStorage.getItem(CACHE_STORAGE_KEY);
|
|
49
|
+
var localData = stored && JSON.parse(stored);
|
|
50
|
+
if (localData && key && localData[key]) {
|
|
51
|
+
// compare the expiry time of the item with the current time
|
|
52
|
+
if (Date.now() >= localData[key].expires) {
|
|
53
|
+
// remove item
|
|
54
|
+
var newStored = __assign({}, localData);
|
|
55
|
+
delete newStored[key];
|
|
56
|
+
// update storage
|
|
57
|
+
window.sessionStorage.setItem(CACHE_STORAGE_KEY, JSON.stringify(newStored));
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
return localData[key].value;
|
|
61
|
+
}
|
|
60
62
|
}
|
|
61
63
|
}
|
|
62
64
|
}
|
|
@@ -74,24 +76,26 @@ var NetworkCache = /** @class */ (function () {
|
|
|
74
76
|
purgeable: this.config.purgeable,
|
|
75
77
|
};
|
|
76
78
|
this.memoryCache[key] = cacheObject;
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
79
|
+
if (typeof window !== 'undefined' && (window === null || window === void 0 ? void 0 : window.sessionStorage)) {
|
|
80
|
+
var stored = window.sessionStorage.getItem(CACHE_STORAGE_KEY);
|
|
81
|
+
var newStored_1 = __assign({}, (stored && JSON.parse(stored)));
|
|
82
|
+
newStored_1[key] = cacheObject;
|
|
83
|
+
var size = new Blob([JSON.stringify(newStored_1)], { endings: 'native' }).size / 1024;
|
|
84
|
+
while (size > this.config.maxSize) {
|
|
85
|
+
var oldestKey = Object.keys(newStored_1)
|
|
86
|
+
.filter(function (key) { return newStored_1[key].purgeable; })
|
|
87
|
+
.sort(function (a, b) {
|
|
88
|
+
return newStored_1[a].expires - newStored_1[b].expires;
|
|
89
|
+
})[0];
|
|
90
|
+
if (!oldestKey)
|
|
91
|
+
break;
|
|
92
|
+
delete newStored_1[oldestKey];
|
|
93
|
+
// recalculate size after removing oldest
|
|
94
|
+
size = new Blob([JSON.stringify(newStored_1)], { endings: 'native' }).size / 1024;
|
|
95
|
+
}
|
|
96
|
+
if (size < this.config.maxSize) {
|
|
97
|
+
window.sessionStorage.setItem(CACHE_STORAGE_KEY, JSON.stringify(newStored_1));
|
|
98
|
+
}
|
|
95
99
|
}
|
|
96
100
|
}
|
|
97
101
|
catch (err) {
|
|
@@ -102,7 +106,9 @@ var NetworkCache = /** @class */ (function () {
|
|
|
102
106
|
NetworkCache.prototype.clear = function () {
|
|
103
107
|
try {
|
|
104
108
|
this.memoryCache = {};
|
|
105
|
-
|
|
109
|
+
if (typeof window !== 'undefined' && (window === null || window === void 0 ? void 0 : window.sessionStorage)) {
|
|
110
|
+
window.sessionStorage.setItem(CACHE_STORAGE_KEY, '');
|
|
111
|
+
}
|
|
106
112
|
}
|
|
107
113
|
catch (err) {
|
|
108
114
|
console.warn('something went wrong, browser might not have cookies enabled');
|
|
@@ -216,7 +216,8 @@ var ApiConfiguration = /** @class */ (function () {
|
|
|
216
216
|
});
|
|
217
217
|
Object.defineProperty(ApiConfiguration.prototype, "fetchApi", {
|
|
218
218
|
get: function () {
|
|
219
|
-
|
|
219
|
+
var _a;
|
|
220
|
+
return this.config.fetchApi || (typeof window !== 'undefined' ? (_a = window.fetch) === null || _a === void 0 ? void 0 : _a.bind(window) : fetch);
|
|
220
221
|
},
|
|
221
222
|
enumerable: false,
|
|
222
223
|
configurable: true
|
|
@@ -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;
|
|
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;IAoCtF,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"}
|
|
@@ -75,17 +75,19 @@ var HybridAPI = /** @class */ (function (_super) {
|
|
|
75
75
|
function HybridAPI(configuration, requesterConfigurations) {
|
|
76
76
|
var _this = _super.call(this, configuration) || this;
|
|
77
77
|
var legacyConfig = (0, deepmerge_1.default)({
|
|
78
|
-
mode: configuration.mode,
|
|
79
|
-
origin: configuration.origin,
|
|
78
|
+
mode: _this.configuration.mode,
|
|
79
|
+
origin: _this.configuration.origin,
|
|
80
80
|
cache: _this.configuration.cache,
|
|
81
|
+
fetchApi: _this.configuration.fetchApi,
|
|
81
82
|
}, (requesterConfigurations === null || requesterConfigurations === void 0 ? void 0 : requesterConfigurations.legacy) || {});
|
|
82
83
|
if (configuration.mode == snap_toolbox_1.AppMode.development) {
|
|
83
84
|
legacyConfig.headers = __assign(__assign({}, legacyConfig.headers), { 'searchspring-no-beacon': '' });
|
|
84
85
|
}
|
|
85
86
|
var suggestConfig = (0, deepmerge_1.default)({
|
|
86
|
-
mode: configuration.mode,
|
|
87
|
-
origin: configuration.origin,
|
|
87
|
+
mode: _this.configuration.mode,
|
|
88
|
+
origin: _this.configuration.origin,
|
|
88
89
|
cache: _this.configuration.cache,
|
|
90
|
+
fetchApi: _this.configuration.fetchApi,
|
|
89
91
|
}, (requesterConfigurations === null || requesterConfigurations === void 0 ? void 0 : requesterConfigurations.suggest) || {});
|
|
90
92
|
var legacyConfiguration = new _1.ApiConfiguration(legacyConfig);
|
|
91
93
|
var suggestConfiguration = new _1.ApiConfiguration(suggestConfig);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Recommend.d.ts","sourceRoot":"","sources":["../../../../src/Client/apis/Recommend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAiD,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAGjI,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAqBvH,qBAAa,YAAa,SAAQ,GAAG;IACpC,OAAO,CAAC,OAAO,CAMb;gBAEU,MAAM,EAAE,gBAAgB;IAK9B,UAAU,CAAC,eAAe,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAgB/E,oBAAoB,CAAC,UAAU,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"Recommend.d.ts","sourceRoot":"","sources":["../../../../src/Client/apis/Recommend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAiD,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAGjI,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAqBvH,qBAAa,YAAa,SAAQ,GAAG;IACpC,OAAO,CAAC,OAAO,CAMb;gBAEU,MAAM,EAAE,gBAAgB;IAK9B,UAAU,CAAC,eAAe,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAgB/E,oBAAoB,CAAC,UAAU,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA+GxF,kBAAkB,CAAC,eAAe,EAAE,wBAAwB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAmB9F,mBAAmB,CAAC,iBAAiB,EAAE,yBAAyB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAmBxG"}
|
|
@@ -117,7 +117,7 @@ var RecommendAPI = /** @class */ (function (_super) {
|
|
|
117
117
|
};
|
|
118
118
|
RecommendAPI.prototype.batchRecommendations = function (parameters) {
|
|
119
119
|
return __awaiter(this, void 0, void 0, function () {
|
|
120
|
-
var key, batch, deferred;
|
|
120
|
+
var key, batch, deferred, timeoutClear, timeoutSet;
|
|
121
121
|
var _this = this;
|
|
122
122
|
return __generator(this, function (_a) {
|
|
123
123
|
key = parameters.batched ? parameters.siteId : "".concat(Math.random());
|
|
@@ -125,9 +125,10 @@ var RecommendAPI = /** @class */ (function (_super) {
|
|
|
125
125
|
deferred = new Deferred();
|
|
126
126
|
// add each request to the list
|
|
127
127
|
batch.entries.push({ request: parameters, deferred: deferred });
|
|
128
|
-
|
|
129
|
-
window.
|
|
130
|
-
batch.timeout
|
|
128
|
+
timeoutClear = typeof window !== 'undefined' ? window.clearTimeout : clearTimeout;
|
|
129
|
+
timeoutSet = typeof window !== 'undefined' ? window.setTimeout : setTimeout;
|
|
130
|
+
timeoutClear && timeoutClear(batch.timeout);
|
|
131
|
+
batch.timeout = timeoutSet(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
131
132
|
var response_1, filters_1, err_1;
|
|
132
133
|
var _a, _b;
|
|
133
134
|
return __generator(this, function (_c) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SearchRequestModel, SearchResponseModelResult, SearchResponseModelPagination, SearchResponseModelSearchMatchTypeEnum, SearchResponseModelMerchandising } from '@searchspring/snapi-types';
|
|
1
|
+
import { SearchRequestModel, SearchResponseModelResult, SearchResponseModelPagination, SearchResponseModelSearchMatchTypeEnum, SearchResponseModelMerchandising, SearchResponseModelResultBadges } from '@searchspring/snapi-types';
|
|
2
2
|
type sortingOption = {
|
|
3
3
|
field: string;
|
|
4
4
|
direction: string;
|
|
@@ -6,6 +6,7 @@ type sortingOption = {
|
|
|
6
6
|
active?: number;
|
|
7
7
|
};
|
|
8
8
|
type rawResult = {
|
|
9
|
+
badges?: SearchResponseModelResultBadges[];
|
|
9
10
|
brand?: string;
|
|
10
11
|
collection_handle?: string[];
|
|
11
12
|
collection_id?: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchResponse.d.ts","sourceRoot":"","sources":["../../../../src/Client/transforms/searchResponse.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"searchResponse.d.ts","sourceRoot":"","sources":["../../../../src/Client/transforms/searchResponse.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,6 +74,8 @@ transformSearchResponse.result = function (rawResult) {
|
|
|
74
74
|
coreFieldValues.msrp = +coreFieldValues.msrp;
|
|
75
75
|
var attributes = Object.keys(rawResult)
|
|
76
76
|
.filter(function (k) { return CORE_FIELDS.indexOf(k) == -1; })
|
|
77
|
+
// remove 'badges' from attributes - but only if it is an object
|
|
78
|
+
.filter(function (k) { return !(k == 'badges' && typeof rawResult[k] == 'object'); })
|
|
77
79
|
.reduce(function (attributes, key) {
|
|
78
80
|
var _a;
|
|
79
81
|
return __assign(__assign({}, attributes), (_a = {}, _a[key] = decodeProperty(rawResult[key] || ''), _a));
|
|
@@ -92,6 +94,7 @@ transformSearchResponse.result = function (rawResult) {
|
|
|
92
94
|
core: coreFieldValues,
|
|
93
95
|
},
|
|
94
96
|
attributes: attributes,
|
|
97
|
+
badges: typeof rawResult.badges == 'object' ? rawResult.badges : [],
|
|
95
98
|
children: children,
|
|
96
99
|
});
|
|
97
100
|
};
|
|
@@ -243,12 +246,12 @@ transformSearchResponse.sorting = function (response) {
|
|
|
243
246
|
};
|
|
244
247
|
transformSearchResponse.merchandising = function (response) {
|
|
245
248
|
var merchandising = response === null || response === void 0 ? void 0 : response.merchandising;
|
|
246
|
-
if (merchandising.content && Array.isArray(merchandising.content) && !merchandising.content.length) {
|
|
249
|
+
if ((merchandising === null || merchandising === void 0 ? void 0 : merchandising.content) && Array.isArray(merchandising.content) && !merchandising.content.length) {
|
|
247
250
|
merchandising.content = {};
|
|
248
251
|
}
|
|
249
252
|
var transformedMerchandising = {
|
|
250
253
|
redirect: (merchandising === null || merchandising === void 0 ? void 0 : merchandising.redirect) || '',
|
|
251
|
-
content: merchandising.content || {},
|
|
254
|
+
content: (merchandising === null || merchandising === void 0 ? void 0 : merchandising.content) || {},
|
|
252
255
|
campaigns: (merchandising === null || merchandising === void 0 ? void 0 : merchandising.triggeredCampaigns) || [],
|
|
253
256
|
personalized: merchandising === null || merchandising === void 0 ? void 0 : merchandising.personalized,
|
|
254
257
|
};
|
|
@@ -279,7 +282,12 @@ transformSearchResponse.search = function (response, request) {
|
|
|
279
282
|
// used for HTML entities decoding
|
|
280
283
|
function decodeProperty(encoded) {
|
|
281
284
|
if (Array.isArray(encoded)) {
|
|
282
|
-
return encoded.map(function (item) {
|
|
285
|
+
return encoded.map(function (item) {
|
|
286
|
+
if (typeof item === 'string') {
|
|
287
|
+
return (0, htmlUnescape_1.htmlUnescape)(String(item));
|
|
288
|
+
}
|
|
289
|
+
return item;
|
|
290
|
+
});
|
|
283
291
|
}
|
|
284
292
|
else {
|
|
285
293
|
return (0, htmlUnescape_1.htmlUnescape)(String(encoded));
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AppMode } from '@searchspring/snap-toolbox';
|
|
2
|
-
import type { MetaRequestModel, SearchResponseModelResult, SearchRequestModel, AutocompleteRequestModel } from '@searchspring/snapi-types';
|
|
2
|
+
import type { MetaRequestModel, SearchResponseModelResult, SearchRequestModel, AutocompleteRequestModel, MetaResponseModel } from '@searchspring/snapi-types';
|
|
3
3
|
export type HTTPHeaders = {
|
|
4
4
|
[key: string]: string;
|
|
5
5
|
};
|
|
@@ -11,6 +11,7 @@ type RequesterConfig<T> = {
|
|
|
11
11
|
};
|
|
12
12
|
export type ClientConfig = {
|
|
13
13
|
mode?: keyof typeof AppMode | AppMode;
|
|
14
|
+
fetchApi?: WindowOrWorkerGlobalScope['fetch'];
|
|
14
15
|
meta?: RequesterConfig<MetaRequestModel>;
|
|
15
16
|
search?: RequesterConfig<SearchRequestModel>;
|
|
16
17
|
autocomplete?: RequesterConfig<AutocompleteRequestModel> & {
|
|
@@ -178,6 +179,8 @@ type RecommendationRequestValueFilterModel = {
|
|
|
178
179
|
};
|
|
179
180
|
export type RecommendCombinedResponseModel = ProfileResponseModel & {
|
|
180
181
|
results: SearchResponseModelResult[];
|
|
182
|
+
} & {
|
|
183
|
+
meta: MetaResponseModel;
|
|
181
184
|
};
|
|
182
185
|
export {};
|
|
183
186
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/cjs/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/Client/Client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EAGrB,6BAA6B,EAC7B,8BAA8B,EAC9B,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EACX,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,MAAM,2BAA2B,CAAC;AA4BnC,qBAAa,MAAM;IAClB,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAOhB;gBAEU,OAAO,EAAE,aAAa,EAAE,MAAM,GAAE,YAAiB;
|
|
1
|
+
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/Client/Client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EAGrB,6BAA6B,EAC7B,8BAA8B,EAC9B,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EACX,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,MAAM,2BAA2B,CAAC;AA4BnC,qBAAa,MAAM;IAClB,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAOhB;gBAEU,OAAO,EAAE,aAAa,EAAE,MAAM,GAAE,YAAiB;IA6EvD,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,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;CAkC/F"}
|
|
@@ -37,6 +37,7 @@ export class Client {
|
|
|
37
37
|
}
|
|
38
38
|
this.requesters = {
|
|
39
39
|
autocomplete: new HybridAPI(new ApiConfiguration({
|
|
40
|
+
fetchApi: this.config.fetchApi,
|
|
40
41
|
mode: this.mode,
|
|
41
42
|
origin: this.config.autocomplete?.origin,
|
|
42
43
|
headers: this.config.autocomplete?.headers,
|
|
@@ -44,6 +45,7 @@ export class Client {
|
|
|
44
45
|
globals: this.config.autocomplete?.globals,
|
|
45
46
|
}), this.config.autocomplete?.requesters),
|
|
46
47
|
meta: new HybridAPI(new ApiConfiguration({
|
|
48
|
+
fetchApi: this.config.fetchApi,
|
|
47
49
|
mode: this.mode,
|
|
48
50
|
origin: this.config.meta?.origin,
|
|
49
51
|
headers: this.config.meta?.headers,
|
|
@@ -51,6 +53,7 @@ export class Client {
|
|
|
51
53
|
globals: this.config.meta?.globals,
|
|
52
54
|
})),
|
|
53
55
|
recommend: new RecommendAPI(new ApiConfiguration({
|
|
56
|
+
fetchApi: this.config.fetchApi,
|
|
54
57
|
mode: this.mode,
|
|
55
58
|
origin: this.config.recommend?.origin,
|
|
56
59
|
headers: this.config.recommend?.headers,
|
|
@@ -58,6 +61,7 @@ export class Client {
|
|
|
58
61
|
globals: this.config.recommend?.globals,
|
|
59
62
|
})),
|
|
60
63
|
search: new HybridAPI(new ApiConfiguration({
|
|
64
|
+
fetchApi: this.config.fetchApi,
|
|
61
65
|
mode: this.mode,
|
|
62
66
|
origin: this.config.search?.origin,
|
|
63
67
|
headers: this.config.search?.headers,
|
|
@@ -65,6 +69,7 @@ export class Client {
|
|
|
65
69
|
globals: this.config.search?.globals,
|
|
66
70
|
})),
|
|
67
71
|
finder: new HybridAPI(new ApiConfiguration({
|
|
72
|
+
fetchApi: this.config.fetchApi,
|
|
68
73
|
mode: this.mode,
|
|
69
74
|
origin: this.config.finder?.origin,
|
|
70
75
|
headers: this.config.finder?.headers,
|
|
@@ -72,6 +77,7 @@ export class Client {
|
|
|
72
77
|
globals: this.config.finder?.globals,
|
|
73
78
|
})),
|
|
74
79
|
suggest: new SuggestAPI(new ApiConfiguration({
|
|
80
|
+
fetchApi: this.config.fetchApi,
|
|
75
81
|
mode: this.mode,
|
|
76
82
|
origin: this.config.suggest?.origin,
|
|
77
83
|
headers: this.config.suggest?.headers,
|
|
@@ -122,13 +128,15 @@ export class Client {
|
|
|
122
128
|
...otherParams,
|
|
123
129
|
siteId: params.siteId || this.globals.siteId,
|
|
124
130
|
};
|
|
125
|
-
const [profile, recommendations] = await Promise.all([
|
|
131
|
+
const [meta, profile, recommendations] = await Promise.all([
|
|
132
|
+
this.meta(params.siteId ? { siteId: params.siteId } : undefined),
|
|
126
133
|
this.requesters.recommend.getProfile(profileParams),
|
|
127
134
|
this.requesters.recommend.batchRecommendations(recommendParams),
|
|
128
135
|
]);
|
|
129
136
|
return {
|
|
130
137
|
...profile,
|
|
131
|
-
|
|
138
|
+
meta,
|
|
139
|
+
results: recommendations[0] && recommendations[0].results,
|
|
132
140
|
};
|
|
133
141
|
}
|
|
134
142
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkCache.d.ts","sourceRoot":"","sources":["../../../../src/Client/NetworkCache/NetworkCache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAWrE,qBAAa,YAAY;IACxB,SAAS,CAAC,WAAW,EAAE,KAAK,CAAM;IAClC,SAAS,CAAC,MAAM,EAAE,kBAAkB,CAAC;gBAEzB,MAAM,CAAC,EAAE,WAAW;IAWzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"NetworkCache.d.ts","sourceRoot":"","sources":["../../../../src/Client/NetworkCache/NetworkCache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAWrE,qBAAa,YAAY;IACxB,SAAS,CAAC,WAAW,EAAE,KAAK,CAAM;IAClC,SAAS,CAAC,MAAM,EAAE,kBAAkB,CAAC;gBAEzB,MAAM,CAAC,EAAE,WAAW;IAWzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAkCjC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI;IA2CvC,KAAK;CAUZ"}
|
|
@@ -25,21 +25,23 @@ export class NetworkCache {
|
|
|
25
25
|
return deepmerge({}, this.memoryCache[key].value);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
28
|
+
if (typeof window !== 'undefined' && window?.sessionStorage) {
|
|
29
|
+
const stored = window.sessionStorage.getItem(CACHE_STORAGE_KEY);
|
|
30
|
+
const localData = stored && JSON.parse(stored);
|
|
31
|
+
if (localData && key && localData[key]) {
|
|
32
|
+
// compare the expiry time of the item with the current time
|
|
33
|
+
if (Date.now() >= localData[key].expires) {
|
|
34
|
+
// remove item
|
|
35
|
+
const newStored = {
|
|
36
|
+
...localData,
|
|
37
|
+
};
|
|
38
|
+
delete newStored[key];
|
|
39
|
+
// update storage
|
|
40
|
+
window.sessionStorage.setItem(CACHE_STORAGE_KEY, JSON.stringify(newStored));
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
return localData[key].value;
|
|
44
|
+
}
|
|
43
45
|
}
|
|
44
46
|
}
|
|
45
47
|
}
|
|
@@ -57,26 +59,28 @@ export class NetworkCache {
|
|
|
57
59
|
purgeable: this.config.purgeable,
|
|
58
60
|
};
|
|
59
61
|
this.memoryCache[key] = cacheObject;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
.
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
62
|
+
if (typeof window !== 'undefined' && window?.sessionStorage) {
|
|
63
|
+
const stored = window.sessionStorage.getItem(CACHE_STORAGE_KEY);
|
|
64
|
+
const newStored = {
|
|
65
|
+
...(stored && JSON.parse(stored)),
|
|
66
|
+
};
|
|
67
|
+
newStored[key] = cacheObject;
|
|
68
|
+
let size = new Blob([JSON.stringify(newStored)], { endings: 'native' }).size / 1024;
|
|
69
|
+
while (size > this.config.maxSize) {
|
|
70
|
+
const oldestKey = Object.keys(newStored)
|
|
71
|
+
.filter((key) => newStored[key].purgeable)
|
|
72
|
+
.sort((a, b) => {
|
|
73
|
+
return newStored[a].expires - newStored[b].expires;
|
|
74
|
+
})[0];
|
|
75
|
+
if (!oldestKey)
|
|
76
|
+
break;
|
|
77
|
+
delete newStored[oldestKey];
|
|
78
|
+
// recalculate size after removing oldest
|
|
79
|
+
size = new Blob([JSON.stringify(newStored)], { endings: 'native' }).size / 1024;
|
|
80
|
+
}
|
|
81
|
+
if (size < this.config.maxSize) {
|
|
82
|
+
window.sessionStorage.setItem(CACHE_STORAGE_KEY, JSON.stringify(newStored));
|
|
83
|
+
}
|
|
80
84
|
}
|
|
81
85
|
}
|
|
82
86
|
catch (err) {
|
|
@@ -87,7 +91,9 @@ export class NetworkCache {
|
|
|
87
91
|
clear() {
|
|
88
92
|
try {
|
|
89
93
|
this.memoryCache = {};
|
|
90
|
-
|
|
94
|
+
if (typeof window !== 'undefined' && window?.sessionStorage) {
|
|
95
|
+
window.sessionStorage.setItem(CACHE_STORAGE_KEY, '');
|
|
96
|
+
}
|
|
91
97
|
}
|
|
92
98
|
catch (err) {
|
|
93
99
|
console.warn('something went wrong, browser might not have cookies enabled');
|
|
@@ -116,7 +116,7 @@ export class ApiConfiguration {
|
|
|
116
116
|
return this.config.origin || '';
|
|
117
117
|
}
|
|
118
118
|
get fetchApi() {
|
|
119
|
-
return this.config.fetchApi || window.fetch
|
|
119
|
+
return this.config.fetchApi || (typeof window !== 'undefined' ? window.fetch?.bind(window) : fetch);
|
|
120
120
|
}
|
|
121
121
|
get queryParamsStringify() {
|
|
122
122
|
return this.config.queryParamsStringify || querystring;
|
|
@@ -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;
|
|
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;IAoCtF,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"}
|
|
@@ -6,17 +6,19 @@ export class HybridAPI extends API {
|
|
|
6
6
|
constructor(configuration, requesterConfigurations) {
|
|
7
7
|
super(configuration);
|
|
8
8
|
const legacyConfig = deepmerge({
|
|
9
|
-
mode: configuration.mode,
|
|
10
|
-
origin: configuration.origin,
|
|
9
|
+
mode: this.configuration.mode,
|
|
10
|
+
origin: this.configuration.origin,
|
|
11
11
|
cache: this.configuration.cache,
|
|
12
|
+
fetchApi: this.configuration.fetchApi,
|
|
12
13
|
}, requesterConfigurations?.legacy || {});
|
|
13
14
|
if (configuration.mode == AppMode.development) {
|
|
14
15
|
legacyConfig.headers = { ...legacyConfig.headers, 'searchspring-no-beacon': '' };
|
|
15
16
|
}
|
|
16
17
|
const suggestConfig = deepmerge({
|
|
17
|
-
mode: configuration.mode,
|
|
18
|
-
origin: configuration.origin,
|
|
18
|
+
mode: this.configuration.mode,
|
|
19
|
+
origin: this.configuration.origin,
|
|
19
20
|
cache: this.configuration.cache,
|
|
21
|
+
fetchApi: this.configuration.fetchApi,
|
|
20
22
|
}, requesterConfigurations?.suggest || {});
|
|
21
23
|
const legacyConfiguration = new ApiConfiguration(legacyConfig);
|
|
22
24
|
const suggestConfiguration = new ApiConfiguration(suggestConfig);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Recommend.d.ts","sourceRoot":"","sources":["../../../../src/Client/apis/Recommend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAiD,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAGjI,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAqBvH,qBAAa,YAAa,SAAQ,GAAG;IACpC,OAAO,CAAC,OAAO,CAMb;gBAEU,MAAM,EAAE,gBAAgB;IAK9B,UAAU,CAAC,eAAe,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAgB/E,oBAAoB,CAAC,UAAU,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"Recommend.d.ts","sourceRoot":"","sources":["../../../../src/Client/apis/Recommend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAiD,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAGjI,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAqBvH,qBAAa,YAAa,SAAQ,GAAG;IACpC,OAAO,CAAC,OAAO,CAMb;gBAEU,MAAM,EAAE,gBAAgB;IAK9B,UAAU,CAAC,eAAe,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAgB/E,oBAAoB,CAAC,UAAU,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA+GxF,kBAAkB,CAAC,eAAe,EAAE,wBAAwB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAmB9F,mBAAmB,CAAC,iBAAiB,EAAE,yBAAyB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAmBxG"}
|
|
@@ -33,8 +33,10 @@ export class RecommendAPI extends API {
|
|
|
33
33
|
// add each request to the list
|
|
34
34
|
batch.entries.push({ request: parameters, deferred: deferred });
|
|
35
35
|
// wait for all of the requests to come in
|
|
36
|
-
window.clearTimeout
|
|
37
|
-
|
|
36
|
+
const timeoutClear = typeof window !== 'undefined' ? window.clearTimeout : clearTimeout;
|
|
37
|
+
const timeoutSet = typeof window !== 'undefined' ? window.setTimeout : setTimeout;
|
|
38
|
+
timeoutClear && timeoutClear(batch.timeout);
|
|
39
|
+
batch.timeout = timeoutSet(async () => {
|
|
38
40
|
// delete the batch so a new one can take its place
|
|
39
41
|
delete this.batches[key];
|
|
40
42
|
// reorder the requests by order value in context.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SearchRequestModel, SearchResponseModelResult, SearchResponseModelPagination, SearchResponseModelSearchMatchTypeEnum, SearchResponseModelMerchandising } from '@searchspring/snapi-types';
|
|
1
|
+
import { SearchRequestModel, SearchResponseModelResult, SearchResponseModelPagination, SearchResponseModelSearchMatchTypeEnum, SearchResponseModelMerchandising, SearchResponseModelResultBadges } from '@searchspring/snapi-types';
|
|
2
2
|
type sortingOption = {
|
|
3
3
|
field: string;
|
|
4
4
|
direction: string;
|
|
@@ -6,6 +6,7 @@ type sortingOption = {
|
|
|
6
6
|
active?: number;
|
|
7
7
|
};
|
|
8
8
|
type rawResult = {
|
|
9
|
+
badges?: SearchResponseModelResultBadges[];
|
|
9
10
|
brand?: string;
|
|
10
11
|
collection_handle?: string[];
|
|
11
12
|
collection_id?: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchResponse.d.ts","sourceRoot":"","sources":["../../../../src/Client/transforms/searchResponse.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"searchResponse.d.ts","sourceRoot":"","sources":["../../../../src/Client/transforms/searchResponse.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,6 +67,8 @@ transformSearchResponse.result = (rawResult) => {
|
|
|
67
67
|
coreFieldValues.msrp = +coreFieldValues.msrp;
|
|
68
68
|
const attributes = Object.keys(rawResult)
|
|
69
69
|
.filter((k) => CORE_FIELDS.indexOf(k) == -1)
|
|
70
|
+
// remove 'badges' from attributes - but only if it is an object
|
|
71
|
+
.filter((k) => !(k == 'badges' && typeof rawResult[k] == 'object'))
|
|
70
72
|
.reduce((attributes, key) => {
|
|
71
73
|
return {
|
|
72
74
|
...attributes,
|
|
@@ -91,6 +93,7 @@ transformSearchResponse.result = (rawResult) => {
|
|
|
91
93
|
core: coreFieldValues,
|
|
92
94
|
},
|
|
93
95
|
attributes,
|
|
96
|
+
badges: typeof rawResult.badges == 'object' ? rawResult.badges : [],
|
|
94
97
|
children,
|
|
95
98
|
});
|
|
96
99
|
};
|
|
@@ -243,12 +246,12 @@ transformSearchResponse.sorting = (response) => {
|
|
|
243
246
|
};
|
|
244
247
|
transformSearchResponse.merchandising = (response) => {
|
|
245
248
|
const merchandising = response?.merchandising;
|
|
246
|
-
if (merchandising
|
|
249
|
+
if (merchandising?.content && Array.isArray(merchandising.content) && !merchandising.content.length) {
|
|
247
250
|
merchandising.content = {};
|
|
248
251
|
}
|
|
249
252
|
const transformedMerchandising = {
|
|
250
253
|
redirect: merchandising?.redirect || '',
|
|
251
|
-
content: merchandising
|
|
254
|
+
content: merchandising?.content || {},
|
|
252
255
|
campaigns: merchandising?.triggeredCampaigns || [],
|
|
253
256
|
personalized: merchandising?.personalized,
|
|
254
257
|
};
|
|
@@ -278,7 +281,12 @@ transformSearchResponse.search = (response, request) => {
|
|
|
278
281
|
// used for HTML entities decoding
|
|
279
282
|
function decodeProperty(encoded) {
|
|
280
283
|
if (Array.isArray(encoded)) {
|
|
281
|
-
return encoded.map((item) =>
|
|
284
|
+
return encoded.map((item) => {
|
|
285
|
+
if (typeof item === 'string') {
|
|
286
|
+
return htmlUnescape(String(item));
|
|
287
|
+
}
|
|
288
|
+
return item;
|
|
289
|
+
});
|
|
282
290
|
}
|
|
283
291
|
else {
|
|
284
292
|
return htmlUnescape(String(encoded));
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AppMode } from '@searchspring/snap-toolbox';
|
|
2
|
-
import type { MetaRequestModel, SearchResponseModelResult, SearchRequestModel, AutocompleteRequestModel } from '@searchspring/snapi-types';
|
|
2
|
+
import type { MetaRequestModel, SearchResponseModelResult, SearchRequestModel, AutocompleteRequestModel, MetaResponseModel } from '@searchspring/snapi-types';
|
|
3
3
|
export type HTTPHeaders = {
|
|
4
4
|
[key: string]: string;
|
|
5
5
|
};
|
|
@@ -11,6 +11,7 @@ type RequesterConfig<T> = {
|
|
|
11
11
|
};
|
|
12
12
|
export type ClientConfig = {
|
|
13
13
|
mode?: keyof typeof AppMode | AppMode;
|
|
14
|
+
fetchApi?: WindowOrWorkerGlobalScope['fetch'];
|
|
14
15
|
meta?: RequesterConfig<MetaRequestModel>;
|
|
15
16
|
search?: RequesterConfig<SearchRequestModel>;
|
|
16
17
|
autocomplete?: RequesterConfig<AutocompleteRequestModel> & {
|
|
@@ -178,6 +179,8 @@ type RecommendationRequestValueFilterModel = {
|
|
|
178
179
|
};
|
|
179
180
|
export type RecommendCombinedResponseModel = ProfileResponseModel & {
|
|
180
181
|
results: SearchResponseModelResult[];
|
|
182
|
+
} & {
|
|
183
|
+
meta: MetaResponseModel;
|
|
181
184
|
};
|
|
182
185
|
export {};
|
|
183
186
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/esm/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@searchspring/snap-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.55.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.55.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": "ad413e17c9756a28e1972173b3b25f0a4dcb127c"
|
|
31
31
|
}
|