@next-core/brick-kit 2.152.1 → 2.153.1

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/index.esm.js CHANGED
@@ -12513,17 +12513,20 @@ class Router {
12513
12513
  route_alias: route === null || route === void 0 ? void 0 : route.alias
12514
12514
  }, analyticsData));
12515
12515
  _this3.state = "mounted";
12516
- devtoolsHookEmit("rendered"); // Try to prefetch during a browser's idle periods.
12517
- // https://developer.mozilla.org/en-US/docs/Web/API/Window/requestIdleCallback
12518
-
12519
- if (typeof window.requestIdleCallback === "function") {
12520
- window.requestIdleCallback(() => {
12521
- _this3.kernel.prefetchDepsOfStoryboard(storyboard);
12522
- });
12523
- } else {
12524
- setTimeout(() => {
12525
- _this3.kernel.prefetchDepsOfStoryboard(storyboard);
12526
- }, 0);
12516
+ devtoolsHookEmit("rendered");
12517
+
12518
+ if (!_this3.featureFlags["disable-prefetch-scripts"]) {
12519
+ // Try to prefetch during a browser's idle periods.
12520
+ // https://developer.mozilla.org/en-US/docs/Web/API/Window/requestIdleCallback
12521
+ if (typeof window.requestIdleCallback === "function") {
12522
+ window.requestIdleCallback(() => {
12523
+ _this3.kernel.prefetchDepsOfStoryboard(storyboard);
12524
+ });
12525
+ } else {
12526
+ setTimeout(() => {
12527
+ _this3.kernel.prefetchDepsOfStoryboard(storyboard);
12528
+ }, 0);
12529
+ }
12527
12530
  }
12528
12531
 
12529
12532
  return;
@@ -14835,7 +14838,8 @@ var useProviderArgsDefaults = {
14835
14838
  transform: (oldData, newData) => newData,
14836
14839
  data: undefined,
14837
14840
  loading: false,
14838
- suspense: false
14841
+ suspense: false,
14842
+ cache: true
14839
14843
  },
14840
14844
  dependencies: undefined
14841
14845
  };
@@ -14908,7 +14912,7 @@ function useProviderArgs(providerOrParamsOrGlobalOptions, gloabalOptionsOrDeps,
14908
14912
  };
14909
14913
  }
14910
14914
 
14911
- var cache$1 = new Map();
14915
+ var cache = new Map();
14912
14916
  function fetchProviderArgs(_x, _x2) {
14913
14917
  return _fetchProviderArgs.apply(this, arguments);
14914
14918
  }
@@ -14924,33 +14928,57 @@ function _fetchProviderArgs() {
14924
14928
  args,
14925
14929
  originalArgs
14926
14930
  });
14927
- if (cache$1.has(cacheKey)) return cache$1.get(cacheKey);
14931
+ if (cache.has(cacheKey)) return cache.get(cacheKey);
14928
14932
  var actualArgs = yield getArgsOfCustomApi(provider, [...args, ...originalArgs]);
14929
- cache$1.set(cacheKey, actualArgs);
14933
+ cache.set(cacheKey, actualArgs);
14930
14934
  return actualArgs;
14931
14935
  });
14932
14936
  return _fetchProviderArgs.apply(this, arguments);
14933
14937
  }
14934
14938
 
14935
- var cache = new Map();
14936
- function fetch(_x) {
14937
- return _fetch.apply(this, arguments);
14939
+ var cacheMap = new Map();
14940
+
14941
+ function isObj(v) {
14942
+ return typeof v === "object" && v !== null && !Array.isArray(v);
14938
14943
  }
14939
14944
 
14940
- function _fetch() {
14941
- _fetch = _asyncToGenerator$3(function* (provider) {
14942
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
14943
- args[_key - 1] = arguments[_key];
14944
- }
14945
+ function buildSortedCacheKey(provider, args) {
14946
+ var sortObj = obj => Object.keys(obj).sort().map(k => ({
14947
+ [k]: obj[k]
14948
+ }));
14945
14949
 
14946
- var cacheKey = JSON.stringify({
14950
+ try {
14951
+ var sortedArgs = isObj(args) ? sortObj(args) : args.map(arg => sortObj(arg));
14952
+ return JSON.stringify({
14953
+ provider,
14954
+ args: sortedArgs
14955
+ });
14956
+ } catch (e) {
14957
+ return JSON.stringify({
14947
14958
  provider,
14948
14959
  args
14949
14960
  });
14950
- var promise;
14961
+ }
14962
+ }
14963
+
14964
+ function fetch(_x, _x2) {
14965
+ return _fetch.apply(this, arguments);
14966
+ }
14967
+
14968
+ function _fetch() {
14969
+ _fetch = _asyncToGenerator$3(function* (provider, cache) {
14970
+ for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
14971
+ args[_key - 2] = arguments[_key];
14972
+ }
14973
+
14974
+ var promise; // eslint-disable-next-line @typescript-eslint/ban-ts-comment
14975
+ // @ts-ignore
14976
+
14977
+ var cacheKey = buildSortedCacheKey(provider, ...args);
14978
+ !cache && cacheMap.has(cacheKey) && cacheMap.delete(cacheKey);
14951
14979
 
14952
- if (cache.has(cacheKey)) {
14953
- promise = cache.get(cacheKey);
14980
+ if (cacheMap.has(cacheKey)) {
14981
+ promise = cacheMap.get(cacheKey);
14954
14982
  } else {
14955
14983
  promise = _asyncToGenerator$3(function* () {
14956
14984
  if (!isCustomApiProvider(provider)) {
@@ -14966,7 +14994,7 @@ function _fetch() {
14966
14994
 
14967
14995
  return CustomApi(...args);
14968
14996
  })();
14969
- cache.set(cacheKey, promise);
14997
+ cache && cacheMap.set(cacheKey, promise);
14970
14998
  }
14971
14999
 
14972
15000
  return promise;
@@ -14974,7 +15002,7 @@ function _fetch() {
14974
15002
  return _fetch.apply(this, arguments);
14975
15003
  }
14976
15004
 
14977
- var _excluded = ["onError", "transform", "suspense"];
15005
+ var _excluded = ["onError", "transform", "suspense", "cache"];
14978
15006
  function useProvider() {
14979
15007
  var {
14980
15008
  provider,
@@ -14986,7 +15014,8 @@ function useProvider() {
14986
15014
  var {
14987
15015
  onError,
14988
15016
  transform,
14989
- suspense
15017
+ suspense,
15018
+ cache
14990
15019
  } = customOptions,
14991
15020
  defaults = _objectWithoutProperties(customOptions, _excluded);
14992
15021
 
@@ -15008,11 +15037,12 @@ function useProvider() {
15008
15037
  args[_key - 1] = arguments[_key];
15009
15038
  }
15010
15039
 
15011
- var newRes = yield fetch(provider, ...args);
15040
+ var newRes = yield fetch(provider, cache, ...args);
15012
15041
  response.current = newRes;
15013
15042
  data.current = transform(data.current, newRes);
15014
15043
  } catch (e) {
15015
15044
  error.current = e;
15045
+ data.current = undefined;
15016
15046
  }
15017
15047
 
15018
15048
  if (!suspense) setLoading(false);
@@ -15023,7 +15053,7 @@ function useProvider() {
15023
15053
  return function (_x) {
15024
15054
  return _ref.apply(this, arguments);
15025
15055
  };
15026
- }(), [provider, customOptions, dependencies, requestInit, suspense, transform, defaults.data, onError]);
15056
+ }(), [provider, customOptions, dependencies, requestInit, suspense, transform, defaults.data, onError, cache]);
15027
15057
  var makeFetch = useCallback( /*#__PURE__*/function () {
15028
15058
  var _ref2 = _asyncToGenerator$3(function* (providerOrBody, args) {
15029
15059
  var providerStr = provider;