@tanstack/query-core
Version:
The framework agnostic core that powers TanStack Query
39 lines (38 loc) • 1.32 kB
JavaScript
import { isServer as isServer$1 } from "./utils.js";
//#region src/environmentManager.ts
let isServerFn = () => isServer$1;
/**
* Returns whether the current runtime should be treated as a server environment.
* @returns `true` if the runtime is treated as a server.
*/
const isServer = () => isServerFn();
/**
* Manages how TanStack Query detects whether the current runtime should be treated as
* server-side, which disables scheduling refetch timers and changes the default `retry` count
* and `gcTime`. By default, the detection treats a missing `window` (or the presence of a
* `Deno` global) as server.
*
* Override this for runtimes where that default detection would give the wrong answer — for
* example, a Service Worker, where `window` is undefined even though the environment should
* behave like a client.
* @example
* ```ts
* import { environmentManager } from '@tanstack/query-core'
*
* environmentManager.setIsServer(() => false)
* ```
*/
const environmentManager = {
isServer,
/**
* Overrides the server check globally.
* @param isServerValue - A function that returns whether the runtime should be treated as a
* server.
*/
setIsServer(isServerValue) {
isServerFn = isServerValue;
}
};
//#endregion
export { environmentManager, isServer };
//# sourceMappingURL=environmentManager.js.map