react-instantsearch-core 7.13.5 → 7.13.6
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/cjs/version.js +1 -1
- package/dist/es/version.d.ts +1 -1
- package/dist/es/version.js +1 -1
- package/dist/umd/ReactInstantSearchCore.js +113 -21
- package/dist/umd/ReactInstantSearchCore.js.map +1 -1
- package/dist/umd/ReactInstantSearchCore.min.js +1 -1
- package/dist/umd/ReactInstantSearchCore.min.js.map +1 -1
- package/package.json +3 -3
package/dist/cjs/version.js
CHANGED
package/dist/es/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "7.13.
|
|
1
|
+
declare const _default: "7.13.6";
|
|
2
2
|
export default _default;
|
package/dist/es/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default '7.13.
|
|
1
|
+
export default '7.13.6';
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
var React__default = 'default' in React ? React['default'] : React;
|
|
9
9
|
|
|
10
|
-
var version = '7.13.
|
|
10
|
+
var version = '7.13.6';
|
|
11
11
|
|
|
12
12
|
function _iterableToArrayLimit(arr, i) {
|
|
13
13
|
var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
|
|
@@ -10503,6 +10503,22 @@
|
|
|
10503
10503
|
return getCookie(ANONYMOUS_TOKEN_COOKIE_KEY);
|
|
10504
10504
|
}
|
|
10505
10505
|
|
|
10506
|
+
/**
|
|
10507
|
+
* Create UUID according to
|
|
10508
|
+
* https://www.ietf.org/rfc/rfc4122.txt.
|
|
10509
|
+
*
|
|
10510
|
+
* @returns Generated UUID.
|
|
10511
|
+
*/
|
|
10512
|
+
function createUUID() {
|
|
10513
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
10514
|
+
/* eslint-disable no-bitwise */
|
|
10515
|
+
var r = Math.random() * 16 | 0;
|
|
10516
|
+
var v = c === 'x' ? r : r & 0x3 | 0x8;
|
|
10517
|
+
/* eslint-enable */
|
|
10518
|
+
return v.toString(16);
|
|
10519
|
+
});
|
|
10520
|
+
}
|
|
10521
|
+
|
|
10506
10522
|
function _typeof$g(obj) {
|
|
10507
10523
|
"@babel/helpers - typeof";
|
|
10508
10524
|
|
|
@@ -10633,6 +10649,7 @@
|
|
|
10633
10649
|
$$internal = _props$$$internal === void 0 ? false : _props$$$internal,
|
|
10634
10650
|
_props$$$automatic = props.$$automatic,
|
|
10635
10651
|
$$automatic = _props$$$automatic === void 0 ? false : _props$$$automatic;
|
|
10652
|
+
var currentTokenType;
|
|
10636
10653
|
var potentialInsightsClient = _insightsClient;
|
|
10637
10654
|
if (!_insightsClient && _insightsClient !== null) {
|
|
10638
10655
|
safelyRunOnBrowser(function (_ref) {
|
|
@@ -10676,6 +10693,7 @@
|
|
|
10676
10693
|
_getAppIdAndApiKey2 = _slicedToArray$5(_getAppIdAndApiKey, 2),
|
|
10677
10694
|
appId = _getAppIdAndApiKey2[0],
|
|
10678
10695
|
apiKey = _getAppIdAndApiKey2[1];
|
|
10696
|
+
var queuedInitParams = undefined;
|
|
10679
10697
|
var queuedUserToken = undefined;
|
|
10680
10698
|
var queuedAuthenticatedUserToken = undefined;
|
|
10681
10699
|
var userTokenBeforeInit = undefined;
|
|
@@ -10692,7 +10710,7 @@
|
|
|
10692
10710
|
// At this point, even though `search-insights` is not loaded yet,
|
|
10693
10711
|
// we still want to read the token from the queue.
|
|
10694
10712
|
// Otherwise, the first search call will be fired without the token.
|
|
10695
|
-
var _map = ['setUserToken', 'setAuthenticatedUserToken'].map(function (key) {
|
|
10713
|
+
var _map = ['setUserToken', 'setAuthenticatedUserToken', 'init'].map(function (key) {
|
|
10696
10714
|
var _ref3 = find$1(queue.slice().reverse(), function (_ref5) {
|
|
10697
10715
|
var _ref6 = _slicedToArray$5(_ref5, 1),
|
|
10698
10716
|
method = _ref6[0];
|
|
@@ -10702,9 +10720,10 @@
|
|
|
10702
10720
|
value = _ref4[1];
|
|
10703
10721
|
return value;
|
|
10704
10722
|
});
|
|
10705
|
-
var _map2 = _slicedToArray$5(_map,
|
|
10723
|
+
var _map2 = _slicedToArray$5(_map, 3);
|
|
10706
10724
|
queuedUserToken = _map2[0];
|
|
10707
10725
|
queuedAuthenticatedUserToken = _map2[1];
|
|
10726
|
+
queuedInitParams = _map2[2];
|
|
10708
10727
|
}
|
|
10709
10728
|
|
|
10710
10729
|
// If user called `aa('setUserToken')` or `aa('setAuthenticatedUserToken')`
|
|
@@ -10755,6 +10774,23 @@
|
|
|
10755
10774
|
started: function started() {
|
|
10756
10775
|
insightsClient('addAlgoliaAgent', 'insights-middleware');
|
|
10757
10776
|
helper = instantSearchInstance.mainHelper;
|
|
10777
|
+
var queueAtStart = insightsClient.queue;
|
|
10778
|
+
if (Array.isArray(queueAtStart)) {
|
|
10779
|
+
var _map3 = ['setUserToken', 'setAuthenticatedUserToken', 'init'].map(function (key) {
|
|
10780
|
+
var _ref7 = find$1(queueAtStart.slice().reverse(), function (_ref9) {
|
|
10781
|
+
var _ref10 = _slicedToArray$5(_ref9, 1),
|
|
10782
|
+
method = _ref10[0];
|
|
10783
|
+
return method === key;
|
|
10784
|
+
}) || [],
|
|
10785
|
+
_ref8 = _slicedToArray$5(_ref7, 2),
|
|
10786
|
+
value = _ref8[1];
|
|
10787
|
+
return value;
|
|
10788
|
+
});
|
|
10789
|
+
var _map4 = _slicedToArray$5(_map3, 3);
|
|
10790
|
+
queuedUserToken = _map4[0];
|
|
10791
|
+
queuedAuthenticatedUserToken = _map4[1];
|
|
10792
|
+
queuedInitParams = _map4[2];
|
|
10793
|
+
}
|
|
10758
10794
|
initialParameters = {
|
|
10759
10795
|
userToken: helper.state.userToken,
|
|
10760
10796
|
clickAnalytics: helper.state.clickAnalytics
|
|
@@ -10770,8 +10806,9 @@
|
|
|
10770
10806
|
if (!$$internal) {
|
|
10771
10807
|
instantSearchInstance.scheduleSearch();
|
|
10772
10808
|
}
|
|
10773
|
-
var setUserTokenToSearch = function setUserTokenToSearch(userToken) {
|
|
10774
|
-
var immediate = arguments.length >
|
|
10809
|
+
var setUserTokenToSearch = function setUserTokenToSearch(userToken, tokenType) {
|
|
10810
|
+
var immediate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
10811
|
+
var unsetAuthenticatedUserToken = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
10775
10812
|
var normalizedUserToken = normalizeUserToken(userToken);
|
|
10776
10813
|
if (!normalizedUserToken) {
|
|
10777
10814
|
return;
|
|
@@ -10784,6 +10821,13 @@
|
|
|
10784
10821
|
if (existingToken && existingToken !== userToken) {
|
|
10785
10822
|
instantSearchInstance.scheduleSearch();
|
|
10786
10823
|
}
|
|
10824
|
+
currentTokenType = tokenType;
|
|
10825
|
+
}
|
|
10826
|
+
|
|
10827
|
+
// the authenticated user token cannot be overridden by a user or anonymous token
|
|
10828
|
+
// for instant search query requests
|
|
10829
|
+
if (currentTokenType && currentTokenType === 'authenticated' && tokenType === 'default' && !unsetAuthenticatedUserToken) {
|
|
10830
|
+
return;
|
|
10787
10831
|
}
|
|
10788
10832
|
|
|
10789
10833
|
// Delay the token application to the next render cycle
|
|
@@ -10793,14 +10837,8 @@
|
|
|
10793
10837
|
applyToken();
|
|
10794
10838
|
}
|
|
10795
10839
|
};
|
|
10796
|
-
var anonymousUserToken = getInsightsAnonymousUserTokenInternal();
|
|
10797
|
-
if (anonymousUserToken) {
|
|
10798
|
-
// When `aa('init', { ... })` is called, it creates an anonymous user token in cookie.
|
|
10799
|
-
// We can set it as userToken.
|
|
10800
|
-
setUserTokenToSearch(anonymousUserToken, true);
|
|
10801
|
-
}
|
|
10802
10840
|
function setUserToken(token, userToken, authenticatedUserToken) {
|
|
10803
|
-
setUserTokenToSearch(token, true);
|
|
10841
|
+
setUserTokenToSearch(token, authenticatedUserToken ? 'authenticated' : 'default', true);
|
|
10804
10842
|
if (userToken) {
|
|
10805
10843
|
insightsClient('setUserToken', userToken);
|
|
10806
10844
|
}
|
|
@@ -10808,19 +10846,66 @@
|
|
|
10808
10846
|
insightsClient('setAuthenticatedUserToken', authenticatedUserToken);
|
|
10809
10847
|
}
|
|
10810
10848
|
}
|
|
10849
|
+
var anonymousUserToken = undefined;
|
|
10850
|
+
var anonymousTokenFromInsights = getInsightsAnonymousUserTokenInternal();
|
|
10851
|
+
if (anonymousTokenFromInsights) {
|
|
10852
|
+
// When `aa('init', { ... })` is called, it creates an anonymous user token in cookie.
|
|
10853
|
+
// We can set it as userToken on instantsearch and insights. If it's not set as an insights
|
|
10854
|
+
// userToken before a sendEvent, insights automatically generates a new anonymous token,
|
|
10855
|
+
// causing a state change and an unnecessary query on instantsearch.
|
|
10856
|
+
anonymousUserToken = anonymousTokenFromInsights;
|
|
10857
|
+
} else {
|
|
10858
|
+
var token = "anonymous-".concat(createUUID());
|
|
10859
|
+
anonymousUserToken = token;
|
|
10860
|
+
}
|
|
10861
|
+
var authenticatedUserTokenFromInit;
|
|
10862
|
+
var userTokenFromInit;
|
|
10863
|
+
|
|
10864
|
+
// With SSR, the token could be be set on the state. We make sure
|
|
10865
|
+
// that insights is in sync with that token since, there is no
|
|
10866
|
+
// insights lib on the server.
|
|
10867
|
+
var tokenFromSearchParameters = initialParameters.userToken;
|
|
10868
|
+
|
|
10869
|
+
// When the first query is sent, the token is possibly not yet be set by
|
|
10870
|
+
// the insights onChange callbacks (if insights isn't yet loaded).
|
|
10871
|
+
// It is explicitly being set here so that the first query has the
|
|
10872
|
+
// initial tokens set and ensure a second query isn't automatically
|
|
10873
|
+
// made when the onChange callback actually changes the state.
|
|
10874
|
+
if (insightsInitParams) {
|
|
10875
|
+
if (insightsInitParams.authenticatedUserToken) {
|
|
10876
|
+
authenticatedUserTokenFromInit = insightsInitParams.authenticatedUserToken;
|
|
10877
|
+
} else if (insightsInitParams.userToken) {
|
|
10878
|
+
userTokenFromInit = insightsInitParams.userToken;
|
|
10879
|
+
}
|
|
10880
|
+
}
|
|
10811
10881
|
|
|
10812
10882
|
// We consider the `userToken` or `authenticatedUserToken` before an
|
|
10813
|
-
// `init` call of higher importance than one from the queue
|
|
10883
|
+
// `init` call of higher importance than one from the queue and ones set
|
|
10884
|
+
// from the init props to be higher than that.
|
|
10885
|
+
var tokenFromInit = authenticatedUserTokenFromInit || userTokenFromInit;
|
|
10814
10886
|
var tokenBeforeInit = authenticatedUserTokenBeforeInit || userTokenBeforeInit;
|
|
10815
|
-
var
|
|
10816
|
-
if (
|
|
10887
|
+
var tokenFromQueue = queuedAuthenticatedUserToken || queuedUserToken;
|
|
10888
|
+
if (tokenFromInit) {
|
|
10889
|
+
setUserToken(tokenFromInit, userTokenFromInit, authenticatedUserTokenFromInit);
|
|
10890
|
+
} else if (tokenFromSearchParameters) {
|
|
10891
|
+
setUserToken(tokenFromSearchParameters, tokenFromSearchParameters, undefined);
|
|
10892
|
+
} else if (tokenBeforeInit) {
|
|
10817
10893
|
setUserToken(tokenBeforeInit, userTokenBeforeInit, authenticatedUserTokenBeforeInit);
|
|
10818
|
-
} else if (
|
|
10819
|
-
setUserToken(
|
|
10894
|
+
} else if (tokenFromQueue) {
|
|
10895
|
+
setUserToken(tokenFromQueue, queuedUserToken, queuedAuthenticatedUserToken);
|
|
10896
|
+
} else if (anonymousUserToken) {
|
|
10897
|
+
var _queuedInitParams;
|
|
10898
|
+
setUserToken(anonymousUserToken, anonymousUserToken, undefined);
|
|
10899
|
+
if (insightsInitParams !== null && insightsInitParams !== void 0 && insightsInitParams.useCookie || (_queuedInitParams = queuedInitParams) !== null && _queuedInitParams !== void 0 && _queuedInitParams.useCookie) {
|
|
10900
|
+
var _queuedInitParams2;
|
|
10901
|
+
saveTokenAsCookie(anonymousUserToken, (insightsInitParams === null || insightsInitParams === void 0 ? void 0 : insightsInitParams.cookieDuration) || ((_queuedInitParams2 = queuedInitParams) === null || _queuedInitParams2 === void 0 ? void 0 : _queuedInitParams2.cookieDuration));
|
|
10902
|
+
}
|
|
10820
10903
|
}
|
|
10821
10904
|
|
|
10822
10905
|
// This updates userToken which is set explicitly by `aa('setUserToken', userToken)`
|
|
10823
|
-
insightsClient('onUserTokenChange',
|
|
10906
|
+
insightsClient('onUserTokenChange', function (token) {
|
|
10907
|
+
return setUserTokenToSearch(token, 'default', true);
|
|
10908
|
+
}, {
|
|
10824
10909
|
immediate: true
|
|
10825
10910
|
});
|
|
10826
10911
|
|
|
@@ -10829,10 +10914,10 @@
|
|
|
10829
10914
|
// If we're unsetting the `authenticatedUserToken`, we revert to the `userToken`
|
|
10830
10915
|
if (!authenticatedUserToken) {
|
|
10831
10916
|
insightsClient('getUserToken', null, function (_, userToken) {
|
|
10832
|
-
setUserTokenToSearch(userToken);
|
|
10917
|
+
setUserTokenToSearch(userToken, 'default', true, true);
|
|
10833
10918
|
});
|
|
10834
10919
|
}
|
|
10835
|
-
setUserTokenToSearch(authenticatedUserToken);
|
|
10920
|
+
setUserTokenToSearch(authenticatedUserToken, 'authenticated', true);
|
|
10836
10921
|
}, {
|
|
10837
10922
|
immediate: true
|
|
10838
10923
|
});
|
|
@@ -10878,6 +10963,13 @@
|
|
|
10878
10963
|
};
|
|
10879
10964
|
};
|
|
10880
10965
|
}
|
|
10966
|
+
function saveTokenAsCookie(token, cookieDuration) {
|
|
10967
|
+
var MONTH = 30 * 24 * 60 * 60 * 1000;
|
|
10968
|
+
var d = new Date();
|
|
10969
|
+
d.setTime(d.getTime() + (cookieDuration || MONTH * 6));
|
|
10970
|
+
var expires = "expires=".concat(d.toUTCString());
|
|
10971
|
+
document.cookie = "_ALGOLIA=".concat(token, ";").concat(expires, ";path=/");
|
|
10972
|
+
}
|
|
10881
10973
|
|
|
10882
10974
|
/**
|
|
10883
10975
|
* Determines if a given insights `client` supports the optional call to `init`
|
|
@@ -12536,7 +12628,7 @@
|
|
|
12536
12628
|
};
|
|
12537
12629
|
}
|
|
12538
12630
|
|
|
12539
|
-
var version$2 = '4.75.
|
|
12631
|
+
var version$2 = '4.75.3';
|
|
12540
12632
|
|
|
12541
12633
|
function _typeof$l(obj) {
|
|
12542
12634
|
"@babel/helpers - typeof";
|