first
This commit is contained in:
commit
8538ab969a
434 changed files with 44051 additions and 0 deletions
35
apps/web/modules/shared/lib/query-client.ts
Normal file
35
apps/web/modules/shared/lib/query-client.ts
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
import {
|
||||
QueryClient,
|
||||
defaultShouldDehydrateQuery,
|
||||
} from "@tanstack/react-query";
|
||||
|
||||
export function createQueryClient() {
|
||||
return new QueryClient({
|
||||
defaultOptions: {
|
||||
queries: {
|
||||
staleTime: 30 * 1000,
|
||||
retry: false,
|
||||
},
|
||||
dehydrate: {
|
||||
shouldDehydrateQuery: (query) =>
|
||||
defaultShouldDehydrateQuery(query) ||
|
||||
query.state.status === "pending",
|
||||
},
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
export function createQueryKeyWithParams(
|
||||
key: string | string[],
|
||||
params: Record<string, string | number>,
|
||||
) {
|
||||
return [
|
||||
...(Array.isArray(key) ? key : [key]),
|
||||
Object.entries(params)
|
||||
.reduce((acc, [key, value]) => {
|
||||
acc.push(`${key}:${value}`);
|
||||
return acc;
|
||||
}, [] as string[])
|
||||
.join("_"),
|
||||
] as const;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue