@algolia/client-analytics 5.0.0-alpha.105 → 5.0.0-alpha.107
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client-analytics.cjs +66 -66
- package/dist/client-analytics.esm.browser.js +66 -66
- package/dist/client-analytics.esm.node.js +66 -66
- package/dist/client-analytics.umd.js +2 -2
- package/dist/model/clientMethodProps.d.ts +65 -65
- package/dist/model/searchNoResultEvent.d.ts +1 -1
- package/dist/model/topSearch.d.ts +1 -1
- package/dist/model/topSearchWithAnalytics.d.ts +1 -1
- package/dist/src/analyticsClient.d.ts +66 -66
- package/model/clientMethodProps.ts +65 -65
- package/model/searchNoResultEvent.ts +1 -1
- package/model/topSearch.ts +1 -1
- package/model/topSearchWithAnalytics.ts +1 -1
- package/package.json +7 -7
|
@@ -2,7 +2,7 @@ import { createAuth, createTransporter, getAlgoliaAgent, DEFAULT_CONNECT_TIMEOUT
|
|
|
2
2
|
import { createHttpRequester } from '@algolia/requester-node-http';
|
|
3
3
|
|
|
4
4
|
// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
|
|
5
|
-
const apiClientVersion = '5.0.0-alpha.
|
|
5
|
+
const apiClientVersion = '5.0.0-alpha.107';
|
|
6
6
|
const REGIONS = ['de', 'us'];
|
|
7
7
|
function getDefaultHosts(region) {
|
|
8
8
|
const url = !region
|
|
@@ -164,9 +164,9 @@ function createAnalyticsClient({ appId: appIdOption, apiKey: apiKeyOption, authM
|
|
|
164
164
|
* - analytics.
|
|
165
165
|
*
|
|
166
166
|
* @param getAverageClickPosition - The getAverageClickPosition object.
|
|
167
|
-
* @param getAverageClickPosition.index - Index name
|
|
168
|
-
* @param getAverageClickPosition.startDate - Start date (
|
|
169
|
-
* @param getAverageClickPosition.endDate - End date (
|
|
167
|
+
* @param getAverageClickPosition.index - Index name.
|
|
168
|
+
* @param getAverageClickPosition.startDate - Start date (`YYYY-MM-DD`) of the period to analyze.
|
|
169
|
+
* @param getAverageClickPosition.endDate - End date (`YYYY-MM-DD`) of the period to analyze.
|
|
170
170
|
* @param getAverageClickPosition.tags - Filter analytics on the [`analyticsTags`](https://www.algolia.com/doc/api-reference/api-parameters/analyticsTags/) set at search time. Multiple tags can be combined with the operators OR and AND. If a tag contains characters like spaces or parentheses, it must be URL-encoded.
|
|
171
171
|
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
|
172
172
|
*/
|
|
@@ -204,9 +204,9 @@ function createAnalyticsClient({ appId: appIdOption, apiKey: apiKeyOption, authM
|
|
|
204
204
|
* - analytics.
|
|
205
205
|
*
|
|
206
206
|
* @param getClickPositions - The getClickPositions object.
|
|
207
|
-
* @param getClickPositions.index - Index name
|
|
208
|
-
* @param getClickPositions.startDate - Start date (
|
|
209
|
-
* @param getClickPositions.endDate - End date (
|
|
207
|
+
* @param getClickPositions.index - Index name.
|
|
208
|
+
* @param getClickPositions.startDate - Start date (`YYYY-MM-DD`) of the period to analyze.
|
|
209
|
+
* @param getClickPositions.endDate - End date (`YYYY-MM-DD`) of the period to analyze.
|
|
210
210
|
* @param getClickPositions.tags - Filter analytics on the [`analyticsTags`](https://www.algolia.com/doc/api-reference/api-parameters/analyticsTags/) set at search time. Multiple tags can be combined with the operators OR and AND. If a tag contains characters like spaces or parentheses, it must be URL-encoded.
|
|
211
211
|
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
|
212
212
|
*/
|
|
@@ -244,9 +244,9 @@ function createAnalyticsClient({ appId: appIdOption, apiKey: apiKeyOption, authM
|
|
|
244
244
|
* - analytics.
|
|
245
245
|
*
|
|
246
246
|
* @param getClickThroughRate - The getClickThroughRate object.
|
|
247
|
-
* @param getClickThroughRate.index - Index name
|
|
248
|
-
* @param getClickThroughRate.startDate - Start date (
|
|
249
|
-
* @param getClickThroughRate.endDate - End date (
|
|
247
|
+
* @param getClickThroughRate.index - Index name.
|
|
248
|
+
* @param getClickThroughRate.startDate - Start date (`YYYY-MM-DD`) of the period to analyze.
|
|
249
|
+
* @param getClickThroughRate.endDate - End date (`YYYY-MM-DD`) of the period to analyze.
|
|
250
250
|
* @param getClickThroughRate.tags - Filter analytics on the [`analyticsTags`](https://www.algolia.com/doc/api-reference/api-parameters/analyticsTags/) set at search time. Multiple tags can be combined with the operators OR and AND. If a tag contains characters like spaces or parentheses, it must be URL-encoded.
|
|
251
251
|
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
|
252
252
|
*/
|
|
@@ -284,9 +284,9 @@ function createAnalyticsClient({ appId: appIdOption, apiKey: apiKeyOption, authM
|
|
|
284
284
|
* - analytics.
|
|
285
285
|
*
|
|
286
286
|
* @param getConversationRate - The getConversationRate object.
|
|
287
|
-
* @param getConversationRate.index - Index name
|
|
288
|
-
* @param getConversationRate.startDate - Start date (
|
|
289
|
-
* @param getConversationRate.endDate - End date (
|
|
287
|
+
* @param getConversationRate.index - Index name.
|
|
288
|
+
* @param getConversationRate.startDate - Start date (`YYYY-MM-DD`) of the period to analyze.
|
|
289
|
+
* @param getConversationRate.endDate - End date (`YYYY-MM-DD`) of the period to analyze.
|
|
290
290
|
* @param getConversationRate.tags - Filter analytics on the [`analyticsTags`](https://www.algolia.com/doc/api-reference/api-parameters/analyticsTags/) set at search time. Multiple tags can be combined with the operators OR and AND. If a tag contains characters like spaces or parentheses, it must be URL-encoded.
|
|
291
291
|
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
|
292
292
|
*/
|
|
@@ -324,9 +324,9 @@ function createAnalyticsClient({ appId: appIdOption, apiKey: apiKeyOption, authM
|
|
|
324
324
|
* - analytics.
|
|
325
325
|
*
|
|
326
326
|
* @param getNoClickRate - The getNoClickRate object.
|
|
327
|
-
* @param getNoClickRate.index - Index name
|
|
328
|
-
* @param getNoClickRate.startDate - Start date (
|
|
329
|
-
* @param getNoClickRate.endDate - End date (
|
|
327
|
+
* @param getNoClickRate.index - Index name.
|
|
328
|
+
* @param getNoClickRate.startDate - Start date (`YYYY-MM-DD`) of the period to analyze.
|
|
329
|
+
* @param getNoClickRate.endDate - End date (`YYYY-MM-DD`) of the period to analyze.
|
|
330
330
|
* @param getNoClickRate.tags - Filter analytics on the [`analyticsTags`](https://www.algolia.com/doc/api-reference/api-parameters/analyticsTags/) set at search time. Multiple tags can be combined with the operators OR and AND. If a tag contains characters like spaces or parentheses, it must be URL-encoded.
|
|
331
331
|
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
|
332
332
|
*/
|
|
@@ -364,9 +364,9 @@ function createAnalyticsClient({ appId: appIdOption, apiKey: apiKeyOption, authM
|
|
|
364
364
|
* - analytics.
|
|
365
365
|
*
|
|
366
366
|
* @param getNoResultsRate - The getNoResultsRate object.
|
|
367
|
-
* @param getNoResultsRate.index - Index name
|
|
368
|
-
* @param getNoResultsRate.startDate - Start date (
|
|
369
|
-
* @param getNoResultsRate.endDate - End date (
|
|
367
|
+
* @param getNoResultsRate.index - Index name.
|
|
368
|
+
* @param getNoResultsRate.startDate - Start date (`YYYY-MM-DD`) of the period to analyze.
|
|
369
|
+
* @param getNoResultsRate.endDate - End date (`YYYY-MM-DD`) of the period to analyze.
|
|
370
370
|
* @param getNoResultsRate.tags - Filter analytics on the [`analyticsTags`](https://www.algolia.com/doc/api-reference/api-parameters/analyticsTags/) set at search time. Multiple tags can be combined with the operators OR and AND. If a tag contains characters like spaces or parentheses, it must be URL-encoded.
|
|
371
371
|
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
|
372
372
|
*/
|
|
@@ -404,9 +404,9 @@ function createAnalyticsClient({ appId: appIdOption, apiKey: apiKeyOption, authM
|
|
|
404
404
|
* - analytics.
|
|
405
405
|
*
|
|
406
406
|
* @param getSearchesCount - The getSearchesCount object.
|
|
407
|
-
* @param getSearchesCount.index - Index name
|
|
408
|
-
* @param getSearchesCount.startDate - Start date (
|
|
409
|
-
* @param getSearchesCount.endDate - End date (
|
|
407
|
+
* @param getSearchesCount.index - Index name.
|
|
408
|
+
* @param getSearchesCount.startDate - Start date (`YYYY-MM-DD`) of the period to analyze.
|
|
409
|
+
* @param getSearchesCount.endDate - End date (`YYYY-MM-DD`) of the period to analyze.
|
|
410
410
|
* @param getSearchesCount.tags - Filter analytics on the [`analyticsTags`](https://www.algolia.com/doc/api-reference/api-parameters/analyticsTags/) set at search time. Multiple tags can be combined with the operators OR and AND. If a tag contains characters like spaces or parentheses, it must be URL-encoded.
|
|
411
411
|
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
|
412
412
|
*/
|
|
@@ -444,11 +444,11 @@ function createAnalyticsClient({ appId: appIdOption, apiKey: apiKeyOption, authM
|
|
|
444
444
|
* - analytics.
|
|
445
445
|
*
|
|
446
446
|
* @param getSearchesNoClicks - The getSearchesNoClicks object.
|
|
447
|
-
* @param getSearchesNoClicks.index - Index name
|
|
448
|
-
* @param getSearchesNoClicks.startDate - Start date (
|
|
449
|
-
* @param getSearchesNoClicks.endDate - End date (
|
|
450
|
-
* @param getSearchesNoClicks.limit - Number of
|
|
451
|
-
* @param getSearchesNoClicks.offset - Position of the
|
|
447
|
+
* @param getSearchesNoClicks.index - Index name.
|
|
448
|
+
* @param getSearchesNoClicks.startDate - Start date (`YYYY-MM-DD`) of the period to analyze.
|
|
449
|
+
* @param getSearchesNoClicks.endDate - End date (`YYYY-MM-DD`) of the period to analyze.
|
|
450
|
+
* @param getSearchesNoClicks.limit - Number of items to return.
|
|
451
|
+
* @param getSearchesNoClicks.offset - Position of the first item to return.
|
|
452
452
|
* @param getSearchesNoClicks.tags - Filter analytics on the [`analyticsTags`](https://www.algolia.com/doc/api-reference/api-parameters/analyticsTags/) set at search time. Multiple tags can be combined with the operators OR and AND. If a tag contains characters like spaces or parentheses, it must be URL-encoded.
|
|
453
453
|
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
|
454
454
|
*/
|
|
@@ -492,11 +492,11 @@ function createAnalyticsClient({ appId: appIdOption, apiKey: apiKeyOption, authM
|
|
|
492
492
|
* - analytics.
|
|
493
493
|
*
|
|
494
494
|
* @param getSearchesNoResults - The getSearchesNoResults object.
|
|
495
|
-
* @param getSearchesNoResults.index - Index name
|
|
496
|
-
* @param getSearchesNoResults.startDate - Start date (
|
|
497
|
-
* @param getSearchesNoResults.endDate - End date (
|
|
498
|
-
* @param getSearchesNoResults.limit - Number of
|
|
499
|
-
* @param getSearchesNoResults.offset - Position of the
|
|
495
|
+
* @param getSearchesNoResults.index - Index name.
|
|
496
|
+
* @param getSearchesNoResults.startDate - Start date (`YYYY-MM-DD`) of the period to analyze.
|
|
497
|
+
* @param getSearchesNoResults.endDate - End date (`YYYY-MM-DD`) of the period to analyze.
|
|
498
|
+
* @param getSearchesNoResults.limit - Number of items to return.
|
|
499
|
+
* @param getSearchesNoResults.offset - Position of the first item to return.
|
|
500
500
|
* @param getSearchesNoResults.tags - Filter analytics on the [`analyticsTags`](https://www.algolia.com/doc/api-reference/api-parameters/analyticsTags/) set at search time. Multiple tags can be combined with the operators OR and AND. If a tag contains characters like spaces or parentheses, it must be URL-encoded.
|
|
501
501
|
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
|
502
502
|
*/
|
|
@@ -540,7 +540,7 @@ function createAnalyticsClient({ appId: appIdOption, apiKey: apiKeyOption, authM
|
|
|
540
540
|
* - analytics.
|
|
541
541
|
*
|
|
542
542
|
* @param getStatus - The getStatus object.
|
|
543
|
-
* @param getStatus.index - Index name
|
|
543
|
+
* @param getStatus.index - Index name.
|
|
544
544
|
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
|
545
545
|
*/
|
|
546
546
|
getStatus({ index }, requestOptions) {
|
|
@@ -568,11 +568,11 @@ function createAnalyticsClient({ appId: appIdOption, apiKey: apiKeyOption, authM
|
|
|
568
568
|
* - analytics.
|
|
569
569
|
*
|
|
570
570
|
* @param getTopCountries - The getTopCountries object.
|
|
571
|
-
* @param getTopCountries.index - Index name
|
|
572
|
-
* @param getTopCountries.startDate - Start date (
|
|
573
|
-
* @param getTopCountries.endDate - End date (
|
|
574
|
-
* @param getTopCountries.limit - Number of
|
|
575
|
-
* @param getTopCountries.offset - Position of the
|
|
571
|
+
* @param getTopCountries.index - Index name.
|
|
572
|
+
* @param getTopCountries.startDate - Start date (`YYYY-MM-DD`) of the period to analyze.
|
|
573
|
+
* @param getTopCountries.endDate - End date (`YYYY-MM-DD`) of the period to analyze.
|
|
574
|
+
* @param getTopCountries.limit - Number of items to return.
|
|
575
|
+
* @param getTopCountries.offset - Position of the first item to return.
|
|
576
576
|
* @param getTopCountries.tags - Filter analytics on the [`analyticsTags`](https://www.algolia.com/doc/api-reference/api-parameters/analyticsTags/) set at search time. Multiple tags can be combined with the operators OR and AND. If a tag contains characters like spaces or parentheses, it must be URL-encoded.
|
|
577
577
|
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
|
578
578
|
*/
|
|
@@ -616,12 +616,12 @@ function createAnalyticsClient({ appId: appIdOption, apiKey: apiKeyOption, authM
|
|
|
616
616
|
* - analytics.
|
|
617
617
|
*
|
|
618
618
|
* @param getTopFilterAttributes - The getTopFilterAttributes object.
|
|
619
|
-
* @param getTopFilterAttributes.index - Index name
|
|
619
|
+
* @param getTopFilterAttributes.index - Index name.
|
|
620
620
|
* @param getTopFilterAttributes.search - User query.
|
|
621
|
-
* @param getTopFilterAttributes.startDate - Start date (
|
|
622
|
-
* @param getTopFilterAttributes.endDate - End date (
|
|
623
|
-
* @param getTopFilterAttributes.limit - Number of
|
|
624
|
-
* @param getTopFilterAttributes.offset - Position of the
|
|
621
|
+
* @param getTopFilterAttributes.startDate - Start date (`YYYY-MM-DD`) of the period to analyze.
|
|
622
|
+
* @param getTopFilterAttributes.endDate - End date (`YYYY-MM-DD`) of the period to analyze.
|
|
623
|
+
* @param getTopFilterAttributes.limit - Number of items to return.
|
|
624
|
+
* @param getTopFilterAttributes.offset - Position of the first item to return.
|
|
625
625
|
* @param getTopFilterAttributes.tags - Filter analytics on the [`analyticsTags`](https://www.algolia.com/doc/api-reference/api-parameters/analyticsTags/) set at search time. Multiple tags can be combined with the operators OR and AND. If a tag contains characters like spaces or parentheses, it must be URL-encoded.
|
|
626
626
|
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
|
627
627
|
*/
|
|
@@ -669,12 +669,12 @@ function createAnalyticsClient({ appId: appIdOption, apiKey: apiKeyOption, authM
|
|
|
669
669
|
*
|
|
670
670
|
* @param getTopFilterForAttribute - The getTopFilterForAttribute object.
|
|
671
671
|
* @param getTopFilterForAttribute.attribute - Attribute name.
|
|
672
|
-
* @param getTopFilterForAttribute.index - Index name
|
|
672
|
+
* @param getTopFilterForAttribute.index - Index name.
|
|
673
673
|
* @param getTopFilterForAttribute.search - User query.
|
|
674
|
-
* @param getTopFilterForAttribute.startDate - Start date (
|
|
675
|
-
* @param getTopFilterForAttribute.endDate - End date (
|
|
676
|
-
* @param getTopFilterForAttribute.limit - Number of
|
|
677
|
-
* @param getTopFilterForAttribute.offset - Position of the
|
|
674
|
+
* @param getTopFilterForAttribute.startDate - Start date (`YYYY-MM-DD`) of the period to analyze.
|
|
675
|
+
* @param getTopFilterForAttribute.endDate - End date (`YYYY-MM-DD`) of the period to analyze.
|
|
676
|
+
* @param getTopFilterForAttribute.limit - Number of items to return.
|
|
677
|
+
* @param getTopFilterForAttribute.offset - Position of the first item to return.
|
|
678
678
|
* @param getTopFilterForAttribute.tags - Filter analytics on the [`analyticsTags`](https://www.algolia.com/doc/api-reference/api-parameters/analyticsTags/) set at search time. Multiple tags can be combined with the operators OR and AND. If a tag contains characters like spaces or parentheses, it must be URL-encoded.
|
|
679
679
|
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
|
680
680
|
*/
|
|
@@ -724,12 +724,12 @@ function createAnalyticsClient({ appId: appIdOption, apiKey: apiKeyOption, authM
|
|
|
724
724
|
* - analytics.
|
|
725
725
|
*
|
|
726
726
|
* @param getTopFiltersNoResults - The getTopFiltersNoResults object.
|
|
727
|
-
* @param getTopFiltersNoResults.index - Index name
|
|
727
|
+
* @param getTopFiltersNoResults.index - Index name.
|
|
728
728
|
* @param getTopFiltersNoResults.search - User query.
|
|
729
|
-
* @param getTopFiltersNoResults.startDate - Start date (
|
|
730
|
-
* @param getTopFiltersNoResults.endDate - End date (
|
|
731
|
-
* @param getTopFiltersNoResults.limit - Number of
|
|
732
|
-
* @param getTopFiltersNoResults.offset - Position of the
|
|
729
|
+
* @param getTopFiltersNoResults.startDate - Start date (`YYYY-MM-DD`) of the period to analyze.
|
|
730
|
+
* @param getTopFiltersNoResults.endDate - End date (`YYYY-MM-DD`) of the period to analyze.
|
|
731
|
+
* @param getTopFiltersNoResults.limit - Number of items to return.
|
|
732
|
+
* @param getTopFiltersNoResults.offset - Position of the first item to return.
|
|
733
733
|
* @param getTopFiltersNoResults.tags - Filter analytics on the [`analyticsTags`](https://www.algolia.com/doc/api-reference/api-parameters/analyticsTags/) set at search time. Multiple tags can be combined with the operators OR and AND. If a tag contains characters like spaces or parentheses, it must be URL-encoded.
|
|
734
734
|
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
|
735
735
|
*/
|
|
@@ -776,13 +776,13 @@ function createAnalyticsClient({ appId: appIdOption, apiKey: apiKeyOption, authM
|
|
|
776
776
|
* - analytics.
|
|
777
777
|
*
|
|
778
778
|
* @param getTopHits - The getTopHits object.
|
|
779
|
-
* @param getTopHits.index - Index name
|
|
779
|
+
* @param getTopHits.index - Index name.
|
|
780
780
|
* @param getTopHits.search - User query.
|
|
781
781
|
* @param getTopHits.clickAnalytics - Whether to include [click and conversion](https://www.algolia.com/doc/guides/sending-events/getting-started/) rates for a search.
|
|
782
|
-
* @param getTopHits.startDate - Start date (
|
|
783
|
-
* @param getTopHits.endDate - End date (
|
|
784
|
-
* @param getTopHits.limit - Number of
|
|
785
|
-
* @param getTopHits.offset - Position of the
|
|
782
|
+
* @param getTopHits.startDate - Start date (`YYYY-MM-DD`) of the period to analyze.
|
|
783
|
+
* @param getTopHits.endDate - End date (`YYYY-MM-DD`) of the period to analyze.
|
|
784
|
+
* @param getTopHits.limit - Number of items to return.
|
|
785
|
+
* @param getTopHits.offset - Position of the first item to return.
|
|
786
786
|
* @param getTopHits.tags - Filter analytics on the [`analyticsTags`](https://www.algolia.com/doc/api-reference/api-parameters/analyticsTags/) set at search time. Multiple tags can be combined with the operators OR and AND. If a tag contains characters like spaces or parentheses, it must be URL-encoded.
|
|
787
787
|
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
|
788
788
|
*/
|
|
@@ -832,14 +832,14 @@ function createAnalyticsClient({ appId: appIdOption, apiKey: apiKeyOption, authM
|
|
|
832
832
|
* - analytics.
|
|
833
833
|
*
|
|
834
834
|
* @param getTopSearches - The getTopSearches object.
|
|
835
|
-
* @param getTopSearches.index - Index name
|
|
835
|
+
* @param getTopSearches.index - Index name.
|
|
836
836
|
* @param getTopSearches.clickAnalytics - Whether to include [click and conversion](https://www.algolia.com/doc/guides/sending-events/getting-started/) rates for a search.
|
|
837
|
-
* @param getTopSearches.startDate - Start date (
|
|
838
|
-
* @param getTopSearches.endDate - End date (
|
|
837
|
+
* @param getTopSearches.startDate - Start date (`YYYY-MM-DD`) of the period to analyze.
|
|
838
|
+
* @param getTopSearches.endDate - End date (`YYYY-MM-DD`) of the period to analyze.
|
|
839
839
|
* @param getTopSearches.orderBy - Reorder the results.
|
|
840
840
|
* @param getTopSearches.direction - Sorting direction of the results: ascending or descending.
|
|
841
|
-
* @param getTopSearches.limit - Number of
|
|
842
|
-
* @param getTopSearches.offset - Position of the
|
|
841
|
+
* @param getTopSearches.limit - Number of items to return.
|
|
842
|
+
* @param getTopSearches.offset - Position of the first item to return.
|
|
843
843
|
* @param getTopSearches.tags - Filter analytics on the [`analyticsTags`](https://www.algolia.com/doc/api-reference/api-parameters/analyticsTags/) set at search time. Multiple tags can be combined with the operators OR and AND. If a tag contains characters like spaces or parentheses, it must be URL-encoded.
|
|
844
844
|
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
|
845
845
|
*/
|
|
@@ -892,9 +892,9 @@ function createAnalyticsClient({ appId: appIdOption, apiKey: apiKeyOption, authM
|
|
|
892
892
|
* - analytics.
|
|
893
893
|
*
|
|
894
894
|
* @param getUsersCount - The getUsersCount object.
|
|
895
|
-
* @param getUsersCount.index - Index name
|
|
896
|
-
* @param getUsersCount.startDate - Start date (
|
|
897
|
-
* @param getUsersCount.endDate - End date (
|
|
895
|
+
* @param getUsersCount.index - Index name.
|
|
896
|
+
* @param getUsersCount.startDate - Start date (`YYYY-MM-DD`) of the period to analyze.
|
|
897
|
+
* @param getUsersCount.endDate - End date (`YYYY-MM-DD`) of the period to analyze.
|
|
898
898
|
* @param getUsersCount.tags - Filter analytics on the [`analyticsTags`](https://www.algolia.com/doc/api-reference/api-parameters/analyticsTags/) set at search time. Multiple tags can be combined with the operators OR and AND. If a tag contains characters like spaces or parentheses, it must be URL-encoded.
|
|
899
899
|
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
|
|
900
900
|
*/
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! client-analytics.umd.js | 5.0.0-alpha.
|
|
2
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@algolia/client-analytics"]={})}(this,(function(e){"use strict";function t(e){let t;const r=`algolia-client-js-${e.key}`;function i(){return void 0===t&&(t=e.localStorage||window.localStorage),t}function o(){return JSON.parse(i().getItem(r)||"{}")}function s(e){i().setItem(r,JSON.stringify(e))}return{get:(t,r,i={miss:()=>Promise.resolve()})=>Promise.resolve().then((()=>(function(){const t=e.timeToLive?1e3*e.timeToLive:null,r=o(),i=Object.fromEntries(Object.entries(r).filter((([,e])=>void 0!==e.timestamp)));if(s(i),!t)return;s(Object.fromEntries(Object.entries(i).filter((([,e])=>{const r=(new Date).getTime();return!(e.timestamp+t<r)}))))}(),o()[JSON.stringify(t)]))).then((e=>Promise.all([e?e.value:r(),void 0!==e]))).then((([e,t])=>Promise.all([e,t||i.miss(e)]))).then((([e])=>e)),set:(e,t)=>Promise.resolve().then((()=>{const s=o();return s[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:t},i().setItem(r,JSON.stringify(s)),t})),delete:e=>Promise.resolve().then((()=>{const t=o();delete t[JSON.stringify(e)],i().setItem(r,JSON.stringify(t))})),clear:()=>Promise.resolve().then((()=>{i().removeItem(r)}))}}function r(e){const t=[...e.caches],i=t.shift();return void 0===i?{get:(e,t,r={miss:()=>Promise.resolve()})=>t().then((e=>Promise.all([e,r.miss(e)]))).then((([e])=>e)),set:(e,t)=>Promise.resolve(t),delete:e=>Promise.resolve(),clear:()=>Promise.resolve()}:{get:(e,o,s={miss:()=>Promise.resolve()})=>i.get(e,o,s).catch((()=>r({caches:t}).get(e,o,s))),set:(e,o)=>i.set(e,o).catch((()=>r({caches:t}).set(e,o))),delete:e=>i.delete(e).catch((()=>r({caches:t}).delete(e))),clear:()=>i.clear().catch((()=>r({caches:t}).clear()))}}function i(e={serializable:!0}){let t={};return{get(r,i,o={miss:()=>Promise.resolve()}){const s=JSON.stringify(r);if(s in t)return Promise.resolve(e.serializable?JSON.parse(t[s]):t[s]);const a=i();return a.then((e=>o.miss(e))).then((()=>a))},set:(r,i)=>(t[JSON.stringify(r)]=e.serializable?JSON.stringify(i):i,Promise.resolve(i)),delete:e=>(delete t[JSON.stringify(e)],Promise.resolve()),clear:()=>(t={},Promise.resolve())}}const o=12e4;function s(e,t="up"){const r=Date.now();return{...e,status:t,lastUpdate:r,isUp:function(){return"up"===t||Date.now()-r>o},isTimedOut:function(){return"timed out"===t&&Date.now()-r<=o}}}function a(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}function n(e,t,r){return(t=a(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class c extends Error{constructor(e,t){super(e),n(this,"name","AlgoliaError"),t&&(this.name=t)}}class d extends c{constructor(e,t,r){super(e,r),n(this,"stackTrace",void 0),this.stackTrace=t}}class u extends d{constructor(e){super("Unreachable hosts - your application id may be incorrect. If the error persists, please create a ticket at https://support.algolia.com/ sharing steps we can use to reproduce the issue.",e,"RetryError")}}class l extends d{constructor(e,t,r,i="ApiError"){super(e,r,i),n(this,"status",void 0),this.status=t}}class g extends c{constructor(e,t){super(e,"DeserializationError"),n(this,"response",void 0),this.response=t}}class h extends l{constructor(e,t,r,i){super(e,t,i,"DetailedApiError"),n(this,"error",void 0),this.error=r}}function m(e,t,r){const i=function(e){const t=e=>"[object Object]"===Object.prototype.toString.call(e)||"[object Array]"===Object.prototype.toString.call(e);return Object.keys(e).map((r=>`${r}=${encodeURIComponent(t(e[r])?JSON.stringify(e[r]):e[r]).replaceAll("+","%20")}`)).join("&")}(r);let o=`${e.protocol}://${e.url}${e.port?`:${e.port}`:""}/${"/"===t.charAt(0)?t.substring(1):t}`;return i.length&&(o+=`?${i}`),o}function p(e){const t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...t}}}}function f({hosts:e,hostsCache:t,baseHeaders:r,baseQueryParameters:i,algoliaAgent:o,timeouts:a,requester:n,requestsCache:c,responsesCache:d}){async function f(c,d,f=!0){const v=[],S=function(e,t){if("GET"===e.method||void 0===e.data&&void 0===t.data)return;const r=Array.isArray(e.data)?e.data:{...e.data,...t.data};return JSON.stringify(r)}(c,d),y=function(e,t,r){const i={Accept:"application/json",...e,...t,...r},o={};return Object.keys(i).forEach((e=>{const t=i[e];o[e.toLowerCase()]=t})),o}(r,c.headers,d.headers),w="GET"===c.method?{...c.data,...d.data}:{},P={...i,...c.queryParameters,...w};if(o.value&&(P["x-algolia-agent"]=o.value),d&&d.queryParameters)for(const e of Object.keys(d.queryParameters))d.queryParameters[e]&&"[object Object]"!==Object.prototype.toString.call(d.queryParameters[e])?P[e]=d.queryParameters[e].toString():P[e]=d.queryParameters[e];let q=0;const D=async(e,r)=>{const i=e.pop();if(void 0===i)throw new u(function(e){return e.map((e=>p(e)))}(v));let o=d.timeout;void 0===o&&(o=f?a.read:a.write);const w={data:S,headers:y,method:c.method,url:m(i,c.path,P),connectTimeout:r(q,a.connect),responseTimeout:r(q,o)},T=t=>{const r={request:w,response:t,host:i,triesLeft:e.length};return v.push(r),r},x=await n.send(w);if(function({isTimedOut:e,status:t}){return e||function({isTimedOut:e,status:t}){return!e&&0==~~t}({isTimedOut:e,status:t})||2!=~~(t/100)&&4!=~~(t/100)}(x)){const o=T(x);return x.isTimedOut&&q++,console.log("Retryable failure",p(o)),await t.set(i,s(i,x.isTimedOut?"timed out":"down")),D(e,r)}if(function({status:e}){return 2==~~(e/100)}(x))return function(e){try{return JSON.parse(e.content)}catch(t){throw new g(t.message,e)}}(x);throw T(x),function({content:e,status:t},r){try{const i=JSON.parse(e);return"error"in i?new h(i.message,t,i.error,r):new l(i.message,t,r)}catch(e){}return new l(e,t,r)}(x,v)},T=e.filter((e=>"readWrite"===e.accept||(f?"read"===e.accept:"write"===e.accept))),x=await async function(e){const r=await Promise.all(e.map((e=>t.get(e,(()=>Promise.resolve(s(e))))))),i=r.filter((e=>e.isUp())),o=r.filter((e=>e.isTimedOut())),a=[...i,...o];return{hosts:a.length>0?a:e,getTimeout:(e,t)=>(0===o.length&&0===e?1:o.length+3+e)*t}}(T);return D([...x.hosts].reverse(),x.getTimeout)}return{hostsCache:t,requester:n,timeouts:a,algoliaAgent:o,baseHeaders:r,baseQueryParameters:i,hosts:e,request:function(e,t={}){const o=e.useReadTransporter||"GET"===e.method;if(!o)return f(e,t,o);const s=()=>f(e,t);if(!0!==(t.cacheable||e.cacheable))return s();const a={request:e,requestOptions:t,transporter:{queryParameters:i,headers:r}};return d.get(a,(()=>c.get(a,(()=>c.set(a,s()).then((e=>Promise.all([c.delete(a),e])),(e=>Promise.all([c.delete(a),Promise.reject(e)]))).then((([e,t])=>t))))),{miss:e=>d.set(a,e)})},requestsCache:c,responsesCache:d}}function v({algoliaAgents:e,client:t,version:r}){const i=function(e){const t={value:`Algolia for JavaScript (${e})`,add(e){const r=`; ${e.segment}${void 0!==e.version?` (${e.version})`:""}`;return-1===t.value.indexOf(r)&&(t.value=`${t.value}${r}`),t}};return t}(r).add({segment:t,version:r});return e.forEach((e=>i.add(e))),i}const S="5.0.0-alpha.105",y=["de","us"];e.analyticsClient=function(e,o,s,a){if(!e||"string"!=typeof e)throw new Error("`appId` is missing.");if(!o||"string"!=typeof o)throw new Error("`apiKey` is missing.");if(s&&("string"!=typeof s||!y.includes(s)))throw new Error(`\`region\` must be one of the following: ${y.join(", ")}`);return function({appId:e,apiKey:t,authMode:r,algoliaAgents:i,region:o,...s}){const a=function(e,t,r="WithinHeaders"){const i={"x-algolia-api-key":t,"x-algolia-application-id":e};return{headers:()=>"WithinHeaders"===r?i:{},queryParameters:()=>"WithinQueryParameters"===r?i:{}}}(e,t,r),n=f({hosts:(c=o,[{url:c?"analytics.{region}.algolia.com".replace("{region}",c):"analytics.algolia.com",accept:"readWrite",protocol:"https"}]),...s,algoliaAgent:v({algoliaAgents:i,client:"Analytics",version:S}),baseHeaders:{"content-type":"text/plain",...a.headers(),...s.baseHeaders},baseQueryParameters:{...a.queryParameters(),...s.baseQueryParameters}});var c;return{transporter:n,appId:e,clearCache:()=>Promise.all([n.requestsCache.clear(),n.responsesCache.clear()]).then((()=>{})),get _ua(){return n.algoliaAgent.value},addAlgoliaAgent(e,t){n.algoliaAgent.add({segment:e,version:t})},customDelete({path:e,parameters:t},r){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");const i={method:"DELETE",path:"/1{path}".replace("{path}",e),queryParameters:t||{},headers:{}};return n.request(i,r)},customGet({path:e,parameters:t},r){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");const i={method:"GET",path:"/1{path}".replace("{path}",e),queryParameters:t||{},headers:{}};return n.request(i,r)},customPost({path:e,parameters:t,body:r},i){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");const o={method:"POST",path:"/1{path}".replace("{path}",e),queryParameters:t||{},headers:{},data:r||{}};return n.request(o,i)},customPut({path:e,parameters:t,body:r},i){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");const o={method:"PUT",path:"/1{path}".replace("{path}",e),queryParameters:t||{},headers:{},data:r||{}};return n.request(o,i)},getAverageClickPosition({index:e,startDate:t,endDate:r,tags:i},o){if(!e)throw new Error("Parameter `index` is required when calling `getAverageClickPosition`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==t&&(s.startDate=t.toString()),void 0!==r&&(s.endDate=r.toString()),void 0!==i&&(s.tags=i.toString());const a={method:"GET",path:"/2/clicks/averageClickPosition",queryParameters:s,headers:{}};return n.request(a,o)},getClickPositions({index:e,startDate:t,endDate:r,tags:i},o){if(!e)throw new Error("Parameter `index` is required when calling `getClickPositions`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==t&&(s.startDate=t.toString()),void 0!==r&&(s.endDate=r.toString()),void 0!==i&&(s.tags=i.toString());const a={method:"GET",path:"/2/clicks/positions",queryParameters:s,headers:{}};return n.request(a,o)},getClickThroughRate({index:e,startDate:t,endDate:r,tags:i},o){if(!e)throw new Error("Parameter `index` is required when calling `getClickThroughRate`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==t&&(s.startDate=t.toString()),void 0!==r&&(s.endDate=r.toString()),void 0!==i&&(s.tags=i.toString());const a={method:"GET",path:"/2/clicks/clickThroughRate",queryParameters:s,headers:{}};return n.request(a,o)},getConversationRate({index:e,startDate:t,endDate:r,tags:i},o){if(!e)throw new Error("Parameter `index` is required when calling `getConversationRate`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==t&&(s.startDate=t.toString()),void 0!==r&&(s.endDate=r.toString()),void 0!==i&&(s.tags=i.toString());const a={method:"GET",path:"/2/conversions/conversionRate",queryParameters:s,headers:{}};return n.request(a,o)},getNoClickRate({index:e,startDate:t,endDate:r,tags:i},o){if(!e)throw new Error("Parameter `index` is required when calling `getNoClickRate`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==t&&(s.startDate=t.toString()),void 0!==r&&(s.endDate=r.toString()),void 0!==i&&(s.tags=i.toString());const a={method:"GET",path:"/2/searches/noClickRate",queryParameters:s,headers:{}};return n.request(a,o)},getNoResultsRate({index:e,startDate:t,endDate:r,tags:i},o){if(!e)throw new Error("Parameter `index` is required when calling `getNoResultsRate`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==t&&(s.startDate=t.toString()),void 0!==r&&(s.endDate=r.toString()),void 0!==i&&(s.tags=i.toString());const a={method:"GET",path:"/2/searches/noResultRate",queryParameters:s,headers:{}};return n.request(a,o)},getSearchesCount({index:e,startDate:t,endDate:r,tags:i},o){if(!e)throw new Error("Parameter `index` is required when calling `getSearchesCount`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==t&&(s.startDate=t.toString()),void 0!==r&&(s.endDate=r.toString()),void 0!==i&&(s.tags=i.toString());const a={method:"GET",path:"/2/searches/count",queryParameters:s,headers:{}};return n.request(a,o)},getSearchesNoClicks({index:e,startDate:t,endDate:r,limit:i,offset:o,tags:s},a){if(!e)throw new Error("Parameter `index` is required when calling `getSearchesNoClicks`.");const c={};void 0!==e&&(c.index=e.toString()),void 0!==t&&(c.startDate=t.toString()),void 0!==r&&(c.endDate=r.toString()),void 0!==i&&(c.limit=i.toString()),void 0!==o&&(c.offset=o.toString()),void 0!==s&&(c.tags=s.toString());const d={method:"GET",path:"/2/searches/noClicks",queryParameters:c,headers:{}};return n.request(d,a)},getSearchesNoResults({index:e,startDate:t,endDate:r,limit:i,offset:o,tags:s},a){if(!e)throw new Error("Parameter `index` is required when calling `getSearchesNoResults`.");const c={};void 0!==e&&(c.index=e.toString()),void 0!==t&&(c.startDate=t.toString()),void 0!==r&&(c.endDate=r.toString()),void 0!==i&&(c.limit=i.toString()),void 0!==o&&(c.offset=o.toString()),void 0!==s&&(c.tags=s.toString());const d={method:"GET",path:"/2/searches/noResults",queryParameters:c,headers:{}};return n.request(d,a)},getStatus({index:e},t){if(!e)throw new Error("Parameter `index` is required when calling `getStatus`.");const r={};void 0!==e&&(r.index=e.toString());const i={method:"GET",path:"/2/status",queryParameters:r,headers:{}};return n.request(i,t)},getTopCountries({index:e,startDate:t,endDate:r,limit:i,offset:o,tags:s},a){if(!e)throw new Error("Parameter `index` is required when calling `getTopCountries`.");const c={};void 0!==e&&(c.index=e.toString()),void 0!==t&&(c.startDate=t.toString()),void 0!==r&&(c.endDate=r.toString()),void 0!==i&&(c.limit=i.toString()),void 0!==o&&(c.offset=o.toString()),void 0!==s&&(c.tags=s.toString());const d={method:"GET",path:"/2/countries",queryParameters:c,headers:{}};return n.request(d,a)},getTopFilterAttributes({index:e,search:t,startDate:r,endDate:i,limit:o,offset:s,tags:a},c){if(!e)throw new Error("Parameter `index` is required when calling `getTopFilterAttributes`.");const d={};void 0!==e&&(d.index=e.toString()),void 0!==t&&(d.search=t.toString()),void 0!==r&&(d.startDate=r.toString()),void 0!==i&&(d.endDate=i.toString()),void 0!==o&&(d.limit=o.toString()),void 0!==s&&(d.offset=s.toString()),void 0!==a&&(d.tags=a.toString());const u={method:"GET",path:"/2/filters",queryParameters:d,headers:{}};return n.request(u,c)},getTopFilterForAttribute({attribute:e,index:t,search:r,startDate:i,endDate:o,limit:s,offset:a,tags:c},d){if(!e)throw new Error("Parameter `attribute` is required when calling `getTopFilterForAttribute`.");if(!t)throw new Error("Parameter `index` is required when calling `getTopFilterForAttribute`.");const u="/2/filters/{attribute}".replace("{attribute}",encodeURIComponent(e)),l={};void 0!==t&&(l.index=t.toString()),void 0!==r&&(l.search=r.toString()),void 0!==i&&(l.startDate=i.toString()),void 0!==o&&(l.endDate=o.toString()),void 0!==s&&(l.limit=s.toString()),void 0!==a&&(l.offset=a.toString()),void 0!==c&&(l.tags=c.toString());const g={method:"GET",path:u,queryParameters:l,headers:{}};return n.request(g,d)},getTopFiltersNoResults({index:e,search:t,startDate:r,endDate:i,limit:o,offset:s,tags:a},c){if(!e)throw new Error("Parameter `index` is required when calling `getTopFiltersNoResults`.");const d={};void 0!==e&&(d.index=e.toString()),void 0!==t&&(d.search=t.toString()),void 0!==r&&(d.startDate=r.toString()),void 0!==i&&(d.endDate=i.toString()),void 0!==o&&(d.limit=o.toString()),void 0!==s&&(d.offset=s.toString()),void 0!==a&&(d.tags=a.toString());const u={method:"GET",path:"/2/filters/noResults",queryParameters:d,headers:{}};return n.request(u,c)},getTopHits({index:e,search:t,clickAnalytics:r,startDate:i,endDate:o,limit:s,offset:a,tags:c},d){if(!e)throw new Error("Parameter `index` is required when calling `getTopHits`.");const u={};void 0!==e&&(u.index=e.toString()),void 0!==t&&(u.search=t.toString()),void 0!==r&&(u.clickAnalytics=r.toString()),void 0!==i&&(u.startDate=i.toString()),void 0!==o&&(u.endDate=o.toString()),void 0!==s&&(u.limit=s.toString()),void 0!==a&&(u.offset=a.toString()),void 0!==c&&(u.tags=c.toString());const l={method:"GET",path:"/2/hits",queryParameters:u,headers:{}};return n.request(l,d)},getTopSearches({index:e,clickAnalytics:t,startDate:r,endDate:i,orderBy:o,direction:s,limit:a,offset:c,tags:d},u){if(!e)throw new Error("Parameter `index` is required when calling `getTopSearches`.");const l={};void 0!==e&&(l.index=e.toString()),void 0!==t&&(l.clickAnalytics=t.toString()),void 0!==r&&(l.startDate=r.toString()),void 0!==i&&(l.endDate=i.toString()),void 0!==o&&(l.orderBy=o.toString()),void 0!==s&&(l.direction=s.toString()),void 0!==a&&(l.limit=a.toString()),void 0!==c&&(l.offset=c.toString()),void 0!==d&&(l.tags=d.toString());const g={method:"GET",path:"/2/searches",queryParameters:l,headers:{}};return n.request(g,u)},getUsersCount({index:e,startDate:t,endDate:r,tags:i},o){if(!e)throw new Error("Parameter `index` is required when calling `getUsersCount`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==t&&(s.startDate=t.toString()),void 0!==r&&(s.endDate=r.toString()),void 0!==i&&(s.tags=i.toString());const a={method:"GET",path:"/2/users/count",queryParameters:s,headers:{}};return n.request(a,o)}}}({appId:e,apiKey:o,region:s,timeouts:{connect:1e3,read:2e3,write:3e4},requester:{send:function(e){return new Promise((t=>{const r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach((t=>r.setRequestHeader(t,e.headers[t])));const i=(e,i)=>setTimeout((()=>{r.abort(),t({status:0,content:i,isTimedOut:!0})}),e),o=i(e.connectTimeout,"Connection timeout");let s;r.onreadystatechange=()=>{r.readyState>r.OPENED&&void 0===s&&(clearTimeout(o),s=i(e.responseTimeout,"Socket timeout"))},r.onerror=()=>{0===r.status&&(clearTimeout(o),clearTimeout(s),t({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=()=>{clearTimeout(o),clearTimeout(s),t({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)}))}},algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:i(),requestsCache:i({serializable:!1}),hostsCache:r({caches:[t({key:`${S}-${e}`}),i()]}),...a})},e.apiClientVersion=S}));
|
|
1
|
+
/*! client-analytics.umd.js | 5.0.0-alpha.107 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */
|
|
2
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@algolia/client-analytics"]={})}(this,(function(e){"use strict";function t(e){let t;const r=`algolia-client-js-${e.key}`;function i(){return void 0===t&&(t=e.localStorage||window.localStorage),t}function o(){return JSON.parse(i().getItem(r)||"{}")}function s(e){i().setItem(r,JSON.stringify(e))}return{get:(t,r,i={miss:()=>Promise.resolve()})=>Promise.resolve().then((()=>(function(){const t=e.timeToLive?1e3*e.timeToLive:null,r=o(),i=Object.fromEntries(Object.entries(r).filter((([,e])=>void 0!==e.timestamp)));if(s(i),!t)return;s(Object.fromEntries(Object.entries(i).filter((([,e])=>{const r=(new Date).getTime();return!(e.timestamp+t<r)}))))}(),o()[JSON.stringify(t)]))).then((e=>Promise.all([e?e.value:r(),void 0!==e]))).then((([e,t])=>Promise.all([e,t||i.miss(e)]))).then((([e])=>e)),set:(e,t)=>Promise.resolve().then((()=>{const s=o();return s[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:t},i().setItem(r,JSON.stringify(s)),t})),delete:e=>Promise.resolve().then((()=>{const t=o();delete t[JSON.stringify(e)],i().setItem(r,JSON.stringify(t))})),clear:()=>Promise.resolve().then((()=>{i().removeItem(r)}))}}function r(e){const t=[...e.caches],i=t.shift();return void 0===i?{get:(e,t,r={miss:()=>Promise.resolve()})=>t().then((e=>Promise.all([e,r.miss(e)]))).then((([e])=>e)),set:(e,t)=>Promise.resolve(t),delete:e=>Promise.resolve(),clear:()=>Promise.resolve()}:{get:(e,o,s={miss:()=>Promise.resolve()})=>i.get(e,o,s).catch((()=>r({caches:t}).get(e,o,s))),set:(e,o)=>i.set(e,o).catch((()=>r({caches:t}).set(e,o))),delete:e=>i.delete(e).catch((()=>r({caches:t}).delete(e))),clear:()=>i.clear().catch((()=>r({caches:t}).clear()))}}function i(e={serializable:!0}){let t={};return{get(r,i,o={miss:()=>Promise.resolve()}){const s=JSON.stringify(r);if(s in t)return Promise.resolve(e.serializable?JSON.parse(t[s]):t[s]);const a=i();return a.then((e=>o.miss(e))).then((()=>a))},set:(r,i)=>(t[JSON.stringify(r)]=e.serializable?JSON.stringify(i):i,Promise.resolve(i)),delete:e=>(delete t[JSON.stringify(e)],Promise.resolve()),clear:()=>(t={},Promise.resolve())}}const o=12e4;function s(e,t="up"){const r=Date.now();return{...e,status:t,lastUpdate:r,isUp:function(){return"up"===t||Date.now()-r>o},isTimedOut:function(){return"timed out"===t&&Date.now()-r<=o}}}function a(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}function n(e,t,r){return(t=a(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class c extends Error{constructor(e,t){super(e),n(this,"name","AlgoliaError"),t&&(this.name=t)}}class d extends c{constructor(e,t,r){super(e,r),n(this,"stackTrace",void 0),this.stackTrace=t}}class u extends d{constructor(e){super("Unreachable hosts - your application id may be incorrect. If the error persists, please create a ticket at https://support.algolia.com/ sharing steps we can use to reproduce the issue.",e,"RetryError")}}class l extends d{constructor(e,t,r,i="ApiError"){super(e,r,i),n(this,"status",void 0),this.status=t}}class g extends c{constructor(e,t){super(e,"DeserializationError"),n(this,"response",void 0),this.response=t}}class h extends l{constructor(e,t,r,i){super(e,t,i,"DetailedApiError"),n(this,"error",void 0),this.error=r}}function m(e,t,r){const i=function(e){const t=e=>"[object Object]"===Object.prototype.toString.call(e)||"[object Array]"===Object.prototype.toString.call(e);return Object.keys(e).map((r=>`${r}=${encodeURIComponent(t(e[r])?JSON.stringify(e[r]):e[r]).replaceAll("+","%20")}`)).join("&")}(r);let o=`${e.protocol}://${e.url}${e.port?`:${e.port}`:""}/${"/"===t.charAt(0)?t.substring(1):t}`;return i.length&&(o+=`?${i}`),o}function p(e){const t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...t}}}}function f({hosts:e,hostsCache:t,baseHeaders:r,baseQueryParameters:i,algoliaAgent:o,timeouts:a,requester:n,requestsCache:c,responsesCache:d}){async function f(c,d,f=!0){const v=[],S=function(e,t){if("GET"===e.method||void 0===e.data&&void 0===t.data)return;const r=Array.isArray(e.data)?e.data:{...e.data,...t.data};return JSON.stringify(r)}(c,d),y=function(e,t,r){const i={Accept:"application/json",...e,...t,...r},o={};return Object.keys(i).forEach((e=>{const t=i[e];o[e.toLowerCase()]=t})),o}(r,c.headers,d.headers),w="GET"===c.method?{...c.data,...d.data}:{},P={...i,...c.queryParameters,...w};if(o.value&&(P["x-algolia-agent"]=o.value),d&&d.queryParameters)for(const e of Object.keys(d.queryParameters))d.queryParameters[e]&&"[object Object]"!==Object.prototype.toString.call(d.queryParameters[e])?P[e]=d.queryParameters[e].toString():P[e]=d.queryParameters[e];let q=0;const D=async(e,r)=>{const i=e.pop();if(void 0===i)throw new u(function(e){return e.map((e=>p(e)))}(v));let o=d.timeout;void 0===o&&(o=f?a.read:a.write);const w={data:S,headers:y,method:c.method,url:m(i,c.path,P),connectTimeout:r(q,a.connect),responseTimeout:r(q,o)},T=t=>{const r={request:w,response:t,host:i,triesLeft:e.length};return v.push(r),r},x=await n.send(w);if(function({isTimedOut:e,status:t}){return e||function({isTimedOut:e,status:t}){return!e&&!~~t}({isTimedOut:e,status:t})||2!=~~(t/100)&&4!=~~(t/100)}(x)){const o=T(x);return x.isTimedOut&&q++,console.log("Retryable failure",p(o)),await t.set(i,s(i,x.isTimedOut?"timed out":"down")),D(e,r)}if(function({status:e}){return 2==~~(e/100)}(x))return function(e){try{return JSON.parse(e.content)}catch(t){throw new g(t.message,e)}}(x);throw T(x),function({content:e,status:t},r){try{const i=JSON.parse(e);return"error"in i?new h(i.message,t,i.error,r):new l(i.message,t,r)}catch(e){}return new l(e,t,r)}(x,v)},T=e.filter((e=>"readWrite"===e.accept||(f?"read"===e.accept:"write"===e.accept))),x=await async function(e){const r=await Promise.all(e.map((e=>t.get(e,(()=>Promise.resolve(s(e))))))),i=r.filter((e=>e.isUp())),o=r.filter((e=>e.isTimedOut())),a=[...i,...o];return{hosts:a.length>0?a:e,getTimeout:(e,t)=>(0===o.length&&0===e?1:o.length+3+e)*t}}(T);return D([...x.hosts].reverse(),x.getTimeout)}return{hostsCache:t,requester:n,timeouts:a,algoliaAgent:o,baseHeaders:r,baseQueryParameters:i,hosts:e,request:function(e,t={}){const o=e.useReadTransporter||"GET"===e.method;if(!o)return f(e,t,o);const s=()=>f(e,t);if(!0!==(t.cacheable||e.cacheable))return s();const a={request:e,requestOptions:t,transporter:{queryParameters:i,headers:r}};return d.get(a,(()=>c.get(a,(()=>c.set(a,s()).then((e=>Promise.all([c.delete(a),e])),(e=>Promise.all([c.delete(a),Promise.reject(e)]))).then((([e,t])=>t))))),{miss:e=>d.set(a,e)})},requestsCache:c,responsesCache:d}}function v({algoliaAgents:e,client:t,version:r}){const i=function(e){const t={value:`Algolia for JavaScript (${e})`,add(e){const r=`; ${e.segment}${void 0!==e.version?` (${e.version})`:""}`;return-1===t.value.indexOf(r)&&(t.value=`${t.value}${r}`),t}};return t}(r).add({segment:t,version:r});return e.forEach((e=>i.add(e))),i}const S="5.0.0-alpha.107",y=["de","us"];e.analyticsClient=function(e,o,s,a){if(!e||"string"!=typeof e)throw new Error("`appId` is missing.");if(!o||"string"!=typeof o)throw new Error("`apiKey` is missing.");if(s&&("string"!=typeof s||!y.includes(s)))throw new Error(`\`region\` must be one of the following: ${y.join(", ")}`);return function({appId:e,apiKey:t,authMode:r,algoliaAgents:i,region:o,...s}){const a=function(e,t,r="WithinHeaders"){const i={"x-algolia-api-key":t,"x-algolia-application-id":e};return{headers:()=>"WithinHeaders"===r?i:{},queryParameters:()=>"WithinQueryParameters"===r?i:{}}}(e,t,r),n=f({hosts:(c=o,[{url:c?"analytics.{region}.algolia.com".replace("{region}",c):"analytics.algolia.com",accept:"readWrite",protocol:"https"}]),...s,algoliaAgent:v({algoliaAgents:i,client:"Analytics",version:S}),baseHeaders:{"content-type":"text/plain",...a.headers(),...s.baseHeaders},baseQueryParameters:{...a.queryParameters(),...s.baseQueryParameters}});var c;return{transporter:n,appId:e,clearCache:()=>Promise.all([n.requestsCache.clear(),n.responsesCache.clear()]).then((()=>{})),get _ua(){return n.algoliaAgent.value},addAlgoliaAgent(e,t){n.algoliaAgent.add({segment:e,version:t})},customDelete({path:e,parameters:t},r){if(!e)throw new Error("Parameter `path` is required when calling `customDelete`.");const i={method:"DELETE",path:"/1{path}".replace("{path}",e),queryParameters:t||{},headers:{}};return n.request(i,r)},customGet({path:e,parameters:t},r){if(!e)throw new Error("Parameter `path` is required when calling `customGet`.");const i={method:"GET",path:"/1{path}".replace("{path}",e),queryParameters:t||{},headers:{}};return n.request(i,r)},customPost({path:e,parameters:t,body:r},i){if(!e)throw new Error("Parameter `path` is required when calling `customPost`.");const o={method:"POST",path:"/1{path}".replace("{path}",e),queryParameters:t||{},headers:{},data:r||{}};return n.request(o,i)},customPut({path:e,parameters:t,body:r},i){if(!e)throw new Error("Parameter `path` is required when calling `customPut`.");const o={method:"PUT",path:"/1{path}".replace("{path}",e),queryParameters:t||{},headers:{},data:r||{}};return n.request(o,i)},getAverageClickPosition({index:e,startDate:t,endDate:r,tags:i},o){if(!e)throw new Error("Parameter `index` is required when calling `getAverageClickPosition`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==t&&(s.startDate=t.toString()),void 0!==r&&(s.endDate=r.toString()),void 0!==i&&(s.tags=i.toString());const a={method:"GET",path:"/2/clicks/averageClickPosition",queryParameters:s,headers:{}};return n.request(a,o)},getClickPositions({index:e,startDate:t,endDate:r,tags:i},o){if(!e)throw new Error("Parameter `index` is required when calling `getClickPositions`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==t&&(s.startDate=t.toString()),void 0!==r&&(s.endDate=r.toString()),void 0!==i&&(s.tags=i.toString());const a={method:"GET",path:"/2/clicks/positions",queryParameters:s,headers:{}};return n.request(a,o)},getClickThroughRate({index:e,startDate:t,endDate:r,tags:i},o){if(!e)throw new Error("Parameter `index` is required when calling `getClickThroughRate`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==t&&(s.startDate=t.toString()),void 0!==r&&(s.endDate=r.toString()),void 0!==i&&(s.tags=i.toString());const a={method:"GET",path:"/2/clicks/clickThroughRate",queryParameters:s,headers:{}};return n.request(a,o)},getConversationRate({index:e,startDate:t,endDate:r,tags:i},o){if(!e)throw new Error("Parameter `index` is required when calling `getConversationRate`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==t&&(s.startDate=t.toString()),void 0!==r&&(s.endDate=r.toString()),void 0!==i&&(s.tags=i.toString());const a={method:"GET",path:"/2/conversions/conversionRate",queryParameters:s,headers:{}};return n.request(a,o)},getNoClickRate({index:e,startDate:t,endDate:r,tags:i},o){if(!e)throw new Error("Parameter `index` is required when calling `getNoClickRate`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==t&&(s.startDate=t.toString()),void 0!==r&&(s.endDate=r.toString()),void 0!==i&&(s.tags=i.toString());const a={method:"GET",path:"/2/searches/noClickRate",queryParameters:s,headers:{}};return n.request(a,o)},getNoResultsRate({index:e,startDate:t,endDate:r,tags:i},o){if(!e)throw new Error("Parameter `index` is required when calling `getNoResultsRate`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==t&&(s.startDate=t.toString()),void 0!==r&&(s.endDate=r.toString()),void 0!==i&&(s.tags=i.toString());const a={method:"GET",path:"/2/searches/noResultRate",queryParameters:s,headers:{}};return n.request(a,o)},getSearchesCount({index:e,startDate:t,endDate:r,tags:i},o){if(!e)throw new Error("Parameter `index` is required when calling `getSearchesCount`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==t&&(s.startDate=t.toString()),void 0!==r&&(s.endDate=r.toString()),void 0!==i&&(s.tags=i.toString());const a={method:"GET",path:"/2/searches/count",queryParameters:s,headers:{}};return n.request(a,o)},getSearchesNoClicks({index:e,startDate:t,endDate:r,limit:i,offset:o,tags:s},a){if(!e)throw new Error("Parameter `index` is required when calling `getSearchesNoClicks`.");const c={};void 0!==e&&(c.index=e.toString()),void 0!==t&&(c.startDate=t.toString()),void 0!==r&&(c.endDate=r.toString()),void 0!==i&&(c.limit=i.toString()),void 0!==o&&(c.offset=o.toString()),void 0!==s&&(c.tags=s.toString());const d={method:"GET",path:"/2/searches/noClicks",queryParameters:c,headers:{}};return n.request(d,a)},getSearchesNoResults({index:e,startDate:t,endDate:r,limit:i,offset:o,tags:s},a){if(!e)throw new Error("Parameter `index` is required when calling `getSearchesNoResults`.");const c={};void 0!==e&&(c.index=e.toString()),void 0!==t&&(c.startDate=t.toString()),void 0!==r&&(c.endDate=r.toString()),void 0!==i&&(c.limit=i.toString()),void 0!==o&&(c.offset=o.toString()),void 0!==s&&(c.tags=s.toString());const d={method:"GET",path:"/2/searches/noResults",queryParameters:c,headers:{}};return n.request(d,a)},getStatus({index:e},t){if(!e)throw new Error("Parameter `index` is required when calling `getStatus`.");const r={};void 0!==e&&(r.index=e.toString());const i={method:"GET",path:"/2/status",queryParameters:r,headers:{}};return n.request(i,t)},getTopCountries({index:e,startDate:t,endDate:r,limit:i,offset:o,tags:s},a){if(!e)throw new Error("Parameter `index` is required when calling `getTopCountries`.");const c={};void 0!==e&&(c.index=e.toString()),void 0!==t&&(c.startDate=t.toString()),void 0!==r&&(c.endDate=r.toString()),void 0!==i&&(c.limit=i.toString()),void 0!==o&&(c.offset=o.toString()),void 0!==s&&(c.tags=s.toString());const d={method:"GET",path:"/2/countries",queryParameters:c,headers:{}};return n.request(d,a)},getTopFilterAttributes({index:e,search:t,startDate:r,endDate:i,limit:o,offset:s,tags:a},c){if(!e)throw new Error("Parameter `index` is required when calling `getTopFilterAttributes`.");const d={};void 0!==e&&(d.index=e.toString()),void 0!==t&&(d.search=t.toString()),void 0!==r&&(d.startDate=r.toString()),void 0!==i&&(d.endDate=i.toString()),void 0!==o&&(d.limit=o.toString()),void 0!==s&&(d.offset=s.toString()),void 0!==a&&(d.tags=a.toString());const u={method:"GET",path:"/2/filters",queryParameters:d,headers:{}};return n.request(u,c)},getTopFilterForAttribute({attribute:e,index:t,search:r,startDate:i,endDate:o,limit:s,offset:a,tags:c},d){if(!e)throw new Error("Parameter `attribute` is required when calling `getTopFilterForAttribute`.");if(!t)throw new Error("Parameter `index` is required when calling `getTopFilterForAttribute`.");const u="/2/filters/{attribute}".replace("{attribute}",encodeURIComponent(e)),l={};void 0!==t&&(l.index=t.toString()),void 0!==r&&(l.search=r.toString()),void 0!==i&&(l.startDate=i.toString()),void 0!==o&&(l.endDate=o.toString()),void 0!==s&&(l.limit=s.toString()),void 0!==a&&(l.offset=a.toString()),void 0!==c&&(l.tags=c.toString());const g={method:"GET",path:u,queryParameters:l,headers:{}};return n.request(g,d)},getTopFiltersNoResults({index:e,search:t,startDate:r,endDate:i,limit:o,offset:s,tags:a},c){if(!e)throw new Error("Parameter `index` is required when calling `getTopFiltersNoResults`.");const d={};void 0!==e&&(d.index=e.toString()),void 0!==t&&(d.search=t.toString()),void 0!==r&&(d.startDate=r.toString()),void 0!==i&&(d.endDate=i.toString()),void 0!==o&&(d.limit=o.toString()),void 0!==s&&(d.offset=s.toString()),void 0!==a&&(d.tags=a.toString());const u={method:"GET",path:"/2/filters/noResults",queryParameters:d,headers:{}};return n.request(u,c)},getTopHits({index:e,search:t,clickAnalytics:r,startDate:i,endDate:o,limit:s,offset:a,tags:c},d){if(!e)throw new Error("Parameter `index` is required when calling `getTopHits`.");const u={};void 0!==e&&(u.index=e.toString()),void 0!==t&&(u.search=t.toString()),void 0!==r&&(u.clickAnalytics=r.toString()),void 0!==i&&(u.startDate=i.toString()),void 0!==o&&(u.endDate=o.toString()),void 0!==s&&(u.limit=s.toString()),void 0!==a&&(u.offset=a.toString()),void 0!==c&&(u.tags=c.toString());const l={method:"GET",path:"/2/hits",queryParameters:u,headers:{}};return n.request(l,d)},getTopSearches({index:e,clickAnalytics:t,startDate:r,endDate:i,orderBy:o,direction:s,limit:a,offset:c,tags:d},u){if(!e)throw new Error("Parameter `index` is required when calling `getTopSearches`.");const l={};void 0!==e&&(l.index=e.toString()),void 0!==t&&(l.clickAnalytics=t.toString()),void 0!==r&&(l.startDate=r.toString()),void 0!==i&&(l.endDate=i.toString()),void 0!==o&&(l.orderBy=o.toString()),void 0!==s&&(l.direction=s.toString()),void 0!==a&&(l.limit=a.toString()),void 0!==c&&(l.offset=c.toString()),void 0!==d&&(l.tags=d.toString());const g={method:"GET",path:"/2/searches",queryParameters:l,headers:{}};return n.request(g,u)},getUsersCount({index:e,startDate:t,endDate:r,tags:i},o){if(!e)throw new Error("Parameter `index` is required when calling `getUsersCount`.");const s={};void 0!==e&&(s.index=e.toString()),void 0!==t&&(s.startDate=t.toString()),void 0!==r&&(s.endDate=r.toString()),void 0!==i&&(s.tags=i.toString());const a={method:"GET",path:"/2/users/count",queryParameters:s,headers:{}};return n.request(a,o)}}}({appId:e,apiKey:o,region:s,timeouts:{connect:1e3,read:2e3,write:3e4},requester:{send:function(e){return new Promise((t=>{const r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach((t=>r.setRequestHeader(t,e.headers[t])));const i=(e,i)=>setTimeout((()=>{r.abort(),t({status:0,content:i,isTimedOut:!0})}),e),o=i(e.connectTimeout,"Connection timeout");let s;r.onreadystatechange=()=>{r.readyState>r.OPENED&&void 0===s&&(clearTimeout(o),s=i(e.responseTimeout,"Socket timeout"))},r.onerror=()=>{0===r.status&&(clearTimeout(o),clearTimeout(s),t({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=()=>{clearTimeout(o),clearTimeout(s),t({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)}))}},algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:i(),requestsCache:i({serializable:!1}),hostsCache:r({caches:[t({key:`${S}-${e}`}),i()]}),...a})},e.apiClientVersion=S}));
|