@tanstack/react-query
Version:
Hooks for managing, caching and syncing asynchronous and remote data in React
25 lines • 1.12 kB
JavaScript
// src/suspense.ts
var defaultThrowOnError = (_error, query) => query.state.data === void 0;
var ensureSuspenseTimers = (defaultedOptions) => {
if (defaultedOptions.suspense) {
const clamp = (value) => value === "static" ? value : Math.max(value ?? 1e3, 1e3);
const originalStaleTime = defaultedOptions.staleTime;
defaultedOptions.staleTime = typeof originalStaleTime === "function" ? (...args) => clamp(originalStaleTime(...args)) : clamp(originalStaleTime);
if (typeof defaultedOptions.gcTime === "number") {
defaultedOptions.gcTime = Math.max(defaultedOptions.gcTime, 1e3);
}
}
};
var willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;
var shouldSuspend = (defaultedOptions, result) => defaultedOptions?.suspense && result.isPending;
var fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => {
errorResetBoundary.clearReset();
});
export {
defaultThrowOnError,
ensureSuspenseTimers,
fetchOptimistic,
shouldSuspend,
willFetch
};
//# sourceMappingURL=suspense.js.map