react-instantsearch-core 7.5.2 → 7.5.4

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.
@@ -85,9 +85,9 @@ function execute(_ref3) {
85
85
  throw new Error("Unable to retrieve InstantSearch's server state in `getServerState()`. Did you mount the <InstantSearch> component?");
86
86
  }
87
87
  return (0, _server.waitForResults)(searchRef.current);
88
- }).then(function () {
88
+ }).then(function (requestParamsList) {
89
89
  return {
90
- initialResults: (0, _server.getInitialResults)(searchRef.current.mainIndex)
90
+ initialResults: (0, _server.getInitialResults)(searchRef.current.mainIndex, requestParamsList)
91
91
  };
92
92
  });
93
93
  }
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _default = '7.5.2';
7
+ var _default = '7.5.4';
8
8
  exports.default = _default;
@@ -78,9 +78,9 @@ function execute(_ref3) {
78
78
  throw new Error("Unable to retrieve InstantSearch's server state in `getServerState()`. Did you mount the <InstantSearch> component?");
79
79
  }
80
80
  return waitForResults(searchRef.current);
81
- }).then(function () {
81
+ }).then(function (requestParamsList) {
82
82
  return {
83
- initialResults: getInitialResults(searchRef.current.mainIndex)
83
+ initialResults: getInitialResults(searchRef.current.mainIndex, requestParamsList)
84
84
  };
85
85
  });
86
86
  }
@@ -1,2 +1,2 @@
1
- declare const _default: "7.5.2";
1
+ declare const _default: "7.5.4";
2
2
  export default _default;
@@ -1 +1 @@
1
- export default '7.5.2';
1
+ export default '7.5.4';
@@ -7,7 +7,7 @@
7
7
 
8
8
  var React__default = 'default' in React ? React['default'] : React;
9
9
 
10
- var version = '7.5.2';
10
+ var version = '7.5.4';
11
11
 
12
12
  // Copyright Joyent, Inc. and other Node contributors.
13
13
  //
@@ -772,9 +772,12 @@
772
772
  .sort()
773
773
  .forEach(function (facetName) {
774
774
  var facetValues = facetsRefinements[facetName] || [];
775
- facetValues.sort().forEach(function (facetValue) {
776
- facetFilters.push(facetName + ':' + facetValue);
777
- });
775
+ facetValues
776
+ .slice()
777
+ .sort()
778
+ .forEach(function (facetValue) {
779
+ facetFilters.push(facetName + ':' + facetValue);
780
+ });
778
781
  });
779
782
 
780
783
  var facetsExcludes = state.facetsExcludes || {};
@@ -797,9 +800,12 @@
797
800
  }
798
801
  var orFilters = [];
799
802
 
800
- facetValues.sort().forEach(function (facetValue) {
801
- orFilters.push(facetName + ':' + facetValue);
802
- });
803
+ facetValues
804
+ .slice()
805
+ .sort()
806
+ .forEach(function (facetValue) {
807
+ orFilters.push(facetName + ':' + facetValue);
808
+ });
803
809
 
804
810
  facetFilters.push(orFilters);
805
811
  });
@@ -1465,7 +1471,7 @@
1465
1471
  numbers.numericRefinements = numericRefinements;
1466
1472
  }
1467
1473
 
1468
- return merge_1({}, partialState, numbers);
1474
+ return merge_1(partialState, numbers);
1469
1475
  };
1470
1476
 
1471
1477
  /**
@@ -4337,7 +4343,7 @@
4337
4343
 
4338
4344
  var SearchResults_1 = SearchResults;
4339
4345
 
4340
- var version$1 = '3.16.1';
4346
+ var version$1 = '3.16.2';
4341
4347
 
4342
4348
  var escapeFacetValue$3 = escapeFacetValue_1.escapeFacetValue;
4343
4349
 
@@ -7425,13 +7431,16 @@
7425
7431
  return;
7426
7432
  }
7427
7433
  var cachedRequest = Object.keys(results).map(function (key) {
7428
- return results[key].results.map(function (result) {
7429
- return {
7430
- indexName: result.index,
7431
- // We normalize the params received from the server as they can
7432
- // be serialized differently depending on the engine.
7433
- params: serializeQueryParameters(deserializeQueryParameters(result.params))
7434
- };
7434
+ var _results$key = results[key],
7435
+ state = _results$key.state,
7436
+ requestParams = _results$key.requestParams,
7437
+ serverResults = _results$key.results;
7438
+ return serverResults.map(function (result) {
7439
+ return _objectSpread$5({
7440
+ indexName: state.index || result.index
7441
+ }, requestParams || result.params ? {
7442
+ params: serializeQueryParameters(requestParams || deserializeQueryParameters(result.params))
7443
+ } : {});
7435
7444
  });
7436
7445
  });
7437
7446
  var cachedResults = Object.keys(results).reduce(function (acc, key) {
@@ -11697,7 +11706,7 @@
11697
11706
  };
11698
11707
  }
11699
11708
 
11700
- var version$2 = '4.64.0';
11709
+ var version$2 = '4.64.2';
11701
11710
 
11702
11711
  function _typeof$k(obj) {
11703
11712
  "@babel/helpers - typeof";
@@ -12165,9 +12174,7 @@
12165
12174
 
12166
12175
  /**
12167
12176
  * Ends the initialization of InstantSearch.js and triggers the
12168
- * first search. This method should be called after all widgets have been added
12169
- * to the instance of InstantSearch.js. InstantSearch.js also supports adding and removing
12170
- * widgets after the start as an **EXPERIMENTAL** feature.
12177
+ * first search.
12171
12178
  */
12172
12179
  }, {
12173
12180
  key: "start",
@@ -12318,9 +12325,7 @@
12318
12325
  }
12319
12326
 
12320
12327
  /**
12321
- * Removes all widgets without triggering a search afterwards. This is an **EXPERIMENTAL** feature,
12322
- * if you find an issue with it, please
12323
- * [open an issue](https://github.com/algolia/instantsearch/issues/new?title=Problem%20with%20dispose).
12328
+ * Removes all widgets without triggering a search afterwards.
12324
12329
  * @return {undefined} This method does not return anything
12325
12330
  */
12326
12331
  }, {
@@ -15364,7 +15369,7 @@
15364
15369
  dispose: function dispose(_ref4) {
15365
15370
  var state = _ref4.state;
15366
15371
  unmountFn();
15367
- return state.clearRefinements(attribute);
15372
+ return state.removeNumericRefinement(attribute);
15368
15373
  },
15369
15374
  getWidgetUiState: function getWidgetUiState(uiState, _ref5) {
15370
15375
  var searchParameters = _ref5.searchParameters;
@@ -15384,11 +15389,11 @@
15384
15389
  getWidgetSearchParameters: function getWidgetSearchParameters(searchParameters, _ref6) {
15385
15390
  var uiState = _ref6.uiState;
15386
15391
  var value = uiState.numericMenu && uiState.numericMenu[attribute];
15387
- var withoutRefinements = searchParameters.clearRefinements(attribute);
15392
+ var withoutRefinements = searchParameters.setQueryParameters({
15393
+ numericRefinements: _objectSpread$p(_objectSpread$p({}, searchParameters.numericRefinements), {}, _defineProperty$r({}, attribute, {}))
15394
+ });
15388
15395
  if (!value) {
15389
- return withoutRefinements.setQueryParameters({
15390
- numericRefinements: _objectSpread$p(_objectSpread$p({}, withoutRefinements.numericRefinements), {}, _defineProperty$r({}, attribute, {}))
15391
- });
15396
+ return withoutRefinements;
15392
15397
  }
15393
15398
  var isExact = value.indexOf(':') === -1;
15394
15399
  if (isExact) {
@@ -16826,8 +16831,7 @@
16826
16831
  return searchParameters;
16827
16832
  }
16828
16833
  var values = uiState.refinementList && uiState.refinementList[attribute];
16829
- var withoutRefinements = searchParameters.clearRefinements(attribute);
16830
- var withFacetConfiguration = isDisjunctive ? withoutRefinements.addDisjunctiveFacet(attribute) : withoutRefinements.addFacet(attribute);
16834
+ var withFacetConfiguration = isDisjunctive ? searchParameters.addDisjunctiveFacet(attribute).removeDisjunctiveFacetRefinement(attribute) : searchParameters.addFacet(attribute).removeFacetRefinement(attribute);
16831
16835
  var currentMaxValuesPerFacet = withFacetConfiguration.maxValuesPerFacet || 0;
16832
16836
  var nextMaxValuesPerFacet = Math.max(currentMaxValuesPerFacet, showMore ? showMoreLimit : limit);
16833
16837
  var withMaxValuesPerFacet = withFacetConfiguration.setQueryParameter('maxValuesPerFacet', nextMaxValuesPerFacet);
@@ -17676,7 +17680,7 @@
17676
17680
  if (searchParameters.isHierarchicalFacet(attribute) || searchParameters.isConjunctiveFacet(attribute)) {
17677
17681
  return searchParameters;
17678
17682
  }
17679
- var withFacetConfiguration = searchParameters.clearRefinements(attribute).addDisjunctiveFacet(attribute);
17683
+ var withFacetConfiguration = searchParameters.addDisjunctiveFacet(attribute).removeDisjunctiveFacetRefinement(attribute);
17680
17684
  var isRefined = Boolean(uiState.toggle && uiState.toggle[attribute]);
17681
17685
  if (isRefined) {
17682
17686
  if (on) {
@@ -17928,12 +17932,26 @@
17928
17932
  */
17929
17933
  function waitForResults(search) {
17930
17934
  var helper = search.mainHelper;
17935
+
17936
+ // Extract search parameters from the search client to use them
17937
+ // later during hydration.
17938
+ var requestParamsList;
17939
+ var client = helper.getClient();
17940
+ helper.setClient({
17941
+ search: function search(queries) {
17942
+ requestParamsList = queries.map(function (_ref) {
17943
+ var params = _ref.params;
17944
+ return params;
17945
+ });
17946
+ return client.search(queries);
17947
+ }
17948
+ });
17931
17949
  helper.searchOnlyWithDerivedHelpers();
17932
17950
  return new Promise(function (resolve, reject) {
17933
17951
  // All derived helpers resolve in the same tick so we're safe only relying
17934
17952
  // on the first one.
17935
17953
  helper.derivedHelpers[0].on('result', function () {
17936
- resolve();
17954
+ resolve(requestParamsList);
17937
17955
  });
17938
17956
 
17939
17957
  // However, we listen to errors that can happen on any derived helper because
@@ -17955,17 +17973,26 @@
17955
17973
  /**
17956
17974
  * Walks the InstantSearch root index to construct the initial results.
17957
17975
  */
17958
- function getInitialResults(rootIndex) {
17976
+ function getInitialResults(rootIndex,
17977
+ /**
17978
+ * Search parameters sent to the search client,
17979
+ * returned by `waitForResults()`.
17980
+ */
17981
+ requestParamsList) {
17959
17982
  var initialResults = {};
17983
+ var requestParamsIndex = 0;
17960
17984
  walkIndex(rootIndex, function (widget) {
17961
17985
  var searchResults = widget.getResults();
17962
17986
  if (searchResults) {
17963
- initialResults[widget.getIndexId()] = {
17987
+ var requestParams = requestParamsList === null || requestParamsList === void 0 ? void 0 : requestParamsList[requestParamsIndex++];
17988
+ initialResults[widget.getIndexId()] = _objectSpread$y({
17964
17989
  // We convert the Helper state to a plain object to pass parsable data
17965
17990
  // structures from server to client.
17966
17991
  state: _objectSpread$y({}, searchResults._state),
17967
17992
  results: searchResults._rawResults
17968
- };
17993
+ }, requestParams && {
17994
+ requestParams: requestParams
17995
+ });
17969
17996
  }
17970
17997
  });
17971
17998
  if (Object.keys(initialResults).length === 0) {
@@ -18050,9 +18077,9 @@
18050
18077
  throw new Error("Unable to retrieve InstantSearch's server state in `getServerState()`. Did you mount the <InstantSearch> component?");
18051
18078
  }
18052
18079
  return waitForResults(searchRef.current);
18053
- }).then(function () {
18080
+ }).then(function (requestParamsList) {
18054
18081
  return {
18055
- initialResults: getInitialResults(searchRef.current.mainIndex)
18082
+ initialResults: getInitialResults(searchRef.current.mainIndex, requestParamsList)
18056
18083
  };
18057
18084
  });
18058
18085
  }