mirror of
https://github.com/Unleash/unleash.git
synced 2025-01-06 00:07:44 +01:00
15 lines
529 B
TypeScript
15 lines
529 B
TypeScript
|
import { useSWRConfig } from 'swr';
|
||
|
|
||
|
/**
|
||
|
With dynamic search and filter parameters we want to prevent cache from growing extensively.
|
||
|
We only keep the latest cache key `currentKey` and remove all other entries identified
|
||
|
by the `clearPrefix`
|
||
|
*/
|
||
|
export const useClearSWRCache = (currentKey: string, clearPrefix: string) => {
|
||
|
const { cache } = useSWRConfig();
|
||
|
const keys = [...cache.keys()];
|
||
|
keys.filter((key) => key !== currentKey && key.startsWith(clearPrefix)).map(
|
||
|
(key) => cache.delete(key),
|
||
|
);
|
||
|
};
|