@searchspring/snap-client 0.20.4 → 0.20.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.
- package/README.md +91 -17
- package/dist/cjs/Client/Client.d.ts.map +1 -1
- package/dist/cjs/Client/Client.js +5 -5
- package/dist/cjs/Client/NetworkCache/NetworkCache.d.ts.map +1 -1
- package/dist/cjs/Client/NetworkCache/NetworkCache.js +6 -0
- package/dist/cjs/Client/apis/Abstract.d.ts +2 -2
- package/dist/cjs/Client/apis/Abstract.d.ts.map +1 -1
- package/dist/cjs/Client/apis/Abstract.js +3 -3
- package/dist/cjs/Client/apis/Hybrid.js +2 -2
- package/dist/cjs/Client/apis/Recommend.d.ts +1 -0
- package/dist/cjs/Client/apis/Recommend.d.ts.map +1 -1
- package/dist/cjs/Client/apis/Recommend.js +6 -5
- package/dist/cjs/Client/utils/hashParams.d.ts +1 -1
- package/dist/cjs/Client/utils/hashParams.d.ts.map +1 -1
- package/dist/cjs/types.d.ts +3 -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 +5 -6
- package/dist/esm/Client/NetworkCache/NetworkCache.d.ts.map +1 -1
- package/dist/esm/Client/NetworkCache/NetworkCache.js +5 -0
- package/dist/esm/Client/apis/Abstract.d.ts +2 -2
- package/dist/esm/Client/apis/Abstract.d.ts.map +1 -1
- package/dist/esm/Client/apis/Abstract.js +3 -3
- package/dist/esm/Client/apis/Hybrid.js +2 -2
- package/dist/esm/Client/apis/Recommend.d.ts +1 -0
- package/dist/esm/Client/apis/Recommend.d.ts.map +1 -1
- package/dist/esm/Client/apis/Recommend.js +4 -3
- package/dist/esm/Client/utils/hashParams.d.ts +1 -1
- package/dist/esm/Client/utils/hashParams.d.ts.map +1 -1
- package/dist/esm/types.d.ts +3 -1
- package/dist/esm/types.d.ts.map +1 -1
- package/package.json +6 -2
- package/dist/cjs/Client/utils/charsParams.d.ts +0 -3
- package/dist/cjs/Client/utils/charsParams.d.ts.map +0 -1
- package/dist/cjs/Client/utils/charsParams.js +0 -23
- package/dist/esm/Client/utils/charsParams.d.ts +0 -3
- package/dist/esm/Client/utils/charsParams.d.ts.map +0 -1
- package/dist/esm/Client/utils/charsParams.js +0 -19
package/README.md
CHANGED
|
@@ -51,7 +51,7 @@ const globals = {
|
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
## Client Config
|
|
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
57
|
export type ClientConfig = {
|
|
@@ -82,6 +82,7 @@ export type CacheConfig = {
|
|
|
82
82
|
ttl?: number;
|
|
83
83
|
maxSize?: number;
|
|
84
84
|
purgeable?: boolean;
|
|
85
|
+
entries?: { [key: string]: Response };
|
|
85
86
|
};
|
|
86
87
|
|
|
87
88
|
export type SnapApiConfig = {
|
|
@@ -93,8 +94,6 @@ export type SnapApiConfig = {
|
|
|
93
94
|
## Controller usage
|
|
94
95
|
Snap Client is a dependency of Snap Controller and it is recommended to use the Controller's `search` method to perform a search.
|
|
95
96
|
|
|
96
|
-
|
|
97
|
-
|
|
98
97
|
## Cache usage
|
|
99
98
|
Each requester in the Snap Client has its own cache settings, which can be configured via the `ClientConfig` under `cache`. Settings include:
|
|
100
99
|
|
|
@@ -106,9 +105,58 @@ Each requester in the Snap Client has its own cache settings, which can be confi
|
|
|
106
105
|
|
|
107
106
|
`purgeable`: to allow auto purging of the requests from localstorage when maxSize is hit, based on time remaining to expiration. - Defaults to `true` with the exception of `meta`,
|
|
108
107
|
|
|
108
|
+
`entries`: to allow preload the cache. This is primarily used in Email Recommendations.
|
|
109
109
|
|
|
110
|
-
## Standalone usage
|
|
111
110
|
```typescript
|
|
111
|
+
const metaResponse = {
|
|
112
|
+
"facets": {
|
|
113
|
+
"brand": {
|
|
114
|
+
"display": "list",
|
|
115
|
+
"label": "Brand",
|
|
116
|
+
"collapsed": false,
|
|
117
|
+
"multiple": "or"
|
|
118
|
+
},
|
|
119
|
+
"collection": {
|
|
120
|
+
"display": "list",
|
|
121
|
+
"label": "Collection",
|
|
122
|
+
"collapsed": false,
|
|
123
|
+
"multiple": "or"
|
|
124
|
+
},
|
|
125
|
+
"color_family": {
|
|
126
|
+
"display": "palette",
|
|
127
|
+
"label": "Color",
|
|
128
|
+
"collapsed": false,
|
|
129
|
+
"multiple": "or"
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
"sortOptions": [
|
|
133
|
+
{
|
|
134
|
+
"type": "relevance",
|
|
135
|
+
"field": "relevance",
|
|
136
|
+
"direction": "desc",
|
|
137
|
+
"label": "Best Match"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"type": "field",
|
|
141
|
+
"field": "sales_rank",
|
|
142
|
+
"direction": "desc",
|
|
143
|
+
"label": "Most Popular"
|
|
144
|
+
}
|
|
145
|
+
]
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
const metaKey = `/api/meta/meta.json{"siteId":"8uyt2m"}`;
|
|
149
|
+
|
|
150
|
+
const clientConfig = {
|
|
151
|
+
search: {
|
|
152
|
+
cache: {
|
|
153
|
+
entries: {
|
|
154
|
+
[metaKey]: metaResponse
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
112
160
|
const client = new Client(globals, clientConfig);
|
|
113
161
|
|
|
114
162
|
const results = await client.search({
|
|
@@ -120,13 +168,26 @@ const results = await client.search({
|
|
|
120
168
|
});
|
|
121
169
|
```
|
|
122
170
|
|
|
171
|
+
## Standalone usage
|
|
172
|
+
```typescript
|
|
173
|
+
const client = new Client(globals, clientConfig);
|
|
174
|
+
|
|
175
|
+
const [meta, results] = await client.search({
|
|
176
|
+
search: {
|
|
177
|
+
query: {
|
|
178
|
+
string: 'dress'
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
```
|
|
183
|
+
|
|
123
184
|
## `search` method
|
|
124
185
|
Makes a request to the Searchspring Search API and returns a promise.
|
|
125
186
|
|
|
126
187
|
```typescript
|
|
127
188
|
const client = new Client(globals, clientConfig);
|
|
128
189
|
|
|
129
|
-
const results = await client.search({
|
|
190
|
+
const [meta, results] = await client.search({
|
|
130
191
|
search: {
|
|
131
192
|
query: {
|
|
132
193
|
string: 'dress'
|
|
@@ -141,7 +202,7 @@ Makes a request to the Searchspring Autocomplete API and returns a promise.
|
|
|
141
202
|
```typescript
|
|
142
203
|
const client = new Client(globals, clientConfig);
|
|
143
204
|
|
|
144
|
-
const results = await client.autocomplete({
|
|
205
|
+
const [meta, results] = await client.autocomplete({
|
|
145
206
|
suggestions: {
|
|
146
207
|
count: 5
|
|
147
208
|
},
|
|
@@ -154,21 +215,34 @@ const results = await client.autocomplete({
|
|
|
154
215
|
});
|
|
155
216
|
```
|
|
156
217
|
|
|
157
|
-
## `meta`
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
Note that the `search` method sets the `meta` property, therefore it must be called before attempting to access the `meta` property.
|
|
218
|
+
## `meta` method
|
|
219
|
+
Makes a request to the Searchspring Search API to fetch meta properties, it returns a promise. The `search` method utilizes this method.
|
|
161
220
|
|
|
162
221
|
```typescript
|
|
163
222
|
const client = new Client(globals, clientConfig);
|
|
223
|
+
const meta = await client.meta();
|
|
224
|
+
```
|
|
164
225
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
226
|
+
## `trending` method
|
|
227
|
+
Makes a request to the Searchspring Trending API and returns a promise.
|
|
228
|
+
|
|
229
|
+
```typescript
|
|
230
|
+
const client = new Client(globals, clientConfig);
|
|
231
|
+
const results = await client.trending({
|
|
232
|
+
siteId: 'abc123',
|
|
233
|
+
limit: 5
|
|
171
234
|
});
|
|
235
|
+
```
|
|
172
236
|
|
|
173
|
-
|
|
237
|
+
## `recommend` method
|
|
238
|
+
Makes a request to the Searchspring Recommend API and returns a promise.
|
|
239
|
+
|
|
240
|
+
```typescript
|
|
241
|
+
const client = new Client(globals, clientConfig);
|
|
242
|
+
const results = await client.recommend({
|
|
243
|
+
tag: 'similar',
|
|
244
|
+
siteId: 'abc123',
|
|
245
|
+
product: 'product123',
|
|
246
|
+
shopper: 'snapdev',
|
|
247
|
+
});
|
|
174
248
|
```
|
|
@@ -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;
|
|
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"}
|
|
@@ -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
|
-
|
|
106
|
+
cache: this.config.autocomplete.cache,
|
|
107
107
|
})),
|
|
108
108
|
meta: new apis_1.HybridAPI(new apis_1.ApiConfiguration({
|
|
109
109
|
origin: (_d = (_c = this.config.meta) === null || _c === void 0 ? void 0 : _c.api) === null || _d === void 0 ? void 0 : _d.origin,
|
|
110
|
-
|
|
110
|
+
cache: this.config.meta.cache,
|
|
111
111
|
})),
|
|
112
112
|
recommend: new apis_1.RecommendAPI(new apis_1.ApiConfiguration({
|
|
113
113
|
origin: (_f = (_e = this.config.recommend) === null || _e === void 0 ? void 0 : _e.api) === null || _f === void 0 ? void 0 : _f.origin,
|
|
114
|
-
|
|
114
|
+
cache: this.config.recommend.cache,
|
|
115
115
|
})),
|
|
116
116
|
search: new apis_1.HybridAPI(new apis_1.ApiConfiguration({
|
|
117
117
|
origin: (_h = (_g = this.config.search) === null || _g === void 0 ? void 0 : _g.api) === null || _h === void 0 ? void 0 : _h.origin,
|
|
118
|
-
|
|
118
|
+
cache: this.config.search.cache,
|
|
119
119
|
})),
|
|
120
120
|
suggest: new apis_1.SuggestAPI(new apis_1.ApiConfiguration({
|
|
121
121
|
origin: (_k = (_j = this.config.suggest) === null || _j === void 0 ? void 0 : _j.api) === null || _k === void 0 ? void 0 : _k.origin,
|
|
122
|
-
|
|
122
|
+
cache: this.config.suggest.cache,
|
|
123
123
|
})),
|
|
124
124
|
};
|
|
125
125
|
}
|
|
@@ -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;
|
|
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"}
|
|
@@ -25,8 +25,14 @@ var defaultConfig = {
|
|
|
25
25
|
};
|
|
26
26
|
var NetworkCache = /** @class */ (function () {
|
|
27
27
|
function NetworkCache(config) {
|
|
28
|
+
var _this = this;
|
|
28
29
|
this.memoryCache = {};
|
|
29
30
|
this.config = (0, deepmerge_1.default)(defaultConfig, config || {});
|
|
31
|
+
if (this.config.entries) {
|
|
32
|
+
Object.keys(this.config.entries).map(function (key) {
|
|
33
|
+
_this.set(key, _this.config.entries[key]);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
30
36
|
}
|
|
31
37
|
NetworkCache.prototype.get = function (key) {
|
|
32
38
|
try {
|
|
@@ -33,12 +33,12 @@ export interface ApiConfigurationParameters {
|
|
|
33
33
|
queryParamsStringify?: (params: HTTPQuery) => string;
|
|
34
34
|
headers?: HTTPHeaders;
|
|
35
35
|
maxRetry?: number;
|
|
36
|
-
|
|
36
|
+
cache?: CacheConfig;
|
|
37
37
|
}
|
|
38
38
|
export declare class ApiConfiguration {
|
|
39
39
|
private configuration;
|
|
40
40
|
constructor(configuration: ApiConfigurationParameters);
|
|
41
|
-
get
|
|
41
|
+
get cache(): CacheConfig;
|
|
42
42
|
get maxRetry(): number;
|
|
43
43
|
get origin(): string;
|
|
44
44
|
get fetchApi(): FetchAPI;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Abstract.d.ts","sourceRoot":"","sources":["../../../../src/Client/apis/Abstract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C,oBAAY,IAAI,GAAG,GAAG,CAAC;AACvB,oBAAY,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAC1F,oBAAY,WAAW,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AACpD,oBAAY,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,SAAS,CAAA;CAAE,CAAC;AAClI,oBAAY,QAAQ,GAAG,IAAI,GAAG,QAAQ,GAAG,eAAe,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAC;CAChB;AAED,qBAAa,GAAG;IAMH,SAAS,CAAC,aAAa,EAAE,gBAAgB;IALrD,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,UAAU,CAAK;IAEhB,KAAK,EAAE,YAAY,CAAC;gBAEL,aAAa,EAAE,gBAAgB;cAIrC,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;IAmChF,OAAO,CAAC,iBAAiB;IA+BzB,OAAO,CAAC,QAAQ,CAId;CACF;AAED,oBAAY,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAE1D,MAAM,WAAW,0BAA0B;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,CAAC;IACrD,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,
|
|
1
|
+
{"version":3,"file":"Abstract.d.ts","sourceRoot":"","sources":["../../../../src/Client/apis/Abstract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C,oBAAY,IAAI,GAAG,GAAG,CAAC;AACvB,oBAAY,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAC1F,oBAAY,WAAW,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AACpD,oBAAY,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,SAAS,CAAA;CAAE,CAAC;AAClI,oBAAY,QAAQ,GAAG,IAAI,GAAG,QAAQ,GAAG,eAAe,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAC;CAChB;AAED,qBAAa,GAAG;IAMH,SAAS,CAAC,aAAa,EAAE,gBAAgB;IALrD,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,UAAU,CAAK;IAEhB,KAAK,EAAE,YAAY,CAAC;gBAEL,aAAa,EAAE,gBAAgB;cAIrC,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;IAmChF,OAAO,CAAC,iBAAiB;IA+BzB,OAAO,CAAC,QAAQ,CAId;CACF;AAED,oBAAY,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAE1D,MAAM,WAAW,0BAA0B;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,CAAC;IACrD,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,CAAC;CACpB;AAED,qBAAa,gBAAgB;IAChB,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,0BAA0B;IAM7D,IAAI,KAAK,IAAI,WAAW,CAEvB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,IAAI,oBAAoB,IAAI,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,CAExD;IAED,IAAI,OAAO,IAAI,WAAW,GAAG,SAAS,CAErC;CACD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,SAAK,GAAG,MAAM,CAmBlE"}
|
|
@@ -57,7 +57,7 @@ var API = /** @class */ (function () {
|
|
|
57
57
|
}
|
|
58
58
|
});
|
|
59
59
|
}); };
|
|
60
|
-
this.cache = new NetworkCache_1.NetworkCache(configuration.
|
|
60
|
+
this.cache = new NetworkCache_1.NetworkCache(configuration.cache);
|
|
61
61
|
}
|
|
62
62
|
API.prototype.request = function (context, cacheKey) {
|
|
63
63
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -140,9 +140,9 @@ var ApiConfiguration = /** @class */ (function () {
|
|
|
140
140
|
this.configuration.maxRetry = 8;
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
|
-
Object.defineProperty(ApiConfiguration.prototype, "
|
|
143
|
+
Object.defineProperty(ApiConfiguration.prototype, "cache", {
|
|
144
144
|
get: function () {
|
|
145
|
-
return this.configuration.
|
|
145
|
+
return this.configuration.cache;
|
|
146
146
|
},
|
|
147
147
|
enumerable: false,
|
|
148
148
|
configurable: true
|
|
@@ -70,8 +70,8 @@ var HybridAPI = /** @class */ (function (_super) {
|
|
|
70
70
|
function HybridAPI(configuration) {
|
|
71
71
|
var _this = _super.call(this, configuration) || this;
|
|
72
72
|
_this.requesters = {
|
|
73
|
-
legacy: new _1.LegacyAPI(new _1.ApiConfiguration({ origin: configuration.origin,
|
|
74
|
-
suggest: new _1.SuggestAPI(new _1.ApiConfiguration({ origin: configuration.origin,
|
|
73
|
+
legacy: new _1.LegacyAPI(new _1.ApiConfiguration({ origin: configuration.origin, cache: _this.configuration.cache })),
|
|
74
|
+
suggest: new _1.SuggestAPI(new _1.ApiConfiguration({ origin: configuration.origin, cache: _this.configuration.cache })),
|
|
75
75
|
};
|
|
76
76
|
return _this;
|
|
77
77
|
}
|
|
@@ -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;AAGhE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"Recommend.d.ts","sourceRoot":"","sources":["../../../../src/Client/apis/Recommend.ts"],"names":[],"mappings":"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"}
|
|
@@ -76,7 +76,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
76
76
|
exports.RecommendAPI = void 0;
|
|
77
77
|
var Abstract_1 = require("./Abstract");
|
|
78
78
|
var hashParams_1 = require("../utils/hashParams");
|
|
79
|
-
var
|
|
79
|
+
var snap_toolbox_1 = require("@searchspring/snap-toolbox");
|
|
80
80
|
var Deferred = /** @class */ (function () {
|
|
81
81
|
function Deferred() {
|
|
82
82
|
var _this = this;
|
|
@@ -117,10 +117,10 @@ 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 tags, otherParams, tag, key, paramBatch, deferred;
|
|
120
|
+
var tags, limits, otherParams, tag, key, paramBatch, deferred;
|
|
121
121
|
var _this = this;
|
|
122
122
|
return __generator(this, function (_a) {
|
|
123
|
-
tags = parameters.tags, otherParams = __rest(parameters, ["tags"]);
|
|
123
|
+
tags = parameters.tags, limits = parameters.limits, otherParams = __rest(parameters, ["tags", "limits"]);
|
|
124
124
|
tag = (tags || [])[0];
|
|
125
125
|
if (!tag)
|
|
126
126
|
return [2 /*return*/];
|
|
@@ -131,10 +131,11 @@ var RecommendAPI = /** @class */ (function (_super) {
|
|
|
131
131
|
}
|
|
132
132
|
delete otherParams.batched; // remove from request parameters
|
|
133
133
|
}
|
|
134
|
-
this.batches[key] = this.batches[key] || { timeout: null, request: __assign({ tags: [] }, otherParams), deferreds: [] };
|
|
134
|
+
this.batches[key] = this.batches[key] || { timeout: null, request: __assign({ tags: [], limits: [] }, otherParams), deferreds: [] };
|
|
135
135
|
paramBatch = this.batches[key];
|
|
136
136
|
deferred = new Deferred();
|
|
137
137
|
paramBatch.request.tags.push(tag);
|
|
138
|
+
paramBatch.request.limits = paramBatch.request.limits.concat(limits);
|
|
138
139
|
paramBatch.deferreds.push(deferred);
|
|
139
140
|
window.clearTimeout(paramBatch.timeout);
|
|
140
141
|
paramBatch.timeout = window.setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
@@ -143,7 +144,7 @@ var RecommendAPI = /** @class */ (function (_super) {
|
|
|
143
144
|
switch (_a.label) {
|
|
144
145
|
case 0:
|
|
145
146
|
requestMethod = 'getRecommendations';
|
|
146
|
-
if ((0,
|
|
147
|
+
if ((0, snap_toolbox_1.charsParams)(paramBatch.request) > 1024) {
|
|
147
148
|
requestMethod = 'postRecommendations';
|
|
148
149
|
}
|
|
149
150
|
_a.label = 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hashParams.d.ts","sourceRoot":"","sources":["../../../../src/Client/utils/hashParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"hashParams.d.ts","sourceRoot":"","sources":["../../../../src/Client/utils/hashParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,wBAAgB,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAM1D"}
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -25,6 +25,9 @@ export declare type CacheConfig = {
|
|
|
25
25
|
ttl?: number;
|
|
26
26
|
maxSize?: number;
|
|
27
27
|
purgeable?: boolean;
|
|
28
|
+
entries?: {
|
|
29
|
+
[key: string]: Response;
|
|
30
|
+
};
|
|
28
31
|
};
|
|
29
32
|
export declare type CacheEntry = {
|
|
30
33
|
value: Response;
|
|
@@ -41,5 +44,4 @@ export declare type ClientGlobals = {
|
|
|
41
44
|
siteId: string;
|
|
42
45
|
[configurationPath: string]: any;
|
|
43
46
|
};
|
|
44
|
-
export declare type ParameterObject = Record<string, boolean | string | string[] | number | number[]>;
|
|
45
47
|
//# 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,oBAAY,YAAY,GAAG;IAC1B,IAAI,CAAC,EAAE;QACN,GAAG,CAAC,EAAE,aAAa,CAAC;QACpB,KAAK,CAAC,EAAE,WAAW,CAAC;KACpB,CAAC;IACF,MAAM,CAAC,EAAE;QACR,GAAG,CAAC,EAAE,aAAa,CAAC;QACpB,KAAK,CAAC,EAAE,WAAW,CAAC;KACpB,CAAC;IACF,YAAY,CAAC,EAAE;QACd,GAAG,CAAC,EAAE,aAAa,CAAC;QACpB,KAAK,CAAC,EAAE,WAAW,CAAC;KACpB,CAAC;IACF,SAAS,CAAC,EAAE;QACX,GAAG,CAAC,EAAE,aAAa,CAAC;QACpB,KAAK,CAAC,EAAE,WAAW,CAAC;KACpB,CAAC;IACF,OAAO,CAAC,EAAE;QACT,GAAG,CAAC,EAAE,aAAa,CAAC;QACpB,KAAK,CAAC,EAAE,WAAW,CAAC;KACpB,CAAC;CACF,CAAC;AAEF,oBAAY,WAAW,GAAG;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY,GAAG;IAC1B,IAAI,CAAC,EAAE;QACN,GAAG,CAAC,EAAE,aAAa,CAAC;QACpB,KAAK,CAAC,EAAE,WAAW,CAAC;KACpB,CAAC;IACF,MAAM,CAAC,EAAE;QACR,GAAG,CAAC,EAAE,aAAa,CAAC;QACpB,KAAK,CAAC,EAAE,WAAW,CAAC;KACpB,CAAC;IACF,YAAY,CAAC,EAAE;QACd,GAAG,CAAC,EAAE,aAAa,CAAC;QACpB,KAAK,CAAC,EAAE,WAAW,CAAC;KACpB,CAAC;IACF,SAAS,CAAC,EAAE;QACX,GAAG,CAAC,EAAE,aAAa,CAAC;QACpB,KAAK,CAAC,EAAE,WAAW,CAAC;KACpB,CAAC;IACF,OAAO,CAAC,EAAE;QACT,GAAG,CAAC,EAAE,aAAa,CAAC;QACpB,KAAK,CAAC,EAAE,WAAW,CAAC;KACpB,CAAC;CACF,CAAC;AAEF,oBAAY,WAAW,GAAG;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,CAAC;CACtC,CAAC;AAEF,oBAAY,UAAU,GAAG;IACxB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,oBAAY,KAAK,GAAG;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;CAC1B,CAAC;AAEF,oBAAY,aAAa,GAAG;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,aAAa,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,iBAAiB,EAAE,MAAM,GAAG,GAAG,CAAC;CACjC,CAAC"}
|
|
@@ -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;
|
|
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"}
|
|
@@ -37,23 +37,23 @@ export class Client {
|
|
|
37
37
|
this.requesters = {
|
|
38
38
|
autocomplete: new HybridAPI(new ApiConfiguration({
|
|
39
39
|
origin: this.config.autocomplete?.api?.origin,
|
|
40
|
-
|
|
40
|
+
cache: this.config.autocomplete.cache,
|
|
41
41
|
})),
|
|
42
42
|
meta: new HybridAPI(new ApiConfiguration({
|
|
43
43
|
origin: this.config.meta?.api?.origin,
|
|
44
|
-
|
|
44
|
+
cache: this.config.meta.cache,
|
|
45
45
|
})),
|
|
46
46
|
recommend: new RecommendAPI(new ApiConfiguration({
|
|
47
47
|
origin: this.config.recommend?.api?.origin,
|
|
48
|
-
|
|
48
|
+
cache: this.config.recommend.cache,
|
|
49
49
|
})),
|
|
50
50
|
search: new HybridAPI(new ApiConfiguration({
|
|
51
51
|
origin: this.config.search?.api?.origin,
|
|
52
|
-
|
|
52
|
+
cache: this.config.search.cache,
|
|
53
53
|
})),
|
|
54
54
|
suggest: new SuggestAPI(new ApiConfiguration({
|
|
55
55
|
origin: this.config.suggest?.api?.origin,
|
|
56
|
-
|
|
56
|
+
cache: this.config.suggest.cache,
|
|
57
57
|
})),
|
|
58
58
|
};
|
|
59
59
|
}
|
|
@@ -78,7 +78,6 @@ export class Client {
|
|
|
78
78
|
return this.requesters.suggest.getTrending(params);
|
|
79
79
|
}
|
|
80
80
|
async recommend(params) {
|
|
81
|
-
// TODO - batching
|
|
82
81
|
const { tag, ...otherParams } = params;
|
|
83
82
|
if (!tag) {
|
|
84
83
|
throw 'tag parameter is required';
|
|
@@ -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;
|
|
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"}
|
|
@@ -10,6 +10,11 @@ export class NetworkCache {
|
|
|
10
10
|
constructor(config) {
|
|
11
11
|
this.memoryCache = {};
|
|
12
12
|
this.config = deepmerge(defaultConfig, config || {});
|
|
13
|
+
if (this.config.entries) {
|
|
14
|
+
Object.keys(this.config.entries).map((key) => {
|
|
15
|
+
this.set(key, this.config.entries[key]);
|
|
16
|
+
});
|
|
17
|
+
}
|
|
13
18
|
}
|
|
14
19
|
get(key) {
|
|
15
20
|
try {
|
|
@@ -33,12 +33,12 @@ export interface ApiConfigurationParameters {
|
|
|
33
33
|
queryParamsStringify?: (params: HTTPQuery) => string;
|
|
34
34
|
headers?: HTTPHeaders;
|
|
35
35
|
maxRetry?: number;
|
|
36
|
-
|
|
36
|
+
cache?: CacheConfig;
|
|
37
37
|
}
|
|
38
38
|
export declare class ApiConfiguration {
|
|
39
39
|
private configuration;
|
|
40
40
|
constructor(configuration: ApiConfigurationParameters);
|
|
41
|
-
get
|
|
41
|
+
get cache(): CacheConfig;
|
|
42
42
|
get maxRetry(): number;
|
|
43
43
|
get origin(): string;
|
|
44
44
|
get fetchApi(): FetchAPI;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Abstract.d.ts","sourceRoot":"","sources":["../../../../src/Client/apis/Abstract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C,oBAAY,IAAI,GAAG,GAAG,CAAC;AACvB,oBAAY,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAC1F,oBAAY,WAAW,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AACpD,oBAAY,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,SAAS,CAAA;CAAE,CAAC;AAClI,oBAAY,QAAQ,GAAG,IAAI,GAAG,QAAQ,GAAG,eAAe,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAC;CAChB;AAED,qBAAa,GAAG;IAMH,SAAS,CAAC,aAAa,EAAE,gBAAgB;IALrD,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,UAAU,CAAK;IAEhB,KAAK,EAAE,YAAY,CAAC;gBAEL,aAAa,EAAE,gBAAgB;cAIrC,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;IAmChF,OAAO,CAAC,iBAAiB;IA+BzB,OAAO,CAAC,QAAQ,CAId;CACF;AAED,oBAAY,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAE1D,MAAM,WAAW,0BAA0B;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,CAAC;IACrD,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,
|
|
1
|
+
{"version":3,"file":"Abstract.d.ts","sourceRoot":"","sources":["../../../../src/Client/apis/Abstract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C,oBAAY,IAAI,GAAG,GAAG,CAAC;AACvB,oBAAY,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAC1F,oBAAY,WAAW,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AACpD,oBAAY,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,GAAG,SAAS,CAAA;CAAE,CAAC;AAClI,oBAAY,QAAQ,GAAG,IAAI,GAAG,QAAQ,GAAG,eAAe,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAC;CAChB;AAED,qBAAa,GAAG;IAMH,SAAS,CAAC,aAAa,EAAE,gBAAgB;IALrD,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,UAAU,CAAK;IAEhB,KAAK,EAAE,YAAY,CAAC;gBAEL,aAAa,EAAE,gBAAgB;cAIrC,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;IAmChF,OAAO,CAAC,iBAAiB;IA+BzB,OAAO,CAAC,QAAQ,CAId;CACF;AAED,oBAAY,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAE1D,MAAM,WAAW,0BAA0B;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,CAAC;IACrD,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,CAAC;CACpB;AAED,qBAAa,gBAAgB;IAChB,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,0BAA0B;IAM7D,IAAI,KAAK,IAAI,WAAW,CAEvB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,IAAI,oBAAoB,IAAI,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,CAExD;IAED,IAAI,OAAO,IAAI,WAAW,GAAG,SAAS,CAErC;CACD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,SAAK,GAAG,MAAM,CAmBlE"}
|
|
@@ -10,7 +10,7 @@ export class API {
|
|
|
10
10
|
const response = await this.configuration.fetchApi(url, init);
|
|
11
11
|
return response;
|
|
12
12
|
};
|
|
13
|
-
this.cache = new NetworkCache(configuration.
|
|
13
|
+
this.cache = new NetworkCache(configuration.cache);
|
|
14
14
|
}
|
|
15
15
|
async request(context, cacheKey) {
|
|
16
16
|
const { url, init } = this.createFetchParams(context);
|
|
@@ -78,8 +78,8 @@ export class ApiConfiguration {
|
|
|
78
78
|
this.configuration.maxRetry = 8;
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
get
|
|
82
|
-
return this.configuration.
|
|
81
|
+
get cache() {
|
|
82
|
+
return this.configuration.cache;
|
|
83
83
|
}
|
|
84
84
|
get maxRetry() {
|
|
85
85
|
return this.configuration.maxRetry;
|
|
@@ -4,8 +4,8 @@ export class HybridAPI extends API {
|
|
|
4
4
|
constructor(configuration) {
|
|
5
5
|
super(configuration);
|
|
6
6
|
this.requesters = {
|
|
7
|
-
legacy: new LegacyAPI(new ApiConfiguration({ origin: configuration.origin,
|
|
8
|
-
suggest: new SuggestAPI(new ApiConfiguration({ origin: configuration.origin,
|
|
7
|
+
legacy: new LegacyAPI(new ApiConfiguration({ origin: configuration.origin, cache: this.configuration.cache })),
|
|
8
|
+
suggest: new SuggestAPI(new ApiConfiguration({ origin: configuration.origin, cache: this.configuration.cache })),
|
|
9
9
|
};
|
|
10
10
|
}
|
|
11
11
|
async getMeta(requestParameters) {
|
|
@@ -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;AAGhE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"Recommend.d.ts","sourceRoot":"","sources":["../../../../src/Client/apis/Recommend.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { API } from './Abstract';
|
|
2
2
|
import { hashParams } from '../utils/hashParams';
|
|
3
|
-
import { charsParams } from '
|
|
3
|
+
import { charsParams } from '@searchspring/snap-toolbox';
|
|
4
4
|
class Deferred {
|
|
5
5
|
constructor() {
|
|
6
6
|
this.promise = new Promise((resolve, reject) => {
|
|
@@ -26,7 +26,7 @@ export class RecommendAPI extends API {
|
|
|
26
26
|
return response;
|
|
27
27
|
}
|
|
28
28
|
async batchRecommendations(parameters) {
|
|
29
|
-
const { tags, ...otherParams } = parameters;
|
|
29
|
+
const { tags, limits, ...otherParams } = parameters;
|
|
30
30
|
const [tag] = tags || [];
|
|
31
31
|
if (!tag)
|
|
32
32
|
return;
|
|
@@ -37,10 +37,11 @@ export class RecommendAPI extends API {
|
|
|
37
37
|
}
|
|
38
38
|
delete otherParams.batched; // remove from request parameters
|
|
39
39
|
}
|
|
40
|
-
this.batches[key] = this.batches[key] || { timeout: null, request: { tags: [], ...otherParams }, deferreds: [] };
|
|
40
|
+
this.batches[key] = this.batches[key] || { timeout: null, request: { tags: [], limits: [], ...otherParams }, deferreds: [] };
|
|
41
41
|
const paramBatch = this.batches[key];
|
|
42
42
|
const deferred = new Deferred();
|
|
43
43
|
paramBatch.request.tags.push(tag);
|
|
44
|
+
paramBatch.request.limits = paramBatch.request.limits.concat(limits);
|
|
44
45
|
paramBatch.deferreds.push(deferred);
|
|
45
46
|
window.clearTimeout(paramBatch.timeout);
|
|
46
47
|
paramBatch.timeout = window.setTimeout(async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hashParams.d.ts","sourceRoot":"","sources":["../../../../src/Client/utils/hashParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"hashParams.d.ts","sourceRoot":"","sources":["../../../../src/Client/utils/hashParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,wBAAgB,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAM1D"}
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -25,6 +25,9 @@ export declare type CacheConfig = {
|
|
|
25
25
|
ttl?: number;
|
|
26
26
|
maxSize?: number;
|
|
27
27
|
purgeable?: boolean;
|
|
28
|
+
entries?: {
|
|
29
|
+
[key: string]: Response;
|
|
30
|
+
};
|
|
28
31
|
};
|
|
29
32
|
export declare type CacheEntry = {
|
|
30
33
|
value: Response;
|
|
@@ -41,5 +44,4 @@ export declare type ClientGlobals = {
|
|
|
41
44
|
siteId: string;
|
|
42
45
|
[configurationPath: string]: any;
|
|
43
46
|
};
|
|
44
|
-
export declare type ParameterObject = Record<string, boolean | string | string[] | number | number[]>;
|
|
45
47
|
//# 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,oBAAY,YAAY,GAAG;IAC1B,IAAI,CAAC,EAAE;QACN,GAAG,CAAC,EAAE,aAAa,CAAC;QACpB,KAAK,CAAC,EAAE,WAAW,CAAC;KACpB,CAAC;IACF,MAAM,CAAC,EAAE;QACR,GAAG,CAAC,EAAE,aAAa,CAAC;QACpB,KAAK,CAAC,EAAE,WAAW,CAAC;KACpB,CAAC;IACF,YAAY,CAAC,EAAE;QACd,GAAG,CAAC,EAAE,aAAa,CAAC;QACpB,KAAK,CAAC,EAAE,WAAW,CAAC;KACpB,CAAC;IACF,SAAS,CAAC,EAAE;QACX,GAAG,CAAC,EAAE,aAAa,CAAC;QACpB,KAAK,CAAC,EAAE,WAAW,CAAC;KACpB,CAAC;IACF,OAAO,CAAC,EAAE;QACT,GAAG,CAAC,EAAE,aAAa,CAAC;QACpB,KAAK,CAAC,EAAE,WAAW,CAAC;KACpB,CAAC;CACF,CAAC;AAEF,oBAAY,WAAW,GAAG;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY,GAAG;IAC1B,IAAI,CAAC,EAAE;QACN,GAAG,CAAC,EAAE,aAAa,CAAC;QACpB,KAAK,CAAC,EAAE,WAAW,CAAC;KACpB,CAAC;IACF,MAAM,CAAC,EAAE;QACR,GAAG,CAAC,EAAE,aAAa,CAAC;QACpB,KAAK,CAAC,EAAE,WAAW,CAAC;KACpB,CAAC;IACF,YAAY,CAAC,EAAE;QACd,GAAG,CAAC,EAAE,aAAa,CAAC;QACpB,KAAK,CAAC,EAAE,WAAW,CAAC;KACpB,CAAC;IACF,SAAS,CAAC,EAAE;QACX,GAAG,CAAC,EAAE,aAAa,CAAC;QACpB,KAAK,CAAC,EAAE,WAAW,CAAC;KACpB,CAAC;IACF,OAAO,CAAC,EAAE;QACT,GAAG,CAAC,EAAE,aAAa,CAAC;QACpB,KAAK,CAAC,EAAE,WAAW,CAAC;KACpB,CAAC;CACF,CAAC;AAEF,oBAAY,WAAW,GAAG;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,CAAC;CACtC,CAAC;AAEF,oBAAY,UAAU,GAAG;IACxB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,oBAAY,KAAK,GAAG;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;CAC1B,CAAC;AAEF,oBAAY,aAAa,GAAG;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,aAAa,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,iBAAiB,EAAE,MAAM,GAAG,GAAG,CAAC;CACjC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@searchspring/snap-client",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.5",
|
|
4
4
|
"description": "Snap Client",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -19,9 +19,13 @@
|
|
|
19
19
|
"test": "jest",
|
|
20
20
|
"test:watch": "jest --watch"
|
|
21
21
|
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"@searchspring/snap-toolbox": "^0.20.5",
|
|
24
|
+
"deepmerge": "^4.2.2"
|
|
25
|
+
},
|
|
22
26
|
"sideEffects": false,
|
|
23
27
|
"files": [
|
|
24
28
|
"dist/**/*"
|
|
25
29
|
],
|
|
26
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "37807cdbe3906c03227d32023a119d0bf8892f84"
|
|
27
31
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"charsParams.d.ts","sourceRoot":"","sources":["../../../../src/Client/utils/charsParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,wBAAgB,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAqB3D"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.charsParams = void 0;
|
|
4
|
-
function charsParams(params) {
|
|
5
|
-
if (typeof params != 'object') {
|
|
6
|
-
throw new Error('function requires an object');
|
|
7
|
-
}
|
|
8
|
-
var count = Object.keys(params).reduce(function (count, key) {
|
|
9
|
-
var keyLength = key.length;
|
|
10
|
-
var value = params[key];
|
|
11
|
-
if (Array.isArray(value)) {
|
|
12
|
-
return (count +
|
|
13
|
-
value.reduce(function (length, val) {
|
|
14
|
-
return length + keyLength + 1 + ('' + val).length;
|
|
15
|
-
}, 0));
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
return count + keyLength + 1 + ('' + value).length;
|
|
19
|
-
}
|
|
20
|
-
}, 1);
|
|
21
|
-
return count;
|
|
22
|
-
}
|
|
23
|
-
exports.charsParams = charsParams;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"charsParams.d.ts","sourceRoot":"","sources":["../../../../src/Client/utils/charsParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,wBAAgB,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAqB3D"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export function charsParams(params) {
|
|
2
|
-
if (typeof params != 'object') {
|
|
3
|
-
throw new Error('function requires an object');
|
|
4
|
-
}
|
|
5
|
-
const count = Object.keys(params).reduce((count, key) => {
|
|
6
|
-
const keyLength = key.length;
|
|
7
|
-
const value = params[key];
|
|
8
|
-
if (Array.isArray(value)) {
|
|
9
|
-
return (count +
|
|
10
|
-
value.reduce((length, val) => {
|
|
11
|
-
return length + keyLength + 1 + ('' + val).length;
|
|
12
|
-
}, 0));
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
return count + keyLength + 1 + ('' + value).length;
|
|
16
|
-
}
|
|
17
|
-
}, 1);
|
|
18
|
-
return count;
|
|
19
|
-
}
|