12345678910111213141516171819202122232425262728293031323334353637383940 |
- /**
- * Keys corresponding to the items that we save in local storage.
- *
- * The type of each of the these keys is {@link LSKey}.
- *
- * Note: [Local Storage]
- *
- * Data in the local storage is persisted even after the user closes the tab (or
- * the browser itself). This is in contrast with session storage, where the data
- * is cleared when the browser tab is closed.
- *
- * The data in local storage is tied to the Document's origin (scheme + host).
- */
- export const lsKeys = ["locale"] as const;
- /** The type of {@link lsKeys}. */
- export type LSKey = (typeof lsKeys)[number];
- /**
- * Read a previously saved string from local storage
- */
- export const getLSString = (key: LSKey) => {
- const item = localStorage.getItem(key);
- if (item === null) return undefined;
- return item;
- };
- /**
- * Save a string in local storage
- */
- export const setLSString = (key: LSKey, value: string) => {
- localStorage.setItem(key, value);
- };
- /**
- * Remove an string from local storage.
- */
- export const removeLSString = (key: LSKey) => {
- localStorage.removeItem(key);
- };
|