Skip to content
File

Blob: src/client/lib/storage.ts

typescript38 lines
1const D1_BOOKMARK_KEY = "anvil.d1.bookmark";
2 
3const canUseStorage = (): boolean => typeof window !== "undefined";
4 
5export const readStoredString = (key: string): string | null => {
6 if (!canUseStorage()) {
7 return null;
8 }
9 
10 return window.localStorage.getItem(key);
11};
12 
13export const writeStoredString = (key: string, value: string): void => {
14 if (!canUseStorage()) {
15 return;
16 }
17 
18 window.localStorage.setItem(key, value);
19};
20 
21export const removeStoredString = (key: string): void => {
22 if (!canUseStorage()) {
23 return;
24 }
25 
26 window.localStorage.removeItem(key);
27};
28 
29export const getStoredBookmark = (): string | null => readStoredString(D1_BOOKMARK_KEY);
30 
31export const setStoredBookmark = (bookmark: string): void => {
32 writeStoredString(D1_BOOKMARK_KEY, bookmark);
33};
34 
35export const clearStoredBookmark = (): void => {
36 removeStoredString(D1_BOOKMARK_KEY);
37};