@searchspring/snap-client 0.27.4 → 0.27.7

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 (45) hide show
  1. package/README.md +19 -0
  2. package/dist/cjs/Client/Client.d.ts +1 -0
  3. package/dist/cjs/Client/Client.d.ts.map +1 -1
  4. package/dist/cjs/Client/Client.js +31 -13
  5. package/dist/cjs/Client/NetworkCache/NetworkCache.d.ts +3 -3
  6. package/dist/cjs/Client/NetworkCache/NetworkCache.d.ts.map +1 -1
  7. package/dist/cjs/Client/NetworkCache/NetworkCache.js +5 -3
  8. package/dist/cjs/Client/apis/Abstract.js +4 -3
  9. package/dist/cjs/Client/apis/Hybrid.d.ts +1 -0
  10. package/dist/cjs/Client/apis/Hybrid.d.ts.map +1 -1
  11. package/dist/cjs/Client/apis/Hybrid.js +15 -0
  12. package/dist/cjs/Client/apis/Recommend.d.ts.map +1 -1
  13. package/dist/cjs/Client/apis/Recommend.js +34 -19
  14. package/dist/cjs/Client/transforms/searchRequest.d.ts +6 -6
  15. package/dist/cjs/Client/transforms/searchRequest.d.ts.map +1 -1
  16. package/dist/cjs/Client/transforms/searchRequest.js +4 -4
  17. package/dist/cjs/Client/transforms/searchResponse.d.ts +161 -20
  18. package/dist/cjs/Client/transforms/searchResponse.d.ts.map +1 -1
  19. package/dist/cjs/Client/transforms/searchResponse.js +49 -40
  20. package/dist/cjs/Client/utils/mergeParams.d.ts.map +1 -1
  21. package/dist/cjs/types.d.ts +11 -6
  22. package/dist/cjs/types.d.ts.map +1 -1
  23. package/dist/esm/Client/Client.d.ts +1 -0
  24. package/dist/esm/Client/Client.d.ts.map +1 -1
  25. package/dist/esm/Client/Client.js +21 -8
  26. package/dist/esm/Client/NetworkCache/NetworkCache.d.ts +3 -3
  27. package/dist/esm/Client/NetworkCache/NetworkCache.d.ts.map +1 -1
  28. package/dist/esm/Client/NetworkCache/NetworkCache.js +4 -3
  29. package/dist/esm/Client/apis/Abstract.js +3 -3
  30. package/dist/esm/Client/apis/Hybrid.d.ts +1 -0
  31. package/dist/esm/Client/apis/Hybrid.d.ts.map +1 -1
  32. package/dist/esm/Client/apis/Hybrid.js +5 -0
  33. package/dist/esm/Client/apis/Recommend.d.ts.map +1 -1
  34. package/dist/esm/Client/apis/Recommend.js +19 -7
  35. package/dist/esm/Client/transforms/searchRequest.d.ts +21 -21
  36. package/dist/esm/Client/transforms/searchRequest.d.ts.map +1 -1
  37. package/dist/esm/Client/transforms/searchRequest.js +3 -3
  38. package/dist/esm/Client/transforms/searchResponse.d.ts +161 -20
  39. package/dist/esm/Client/transforms/searchResponse.d.ts.map +1 -1
  40. package/dist/esm/Client/transforms/searchResponse.js +51 -45
  41. package/dist/esm/Client/transforms/suggestResponse.d.ts +2 -2
  42. package/dist/esm/Client/utils/mergeParams.d.ts.map +1 -1
  43. package/dist/esm/types.d.ts +11 -6
  44. package/dist/esm/types.d.ts.map +1 -1
  45. package/package.json +3 -3
@@ -1,32 +1,173 @@
1
- import { SearchRequestModel, SearchResponseModel, SearchResponseModelResult, SearchResponseModelPagination } from '@searchspring/snapi-types';
2
- export declare function transformSearchResponse(response: any, request: SearchRequestModel): SearchResponseModel;
1
+ import { SearchRequestModel, SearchResponseModelResult, SearchResponseModelPagination, SearchResponseModelSearchMatchTypeEnum } from '@searchspring/snapi-types';
2
+ declare type sortingOption = {
3
+ field: string;
4
+ direction: string;
5
+ label: string;
6
+ active?: number;
7
+ };
8
+ declare type rawResult = {
9
+ brand?: string;
10
+ collection_handle?: string[];
11
+ collection_id?: string[];
12
+ handle?: string;
13
+ id: string;
14
+ imageUrl: string;
15
+ intellisuggestData?: string;
16
+ intellisuggestSignature?: string;
17
+ msrp?: string;
18
+ name: string;
19
+ price: string;
20
+ product_type?: string[];
21
+ product_type_unigram?: string;
22
+ sku: string;
23
+ ss_available?: string;
24
+ ss_best_selling?: string;
25
+ ss_days_since_published?: string;
26
+ ss_id?: string;
27
+ ss_image_hover?: string;
28
+ ss_images?: string[];
29
+ ss_inventory_count?: string;
30
+ ss_tags?: string[];
31
+ thumbnailImageUrl?: string;
32
+ uid?: string;
33
+ url?: string;
34
+ children?: [];
35
+ };
36
+ declare type facetValue = {
37
+ active: boolean;
38
+ type: string;
39
+ value: string;
40
+ label: string;
41
+ count: number;
42
+ low?: string | number;
43
+ high?: string | number;
44
+ };
45
+ declare type facet = {
46
+ hierarchyDelimiter?: string;
47
+ multiple?: string;
48
+ active?: any;
49
+ count?: number;
50
+ high?: string;
51
+ low?: string;
52
+ field: string;
53
+ label: string;
54
+ type: null | string;
55
+ collapse: number;
56
+ facet_active: number;
57
+ values: facetValue[];
58
+ step?: number;
59
+ filtered?: boolean;
60
+ range?: string[];
61
+ };
62
+ declare type breadcrumb = {
63
+ field: string;
64
+ label: string;
65
+ filterLabel: string;
66
+ filterValue: string;
67
+ removeFilters: [];
68
+ removeRefineQuery: [];
69
+ };
70
+ export declare type searchResponseType = {
71
+ pagination: {
72
+ totalResults: number;
73
+ begin: number;
74
+ end: number;
75
+ currentPage: number;
76
+ totalPages: number;
77
+ previousPage: number;
78
+ nextPage: number;
79
+ perPage: number;
80
+ defaultPerPage: number;
81
+ };
82
+ sorting: {
83
+ options: sortingOption[];
84
+ };
85
+ resultLayout?: string;
86
+ results: rawResult[];
87
+ facets: facet[];
88
+ breadcrumbs?: breadcrumb[];
89
+ filterSummary: {
90
+ field: string;
91
+ filterLabel: string;
92
+ filterValue: string;
93
+ label: string;
94
+ value: {
95
+ rangeHigh?: string | number;
96
+ rangeLow?: string | number;
97
+ low?: string | number;
98
+ high?: string | number;
99
+ } | string;
100
+ }[];
101
+ merchandising: {
102
+ redirect: string;
103
+ is_elevated: string[];
104
+ elevated: any[];
105
+ removed: string[];
106
+ content: {};
107
+ facets: any[];
108
+ facetsHide: any[];
109
+ experiments?: [];
110
+ variants?: [];
111
+ personalized?: boolean;
112
+ triggeredCampaigns?: {
113
+ id: string;
114
+ title: string;
115
+ type: string;
116
+ }[];
117
+ };
118
+ didYouMean?: {
119
+ query: string;
120
+ };
121
+ query?: {
122
+ matchType: SearchResponseModelSearchMatchTypeEnum | undefined;
123
+ };
124
+ };
125
+ export declare function transformSearchResponse(response: searchResponseType, request: SearchRequestModel): any;
3
126
  export declare namespace transformSearchResponse {
4
- var pagination: (response: any) => {
127
+ var pagination: (response: searchResponseType) => {
5
128
  pagination: SearchResponseModelPagination;
6
129
  };
7
- var results: (response: any) => {
8
- results: any;
9
- };
10
- var result: (rawResult: any) => SearchResponseModelResult;
11
- var filters: (response: any) => {
12
- filters: any;
130
+ var results: (response: searchResponseType) => {
131
+ results: SearchResponseModelResult[];
13
132
  };
14
- var facets: (response: any, request?: SearchRequestModel) => {
15
- facets: any;
133
+ var result: (rawResult: rawResult) => SearchResponseModelResult;
134
+ var filters: (response: searchResponseType) => any;
135
+ var facets: (response: searchResponseType, request?: SearchRequestModel) => {
136
+ facets: any[];
16
137
  };
17
- var sorting: (response: any) => {
18
- sorting: any;
138
+ var sorting: (response: searchResponseType) => {
139
+ sorting: {
140
+ field: string;
141
+ direction: string;
142
+ }[];
19
143
  };
20
- var merchandising: (response: any) => {
21
- merchandising: any;
144
+ var merchandising: (response: searchResponseType) => {
145
+ merchandising: {
146
+ redirect: string;
147
+ is_elevated: string[];
148
+ elevated: any[];
149
+ removed: string[];
150
+ content: {};
151
+ facets: any[];
152
+ facetsHide: any[];
153
+ experiments?: [] | undefined;
154
+ variants?: [] | undefined;
155
+ personalized?: boolean | undefined;
156
+ triggeredCampaigns?: {
157
+ id: string;
158
+ title: string;
159
+ type: string;
160
+ }[] | undefined;
161
+ };
22
162
  };
23
- var search: (response: any, request: any) => {
163
+ var search: (response: searchResponseType, request: SearchRequestModel) => {
24
164
  search: {
25
- query: any;
26
- didYouMean: any;
27
- originalQuery: any;
28
- matchType: any;
165
+ query: string | undefined;
166
+ didYouMean: string | undefined;
167
+ originalQuery: string | undefined;
168
+ matchType: SearchResponseModelSearchMatchTypeEnum | undefined;
29
169
  };
30
170
  };
31
171
  }
172
+ export {};
32
173
  //# sourceMappingURL=searchResponse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"searchResponse.d.ts","sourceRoot":"","sources":["../../../../src/Client/transforms/searchResponse.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,kBAAkB,EAElB,mBAAmB,EACnB,yBAAyB,EAIzB,6BAA6B,EAC7B,MAAM,2BAA2B,CAAC;AA8BnC,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,kBAAkB,GAAG,mBAAmB,CAUvG;yBAVe,uBAAuB"}
1
+ {"version":3,"file":"searchResponse.d.ts","sourceRoot":"","sources":["../../../../src/Client/transforms/searchResponse.ts"],"names":[],"mappings":"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"}
@@ -37,19 +37,19 @@ export function transformSearchResponse(response, request) {
37
37
  };
38
38
  }
39
39
  transformSearchResponse.pagination = (response) => {
40
- const pagination = (response || {}).pagination || {};
40
+ const pagination = response?.pagination;
41
41
  return {
42
42
  pagination: {
43
- totalResults: pagination.totalResults,
44
- page: pagination.currentPage,
45
- pageSize: pagination.perPage,
46
- defaultPageSize: pagination.defaultPerPage,
47
- totalPages: pagination.totalPages,
43
+ totalResults: pagination?.totalResults,
44
+ page: pagination?.currentPage,
45
+ pageSize: pagination?.perPage,
46
+ defaultPageSize: pagination?.defaultPerPage,
47
+ totalPages: pagination?.totalPages,
48
48
  },
49
49
  };
50
50
  };
51
51
  transformSearchResponse.results = (response) => {
52
- const results = (response || {}).results || [];
52
+ const results = response?.results || [];
53
53
  return { results: results.map(transformSearchResponse.result) };
54
54
  };
55
55
  transformSearchResponse.result = (rawResult) => {
@@ -57,7 +57,7 @@ transformSearchResponse.result = (rawResult) => {
57
57
  if (typeof rawResult[key] != 'undefined') {
58
58
  return {
59
59
  ...coreFields,
60
- [key]: decodeProperty(rawResult[key]),
60
+ [key]: decodeProperty(rawResult[key] || ''),
61
61
  };
62
62
  }
63
63
  return coreFields;
@@ -71,7 +71,7 @@ transformSearchResponse.result = (rawResult) => {
71
71
  .reduce((attributes, key) => {
72
72
  return {
73
73
  ...attributes,
74
- [key]: decodeProperty(rawResult[key]),
74
+ [key]: decodeProperty(rawResult[key] || ''),
75
75
  };
76
76
  }, {});
77
77
  const children = rawResult?.children?.map((child) => {
@@ -96,17 +96,19 @@ transformSearchResponse.result = (rawResult) => {
96
96
  });
97
97
  };
98
98
  transformSearchResponse.filters = (response) => {
99
- const filterSummary = (response || {}).filterSummary || [];
99
+ const filterSummary = response?.filterSummary || [];
100
100
  return {
101
101
  filters: filterSummary.map((filter) => {
102
102
  let value = filter.value;
103
103
  let type = 'value';
104
104
  if (typeof filter.value == 'object') {
105
- (type = 'range'),
106
- (value = {
107
- low: +filter.value.rangeLow,
108
- high: +filter.value.rangeHigh,
109
- });
105
+ if (filter && filter.value && filter.value.rangeHigh && filter.value.rangeLow) {
106
+ (type = 'range'),
107
+ (value = {
108
+ low: +filter.value.rangeLow,
109
+ high: +filter.value.rangeHigh,
110
+ });
111
+ }
110
112
  }
111
113
  return {
112
114
  type,
@@ -119,7 +121,7 @@ transformSearchResponse.filters = (response) => {
119
121
  };
120
122
  transformSearchResponse.facets = (response, request = {}) => {
121
123
  const filters = request.filters || [];
122
- const facets = (response || {}).facets || [];
124
+ const facets = response?.facets || [];
123
125
  return {
124
126
  facets: facets.map((facet) => {
125
127
  let transformedFacet = {
@@ -128,19 +130,21 @@ transformSearchResponse.facets = (response, request = {}) => {
128
130
  filtered: Boolean(facet.facet_active),
129
131
  };
130
132
  if (facet.step) {
131
- transformedFacet = {
132
- ...transformedFacet,
133
- type: 'range',
134
- step: facet.step,
135
- range: {
136
- low: facet.range[0] == '*' ? null : +facet.range[0],
137
- high: facet.range[1] == '*' ? null : +facet.range[1],
138
- },
139
- };
140
- if (facet.active && facet.active.length > 1) {
133
+ if (facet.range) {
134
+ transformedFacet = {
135
+ ...transformedFacet,
136
+ type: 'range',
137
+ step: facet.step,
138
+ range: {
139
+ low: facet.range[0] == '*' ? undefined : +facet.range[0],
140
+ high: facet.range[1] == '*' ? undefined : +facet.range[1],
141
+ },
142
+ };
143
+ }
144
+ if (facet.active && typeof facet.active != 'boolean' && facet.active.length > 1) {
141
145
  transformedFacet.active = {
142
- low: facet.active[0] == '*' ? null : +facet.active[0],
143
- high: facet.active[1] == '*' ? null : +facet.active[1],
146
+ low: facet.active[0] == '*' ? undefined : +facet.active[0],
147
+ high: facet.active[1] == '*' ? undefined : +facet.active[1],
144
148
  };
145
149
  }
146
150
  }
@@ -158,15 +162,17 @@ transformSearchResponse.facets = (response, request = {}) => {
158
162
  const filterSelected = filters.find((f) => f.field == facet.field);
159
163
  const newValues = [];
160
164
  if (filterSelected && !filterSelected.background) {
161
- const valueLevels = filterSelected.value.split(facet.hierarchyDelimiter);
162
- for (let i = valueLevels.length - 1; i >= 0; i--) {
163
- const valueSplit = valueLevels.slice(0, i + 1);
164
- const value = valueSplit.join(facet.hierarchyDelimiter);
165
- newValues.unshift({
166
- value,
167
- filtered: value == filterSelected.value,
168
- label: valueSplit[valueSplit.length - 1],
169
- });
165
+ const valueLevels = filterSelected.value?.split(facet.hierarchyDelimiter || '>');
166
+ if (valueLevels) {
167
+ for (let i = valueLevels.length - 1; i >= 0; i--) {
168
+ const valueSplit = valueLevels.slice(0, i + 1);
169
+ const value = valueSplit.join(facet.hierarchyDelimiter);
170
+ newValues.unshift({
171
+ value,
172
+ filtered: value == filterSelected.value,
173
+ label: valueSplit[valueSplit.length - 1],
174
+ });
175
+ }
170
176
  }
171
177
  newValues.unshift({
172
178
  value: null,
@@ -192,8 +198,8 @@ transformSearchResponse.facets = (response, request = {}) => {
192
198
  transformedFacet.values = facet.values.map((value) => {
193
199
  return {
194
200
  filtered: value.active,
195
- low: value.low == '*' ? null : +value.low,
196
- high: value.high == '*' ? null : +value.high,
201
+ low: value.low == '*' ? null : value.low ? +value.low : null,
202
+ high: value.high == '*' ? null : value.high ? +value.high : null,
197
203
  label: value.label,
198
204
  count: value.count,
199
205
  };
@@ -205,7 +211,7 @@ transformSearchResponse.facets = (response, request = {}) => {
205
211
  };
206
212
  };
207
213
  transformSearchResponse.sorting = (response) => {
208
- const sorts = ((response || {}).sorting || {}).options || [];
214
+ const sorts = response?.sorting?.options || [];
209
215
  const transformedSorting = sorts
210
216
  .filter((sort) => sort.active)
211
217
  .map((sort) => {
@@ -219,7 +225,7 @@ transformSearchResponse.sorting = (response) => {
219
225
  };
220
226
  };
221
227
  transformSearchResponse.merchandising = (response) => {
222
- const merchandising = (response || {}).merchandising || {};
228
+ const merchandising = response?.merchandising;
223
229
  if (merchandising.content && Array.isArray(merchandising.content) && !merchandising.content.length) {
224
230
  merchandising.content = {};
225
231
  }
@@ -228,12 +234,12 @@ transformSearchResponse.merchandising = (response) => {
228
234
  };
229
235
  };
230
236
  transformSearchResponse.search = (response, request) => {
231
- const didYouMean = ((response || {}).didYouMean || {}).query;
232
- const originalQuery = ((request || {}).search || {}).originalQuery;
233
- const matchType = ((response || {}).query || {}).matchType;
237
+ const didYouMean = response?.didYouMean?.query;
238
+ const originalQuery = request?.search?.originalQuery;
239
+ const matchType = response?.query?.matchType;
234
240
  return {
235
241
  search: {
236
- query: (((request || {}).search || {}).query || {}).string,
242
+ query: request?.search?.query?.string,
237
243
  didYouMean,
238
244
  originalQuery,
239
245
  matchType,
@@ -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 +1 @@
1
- {"version":3,"file":"mergeParams.d.ts","sourceRoot":"","sources":["../../../../src/Client/utils/mergeParams.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,GAAG,IAAI,OAAA,GAAG,GAAG,CAYxC"}
1
+ {"version":3,"file":"mergeParams.d.ts","sourceRoot":"","sources":["../../../../src/Client/utils/mergeParams.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAY/C"}
@@ -11,6 +11,10 @@ export declare type ClientConfig = {
11
11
  api?: SnapApiConfig;
12
12
  cache?: CacheConfig;
13
13
  };
14
+ finder?: {
15
+ api?: SnapApiConfig;
16
+ cache?: CacheConfig;
17
+ };
14
18
  recommend?: {
15
19
  api?: SnapApiConfig;
16
20
  cache?: CacheConfig;
@@ -20,18 +24,19 @@ export declare type ClientConfig = {
20
24
  cache?: CacheConfig;
21
25
  };
22
26
  };
23
- export declare type CacheConfig = {
24
- enabled?: boolean;
25
- ttl?: number;
26
- maxSize?: number;
27
- purgeable?: boolean;
27
+ export declare type CacheConfig = Partial<DefaultCacheConfig>;
28
+ export declare type DefaultCacheConfig = {
29
+ enabled: boolean;
30
+ ttl: number;
31
+ maxSize: number;
32
+ purgeable: boolean;
28
33
  entries?: {
29
34
  [key: string]: Response;
30
35
  };
31
36
  };
32
37
  export declare type CacheEntry = {
33
38
  value: Response;
34
- expires?: number;
39
+ expires: number;
35
40
  purgeable?: boolean;
36
41
  };
37
42
  export declare type Cache = {
@@ -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;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
+ {"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,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@searchspring/snap-client",
3
- "version": "0.27.4",
3
+ "version": "0.27.7",
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.27.4",
23
+ "@searchspring/snap-toolbox": "^0.27.7",
24
24
  "deepmerge": "^4.2.2"
25
25
  },
26
26
  "sideEffects": false,
27
27
  "files": [
28
28
  "dist/**/*"
29
29
  ],
30
- "gitHead": "e2799de1cedb8f57760986acbc40ad29c1a5d9b1"
30
+ "gitHead": "e926b49d646627752cb9a63a71709b3ee0ba892a"
31
31
  }