@searchspring/snap-client 0.28.0 → 0.30.1

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 +1 -0
  2. package/dist/cjs/Client/Client.d.ts.map +1 -1
  3. package/dist/cjs/Client/Client.js +12 -0
  4. package/dist/cjs/Client/NetworkCache/NetworkCache.d.ts +3 -3
  5. package/dist/cjs/Client/NetworkCache/NetworkCache.d.ts.map +1 -1
  6. package/dist/cjs/Client/NetworkCache/NetworkCache.js +23 -22
  7. package/dist/cjs/Client/apis/Abstract.d.ts +6 -2
  8. package/dist/cjs/Client/apis/Abstract.d.ts.map +1 -1
  9. package/dist/cjs/Client/apis/Abstract.js +49 -16
  10. package/dist/cjs/Client/apis/Hybrid.d.ts.map +1 -1
  11. package/dist/cjs/Client/apis/Hybrid.js +9 -2
  12. package/dist/cjs/Client/apis/Recommend.d.ts.map +1 -1
  13. package/dist/cjs/Client/apis/Recommend.js +3 -0
  14. package/dist/cjs/Client/transforms/searchRequest.d.ts +19 -19
  15. package/dist/cjs/Client/transforms/searchResponse.d.ts +8 -8
  16. package/dist/cjs/Client/transforms/searchResponse.js +2 -0
  17. package/dist/cjs/Client/transforms/suggestResponse.d.ts +2 -2
  18. package/dist/cjs/types.d.ts +2 -0
  19. package/dist/cjs/types.d.ts.map +1 -1
  20. package/dist/esm/Client/Client.d.ts +1 -0
  21. package/dist/esm/Client/Client.d.ts.map +1 -1
  22. package/dist/esm/Client/Client.js +12 -0
  23. package/dist/esm/Client/NetworkCache/NetworkCache.d.ts +3 -3
  24. package/dist/esm/Client/NetworkCache/NetworkCache.d.ts.map +1 -1
  25. package/dist/esm/Client/NetworkCache/NetworkCache.js +25 -24
  26. package/dist/esm/Client/apis/Abstract.d.ts +6 -2
  27. package/dist/esm/Client/apis/Abstract.d.ts.map +1 -1
  28. package/dist/esm/Client/apis/Abstract.js +21 -9
  29. package/dist/esm/Client/apis/Hybrid.d.ts.map +1 -1
  30. package/dist/esm/Client/apis/Hybrid.js +9 -2
  31. package/dist/esm/Client/apis/Recommend.d.ts.map +1 -1
  32. package/dist/esm/Client/apis/Recommend.js +4 -1
  33. package/dist/esm/Client/transforms/searchResponse.js +2 -0
  34. package/dist/esm/types.d.ts +2 -0
  35. package/dist/esm/types.d.ts.map +1 -1
  36. package/package.json +3 -3
@@ -1,6 +1,7 @@
1
1
  import type { ClientGlobals, ClientConfig, TrendingRequestModel, TrendingResponseModel, RecommendCombinedRequestModel, RecommendCombinedResponseModel } from '../types';
2
2
  import type { MetaRequestModel, MetaResponseModel, SearchRequestModel, SearchResponseModel, AutocompleteRequestModel, AutocompleteResponseModel } from '@searchspring/snapi-types';
3
3
  export declare class Client {
4
+ private mode;
4
5
  private globals;
5
6
  private config;
6
7
  private requesters;
@@ -1 +1 @@
1
- {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/Client/Client.ts"],"names":[],"mappings":"AAEA,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;AAqCnC,qBAAa,MAAM;IAClB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAOhB;gBAEU,OAAO,EAAE,aAAa,EAAE,MAAM,GAAE,YAAiB;IAgDvD,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;CAgC/F"}
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;AAsCnC,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;IA0DvD,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;CAgC/F"}
@@ -62,9 +62,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
62
62
  };
63
63
  Object.defineProperty(exports, "__esModule", { value: true });
64
64
  exports.Client = void 0;
65
+ var snap_toolbox_1 = require("@searchspring/snap-toolbox");
65
66
  var apis_1 = require("./apis");
66
67
  var deepmerge_1 = __importDefault(require("deepmerge"));
67
68
  var defaultConfig = {
69
+ mode: snap_toolbox_1.AppMode.production,
68
70
  meta: {
69
71
  cache: {
70
72
  purgeable: false,
@@ -100,33 +102,43 @@ var Client = /** @class */ (function () {
100
102
  function Client(globals, config) {
101
103
  if (config === void 0) { config = {}; }
102
104
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
105
+ this.mode = snap_toolbox_1.AppMode.production;
103
106
  if (!(globals === null || globals === void 0 ? void 0 : globals.siteId)) {
104
107
  throw 'no siteId specified!';
105
108
  }
106
109
  this.globals = globals;
107
110
  this.config = (0, deepmerge_1.default)(defaultConfig, config);
111
+ if (Object.values(snap_toolbox_1.AppMode).includes(this.config.mode)) {
112
+ this.mode = this.config.mode;
113
+ }
108
114
  this.requesters = {
109
115
  autocomplete: new apis_1.HybridAPI(new apis_1.ApiConfiguration({
116
+ mode: this.mode,
110
117
  origin: (_b = (_a = this.config.autocomplete) === null || _a === void 0 ? void 0 : _a.api) === null || _b === void 0 ? void 0 : _b.origin,
111
118
  cache: (_c = this.config.autocomplete) === null || _c === void 0 ? void 0 : _c.cache,
112
119
  })),
113
120
  meta: new apis_1.HybridAPI(new apis_1.ApiConfiguration({
121
+ mode: this.mode,
114
122
  origin: (_e = (_d = this.config.meta) === null || _d === void 0 ? void 0 : _d.api) === null || _e === void 0 ? void 0 : _e.origin,
115
123
  cache: (_f = this.config.meta) === null || _f === void 0 ? void 0 : _f.cache,
116
124
  })),
117
125
  recommend: new apis_1.RecommendAPI(new apis_1.ApiConfiguration({
126
+ mode: this.mode,
118
127
  origin: (_h = (_g = this.config.recommend) === null || _g === void 0 ? void 0 : _g.api) === null || _h === void 0 ? void 0 : _h.origin,
119
128
  cache: (_j = this.config.recommend) === null || _j === void 0 ? void 0 : _j.cache,
120
129
  })),
121
130
  search: new apis_1.HybridAPI(new apis_1.ApiConfiguration({
131
+ mode: this.mode,
122
132
  origin: (_l = (_k = this.config.search) === null || _k === void 0 ? void 0 : _k.api) === null || _l === void 0 ? void 0 : _l.origin,
123
133
  cache: (_m = this.config.search) === null || _m === void 0 ? void 0 : _m.cache,
124
134
  })),
125
135
  finder: new apis_1.HybridAPI(new apis_1.ApiConfiguration({
136
+ mode: this.mode,
126
137
  origin: (_p = (_o = this.config.finder) === null || _o === void 0 ? void 0 : _o.api) === null || _p === void 0 ? void 0 : _p.origin,
127
138
  cache: (_q = this.config.finder) === null || _q === void 0 ? void 0 : _q.cache,
128
139
  })),
129
140
  suggest: new apis_1.SuggestAPI(new apis_1.ApiConfiguration({
141
+ mode: this.mode,
130
142
  origin: (_s = (_r = this.config.suggest) === null || _r === void 0 ? void 0 : _r.api) === null || _s === void 0 ? void 0 : _s.origin,
131
143
  cache: (_t = this.config.suggest) === null || _t === void 0 ? void 0 : _t.cache,
132
144
  })),
@@ -1,7 +1,7 @@
1
- import { CacheConfig, DefaultCacheConfig } from '../../types';
1
+ import { CacheConfig, Cache, DefaultCacheConfig } from '../../types';
2
2
  export declare class NetworkCache {
3
- private memoryCache;
4
- config: DefaultCacheConfig;
3
+ protected memoryCache: Cache;
4
+ protected config: DefaultCacheConfig;
5
5
  constructor(config?: CacheConfig);
6
6
  get(key: string): Response | void;
7
7
  set(key: string, value: Response): void;
@@ -1 +1 @@
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"}
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;IAgCjC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI;IAyCvC,KAAK;CAQZ"}
@@ -37,31 +37,32 @@ var NetworkCache = /** @class */ (function () {
37
37
  });
38
38
  }
39
39
  NetworkCache.prototype.get = function (key) {
40
- try {
41
- if (this.memoryCache[key]) {
42
- if (Date.now() < this.memoryCache[key].expires) {
43
- return this.memoryCache[key].value;
44
- }
45
- }
46
- var stored = sessionStorage.getItem(CACHE_STORAGE_KEY);
47
- var localData = stored && JSON.parse(stored);
48
- if (localData && key && localData[key]) {
49
- // compare the expiry time of the item with the current time
50
- if (Date.now() > localData[key].expires) {
51
- // remove item
52
- var newStored = __assign({}, localData);
53
- delete newStored[key];
54
- //update storage
55
- sessionStorage.setItem(CACHE_STORAGE_KEY, JSON.stringify(newStored));
56
- return undefined;
40
+ if (this.config.enabled) {
41
+ try {
42
+ if (this.memoryCache[key]) {
43
+ if (Date.now() < this.memoryCache[key].expires) {
44
+ return this.memoryCache[key].value;
45
+ }
57
46
  }
58
- else {
59
- return localData[key].value;
47
+ var stored = sessionStorage.getItem(CACHE_STORAGE_KEY);
48
+ var localData = stored && JSON.parse(stored);
49
+ if (localData && key && localData[key]) {
50
+ // compare the expiry time of the item with the current time
51
+ if (Date.now() >= localData[key].expires) {
52
+ // remove item
53
+ var newStored = __assign({}, localData);
54
+ delete newStored[key];
55
+ // update storage
56
+ sessionStorage.setItem(CACHE_STORAGE_KEY, JSON.stringify(newStored));
57
+ }
58
+ else {
59
+ return localData[key].value;
60
+ }
60
61
  }
61
62
  }
62
- }
63
- catch (err) {
64
- console.warn('something went wrong, browser might not have cookies enabled');
63
+ catch (err) {
64
+ console.warn('something went wrong, browser might not have cookies enabled');
65
+ }
65
66
  }
66
67
  };
67
68
  NetworkCache.prototype.set = function (key, value) {
@@ -1,3 +1,4 @@
1
+ import { AppMode } from '@searchspring/snap-toolbox';
1
2
  import { NetworkCache } from '../NetworkCache/NetworkCache';
2
3
  import { CacheConfig } from '../../types';
3
4
  export declare type Json = any;
@@ -22,12 +23,14 @@ export declare class API {
22
23
  private retryCount;
23
24
  cache: NetworkCache;
24
25
  constructor(configuration: ApiConfiguration);
26
+ protected get mode(): AppMode;
25
27
  protected request(context: RequestOpts, cacheKey?: any): Promise<Response>;
26
28
  private createFetchParams;
27
29
  private fetchApi;
28
30
  }
29
31
  export declare type FetchAPI = WindowOrWorkerGlobalScope['fetch'];
30
32
  export interface ApiConfigurationParameters {
33
+ mode?: keyof typeof AppMode | AppMode;
31
34
  origin?: string;
32
35
  fetchApi?: FetchAPI;
33
36
  queryParamsStringify?: (params: HTTPQuery) => string;
@@ -37,13 +40,14 @@ export interface ApiConfigurationParameters {
37
40
  }
38
41
  export declare class ApiConfiguration {
39
42
  private configuration;
40
- constructor(configuration: ApiConfigurationParameters);
43
+ constructor(configuration?: ApiConfigurationParameters);
41
44
  get cache(): CacheConfig;
42
45
  get maxRetry(): number;
43
46
  get origin(): string;
44
47
  get fetchApi(): FetchAPI;
45
48
  get queryParamsStringify(): (params: HTTPQuery) => string;
46
- get headers(): HTTPHeaders | undefined;
49
+ get headers(): HTTPHeaders;
50
+ get mode(): AppMode;
47
51
  }
48
52
  export declare function querystring(params: HTTPQuery, prefix?: string): string;
49
53
  //# sourceMappingURL=Abstract.d.ts.map
@@ -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,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"}
1
+ {"version":3,"file":"Abstract.d.ts","sourceRoot":"","sources":["../../../../src/Client/apis/Abstract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAGrD,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;IAIrD,SAAS,KAAK,IAAI,IAAI,OAAO,CAE5B;cAEe,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;IAmChF,OAAO,CAAC,iBAAiB;YAiCX,QAAQ;CAKtB;AAED,oBAAY,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAE1D,MAAM,WAAW,0BAA0B;IAC1C,IAAI,CAAC,EAAE,MAAM,OAAO,OAAO,GAAG,OAAO,CAAC;IACtC,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,GAAE,0BAA+B;IAalE,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,CAEzB;IAED,IAAI,IAAI,IAAI,OAAO,CAElB;CACD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,SAAK,GAAG,MAAM,CAmBlE"}
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
14
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
15
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -37,28 +48,24 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
48
  };
38
49
  Object.defineProperty(exports, "__esModule", { value: true });
39
50
  exports.querystring = exports.ApiConfiguration = exports.API = void 0;
51
+ var snap_toolbox_1 = require("@searchspring/snap-toolbox");
40
52
  var fibonacci_1 = require("../utils/fibonacci");
41
53
  var NetworkCache_1 = require("../NetworkCache/NetworkCache");
42
54
  var isBlob = function (value) { return typeof Blob !== 'undefined' && value instanceof Blob; };
43
55
  var API = /** @class */ (function () {
44
56
  function API(configuration) {
45
- var _this = this;
46
57
  this.configuration = configuration;
47
58
  this.retryDelay = 1000;
48
59
  this.retryCount = 0;
49
- this.fetchApi = function (url, init) { return __awaiter(_this, void 0, void 0, function () {
50
- var response;
51
- return __generator(this, function (_a) {
52
- switch (_a.label) {
53
- case 0: return [4 /*yield*/, this.configuration.fetchApi(url, init)];
54
- case 1:
55
- response = _a.sent();
56
- return [2 /*return*/, response];
57
- }
58
- });
59
- }); };
60
- this.cache = new NetworkCache_1.NetworkCache(configuration.cache);
60
+ this.cache = new NetworkCache_1.NetworkCache(this.configuration.cache);
61
61
  }
62
+ Object.defineProperty(API.prototype, "mode", {
63
+ get: function () {
64
+ return this.configuration.mode;
65
+ },
66
+ enumerable: false,
67
+ configurable: true
68
+ });
62
69
  API.prototype.request = function (context, cacheKey) {
63
70
  return __awaiter(this, void 0, void 0, function () {
64
71
  var _a, url, init, cachedResponse, response, responseJSON;
@@ -78,7 +85,7 @@ var API = /** @class */ (function () {
78
85
  return [4 /*yield*/, this.fetchApi(url, init)];
79
86
  case 1:
80
87
  response = _b.sent();
81
- return [4 /*yield*/, response.json()];
88
+ return [4 /*yield*/, (response === null || response === void 0 ? void 0 : response.json())];
82
89
  case 2:
83
90
  responseJSON = _b.sent();
84
91
  if (!(response.status >= 200 && response.status < 300)) return [3 /*break*/, 3];
@@ -122,7 +129,7 @@ var API = /** @class */ (function () {
122
129
  var body = (typeof FormData !== 'undefined' && context.body instanceof FormData) || context.body instanceof URLSearchParams || isBlob(context.body)
123
130
  ? context.body
124
131
  : JSON.stringify(context.body);
125
- var headers = Object.assign({}, this.configuration.headers, context.headers);
132
+ var headers = __assign(__assign({}, this.configuration.headers), context.headers);
126
133
  var init = {
127
134
  method: context.method,
128
135
  headers: headers,
@@ -130,15 +137,34 @@ var API = /** @class */ (function () {
130
137
  };
131
138
  return { url: url, init: init };
132
139
  };
140
+ API.prototype.fetchApi = function (url, init) {
141
+ return __awaiter(this, void 0, void 0, function () {
142
+ var response;
143
+ return __generator(this, function (_a) {
144
+ switch (_a.label) {
145
+ case 0: return [4 /*yield*/, this.configuration.fetchApi(url, init)];
146
+ case 1:
147
+ response = _a.sent();
148
+ return [2 /*return*/, response];
149
+ }
150
+ });
151
+ });
152
+ };
133
153
  return API;
134
154
  }());
135
155
  exports.API = API;
136
156
  var ApiConfiguration = /** @class */ (function () {
137
157
  function ApiConfiguration(configuration) {
158
+ if (configuration === void 0) { configuration = {}; }
138
159
  this.configuration = configuration;
139
160
  if (!configuration.maxRetry) {
140
161
  this.configuration.maxRetry = 8;
141
162
  }
163
+ this.configuration.cache = this.configuration.cache || {};
164
+ this.configuration.mode = this.configuration.mode || snap_toolbox_1.AppMode.production;
165
+ if (this.configuration.mode == snap_toolbox_1.AppMode.development) {
166
+ this.configuration.cache.enabled = false;
167
+ }
142
168
  }
143
169
  Object.defineProperty(ApiConfiguration.prototype, "cache", {
144
170
  get: function () {
@@ -178,7 +204,14 @@ var ApiConfiguration = /** @class */ (function () {
178
204
  });
179
205
  Object.defineProperty(ApiConfiguration.prototype, "headers", {
180
206
  get: function () {
181
- return this.configuration.headers;
207
+ return this.configuration.headers || {};
208
+ },
209
+ enumerable: false,
210
+ configurable: true
211
+ });
212
+ Object.defineProperty(ApiConfiguration.prototype, "mode", {
213
+ get: function () {
214
+ return this.configuration.mode;
182
215
  },
183
216
  enumerable: false,
184
217
  configurable: true
@@ -1 +1 @@
1
- {"version":3,"file":"Hybrid.d.ts","sourceRoot":"","sources":["../../../../src/Client/apis/Hybrid.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,GAAG,EAAyB,gBAAgB,EAAE,MAAM,GAAG,CAAC;AAIjE,qBAAa,SAAU,SAAQ,GAAG;IACjC,OAAO,CAAC,UAAU,CAGhB;gBAEU,aAAa,EAAE,gBAAgB;IASrC,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;CAoCtG"}
1
+ {"version":3,"file":"Hybrid.d.ts","sourceRoot":"","sources":["../../../../src/Client/apis/Hybrid.ts"],"names":[],"mappings":"AAEA,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;AAI7F,qBAAa,SAAU,SAAQ,GAAG;IACjC,OAAO,CAAC,UAAU,CAGhB;gBAEU,aAAa,EAAE,gBAAgB;IAiBrC,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;CAoCtG"}
@@ -63,15 +63,22 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
63
63
  };
64
64
  Object.defineProperty(exports, "__esModule", { value: true });
65
65
  exports.HybridAPI = void 0;
66
+ var snap_toolbox_1 = require("@searchspring/snap-toolbox");
66
67
  var _1 = require(".");
67
68
  var transforms_1 = require("../transforms");
68
69
  var HybridAPI = /** @class */ (function (_super) {
69
70
  __extends(HybridAPI, _super);
70
71
  function HybridAPI(configuration) {
71
72
  var _this = _super.call(this, configuration) || this;
73
+ var legacyConfig = { mode: configuration.mode, origin: configuration.origin, cache: _this.configuration.cache };
74
+ if (configuration.mode == snap_toolbox_1.AppMode.development) {
75
+ legacyConfig.headers = { 'searchspring-no-beacon': '' };
76
+ }
77
+ var legacyConfiguration = new _1.ApiConfiguration(legacyConfig);
78
+ var suggestConfiguration = new _1.ApiConfiguration({ mode: configuration.mode, origin: configuration.origin, cache: _this.configuration.cache });
72
79
  _this.requesters = {
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 })),
80
+ legacy: new _1.LegacyAPI(legacyConfiguration),
81
+ suggest: new _1.SuggestAPI(suggestConfiguration),
75
82
  };
76
83
  return _this;
77
84
  }
@@ -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;AAIhE,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+ExF,kBAAkB,CAAC,eAAe,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAmB3F,mBAAmB,CAAC,iBAAiB,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAmBpG"}
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;AAIhE,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;IAmFxF,kBAAkB,CAAC,eAAe,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAmB3F,mBAAmB,CAAC,iBAAiB,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAmBpG"}
@@ -171,6 +171,9 @@ var RecommendAPI = /** @class */ (function (_super) {
171
171
  _c.label = 1;
172
172
  case 1:
173
173
  _c.trys.push([1, 6, , 7]);
174
+ if (this.configuration.mode == snap_toolbox_1.AppMode.development) {
175
+ batch.request.test = true;
176
+ }
174
177
  if (!((0, snap_toolbox_1.charsParams)(batch.request) > 1024)) return [3 /*break*/, 3];
175
178
  if (batch.request['product']) {
176
179
  batch.request['product'] = batch.request['product'].toString();
@@ -3,20 +3,20 @@ export declare function transformSearchRequest(request: SearchRequestModel): any
3
3
  export declare namespace transformSearchRequest {
4
4
  var sorts: (request?: SearchRequestModel) => Record<string, SearchRequestModelSortsDirectionEnum[]>;
5
5
  var search: (request?: SearchRequestModel) => {
6
- q?: string;
7
- rq?: string;
8
- originalQuery?: string;
9
- redirectResponse?: string;
6
+ q?: string | undefined;
7
+ rq?: string | undefined;
8
+ originalQuery?: string | undefined;
9
+ redirectResponse?: string | undefined;
10
10
  };
11
- var filters: (request?: SearchRequestModel) => Record<string, (string | number | SearchRequestModelFilterRangeAllOfValue)[]>;
11
+ var filters: (request?: SearchRequestModel) => Record<string, (string | number | SearchRequestModelFilterRangeAllOfValue | undefined)[]>;
12
12
  var merchandising: (request?: SearchRequestModel) => {
13
- disableMerchandising?: boolean;
14
- tag?: string[];
15
- 'landing-page'?: string;
13
+ disableMerchandising?: boolean | undefined;
14
+ tag?: string[] | undefined;
15
+ 'landing-page'?: string | undefined;
16
16
  };
17
17
  var pagination: (request?: SearchRequestModel) => {
18
- page?: number;
19
- resultsPerPage?: number;
18
+ page?: number | undefined;
19
+ resultsPerPage?: number | undefined;
20
20
  };
21
21
  var siteId: (request?: SearchRequestModel) => {
22
22
  siteId: string;
@@ -24,19 +24,19 @@ export declare namespace transformSearchRequest {
24
24
  siteId?: undefined;
25
25
  };
26
26
  var facets: (request?: SearchRequestModel) => {
27
- includedFacets?: string[];
28
- excludedFacets?: string[];
29
- disableFacetDrillDown?: boolean;
27
+ includedFacets?: string[] | undefined;
28
+ excludedFacets?: string[] | undefined;
29
+ disableFacetDrillDown?: boolean | undefined;
30
30
  };
31
31
  var tracking: (request?: SearchRequestModel) => {
32
- userId?: string;
33
- domain?: string;
32
+ userId?: string | undefined;
33
+ domain?: string | undefined;
34
34
  };
35
35
  var personalization: (request?: SearchRequestModel) => {
36
- skipPersonalization?: boolean;
37
- cart?: string;
38
- shopper?: string;
39
- lastViewed?: string;
36
+ skipPersonalization?: boolean | undefined;
37
+ cart?: string | undefined;
38
+ shopper?: string | undefined;
39
+ lastViewed?: string | undefined;
40
40
  };
41
41
  }
42
42
  //# sourceMappingURL=searchRequest.d.ts.map
@@ -150,22 +150,22 @@ export declare namespace transformSearchResponse {
150
150
  content: {};
151
151
  facets: any[];
152
152
  facetsHide: any[];
153
- experiments?: [];
154
- variants?: [];
155
- personalized?: boolean;
153
+ experiments?: [] | undefined;
154
+ variants?: [] | undefined;
155
+ personalized?: boolean | undefined;
156
156
  triggeredCampaigns?: {
157
157
  id: string;
158
158
  title: string;
159
159
  type: string;
160
- }[];
160
+ }[] | undefined;
161
161
  };
162
162
  };
163
163
  var search: (response: searchResponseType, request: SearchRequestModel) => {
164
164
  search: {
165
- query: string;
166
- didYouMean: string;
167
- originalQuery: string;
168
- matchType: SearchResponseModelSearchMatchTypeEnum;
165
+ query: string | undefined;
166
+ didYouMean: string | undefined;
167
+ originalQuery: string | undefined;
168
+ matchType: SearchResponseModelSearchMatchTypeEnum | undefined;
169
169
  };
170
170
  };
171
171
  }
@@ -135,12 +135,14 @@ transformSearchResponse.facets = function (response, request) {
135
135
  if (facet.step) {
136
136
  if (facet.range) {
137
137
  transformedFacet = __assign(__assign({}, transformedFacet), { type: 'range', step: facet.step, range: {
138
+ // TODO: change to null
138
139
  low: facet.range[0] == '*' ? undefined : +facet.range[0],
139
140
  high: facet.range[1] == '*' ? undefined : +facet.range[1],
140
141
  } });
141
142
  }
142
143
  if (facet.active && typeof facet.active != 'boolean' && facet.active.length > 1) {
143
144
  transformedFacet.active = {
145
+ // TODO: change to null
144
146
  low: facet.active[0] == '*' ? undefined : +facet.active[0],
145
147
  high: facet.active[1] == '*' ? undefined : +facet.active[1],
146
148
  };
@@ -16,8 +16,8 @@ export declare namespace transformSuggestResponse {
16
16
  } | {
17
17
  suggested: {
18
18
  text: string;
19
- type: string;
20
- source: string;
19
+ type: string | undefined;
20
+ source: string | undefined;
21
21
  };
22
22
  };
23
23
  var alternatives: (response: SuggestResponseModel) => {
@@ -1,5 +1,7 @@
1
+ import { AppMode } from '@searchspring/snap-toolbox';
1
2
  import { SearchResponseModelResult } from '@searchspring/snapi-types';
2
3
  export declare type ClientConfig = {
4
+ mode?: keyof typeof AppMode | AppMode;
3
5
  meta?: {
4
6
  api?: SnapApiConfig;
5
7
  cache?: CacheConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,oBAAY,YAAY,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,OAAO,OAAO,GAAG,OAAO,CAAC;IACtC,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,MAAM,CAAC,EAAE;QACR,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,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEtD,oBAAY,kBAAkB,GAAG;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,CAAC;CACtC,CAAC;AACF,oBAAY,UAAU,GAAG;IACxB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,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;AAEF,oBAAY,mBAAmB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,oBAAY,8BAA8B,GAAG;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;CACJ,CAAC;AAEF,oBAAY,oBAAoB,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,8BAA8B,CAAC;IAC3C,YAAY,CAAC,EAAE,8BAA8B,EAAE,CAAC;CAChD,CAAC;AAEF,oBAAY,oBAAoB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,oBAAY,qBAAqB,GAAG;IACnC,QAAQ,EAAE;QACT,OAAO,EAAE;YACR,UAAU,EAAE,MAAM,CAAC;YACnB,WAAW,EAAE,MAAM,CAAC;SACpB,EAAE,CAAC;KACJ,CAAC;CACF,CAAC;AAEF,oBAAY,qBAAqB,GAAG;IACnC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,oBAAY,sBAAsB,GAAG;IACpC,OAAO,EAAE;QACR,GAAG,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,OAAO,EAAE,yBAAyB,EAAE,CAAC;CACrC,EAAE,CAAC;AAEJ,oBAAY,mBAAmB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,oBAAoB,GAAG;IAClC,OAAO,EAAE;QACR,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE;YACR,SAAS,EAAE,MAAM,CAAC;YAClB,QAAQ,EAAE;gBACT,IAAI,EAAE,MAAM,CAAC;gBACb,IAAI,EAAE,MAAM,CAAC;gBACb,MAAM,CAAC,EAAE,MAAM,CAAC;gBAChB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAChB,SAAS,CAAC,EAAE,MAAM,CAAC;gBACnB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAChB,KAAK,CAAC,EAAE,MAAM,CAAC;aACf,CAAC;YACF,kBAAkB,EAAE;gBACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;aACvB,CAAC;SACF,CAAC;KACF,CAAC;CACF,CAAC;AAEF,oBAAY,6BAA6B,GAAG;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,8BAA8B,GAAG,oBAAoB,GAAG;IAAE,OAAO,EAAE,yBAAyB,EAAE,CAAA;CAAE,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { ClientGlobals, ClientConfig, TrendingRequestModel, TrendingResponseModel, RecommendCombinedRequestModel, RecommendCombinedResponseModel } from '../types';
2
2
  import type { MetaRequestModel, MetaResponseModel, SearchRequestModel, SearchResponseModel, AutocompleteRequestModel, AutocompleteResponseModel } from '@searchspring/snapi-types';
3
3
  export declare class Client {
4
+ private mode;
4
5
  private globals;
5
6
  private config;
6
7
  private requesters;
@@ -1 +1 @@
1
- {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/Client/Client.ts"],"names":[],"mappings":"AAEA,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;AAqCnC,qBAAa,MAAM;IAClB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAOhB;gBAEU,OAAO,EAAE,aAAa,EAAE,MAAM,GAAE,YAAiB;IAgDvD,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;CAgC/F"}
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;AAsCnC,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;IA0DvD,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;CAgC/F"}
@@ -1,6 +1,8 @@
1
+ import { AppMode } from '@searchspring/snap-toolbox';
1
2
  import { HybridAPI, SuggestAPI, RecommendAPI, ApiConfiguration } from './apis';
2
3
  import deepmerge from 'deepmerge';
3
4
  const defaultConfig = {
5
+ mode: AppMode.production,
4
6
  meta: {
5
7
  cache: {
6
8
  purgeable: false,
@@ -34,33 +36,43 @@ const defaultConfig = {
34
36
  };
35
37
  export class Client {
36
38
  constructor(globals, config = {}) {
39
+ this.mode = AppMode.production;
37
40
  if (!globals?.siteId) {
38
41
  throw 'no siteId specified!';
39
42
  }
40
43
  this.globals = globals;
41
44
  this.config = deepmerge(defaultConfig, config);
45
+ if (Object.values(AppMode).includes(this.config.mode)) {
46
+ this.mode = this.config.mode;
47
+ }
42
48
  this.requesters = {
43
49
  autocomplete: new HybridAPI(new ApiConfiguration({
50
+ mode: this.mode,
44
51
  origin: this.config.autocomplete?.api?.origin,
45
52
  cache: this.config.autocomplete?.cache,
46
53
  })),
47
54
  meta: new HybridAPI(new ApiConfiguration({
55
+ mode: this.mode,
48
56
  origin: this.config.meta?.api?.origin,
49
57
  cache: this.config.meta?.cache,
50
58
  })),
51
59
  recommend: new RecommendAPI(new ApiConfiguration({
60
+ mode: this.mode,
52
61
  origin: this.config.recommend?.api?.origin,
53
62
  cache: this.config.recommend?.cache,
54
63
  })),
55
64
  search: new HybridAPI(new ApiConfiguration({
65
+ mode: this.mode,
56
66
  origin: this.config.search?.api?.origin,
57
67
  cache: this.config.search?.cache,
58
68
  })),
59
69
  finder: new HybridAPI(new ApiConfiguration({
70
+ mode: this.mode,
60
71
  origin: this.config.finder?.api?.origin,
61
72
  cache: this.config.finder?.cache,
62
73
  })),
63
74
  suggest: new SuggestAPI(new ApiConfiguration({
75
+ mode: this.mode,
64
76
  origin: this.config.suggest?.api?.origin,
65
77
  cache: this.config.suggest?.cache,
66
78
  })),
@@ -1,7 +1,7 @@
1
- import { CacheConfig, DefaultCacheConfig } from '../../types';
1
+ import { CacheConfig, Cache, DefaultCacheConfig } from '../../types';
2
2
  export declare class NetworkCache {
3
- private memoryCache;
4
- config: DefaultCacheConfig;
3
+ protected memoryCache: Cache;
4
+ protected config: DefaultCacheConfig;
5
5
  constructor(config?: CacheConfig);
6
6
  get(key: string): Response | void;
7
7
  set(key: string, value: Response): void;
@@ -1 +1 @@
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"}
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;IAgCjC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI;IAyCvC,KAAK;CAQZ"}
@@ -18,33 +18,34 @@ export class NetworkCache {
18
18
  });
19
19
  }
20
20
  get(key) {
21
- try {
22
- if (this.memoryCache[key]) {
23
- if (Date.now() < this.memoryCache[key].expires) {
24
- return this.memoryCache[key].value;
25
- }
26
- }
27
- const stored = sessionStorage.getItem(CACHE_STORAGE_KEY);
28
- const localData = stored && JSON.parse(stored);
29
- if (localData && key && localData[key]) {
30
- // compare the expiry time of the item with the current time
31
- if (Date.now() > localData[key].expires) {
32
- // remove item
33
- const newStored = {
34
- ...localData,
35
- };
36
- delete newStored[key];
37
- //update storage
38
- sessionStorage.setItem(CACHE_STORAGE_KEY, JSON.stringify(newStored));
39
- return undefined;
21
+ if (this.config.enabled) {
22
+ try {
23
+ if (this.memoryCache[key]) {
24
+ if (Date.now() < this.memoryCache[key].expires) {
25
+ return this.memoryCache[key].value;
26
+ }
40
27
  }
41
- else {
42
- return localData[key].value;
28
+ const stored = sessionStorage.getItem(CACHE_STORAGE_KEY);
29
+ const localData = stored && JSON.parse(stored);
30
+ if (localData && key && localData[key]) {
31
+ // compare the expiry time of the item with the current time
32
+ if (Date.now() >= localData[key].expires) {
33
+ // remove item
34
+ const newStored = {
35
+ ...localData,
36
+ };
37
+ delete newStored[key];
38
+ // update storage
39
+ sessionStorage.setItem(CACHE_STORAGE_KEY, JSON.stringify(newStored));
40
+ }
41
+ else {
42
+ return localData[key].value;
43
+ }
43
44
  }
44
45
  }
45
- }
46
- catch (err) {
47
- console.warn('something went wrong, browser might not have cookies enabled');
46
+ catch (err) {
47
+ console.warn('something went wrong, browser might not have cookies enabled');
48
+ }
48
49
  }
49
50
  }
50
51
  set(key, value) {
@@ -1,3 +1,4 @@
1
+ import { AppMode } from '@searchspring/snap-toolbox';
1
2
  import { NetworkCache } from '../NetworkCache/NetworkCache';
2
3
  import { CacheConfig } from '../../types';
3
4
  export declare type Json = any;
@@ -22,12 +23,14 @@ export declare class API {
22
23
  private retryCount;
23
24
  cache: NetworkCache;
24
25
  constructor(configuration: ApiConfiguration);
26
+ protected get mode(): AppMode;
25
27
  protected request(context: RequestOpts, cacheKey?: any): Promise<Response>;
26
28
  private createFetchParams;
27
29
  private fetchApi;
28
30
  }
29
31
  export declare type FetchAPI = WindowOrWorkerGlobalScope['fetch'];
30
32
  export interface ApiConfigurationParameters {
33
+ mode?: keyof typeof AppMode | AppMode;
31
34
  origin?: string;
32
35
  fetchApi?: FetchAPI;
33
36
  queryParamsStringify?: (params: HTTPQuery) => string;
@@ -37,13 +40,14 @@ export interface ApiConfigurationParameters {
37
40
  }
38
41
  export declare class ApiConfiguration {
39
42
  private configuration;
40
- constructor(configuration: ApiConfigurationParameters);
43
+ constructor(configuration?: ApiConfigurationParameters);
41
44
  get cache(): CacheConfig;
42
45
  get maxRetry(): number;
43
46
  get origin(): string;
44
47
  get fetchApi(): FetchAPI;
45
48
  get queryParamsStringify(): (params: HTTPQuery) => string;
46
- get headers(): HTTPHeaders | undefined;
49
+ get headers(): HTTPHeaders;
50
+ get mode(): AppMode;
47
51
  }
48
52
  export declare function querystring(params: HTTPQuery, prefix?: string): string;
49
53
  //# sourceMappingURL=Abstract.d.ts.map
@@ -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,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"}
1
+ {"version":3,"file":"Abstract.d.ts","sourceRoot":"","sources":["../../../../src/Client/apis/Abstract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAGrD,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;IAIrD,SAAS,KAAK,IAAI,IAAI,OAAO,CAE5B;cAEe,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;IAmChF,OAAO,CAAC,iBAAiB;YAiCX,QAAQ;CAKtB;AAED,oBAAY,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAE1D,MAAM,WAAW,0BAA0B;IAC1C,IAAI,CAAC,EAAE,MAAM,OAAO,OAAO,GAAG,OAAO,CAAC;IACtC,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,GAAE,0BAA+B;IAalE,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,CAEzB;IAED,IAAI,IAAI,IAAI,OAAO,CAElB;CACD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,SAAK,GAAG,MAAM,CAmBlE"}
@@ -1,3 +1,4 @@
1
+ import { AppMode } from '@searchspring/snap-toolbox';
1
2
  import { fibonacci } from '../utils/fibonacci';
2
3
  import { NetworkCache } from '../NetworkCache/NetworkCache';
3
4
  const isBlob = (value) => typeof Blob !== 'undefined' && value instanceof Blob;
@@ -6,11 +7,10 @@ export class API {
6
7
  this.configuration = configuration;
7
8
  this.retryDelay = 1000;
8
9
  this.retryCount = 0;
9
- this.fetchApi = async (url, init) => {
10
- const response = await this.configuration.fetchApi(url, init);
11
- return response;
12
- };
13
- this.cache = new NetworkCache(configuration.cache);
10
+ this.cache = new NetworkCache(this.configuration.cache);
11
+ }
12
+ get mode() {
13
+ return this.configuration.mode;
14
14
  }
15
15
  async request(context, cacheKey) {
16
16
  const { url, init } = this.createFetchParams(context);
@@ -23,7 +23,7 @@ export class API {
23
23
  }
24
24
  }
25
25
  const response = await this.fetchApi(url, init);
26
- const responseJSON = await response.json();
26
+ const responseJSON = await response?.json();
27
27
  if (response.status >= 200 && response.status < 300) {
28
28
  this.retryCount = 0; // reset count and delay incase rate limit occurs again before a page refresh
29
29
  this.retryDelay = 1000;
@@ -62,7 +62,7 @@ export class API {
62
62
  const body = (typeof FormData !== 'undefined' && context.body instanceof FormData) || context.body instanceof URLSearchParams || isBlob(context.body)
63
63
  ? context.body
64
64
  : JSON.stringify(context.body);
65
- const headers = Object.assign({}, this.configuration.headers, context.headers);
65
+ const headers = { ...this.configuration.headers, ...context.headers };
66
66
  const init = {
67
67
  method: context.method,
68
68
  headers: headers,
@@ -70,13 +70,22 @@ export class API {
70
70
  };
71
71
  return { url, init };
72
72
  }
73
+ async fetchApi(url, init) {
74
+ const response = await this.configuration.fetchApi(url, init);
75
+ return response;
76
+ }
73
77
  }
74
78
  export class ApiConfiguration {
75
- constructor(configuration) {
79
+ constructor(configuration = {}) {
76
80
  this.configuration = configuration;
77
81
  if (!configuration.maxRetry) {
78
82
  this.configuration.maxRetry = 8;
79
83
  }
84
+ this.configuration.cache = this.configuration.cache || {};
85
+ this.configuration.mode = this.configuration.mode || AppMode.production;
86
+ if (this.configuration.mode == AppMode.development) {
87
+ this.configuration.cache.enabled = false;
88
+ }
80
89
  }
81
90
  get cache() {
82
91
  return this.configuration?.cache || {};
@@ -94,7 +103,10 @@ export class ApiConfiguration {
94
103
  return this.configuration.queryParamsStringify || querystring;
95
104
  }
96
105
  get headers() {
97
- return this.configuration.headers;
106
+ return this.configuration.headers || {};
107
+ }
108
+ get mode() {
109
+ return this.configuration.mode;
98
110
  }
99
111
  }
100
112
  export function querystring(params, prefix = '') {
@@ -1 +1 @@
1
- {"version":3,"file":"Hybrid.d.ts","sourceRoot":"","sources":["../../../../src/Client/apis/Hybrid.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,GAAG,EAAyB,gBAAgB,EAAE,MAAM,GAAG,CAAC;AAIjE,qBAAa,SAAU,SAAQ,GAAG;IACjC,OAAO,CAAC,UAAU,CAGhB;gBAEU,aAAa,EAAE,gBAAgB;IASrC,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;CAoCtG"}
1
+ {"version":3,"file":"Hybrid.d.ts","sourceRoot":"","sources":["../../../../src/Client/apis/Hybrid.ts"],"names":[],"mappings":"AAEA,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;AAI7F,qBAAa,SAAU,SAAQ,GAAG;IACjC,OAAO,CAAC,UAAU,CAGhB;gBAEU,aAAa,EAAE,gBAAgB;IAiBrC,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;CAoCtG"}
@@ -1,11 +1,18 @@
1
+ import { AppMode } from '@searchspring/snap-toolbox';
1
2
  import { API, LegacyAPI, SuggestAPI, ApiConfiguration } from '.';
2
3
  import { transformSearchRequest, transformSearchResponse, transformSuggestResponse } from '../transforms';
3
4
  export class HybridAPI extends API {
4
5
  constructor(configuration) {
5
6
  super(configuration);
7
+ const legacyConfig = { mode: configuration.mode, origin: configuration.origin, cache: this.configuration.cache };
8
+ if (configuration.mode == AppMode.development) {
9
+ legacyConfig.headers = { 'searchspring-no-beacon': '' };
10
+ }
11
+ const legacyConfiguration = new ApiConfiguration(legacyConfig);
12
+ const suggestConfiguration = new ApiConfiguration({ mode: configuration.mode, origin: configuration.origin, cache: this.configuration.cache });
6
13
  this.requesters = {
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 })),
14
+ legacy: new LegacyAPI(legacyConfiguration),
15
+ suggest: new SuggestAPI(suggestConfiguration),
9
16
  };
10
17
  }
11
18
  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;AAIhE,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+ExF,kBAAkB,CAAC,eAAe,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAmB3F,mBAAmB,CAAC,iBAAiB,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAmBpG"}
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;AAIhE,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;IAmFxF,kBAAkB,CAAC,eAAe,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAmB3F,mBAAmB,CAAC,iBAAiB,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAmBpG"}
@@ -1,6 +1,6 @@
1
1
  import { API } from './Abstract';
2
2
  import { hashParams } from '../utils/hashParams';
3
- import { charsParams } from '@searchspring/snap-toolbox';
3
+ import { AppMode, charsParams } from '@searchspring/snap-toolbox';
4
4
  class Deferred {
5
5
  constructor() {
6
6
  this.promise = new Promise((resolve, reject) => {
@@ -71,6 +71,9 @@ export class RecommendAPI extends API {
71
71
  batch.request = { ...batch.request, ...otherParams };
72
72
  });
73
73
  try {
74
+ if (this.configuration.mode == AppMode.development) {
75
+ batch.request.test = true;
76
+ }
74
77
  let response;
75
78
  if (charsParams(batch.request) > 1024) {
76
79
  if (batch.request['product']) {
@@ -136,6 +136,7 @@ transformSearchResponse.facets = (response, request = {}) => {
136
136
  type: 'range',
137
137
  step: facet.step,
138
138
  range: {
139
+ // TODO: change to null
139
140
  low: facet.range[0] == '*' ? undefined : +facet.range[0],
140
141
  high: facet.range[1] == '*' ? undefined : +facet.range[1],
141
142
  },
@@ -143,6 +144,7 @@ transformSearchResponse.facets = (response, request = {}) => {
143
144
  }
144
145
  if (facet.active && typeof facet.active != 'boolean' && facet.active.length > 1) {
145
146
  transformedFacet.active = {
147
+ // TODO: change to null
146
148
  low: facet.active[0] == '*' ? undefined : +facet.active[0],
147
149
  high: facet.active[1] == '*' ? undefined : +facet.active[1],
148
150
  };
@@ -1,5 +1,7 @@
1
+ import { AppMode } from '@searchspring/snap-toolbox';
1
2
  import { SearchResponseModelResult } from '@searchspring/snapi-types';
2
3
  export declare type ClientConfig = {
4
+ mode?: keyof typeof AppMode | AppMode;
3
5
  meta?: {
4
6
  api?: SnapApiConfig;
5
7
  cache?: CacheConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
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.28.0",
3
+ "version": "0.30.1",
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.28.0",
23
+ "@searchspring/snap-toolbox": "^0.30.1",
24
24
  "deepmerge": "4.2.2"
25
25
  },
26
26
  "sideEffects": false,
27
27
  "files": [
28
28
  "dist/**/*"
29
29
  ],
30
- "gitHead": "050a3e8e94678c61db77c597e20bab6e9492bc4f"
30
+ "gitHead": "eb57d83253765d71e049f861c65e113f11cc28e3"
31
31
  }