@tdb/util
Version:
Shared helpers and utilities.
36 lines (34 loc) • 768 B
text/typescript
import { IS_BROWSER } from '../../constants';
import { ILocalStorage } from './types';
/**
* Async interface to the browser's local-storage.
*/
export function init(): ILocalStorage {
if (IS_BROWSER) {
const store = window.localStorage;
return {
async getItem(key: string) {
return store.getItem(key);
},
async setItem(key: string, value: any) {
store.setItem(key, value);
},
async removeItem(key: string) {
store.removeItem(key);
},
};
} else {
// Not in browser, return no-op.
return {
async getItem() {
return undefined;
},
async setItem() {
return undefined;
},
async removeItem() {
return undefined;
},
};
}
}