import { useStoreState } from '@/state/hooks'; import { useDeepCompareMemo } from '@/plugins/useDeepCompareMemo'; // eslint-disable-next-line @typescript-eslint/ban-types export default (context: string | string[] | (string | number | null | {})[]) => { const uuid = useStoreState((state) => state.user.data?.uuid); const key = useDeepCompareMemo((): string => { return (Array.isArray(context) ? context : [context]).map((value) => JSON.stringify(value)).join(':'); }, [context]); if (!key.trim().length) { throw new Error('Must provide a valid context key to "useUserSWRContextKey".'); } return `swr::${uuid || 'unknown'}:${key.trim()}`; };