UNPKG

@tanstack/react-query

Version:

Hooks for managing, caching and syncing asynchronous and remote data in React

19 lines (18 loc) 1.16 kB
//#region src/suspense.ts const defaultThrowOnError = (_error, query) => query.state.data === void 0; const ensureSuspenseTimers = (defaultedOptions) => { if (defaultedOptions.suspense) { const MIN_SUSPENSE_TIME_MS = 1e3; const clamp = (value) => value === "static" ? value : Math.max(value ?? MIN_SUSPENSE_TIME_MS, MIN_SUSPENSE_TIME_MS); 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, MIN_SUSPENSE_TIME_MS); } }; const shouldSuspend = (defaultedOptions, result) => (defaultedOptions === null || defaultedOptions === void 0 ? void 0 : defaultedOptions.suspense) && result.isPending; const fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => { errorResetBoundary.clearReset(); }); //#endregion export { defaultThrowOnError, ensureSuspenseTimers, fetchOptimistic, shouldSuspend }; //# sourceMappingURL=suspense.js.map