@constructor-io/constructorio-client-javascript 2.55.0 → 2.56.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -144,14 +144,14 @@ var Autocomplete = /*#__PURE__*/function () {
144
144
  * @param {object} [parameters.filters] - Key / value mapping (dictionary) of filters used to refine results
145
145
  * @param {object} [parameters.filtersPerSection] - Filters used to refine results per section
146
146
  * @param {object} [parameters.resultsPerSection] - Number of results to return (value) per section (key)
147
- * @param {object} [parameters.preFilterExpression] - Faceting expression to scope autocomplete results. Please refer to https://docs.constructor.io/rest_api/collections/#add-items-dynamically for details
147
+ * @param {object} [parameters.preFilterExpression] - Faceting expression to scope autocomplete results. Please refer to https://docs.constructor.com/reference/configuration-collections for details
148
148
  * @param {string[]} [parameters.hiddenFields] - Hidden metadata fields to return
149
- * @param {object} [parameters.variationsMap] - The variations map object to aggregate variations. Please refer to https://docs.constructor.io/rest_api/variations_mapping for details
149
+ * @param {object} [parameters.variationsMap] - The variations map object to aggregate variations. Please refer to https://docs.constructor.com/reference/shared-variations-mapping for details
150
150
  * @param {object} [parameters.qsParam] - object of additional query parameters to be appended to requests for results
151
151
  * @param {object} [networkParameters] - Parameters relevant to the network request
152
152
  * @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
153
153
  * @returns {Promise}
154
- * @see https://docs.constructor.io/rest_api/autocomplete_queries
154
+ * @see https://docs.constructor.com/reference/autocomplete-autocomplete-results
155
155
  * @example
156
156
  * constructorio.autocomplete.getAutocompleteResults('t-shirt', {
157
157
  * resultsPerSection: {
@@ -227,16 +227,16 @@ var Browse = /*#__PURE__*/function () {
227
227
  * @param {string} [parameters.sortBy='relevance'] - The sort method for results
228
228
  * @param {string} [parameters.sortOrder='descending'] - The sort order for results
229
229
  * @param {string} [parameters.section='Products'] - The section name for results
230
- * @param {object} [parameters.fmtOptions] - The format options used to refine result groups. Please refer to https://docs.constructor.io/rest_api/browse/queries/ for details
231
- * @param {object} [parameters.preFilterExpression] - Faceting expression to scope browse results. Please refer to https://docs.constructor.io/rest_api/collections#add-items-dynamically
230
+ * @param {object} [parameters.fmtOptions] - The format options used to refine result groups. Please refer to https://docs.constructor.com/reference/browse-browse-results for details
231
+ * @param {object} [parameters.preFilterExpression] - Faceting expression to scope browse results. Please refer to https://docs.constructor.com/reference/configuration-collections
232
232
  * @param {string[]} [parameters.hiddenFields] - Hidden metadata fields to return
233
233
  * @param {string[]} [parameters.hiddenFacets] - Hidden facets to return
234
- * @param {object} [parameters.variationsMap] - The variations map object to aggregate variations. Please refer to https://docs.constructor.io/rest_api/variations_mapping for details
235
- * @param {object} [parameters.qsParam] - Parameters listed above can be serialized into a JSON object and parsed through this parameter. Please refer to https://docs.constructor.io/rest_api/browse/queries/
234
+ * @param {object} [parameters.variationsMap] - The variations map object to aggregate variations. Please refer to https://docs.constructor.com/reference/shared-variations-mapping for details
235
+ * @param {object} [parameters.qsParam] - Parameters listed above can be serialized into a JSON object and parsed through this parameter. Please refer to https://docs.constructor.com/reference/browse-browse-results
236
236
  * @param {object} [networkParameters] - Parameters relevant to the network request
237
237
  * @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
238
238
  * @returns {Promise}
239
- * @see https://docs.constructor.io/rest_api/browse/results
239
+ * @see https://docs.constructor.com/reference/shared-results-response-structure
240
240
  * @example
241
241
  * constructorio.browse.getBrowseResults('group_id', 't-shirts', {
242
242
  * resultsPerPage: 40,
@@ -296,14 +296,14 @@ var Browse = /*#__PURE__*/function () {
296
296
  * @param {string} [parameters.sortBy='relevance'] - The sort method for results
297
297
  * @param {string} [parameters.sortOrder='descending'] - The sort order for results
298
298
  * @param {string} [parameters.section='Products'] - The section name for results
299
- * @param {object} [parameters.fmtOptions] - The format options used to refine result groups. Please refer to https://docs.constructor.io/rest_api/browse/queries/ for details
299
+ * @param {object} [parameters.fmtOptions] - The format options used to refine result groups. Please refer to https://docs.constructor.com/reference/browse-browse-results for details
300
300
  * @param {string[]} [parameters.hiddenFields] - Hidden metadata fields to return
301
301
  * @param {string[]} [parameters.hiddenFacets] - Hidden facets to return
302
- * @param {object} [parameters.variationsMap] - The variations map object to aggregate variations. Please refer to https://docs.constructor.io/rest_api/variations_mapping for details
302
+ * @param {object} [parameters.variationsMap] - The variations map object to aggregate variations. Please refer to https://docs.constructor.com/reference/shared-variations-mapping for details
303
303
  * @param {object} [networkParameters] - Parameters relevant to the network request
304
304
  * @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
305
305
  * @returns {Promise}
306
- * @see https://docs.constructor.io/rest_api/browse/items/
306
+ * @see https://docs.constructor.com/reference/v1-browse-get-browse-items-results
307
307
  * @example
308
308
  * constructorio.browse.getBrowseResultsForItemIds(['shirt-123', 'shirt-456', 'shirt-789'], {
309
309
  * filters: {
@@ -355,11 +355,11 @@ var Browse = /*#__PURE__*/function () {
355
355
  * @function getBrowseGroups
356
356
  * @param {object} [parameters.filters] - Filters used to refine results
357
357
  * @param {string} [parameters.section='Products'] - The section name for results
358
- * @param {object} [parameters.fmtOptions] - The format options used to refine result groups. Please refer to https://docs.constructor.io/rest_api/browse/groups/ for details
358
+ * @param {object} [parameters.fmtOptions] - The format options used to refine result groups. Please refer to https://docs.constructor.com/reference/v1-browse-get-browse-groups/ for details
359
359
  * @param {object} [networkParameters] - Parameters relevant to the network request
360
360
  * @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
361
361
  * @returns {Promise}
362
- * @see https://docs.constructor.io/rest_api/browse/groups
362
+ * @see https://docs.constructor.com/reference/v1-browse-get-browse-groups
363
363
  * @example
364
364
  * constructorio.browse.getBrowseGroups({
365
365
  * filters: {
@@ -408,12 +408,12 @@ var Browse = /*#__PURE__*/function () {
408
408
  * @param {number} [parameters.page] - The page number of the results (Can't be used together with offset)
409
409
  * @param {number} [parameters.offset] - The number of results to skip from the beginning (Can't be used together with page)
410
410
  * @param {string} [parameters.section='Products'] - The section name for results
411
- * @param {object} [parameters.fmtOptions] - The format options used to refine result groups. Please refer to https://docs.constructor.io/rest_api/browse/facets/ for details
411
+ * @param {object} [parameters.fmtOptions] - The format options used to refine result groups. Please refer to https://docs.constructor.com/reference/browse-browse-facets/ for details
412
412
  * @param {number} [parameters.resultsPerPage] - The number of results per page to return
413
413
  * @param {object} [networkParameters] - Parameters relevant to the network request
414
414
  * @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
415
415
  * @returns {Promise}
416
- * @see https://docs.constructor.io/rest_api/browse/facets
416
+ * @see https://docs.constructor.com/reference/browse-browse-facets
417
417
  * @example
418
418
  * constructorio.browse.getBrowseFacets({
419
419
  * page: 1,
@@ -459,10 +459,10 @@ var Browse = /*#__PURE__*/function () {
459
459
  * @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
460
460
  * @param {object} [parameters] - Additional parameters to refine result set
461
461
  * @param {string} [parameters.section='Products'] - The section name for results
462
- * @param {object} [parameters.fmtOptions] - The format options used to refine result groups. Please refer to https://docs.constructor.io/rest_api/browse/facet_options/ for details
462
+ * @param {object} [parameters.fmtOptions] - The format options used to refine result groups. Please refer to https://docs.constructor.com/reference/v1-browse-get-browse-facet-options for details
463
463
  * @param {}
464
464
  * @returns {Promise}
465
- * @see https://docs.constructor.io/rest_api/browse/facet_options/
465
+ * @see https://docs.constructor.com/reference/v1-browse-get-browse-facet-options
466
466
  * @example
467
467
  * constructorio.browse.getBrowseFacetOptions('price', {
468
468
  * });
@@ -134,12 +134,12 @@ var Quizzes = /*#__PURE__*/function () {
134
134
  * @param {string} [parameters] - Additional parameters to refine result set
135
135
  * @param {string} [parameters.section] - Product catalog section
136
136
  * @param {array} [parameters.answers] - An array of answers in the format [[1,2],[1]]
137
- * @param {string} [parameters.quizVersionId] - Version identifier for the quiz. Version ID will be returned with the first request and it should be passed with subsequent requests. More information can be found: https://docs.constructor.io/rest_api/quiz/using_quizzes/#quiz-versioning
138
- * @param {string} [parameters.quizSessionId] - Session identifier for the quiz. Session ID will be returned with the first request and it should be passed with subsequent requests. More information can be found: https://docs.constructor.io/rest_api/quiz/using_quizzes/#quiz-sessions
137
+ * @param {string} [parameters.quizVersionId] - Version identifier for the quiz. Version ID will be returned with the first request and it should be passed with subsequent requests. More information can be found: https://docs.constructor.com/reference/configuration-quizzes
138
+ * @param {string} [parameters.quizSessionId] - Session identifier for the quiz. Session ID will be returned with the first request and it should be passed with subsequent requests. More information can be found: https://docs.constructor.com/reference/configuration-quizzes
139
139
  * @param {object} [networkParameters] - Parameters relevant to the network request
140
140
  * @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
141
141
  * @returns {Promise}
142
- * @see https://docs.constructor.io/rest_api/quiz/using_quizzes/#answering-a-quiz
142
+ * @see https://docs.constructor.com/reference/v1-quizzes-get-quiz-results
143
143
  * @example
144
144
  * constructorio.quizzes.getQuizNextQuestion('quizId', {
145
145
  * answers: [[1,2],[1]],
@@ -185,8 +185,8 @@ var Quizzes = /*#__PURE__*/function () {
185
185
  * @param {string} parameters - Additional parameters to refine result set
186
186
  * @param {array} parameters.answers - An array of answers in the format [[1,2],[1]]
187
187
  * @param {string} [parameters.section] - Product catalog section
188
- * @param {string} [parameters.quizVersionId] - Version identifier for the quiz. Version ID will be returned with the first request and it should be passed with subsequent requests. More information can be found: https://docs.constructor.io/rest_api/quiz/using_quizzes/#quiz-versioning
189
- * @param {string} [parameters.quizSessionId] - Session identifier for the quiz. Session ID will be returned with the first request and it should be passed with subsequent requests. More information can be found: https://docs.constructor.io/rest_api/quiz/using_quizzes/#quiz-sessions
188
+ * @param {string} [parameters.quizVersionId] - Version identifier for the quiz. Version ID will be returned with the first request and it should be passed with subsequent requests. More information can be found: https://docs.constructor.com/reference/configuration-quizzes
189
+ * @param {string} [parameters.quizSessionId] - Session identifier for the quiz. Session ID will be returned with the first request and it should be passed with subsequent requests. More information can be found: https://docs.constructor.com/reference/configuration-quizzes
190
190
  * @param {number} [parameters.page] - The page number of the results
191
191
  * @param {number} [parameters.resultsPerPage] - The number of results per page to return
192
192
  * @param {object} [parameters.filters] - Key / value mapping (dictionary) of filters used to refine results
@@ -195,7 +195,7 @@ var Quizzes = /*#__PURE__*/function () {
195
195
  * @param {object} [networkParameters] - Parameters relevant to the network request
196
196
  * @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
197
197
  * @returns {Promise}
198
- * @see https://docs.constructor.io/rest_api/quiz/using_quizzes/#completing-the-quiz
198
+ * @see https://docs.constructor.com/reference/v1-quizzes-get-quiz-results
199
199
  * @example
200
200
  * constructorio.quizzes.getQuizResults('quizId', {
201
201
  * answers: [[1,2],[1]],
@@ -240,7 +240,7 @@ var Quizzes = /*#__PURE__*/function () {
240
240
  * @param {string} quizId - The identifier of the quiz
241
241
  * @param {string} parameters - Additional parameters
242
242
  * @param {string} [parameters.section] - Product catalog section
243
- * @param {string} [parameters.quizVersionId] - Version identifier for the quiz. Version ID will be returned with the first request and it should be passed with subsequent requests. More information can be found: https://docs.constructor.io/rest_api/quiz/using_quizzes/#quiz-versioning
243
+ * @param {string} [parameters.quizVersionId] - Version identifier for the quiz. Version ID will be returned with the first request and it should be passed with subsequent requests. More information can be found: https://docs.constructor.com/reference/configuration-quizzes
244
244
  * @param {object} [networkParameters] - Parameters relevant to the network request
245
245
  * @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
246
246
  * @returns {Promise}
@@ -124,13 +124,13 @@ var Recommendations = /*#__PURE__*/function () {
124
124
  * @param {string} [parameters.section] - The section to return results from
125
125
  * @param {string} [parameters.term] - The term to use to refine results (strategy specific)
126
126
  * @param {object} [parameters.filters] - Key / value mapping of filters used to refine results
127
- * @param {object} [parameters.variationsMap] - The variations map object to aggregate variations. Please refer to https://docs.constructor.io/rest_api/variations_mapping for details
128
- * @param {object} [parameters.preFilterExpression] - Faceting expression to scope search results. Please refer to https://docs.constructor.io/rest_api/collections#add-items-dynamically
127
+ * @param {object} [parameters.variationsMap] - The variations map object to aggregate variations. Please refer to https://docs.constructor.com/reference/shared-variations-mapping for details
128
+ * @param {object} [parameters.preFilterExpression] - Faceting expression to scope search results. Please refer to https://docs.constructor.com/reference/configuration-collections
129
129
  * @param {string[]} [parameters.hiddenFields] - Hidden metadata fields to return
130
130
  * @param {object} [networkParameters] - Parameters relevant to the network request
131
131
  * @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
132
132
  * @returns {Promise}
133
- * @see https://docs.constructor.io/rest_api/recommendations
133
+ * @see https://docs.constructor.com/reference/recommendations-recommendation-results
134
134
  * @example
135
135
  * constructorio.recommendations.getRecommendations('t-shirt-best-sellers', {
136
136
  * numResults: 5,
@@ -175,16 +175,16 @@ var Search = /*#__PURE__*/function () {
175
175
  * @param {string} [parameters.sortBy='relevance'] - The sort method for results
176
176
  * @param {string} [parameters.sortOrder='descending'] - The sort order for results
177
177
  * @param {string} [parameters.section='Products'] - The section name for results
178
- * @param {object} [parameters.fmtOptions] - The format options used to refine result groups. Please refer to https://docs.constructor.io/rest_api/search/queries for details
179
- * @param {object} [parameters.preFilterExpression] - Faceting expression to scope search results. Please refer to https://docs.constructor.io/rest_api/collections#add-items-dynamically
178
+ * @param {object} [parameters.fmtOptions] - The format options used to refine result groups. Please refer to https://docs.constructor.com/reference/search-search-resultsqueries for details
179
+ * @param {object} [parameters.preFilterExpression] - Faceting expression to scope search results. Please refer to https://docs.constructor.com/reference/configuration-collections
180
180
  * @param {string[]} [parameters.hiddenFields] - Hidden metadata fields to return
181
181
  * @param {string[]} [parameters.hiddenFacets] - Hidden facets to return
182
- * @param {object} [parameters.variationsMap] - The variations map object to aggregate variations. Please refer to https://docs.constructor.io/rest_api/variations_mapping for details
183
- * @param {object} [parameters.qsParam] - Parameters listed above can be serialized into a JSON object and parsed through this parameter. Please refer to https://docs.constructor.io/rest_api/search/queries/
182
+ * @param {object} [parameters.variationsMap] - The variations map object to aggregate variations. Please refer to https://docs.constructor.com/reference/shared-variations-mapping for details
183
+ * @param {object} [parameters.qsParam] - Parameters listed above can be serialized into a JSON object and parsed through this parameter. Please refer to https://docs.constructor.com/reference/v1-search-get-search-results
184
184
  * @param {object} [networkParameters] - Parameters relevant to the network request
185
185
  * @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
186
186
  * @returns {Promise}
187
- * @see https://docs.constructor.io/rest_api/search/
187
+ * @see https://docs.constructor.com/reference/search-search-results
188
188
  * @example
189
189
  * constructorio.search.getSearchResults('t-shirt', {
190
190
  * resultsPerPage: 40,
@@ -249,16 +249,16 @@ var Search = /*#__PURE__*/function () {
249
249
  * @param {number} [parameters.offset] - The number of results to skip from the beginning (Can't be used together with page)
250
250
  * @param {number} [parameters.resultsPerPage] - The number of results per page to return
251
251
  * @param {string} [parameters.section='Products'] - The section name for results
252
- * @param {object} [parameters.fmtOptions] - The format options used to refine result groups. Please refer to https://docs.constructor.io/rest_api/search/queries for details
253
- * @param {object} [parameters.preFilterExpression] - Faceting expression to scope search results. Please refer to https://docs.constructor.io/rest_api/collections#add-items-dynamically
254
- * @param {object} [parameters.variationsMap] - The variations map object to aggregate variations. Please refer to https://docs.constructor.io/rest_api/variations_mapping for details
252
+ * @param {object} [parameters.fmtOptions] - The format options used to refine result groups. Please refer to https://docs.constructor.com/reference/search-search-resultsqueries for details
253
+ * @param {object} [parameters.preFilterExpression] - Faceting expression to scope search results. Please refer to https://docs.constructor.com/reference/configuration-collections
254
+ * @param {object} [parameters.variationsMap] - The variations map object to aggregate variations. Please refer to https://docs.constructor.com/reference/shared-variations-mapping for details
255
255
  * @param {string[]} [parameters.hiddenFields] - Hidden metadata fields to return
256
256
  * @param {string[]} [parameters.hiddenFacets] - Hidden facets to return
257
- * @param {object} [parameters.qsParam] - Parameters listed above can be serialized into a JSON object and parsed through this parameter. Please refer to https://docs.constructor.io/rest_api/search/queries/
257
+ * @param {object} [parameters.qsParam] - Parameters listed above can be serialized into a JSON object and parsed through this parameter. Please refer to https://docs.constructor.com/reference/v1-search-get-search-results
258
258
  * @param {object} [networkParameters] - Parameters relevant to the network request
259
259
  * @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
260
260
  * @returns {Promise}
261
- * @see https://docs.constructor.io/rest_api/search/natural_language_search/
261
+ * @see https://docs.constructor.com/docs/products-search-learn-about-search
262
262
  * @example
263
263
  * constructorio.search.getVoiceSearchResults('show me lipstick');
264
264
  */
@@ -570,9 +570,9 @@ var Tracker = /*#__PURE__*/function () {
570
570
  }
571
571
 
572
572
  /**
573
- * Send search results loaded v2 event to API
574
- * @private
575
- * @function trackSearchResultsLoadedV2
573
+ * Send search results loaded event to API
574
+ *
575
+ * @function trackSearchResultsLoaded
576
576
  * @param {string} searchTerm - Search results query term
577
577
  * @param {object} parameters - Additional parameters to be sent with request
578
578
  * @param {string} parameters.url - URL of the search results page
@@ -584,12 +584,13 @@ var Tracker = /*#__PURE__*/function () {
584
584
  * @param {string} [parameters.sortOrder] - Sort order ('ascending' or 'descending')
585
585
  * @param {string} [parameters.sortBy] - Sorting method
586
586
  * @param {string} [parameters.section] - The section name for the item Ex. "Products"
587
+ * @param {object} [parameters.analyticsTags] - Pass additional analytics data
587
588
  * @param {object} [networkParameters] - Parameters relevant to the network request
588
589
  * @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
589
590
  * @returns {(true|Error)}
590
591
  * @description User viewed a search product listing page
591
592
  * @example
592
- * constructorio.tracker.trackSearchResultsLoadedV2(
593
+ * constructorio.tracker.trackSearchResultsLoaded(
593
594
  * 'T-Shirt',
594
595
  * {
595
596
  * resultCount: 167,
@@ -602,22 +603,25 @@ var Tracker = /*#__PURE__*/function () {
602
603
  * );
603
604
  */
604
605
  }, {
605
- key: "trackSearchResultsLoadedV2",
606
- value: function trackSearchResultsLoadedV2(searchTerm, parameters) {
606
+ key: "trackSearchResultsLoaded",
607
+ value: function trackSearchResultsLoaded(searchTerm, parameters) {
607
608
  var networkParameters = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
608
609
  // Ensure term is provided (required)
609
610
  if (searchTerm && typeof searchTerm === 'string') {
610
611
  // Ensure parameters are provided (required)
611
612
  if (parameters && (0, _typeof2["default"])(parameters) === 'object' && !Array.isArray(parameters)) {
613
+ var _helpers$getWindowLoc2;
612
614
  var baseUrl = "".concat(this.options.serviceUrl, "/v2/behavioral_action/search_result_load?");
613
615
  var num_results = parameters.num_results,
614
616
  _parameters$numResult = parameters.numResults,
615
617
  numResults = _parameters$numResult === void 0 ? num_results : _parameters$numResult,
616
618
  result_count = parameters.result_count,
617
- _parameters$resultCou = parameters.resultCount,
618
- resultCount = _parameters$resultCou === void 0 ? numResults || result_count : _parameters$resultCou,
619
- customer_ids = parameters.customer_ids,
620
- item_ids = parameters.item_ids,
619
+ customerIds = parameters.customerIds,
620
+ _parameters$customer_ = parameters.customer_ids,
621
+ customer_ids = _parameters$customer_ === void 0 ? customerIds : _parameters$customer_,
622
+ itemIds = parameters.itemIds,
623
+ _parameters$item_ids = parameters.item_ids,
624
+ item_ids = _parameters$item_ids === void 0 ? itemIds : _parameters$item_ids,
621
625
  _parameters$items = parameters.items,
622
626
  items = _parameters$items === void 0 ? customer_ids || item_ids : _parameters$items,
623
627
  result_page = parameters.result_page,
@@ -635,20 +639,24 @@ var Tracker = /*#__PURE__*/function () {
635
639
  selected_filters = parameters.selected_filters,
636
640
  _parameters$selectedF = parameters.selectedFilters,
637
641
  selectedFilters = _parameters$selectedF === void 0 ? selected_filters : _parameters$selectedF,
638
- url = parameters.url,
639
- section = parameters.section;
642
+ _parameters$url = parameters.url,
643
+ url = _parameters$url === void 0 ? ((_helpers$getWindowLoc2 = helpers.getWindowLocation()) === null || _helpers$getWindowLoc2 === void 0 ? void 0 : _helpers$getWindowLoc2.href) || 'N/A' : _parameters$url,
644
+ section = parameters.section,
645
+ analyticsTags = parameters.analyticsTags,
646
+ _parameters$resultCou = parameters.resultCount,
647
+ resultCount = _parameters$resultCou === void 0 ? numResults || result_count || (items === null || items === void 0 ? void 0 : items.length) || 0 : _parameters$resultCou;
640
648
  var queryParams = {};
641
649
  var transformedItems;
642
650
  if (items && Array.isArray(items) && items.length !== 0) {
643
- transformedItems = items;
651
+ var trimmedItems = items.slice(0, 100);
644
652
  if (typeof items[0] === 'string' || typeof items[0] === 'number') {
645
- transformedItems = items.map(function (itemId) {
653
+ transformedItems = trimmedItems.map(function (itemId) {
646
654
  return {
647
655
  item_id: String(itemId)
648
656
  };
649
657
  });
650
658
  } else {
651
- transformedItems = items.map(function (item) {
659
+ transformedItems = trimmedItems.map(function (item) {
652
660
  return helpers.toSnakeCaseKeys(item, false);
653
661
  });
654
662
  }
@@ -665,6 +673,7 @@ var Tracker = /*#__PURE__*/function () {
665
673
  sort_order: sortOrder,
666
674
  sort_by: sortBy,
667
675
  selected_filters: selectedFilters,
676
+ analytics_tags: analyticsTags,
668
677
  url: url,
669
678
  section: section
670
679
  };
@@ -684,74 +693,6 @@ var Tracker = /*#__PURE__*/function () {
684
693
  return new Error('term is a required parameter of type string');
685
694
  }
686
695
 
687
- /**
688
- * Send search results loaded event to API
689
- *
690
- * @function trackSearchResultsLoaded
691
- * @param {string} term - Search results query term
692
- * @param {object} parameters - Additional parameters to be sent with request
693
- * @param {number} parameters.numResults - Total number of results
694
- * @param {string[]} parameters.itemIds - List of product item unique identifiers in search results listing
695
- * @param {object} [networkParameters] - Parameters relevant to the network request
696
- * @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
697
- * @returns {(true|Error)}
698
- * @description User viewed a search product listing page
699
- * @example
700
- * constructorio.tracker.trackSearchResultsLoaded(
701
- * 'T-Shirt',
702
- * {
703
- * numResults: 167,
704
- * itemIds: ['KMH876', 'KMH140', 'KMH437'],
705
- * },
706
- * );
707
- */
708
- }, {
709
- key: "trackSearchResultsLoaded",
710
- value: function trackSearchResultsLoaded(term, parameters) {
711
- var networkParameters = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
712
- // Ensure term is provided (required)
713
- if (term && typeof term === 'string') {
714
- // Ensure parameters are provided (required)
715
- if (parameters && (0, _typeof2["default"])(parameters) === 'object' && !Array.isArray(parameters)) {
716
- var url = "".concat(this.options.serviceUrl, "/behavior?");
717
- var queryParams = {
718
- action: 'search-results',
719
- term: term
720
- };
721
- var num_results = parameters.num_results,
722
- _parameters$numResult2 = parameters.numResults,
723
- numResults = _parameters$numResult2 === void 0 ? num_results : _parameters$numResult2,
724
- customer_ids = parameters.customer_ids,
725
- _parameters$customerI2 = parameters.customerIds,
726
- customerIds = _parameters$customerI2 === void 0 ? customer_ids : _parameters$customerI2,
727
- item_ids = parameters.item_ids,
728
- _parameters$itemIds = parameters.itemIds,
729
- itemIds = _parameters$itemIds === void 0 ? item_ids : _parameters$itemIds;
730
- var customerIDs;
731
- if (!helpers.isNil(numResults)) {
732
- queryParams.num_results = numResults;
733
- }
734
-
735
- // Ensure support for both item_ids and customer_ids as parameters
736
- if (itemIds && Array.isArray(itemIds)) {
737
- customerIDs = itemIds;
738
- } else if (customerIds && Array.isArray(customerIds)) {
739
- customerIDs = customerIds;
740
- }
741
- if (customerIDs && Array.isArray(customerIDs) && customerIDs.length) {
742
- queryParams.customer_ids = customerIDs.slice(0, 100).join(',');
743
- }
744
- this.requests.queue("".concat(url).concat(applyParamsAsString(queryParams, this.options)), undefined, undefined, networkParameters);
745
- this.requests.send();
746
- return true;
747
- }
748
- this.requests.send();
749
- return new Error('parameters are required of type object');
750
- }
751
- this.requests.send();
752
- return new Error('term is a required parameter of type string');
753
- }
754
-
755
696
  /**
756
697
  * Send click through event to API
757
698
  * @private
@@ -816,8 +757,8 @@ var Tracker = /*#__PURE__*/function () {
816
757
  _parameters$resultPos = parameters.resultPositionOnPage,
817
758
  resultPositionOnPage = _parameters$resultPos === void 0 ? result_position_on_page : _parameters$resultPos,
818
759
  num_results_per_page = parameters.num_results_per_page,
819
- _parameters$numResult3 = parameters.numResultsPerPage,
820
- numResultsPerPage = _parameters$numResult3 === void 0 ? num_results_per_page : _parameters$numResult3,
760
+ _parameters$numResult2 = parameters.numResultsPerPage,
761
+ numResultsPerPage = _parameters$numResult2 === void 0 ? num_results_per_page : _parameters$numResult2,
821
762
  selected_filters = parameters.selected_filters,
822
763
  _parameters$selectedF2 = parameters.selectedFilters,
823
764
  selectedFilters = _parameters$selectedF2 === void 0 ? selected_filters : _parameters$selectedF2,
@@ -899,8 +840,8 @@ var Tracker = /*#__PURE__*/function () {
899
840
  _parameters$itemId4 = parameters.itemId,
900
841
  itemId = _parameters$itemId4 === void 0 ? item_id : _parameters$itemId4,
901
842
  customer_id = parameters.customer_id,
902
- _parameters$customerI3 = parameters.customerId,
903
- customerId = _parameters$customerI3 === void 0 ? customer_id || itemId : _parameters$customerI3,
843
+ _parameters$customerI2 = parameters.customerId,
844
+ customerId = _parameters$customerI2 === void 0 ? customer_id || itemId : _parameters$customerI2,
904
845
  variation_id = parameters.variation_id,
905
846
  _parameters$variation4 = parameters.variationId,
906
847
  variationId = _parameters$variation4 === void 0 ? variation_id : _parameters$variation4,
@@ -962,7 +903,7 @@ var Tracker = /*#__PURE__*/function () {
962
903
  * @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
963
904
  * @returns {(true|Error)}
964
905
  * @description User performed an action indicating interest in an item (add to cart, add to wishlist, etc.)
965
- * @see https://docs.constructor.io/rest_api/behavioral_logging/conversions
906
+ * @see https://docs.constructor.com/docs/integrating-with-constructor-behavioral-tracking-data-driven-event-tracking
966
907
  * @example
967
908
  * constructorio.tracker.trackConversion(
968
909
  * 'T-Shirt',
@@ -992,8 +933,8 @@ var Tracker = /*#__PURE__*/function () {
992
933
  _parameters$itemName4 = parameters.itemName,
993
934
  itemName = _parameters$itemName4 === void 0 ? item_name || name : _parameters$itemName4,
994
935
  customer_id = parameters.customer_id,
995
- _parameters$customerI4 = parameters.customerId,
996
- customerId = _parameters$customerI4 === void 0 ? customer_id : _parameters$customerI4,
936
+ _parameters$customerI3 = parameters.customerId,
937
+ customerId = _parameters$customerI3 === void 0 ? customer_id : _parameters$customerI3,
997
938
  item_id = parameters.item_id,
998
939
  _parameters$itemId5 = parameters.itemId,
999
940
  itemId = _parameters$itemId5 === void 0 ? item_id || customerId : _parameters$itemId5,
@@ -1185,8 +1126,6 @@ var Tracker = /*#__PURE__*/function () {
1185
1126
  var requestPath = "".concat(this.options.serviceUrl, "/v2/behavioral_action/recommendation_result_view?");
1186
1127
  var bodyParams = {};
1187
1128
  var result_count = parameters.result_count,
1188
- _parameters$resultCou3 = parameters.resultCount,
1189
- resultCount = _parameters$resultCou3 === void 0 ? result_count : _parameters$resultCou3,
1190
1129
  result_page = parameters.result_page,
1191
1130
  _parameters$resultPag3 = parameters.resultPage,
1192
1131
  resultPage = _parameters$resultPag3 === void 0 ? result_page : _parameters$resultPag3,
@@ -1199,10 +1138,12 @@ var Tracker = /*#__PURE__*/function () {
1199
1138
  _parameters$podId = parameters.podId,
1200
1139
  podId = _parameters$podId === void 0 ? pod_id : _parameters$podId,
1201
1140
  num_results_viewed = parameters.num_results_viewed,
1202
- _parameters$numResult4 = parameters.numResultsViewed,
1203
- numResultsViewed = _parameters$numResult4 === void 0 ? num_results_viewed : _parameters$numResult4,
1141
+ _parameters$numResult3 = parameters.numResultsViewed,
1142
+ numResultsViewed = _parameters$numResult3 === void 0 ? num_results_viewed : _parameters$numResult3,
1204
1143
  items = parameters.items,
1205
- analyticsTags = parameters.analyticsTags;
1144
+ analyticsTags = parameters.analyticsTags,
1145
+ _parameters$resultCou3 = parameters.resultCount,
1146
+ resultCount = _parameters$resultCou3 === void 0 ? result_count || (items === null || items === void 0 ? void 0 : items.length) || 0 : _parameters$resultCou3;
1206
1147
  if (!helpers.isNil(resultCount)) {
1207
1148
  bodyParams.result_count = resultCount;
1208
1149
  }
@@ -1310,8 +1251,8 @@ var Tracker = /*#__PURE__*/function () {
1310
1251
  _parameters$resultPos2 = parameters.resultPositionOnPage,
1311
1252
  resultPositionOnPage = _parameters$resultPos2 === void 0 ? result_position_on_page : _parameters$resultPos2,
1312
1253
  num_results_per_page = parameters.num_results_per_page,
1313
- _parameters$numResult5 = parameters.numResultsPerPage,
1314
- numResultsPerPage = _parameters$numResult5 === void 0 ? num_results_per_page : _parameters$numResult5,
1254
+ _parameters$numResult4 = parameters.numResultsPerPage,
1255
+ numResultsPerPage = _parameters$numResult4 === void 0 ? num_results_per_page : _parameters$numResult4,
1315
1256
  pod_id = parameters.pod_id,
1316
1257
  _parameters$podId2 = parameters.podId,
1317
1258
  podId = _parameters$podId2 === void 0 ? pod_id : _parameters$podId2,
@@ -1422,8 +1363,6 @@ var Tracker = /*#__PURE__*/function () {
1422
1363
  var _parameters$section4 = parameters.section,
1423
1364
  section = _parameters$section4 === void 0 ? 'Products' : _parameters$section4,
1424
1365
  result_count = parameters.result_count,
1425
- _parameters$resultCou5 = parameters.resultCount,
1426
- resultCount = _parameters$resultCou5 === void 0 ? result_count : _parameters$resultCou5,
1427
1366
  result_page = parameters.result_page,
1428
1367
  _parameters$resultPag5 = parameters.resultPage,
1429
1368
  resultPage = _parameters$resultPag5 === void 0 ? result_page : _parameters$resultPag5,
@@ -1447,7 +1386,9 @@ var Tracker = /*#__PURE__*/function () {
1447
1386
  _parameters$filterVal = parameters.filterValue,
1448
1387
  filterValue = _parameters$filterVal === void 0 ? filter_value : _parameters$filterVal,
1449
1388
  items = parameters.items,
1450
- analyticsTags = parameters.analyticsTags;
1389
+ analyticsTags = parameters.analyticsTags,
1390
+ _parameters$resultCou5 = parameters.resultCount,
1391
+ resultCount = _parameters$resultCou5 === void 0 ? result_count || (items === null || items === void 0 ? void 0 : items.length) || 0 : _parameters$resultCou5;
1451
1392
  if (section) {
1452
1393
  bodyParams.section = section;
1453
1394
  }
@@ -1563,8 +1504,8 @@ var Tracker = /*#__PURE__*/function () {
1563
1504
  _parameters$resultPos3 = parameters.resultPositionOnPage,
1564
1505
  resultPositionOnPage = _parameters$resultPos3 === void 0 ? result_position_on_page : _parameters$resultPos3,
1565
1506
  num_results_per_page = parameters.num_results_per_page,
1566
- _parameters$numResult6 = parameters.numResultsPerPage,
1567
- numResultsPerPage = _parameters$numResult6 === void 0 ? num_results_per_page : _parameters$numResult6,
1507
+ _parameters$numResult5 = parameters.numResultsPerPage,
1508
+ numResultsPerPage = _parameters$numResult5 === void 0 ? num_results_per_page : _parameters$numResult5,
1568
1509
  selected_filters = parameters.selected_filters,
1569
1510
  _parameters$selectedF4 = parameters.selectedFilters,
1570
1511
  selectedFilters = _parameters$selectedF4 === void 0 ? selected_filters : _parameters$selectedF4,
@@ -1575,8 +1516,8 @@ var Tracker = /*#__PURE__*/function () {
1575
1516
  _parameters$filterVal2 = parameters.filterValue,
1576
1517
  filterValue = _parameters$filterVal2 === void 0 ? filter_value : _parameters$filterVal2,
1577
1518
  customer_id = parameters.customer_id,
1578
- _parameters$customerI5 = parameters.customerId,
1579
- customerId = _parameters$customerI5 === void 0 ? customer_id : _parameters$customerI5,
1519
+ _parameters$customerI4 = parameters.customerId,
1520
+ customerId = _parameters$customerI4 === void 0 ? customer_id : _parameters$customerI4,
1580
1521
  item_id = parameters.item_id,
1581
1522
  _parameters$itemId7 = parameters.itemId,
1582
1523
  itemId = _parameters$itemId7 === void 0 ? customerId || item_id : _parameters$itemId7,
@@ -1895,8 +1836,8 @@ var Tracker = /*#__PURE__*/function () {
1895
1836
  _parameters$resultPag8 = parameters.resultPage,
1896
1837
  resultPage = _parameters$resultPag8 === void 0 ? result_page : _parameters$resultPag8,
1897
1838
  num_results_per_page = parameters.num_results_per_page,
1898
- _parameters$numResult7 = parameters.numResultsPerPage,
1899
- numResultsPerPage = _parameters$numResult7 === void 0 ? num_results_per_page : _parameters$numResult7,
1839
+ _parameters$numResult6 = parameters.numResultsPerPage,
1840
+ numResultsPerPage = _parameters$numResult6 === void 0 ? num_results_per_page : _parameters$numResult6,
1900
1841
  result_position_on_page = parameters.result_position_on_page,
1901
1842
  _parameters$resultPos4 = parameters.resultPositionOnPage,
1902
1843
  resultPositionOnPage = _parameters$resultPos4 === void 0 ? result_position_on_page : _parameters$resultPos4,
@@ -18,11 +18,11 @@ declare class Tracker {
18
18
  trackInputFocus(networkParameters?: NetworkParameters): true | Error;
19
19
 
20
20
  trackInputFocusV2(
21
- parameters: {
22
- userInput: string;
23
- analyticsTags?: Record<string, string>;
24
- },
25
- networkParameters?: NetworkParameters,
21
+ parameters: {
22
+ userInput: string;
23
+ analyticsTags?: Record<string, string>;
24
+ },
25
+ networkParameters?: NetworkParameters,
26
26
  ): true | Error;
27
27
 
28
28
  trackItemDetailLoad(
@@ -71,7 +71,7 @@ declare class Tracker {
71
71
  networkParameters?: NetworkParameters
72
72
  ): true | Error;
73
73
 
74
- trackSearchResultsLoadedV2(
74
+ trackSearchResultsLoaded(
75
75
  term: string,
76
76
  parameters: {
77
77
  url: string;
@@ -83,15 +83,7 @@ declare class Tracker {
83
83
  sortOrder?: string;
84
84
  sortBy?: string;
85
85
  section?: string;
86
- },
87
- networkParameters?: NetworkParameters
88
- ): true | Error;
89
-
90
- trackSearchResultsLoaded(
91
- term: string,
92
- parameters: {
93
- numResults: number;
94
- itemIds: string[];
86
+ analyticsTags?: Record<string, string>;
95
87
  },
96
88
  networkParameters?: NetworkParameters
97
89
  ): true | Error;
@@ -3,4 +3,4 @@
3
3
  /* eslint-disable no-useless-escape */
4
4
  /* cspell:disable */
5
5
 
6
- module.exports = ['Googlebot\/', 'Googlebot-Mobile', 'Googlebot-Image', 'Googlebot-News', 'Googlebot-Video', 'AdsBot-Google([^-]|$)', 'AdsBot-Google-Mobile', 'Feedfetcher-Google', 'Mediapartners-Google', 'Mediapartners \\(Googlebot\\)', 'APIs-Google', 'bingbot', 'Slurp', '[wW]get', 'curl', 'LinkedInBot', 'Python-urllib', 'python-requests', 'libwww', 'httpunit', 'nutch', 'Go-http-client', 'phpcrawl', 'msnbot', 'jyxobot', 'FAST-WebCrawler', 'FAST Enterprise Crawler', 'BIGLOTRON', 'Teoma', 'convera', 'seekbot', 'Gigabot', 'Gigablast', 'exabot', 'ia_archiver', 'GingerCrawler', 'webmon ', 'HTTrack', 'grub\\.org', 'UsineNouvelleCrawler', 'antibot', 'netresearchserver', 'speedy', 'fluffy', 'bibnum\\.bnf', 'findlink', 'msrbot', 'panscient', 'yacybot', 'AISearchBot', 'ips-agent', 'tagoobot', 'MJ12bot', 'woriobot', 'yanga', 'buzzbot', 'mlbot', 'YandexBot', 'yandex\\.com\/bots', 'purebot', 'Linguee Bot', 'CyberPatrol', 'voilabot', 'Baiduspider', 'citeseerxbot', 'spbot', 'twengabot', 'postrank', 'turnitinbot', 'scribdbot', 'page2rss', 'sitebot', 'linkdex', 'Adidxbot', 'blekkobot', 'ezooms', 'dotbot', 'Mail\\.RU_Bot', 'discobot', 'heritrix', 'findthatfile', 'europarchive\\.org', 'NerdByNature\\.Bot', 'sistrix crawler', 'Ahrefs(Bot|SiteAudit)', 'fuelbot', 'CrunchBot', 'centurybot9', 'IndeedBot', 'mappydata', 'woobot', 'ZoominfoBot', 'PrivacyAwareBot', 'Multiviewbot', 'SWIMGBot', 'Grobbot', 'eright', 'Apercite', 'semanticbot', 'Aboundex', 'domaincrawler', 'wbsearchbot', 'summify', 'CCBot', 'edisterbot', 'seznambot', 'ec2linkfinder', 'gslfbot', 'aiHitBot', 'intelium_bot', 'facebookexternalhit', 'Yeti', 'RetrevoPageAnalyzer', 'lb-spider', 'Sogou', 'lssbot', 'careerbot', 'wotbox', 'wocbot', 'ichiro', 'DuckDuckBot', 'lssrocketcrawler', 'drupact', 'webcompanycrawler', 'acoonbot', 'openindexspider', 'gnam gnam spider', 'web-archive-net\\.com\\.bot', 'backlinkcrawler', 'coccoc', 'integromedb', 'content crawler spider', 'toplistbot', 'it2media-domain-crawler', 'ip-web-crawler\\.com', 'siteexplorer\\.info', 'elisabot', 'proximic', 'changedetection', 'arabot', 'WeSEE:Search', 'niki-bot', 'CrystalSemanticsBot', 'rogerbot', '360Spider', 'psbot', 'InterfaxScanBot', 'CC Metadata Scaper', 'g00g1e\\.net', 'GrapeshotCrawler', 'urlappendbot', 'brainobot', 'fr-crawler', 'binlar', 'SimpleCrawler', 'Twitterbot', 'cXensebot', 'smtbot', 'bnf\\.fr_bot', 'A6-Indexer', 'ADmantX', 'Facebot', 'OrangeBot\/', 'memorybot', 'AdvBot', 'MegaIndex', 'SemanticScholarBot', 'ltx71', 'nerdybot', 'xovibot', 'BUbiNG', 'Qwantify', 'archive\\.org_bot', 'Applebot', 'TweetmemeBot', 'crawler4j', 'findxbot', 'S[eE][mM]rushBot', 'yoozBot', 'lipperhey', 'Y!J', 'Domain Re-Animator Bot', 'AddThis', 'Screaming Frog SEO Spider', 'MetaURI', 'Scrapy', 'Livelap[bB]ot', 'OpenHoseBot', 'CapsuleChecker', 'collection@infegy\\.com', 'IstellaBot', 'DeuSu\/', 'betaBot', 'Cliqzbot\/', 'MojeekBot\/', 'netEstate NE Crawler', 'SafeSearch microdata crawler', 'Gluten Free Crawler\/', 'Sonic', 'Sysomos', 'Trove', 'deadlinkchecker', 'Slack-ImgProxy', 'Embedly', 'RankActiveLinkBot', 'iskanie', 'SafeDNSBot', 'SkypeUriPreview', 'Veoozbot', 'Slackbot', 'redditbot', 'datagnionbot', 'Google-Adwords-Instant', 'adbeat_bot', 'WhatsApp', 'contxbot', 'pinterest', 'electricmonk', 'GarlikCrawler', 'BingPreview\/', 'vebidoobot', 'FemtosearchBot', 'Yahoo Link Preview', 'MetaJobBot', 'DomainStatsBot', 'mindUpBot', 'Daum\/', 'Jugendschutzprogramm-Crawler', 'Xenu Link Sleuth', 'Pcore-HTTP', 'moatbot', 'KosmioBot', 'pingdom', 'PhantomJS', 'Gowikibot', 'PiplBot', 'Discordbot', 'TelegramBot', 'Jetslide', 'newsharecounts', 'James BOT', 'Barkrowler', 'TinEye', 'SocialRankIOBot', 'trendictionbot', 'Ocarinabot', 'epicbot', 'Primalbot', 'DuckDuckGo-Favicons-Bot', 'GnowitNewsbot', 'Leikibot', 'LinkArchiver', 'YaK\/', 'PaperLiBot', 'Digg Deeper', 'dcrawl', 'Snacktory', 'AndersPinkBot', 'Fyrebot', 'EveryoneSocialBot', 'Mediatoolkitbot', 'Luminator-robots', 'ExtLinksBot', 'SurveyBot', 'NING\/', 'okhttp', 'Nuzzel', 'omgili', 'PocketParser', 'YisouSpider', 'um-LN', 'ToutiaoSpider', 'MuckRack', "Jamie's Spider", 'AHC\/', 'NetcraftSurveyAgent', 'Laserlikebot', 'Apache-HttpClient', 'AppEngine-Google', 'Jetty', 'Upflow', 'Thinklab', 'Traackr\\.com', 'Twurly', 'Mastodon', 'http_get', 'DnyzBot', 'botify', '007ac9 Crawler', 'BehloolBot', 'BrandVerity', 'check_http', 'BDCbot', 'ZumBot', 'EZID', 'ICC-Crawler', 'ArchiveBot', '^LCC ', 'filterdb\\.iss\\.net\/crawler', 'BLP_bbot', 'BomboraBot', 'Buck\/', 'Companybook-Crawler', 'Genieo', 'magpie-crawler', 'MeltwaterNews', 'Moreover', 'newspaper\/', 'ScoutJet', '(^| )sentry\/', 'StorygizeBot', 'UptimeRobot', 'OutclicksBot', 'seoscanners', 'Hatena', 'Google Web Preview', 'MauiBot', 'AlphaBot', 'SBL-BOT', 'IAS crawler', 'adscanner', 'Netvibes', 'acapbot', 'Baidu-YunGuanCe', 'bitlybot', 'blogmuraBot', 'Bot\\.AraTurka\\.com', 'bot-pge\\.chlooe\\.com', 'BoxcarBot', 'BTWebClient', 'ContextAd Bot', 'Digincore bot', 'Disqus', 'Feedly', 'Fetch\/', 'Fever', 'Flamingo_SearchEngine', 'FlipboardProxy', 'g2reader-bot', 'imrbot', 'K7MLWCBot', 'Kemvibot', 'Landau-Media-Spider', 'linkapediabot', 'vkShare', 'Siteimprove\\.com', 'BLEXBot\/', 'DareBoost', 'ZuperlistBot\/', 'Miniflux\/', 'Feedspotbot\/', 'Diffbot\/', 'SEOkicks', 'tracemyfile', 'Nimbostratus-Bot', 'Bytespider'];
6
+ module.exports = ['Googlebot\/', 'Googlebot-Mobile', 'Googlebot-Image', 'Googlebot-News', 'Googlebot-Video', 'AdsBot-Google([^-]|$)', 'AdsBot-Google-Mobile', 'Feedfetcher-Google', 'Mediapartners-Google', 'Mediapartners \\(Googlebot\\)', 'APIs-Google', 'bingbot', 'Slurp', '[wW]get', 'curl', 'LinkedInBot', 'Python-urllib', 'python-requests', 'libwww', 'httpunit', 'nutch', 'Go-http-client', 'phpcrawl', 'msnbot', 'jyxobot', 'FAST-WebCrawler', 'FAST Enterprise Crawler', 'BIGLOTRON', 'Teoma', 'convera', 'seekbot', 'Gigabot', 'Gigablast', 'exabot', 'ia_archiver', 'GingerCrawler', 'webmon ', 'HTTrack', 'grub\\.org', 'UsineNouvelleCrawler', 'antibot', 'netresearchserver', 'speedy', 'fluffy', 'bibnum\\.bnf', 'findlink', 'msrbot', 'panscient', 'yacybot', 'AISearchBot', 'ips-agent', 'tagoobot', 'MJ12bot', 'woriobot', 'yanga', 'buzzbot', 'mlbot', 'YandexBot', 'yandex\\.com\/bots', 'purebot', 'Linguee Bot', 'CyberPatrol', 'voilabot', 'Baiduspider', 'citeseerxbot', 'spbot', 'twengabot', 'postrank', 'turnitinbot', 'scribdbot', 'page2rss', 'sitebot', 'linkdex', 'Adidxbot', 'blekkobot', 'ezooms', 'dotbot', 'Mail\\.RU_Bot', 'discobot', 'heritrix', 'findthatfile', 'europarchive\\.org', 'NerdByNature\\.Bot', 'sistrix crawler', 'Ahrefs(Bot|SiteAudit)', 'fuelbot', 'CrunchBot', 'centurybot9', 'IndeedBot', 'mappydata', 'woobot', 'ZoominfoBot', 'PrivacyAwareBot', 'Multiviewbot', 'SWIMGBot', 'Grobbot', 'eright', 'Apercite', 'semanticbot', 'Aboundex', 'domaincrawler', 'wbsearchbot', 'summify', 'CCBot', 'edisterbot', 'seznambot', 'ec2linkfinder', 'gslfbot', 'aiHitBot', 'intelium_bot', 'facebookexternalhit', 'Yeti', 'RetrevoPageAnalyzer', 'lb-spider', 'Sogou', 'lssbot', 'careerbot', 'wotbox', 'wocbot', 'ichiro', 'DuckDuckBot', 'lssrocketcrawler', 'drupact', 'webcompanycrawler', 'acoonbot', 'openindexspider', 'gnam gnam spider', 'web-archive-net\\.com\\.bot', 'backlinkcrawler', 'coccoc', 'integromedb', 'content crawler spider', 'toplistbot', 'it2media-domain-crawler', 'ip-web-crawler\\.com', 'siteexplorer\\.info', 'elisabot', 'proximic', 'changedetection', 'arabot', 'WeSEE:Search', 'niki-bot', 'CrystalSemanticsBot', 'rogerbot', '360Spider', 'psbot', 'InterfaxScanBot', 'CC Metadata Scaper', 'g00g1e\\.net', 'GrapeshotCrawler', 'urlappendbot', 'brainobot', 'fr-crawler', 'binlar', 'SimpleCrawler', 'Twitterbot', 'cXensebot', 'smtbot', 'bnf\\.fr_bot', 'A6-Indexer', 'ADmantX', 'Facebot', 'OrangeBot\/', 'memorybot', 'AdvBot', 'MegaIndex', 'SemanticScholarBot', 'ltx71', 'nerdybot', 'xovibot', 'BUbiNG', 'Qwantify', 'archive\\.org_bot', 'Applebot', 'TweetmemeBot', 'crawler4j', 'findxbot', 'S[eE][mM]rushBot', 'yoozBot', 'lipperhey', 'Y!J', 'Domain Re-Animator Bot', 'AddThis', 'Screaming Frog SEO Spider', 'MetaURI', 'Scrapy', 'Livelap[bB]ot', 'OpenHoseBot', 'CapsuleChecker', 'collection@infegy\\.com', 'IstellaBot', 'DeuSu\/', 'betaBot', 'Cliqzbot\/', 'MojeekBot\/', 'netEstate NE Crawler', 'SafeSearch microdata crawler', 'Gluten Free Crawler\/', 'Sonic', 'Sysomos', 'Trove', 'deadlinkchecker', 'Slack-ImgProxy', 'Embedly', 'RankActiveLinkBot', 'iskanie', 'SafeDNSBot', 'SkypeUriPreview', 'Veoozbot', 'Slackbot', 'redditbot', 'datagnionbot', 'Google-Adwords-Instant', 'adbeat_bot', 'WhatsApp', 'contxbot', 'pinterest', 'electricmonk', 'GarlikCrawler', 'BingPreview\/', 'vebidoobot', 'FemtosearchBot', 'Yahoo Link Preview', 'MetaJobBot', 'DomainStatsBot', 'mindUpBot', 'Daum\/', 'Jugendschutzprogramm-Crawler', 'Xenu Link Sleuth', 'Pcore-HTTP', 'moatbot', 'KosmioBot', 'pingdom', 'PhantomJS', 'Gowikibot', 'PiplBot', 'Discordbot', 'TelegramBot', 'Jetslide', 'newsharecounts', 'James BOT', 'Barkrowler', 'TinEye', 'SocialRankIOBot', 'trendictionbot', 'Ocarinabot', 'epicbot', 'Primalbot', 'DuckDuckGo-Favicons-Bot', 'GnowitNewsbot', 'Leikibot', 'LinkArchiver', 'YaK\/', 'PaperLiBot', 'Digg Deeper', 'dcrawl', 'Snacktory', 'AndersPinkBot', 'Fyrebot', 'EveryoneSocialBot', 'Mediatoolkitbot', 'Luminator-robots', 'ExtLinksBot', 'SurveyBot', 'NING\/', 'okhttp', 'Nuzzel', 'omgili', 'PocketParser', 'YisouSpider', 'um-LN', 'ToutiaoSpider', 'MuckRack', "Jamie's Spider", 'AHC\/', 'NetcraftSurveyAgent', 'Laserlikebot', 'Apache-HttpClient', 'AppEngine-Google', 'Jetty', 'Upflow', 'Thinklab', 'Traackr\\.com', 'Twurly', 'Mastodon', 'http_get', 'DnyzBot', 'botify', '007ac9 Crawler', 'BehloolBot', 'BrandVerity', 'check_http', 'BDCbot', 'ZumBot', 'EZID', 'ICC-Crawler', 'ArchiveBot', '^LCC ', 'filterdb\\.iss\\.net\/crawler', 'BLP_bbot', 'BomboraBot', 'Buck\/', 'Companybook-Crawler', 'Genieo', 'magpie-crawler', 'MeltwaterNews', 'Moreover', 'newspaper\/', 'ScoutJet', '(^| )sentry\/', 'StorygizeBot', 'UptimeRobot', 'OutclicksBot', 'seoscanners', 'Hatena', 'Google Web Preview', 'MauiBot', 'AlphaBot', 'SBL-BOT', 'IAS crawler', 'adscanner', 'Netvibes', 'acapbot', 'Baidu-YunGuanCe', 'bitlybot', 'blogmuraBot', 'Bot\\.AraTurka\\.com', 'bot-pge\\.chlooe\\.com', 'BoxcarBot', 'BTWebClient', 'ContextAd Bot', 'Digincore bot', 'Disqus', 'Feedly', 'Fetch\/', 'Fever', 'Flamingo_SearchEngine', 'FlipboardProxy', 'g2reader-bot', 'imrbot', 'K7MLWCBot', 'Kemvibot', 'Landau-Media-Spider', 'linkapediabot', 'vkShare', 'Siteimprove\\.com', 'BLEXBot\/', 'DareBoost', 'ZuperlistBot\/', 'Miniflux\/', 'Feedspotbot\/', 'Diffbot\/', 'SEOkicks', 'tracemyfile', 'Nimbostratus-Bot', 'Bytespider', 'BTTAgent'];
@@ -9,9 +9,7 @@ function canUseStorage(type) {
9
9
  storage.removeItem(x);
10
10
  return true;
11
11
  } catch (e) {
12
- return e instanceof DOMException && e.name === 'QuotaExceededError'
13
- // acknowledge QuotaExceededError only if there's something already stored
14
- && storage && storage.length !== 0;
12
+ return e instanceof DOMException && (e.name === 'QuotaExceededError' || e.name === 'QUOTA_EXCEEDED_ERR' || e.name === 'NS_ERROR_DOM_QUOTA_REACHED' || e.toString().indexOf('QUOTA_EXCEEDED_ERR') !== -1 || e.toString().indexOf('QuotaExceededError') !== -1) && storage && storage.length !== 0;
15
13
  }
16
14
  }
17
15
  var session = {
@@ -22,7 +20,7 @@ var session = {
22
20
  if (valueFromOverflow) {
23
21
  return valueFromOverflow;
24
22
  }
25
- if (!canUseStorage('sessionStorage') || typeof sessionStorage === 'undefined') {
23
+ if (!canUseStorage('sessionStorage')) {
26
24
  return null;
27
25
  }
28
26
  var valueFromSession = sessionStorage.getItem(key);
@@ -49,13 +47,13 @@ var session = {
49
47
  if ((_this$overflow = this.overflow) !== null && _this$overflow !== void 0 && _this$overflow[key]) {
50
48
  delete this.overflow[key];
51
49
  }
52
- if (canUseStorage('sessionStorage') || typeof sessionStorage !== 'undefined') {
50
+ if (canUseStorage('sessionStorage')) {
53
51
  sessionStorage.removeItem(key);
54
52
  }
55
53
  },
56
54
  key: function key(i) {
57
55
  var _sessionStorage, _sessionStorage2;
58
- if (!canUseStorage('sessionStorage') || typeof sessionStorage === 'undefined') {
56
+ if (!canUseStorage('sessionStorage')) {
59
57
  var _Object$keys;
60
58
  return (_Object$keys = Object.keys(this.overflow)) === null || _Object$keys === void 0 ? void 0 : _Object$keys[i];
61
59
  }
@@ -70,14 +68,14 @@ var session = {
70
68
  },
71
69
  length: function length() {
72
70
  var overflowLength = Object.keys(this.overflow).length;
73
- if (!canUseStorage('sessionStorage') || typeof sessionStorage === 'undefined') {
71
+ if (!canUseStorage('sessionStorage')) {
74
72
  return overflowLength;
75
73
  }
76
74
  return sessionStorage.length + overflowLength;
77
75
  },
78
76
  clear: function clear() {
79
77
  this.overflow = {};
80
- if (canUseStorage('sessionStorage') || typeof sessionStorage !== 'undefined') {
78
+ if (canUseStorage('sessionStorage')) {
81
79
  sessionStorage.clear();
82
80
  }
83
81
  }
@@ -90,7 +88,7 @@ var local = {
90
88
  if (valueFromOverflow) {
91
89
  return valueFromOverflow;
92
90
  }
93
- if (!canUseStorage('localStorage') || typeof localStorage === 'undefined') {
91
+ if (!canUseStorage('localStorage')) {
94
92
  return null;
95
93
  }
96
94
  var valueFromLocal = localStorage.getItem(key);
@@ -117,13 +115,13 @@ var local = {
117
115
  if ((_this$overflow2 = this.overflow) !== null && _this$overflow2 !== void 0 && _this$overflow2[key]) {
118
116
  delete this.overflow[key];
119
117
  }
120
- if (canUseStorage('localStorage') || typeof localStorage !== 'undefined') {
118
+ if (canUseStorage('localStorage')) {
121
119
  localStorage.removeItem(key);
122
120
  }
123
121
  },
124
122
  key: function key(i) {
125
123
  var _localStorage, _localStorage2;
126
- if (!canUseStorage('localStorage') || typeof localStorage === 'undefined') {
124
+ if (!canUseStorage('localStorage')) {
127
125
  var _Object$keys3;
128
126
  return (_Object$keys3 = Object.keys(this.overflow)) === null || _Object$keys3 === void 0 ? void 0 : _Object$keys3[i];
129
127
  }
@@ -138,14 +136,14 @@ var local = {
138
136
  },
139
137
  length: function length() {
140
138
  var overflowLength = Object.keys(this.overflow).length;
141
- if (!canUseStorage('localStorage') || typeof localStorage === 'undefined') {
139
+ if (!canUseStorage('localStorage')) {
142
140
  return overflowLength;
143
141
  }
144
142
  return localStorage.length + overflowLength;
145
143
  },
146
144
  clear: function clear() {
147
145
  this.overflow = {};
148
- if (canUseStorage('localStorage') || typeof localStorage !== 'undefined') {
146
+ if (canUseStorage('localStorage')) {
149
147
  localStorage.clear();
150
148
  }
151
149
  }
package/lib/version.js CHANGED
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
- var _default = '2.55.0';
7
+ var _default = '2.56.0';
8
8
  exports["default"] = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@constructor-io/constructorio-client-javascript",
3
- "version": "2.55.0",
3
+ "version": "2.56.0",
4
4
  "description": "Constructor.io JavaScript client",
5
5
  "main": "lib/constructorio.js",
6
6
  "types": "lib/types/index.d.ts",