diff options
| author | Fuwn <[email protected]> | 2026-01-24 13:09:50 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-01-24 13:09:50 +0000 |
| commit | 396acf3bbbe00a192cb0ea0a9ccf91b1d8d2850b (patch) | |
| tree | b9df4ca6a70db45cfffbae6fdd7252e20fb8e93c /src/lib/storage.ts | |
| download | umami-main.tar.xz umami-main.zip | |
Created from https://vercel.com/new
Diffstat (limited to 'src/lib/storage.ts')
| -rw-r--r-- | src/lib/storage.ts | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/lib/storage.ts b/src/lib/storage.ts new file mode 100644 index 0000000..19681a2 --- /dev/null +++ b/src/lib/storage.ts @@ -0,0 +1,25 @@ +export function setItem(key: string, data: any, session?: boolean) { + if (typeof window !== 'undefined' && data) { + return (session ? sessionStorage : localStorage).setItem(key, JSON.stringify(data)); + } +} + +export function getItem(key: string, session?: boolean): any { + if (typeof window !== 'undefined') { + const value = (session ? sessionStorage : localStorage).getItem(key); + + if (value !== 'undefined' && value !== null) { + try { + return JSON.parse(value); + } catch { + return null; + } + } + } +} + +export function removeItem(key: string, session?: boolean) { + if (typeof window !== 'undefined') { + return (session ? sessionStorage : localStorage).removeItem(key); + } +} |