UNPKG

@toptal/davinci-cloudflare-requests-handler

Version:
39 lines (33 loc) 1.07 kB
// https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API export const storageIsSupported = (type: 'localStorage' | 'sessionStorage') => { let storage: Storage | undefined try { storage = window[type] const itemKey = '__storage_test__' storage.setItem(itemKey, itemKey) storage.removeItem(itemKey) return true } catch (e) { return ( e instanceof DOMException && // everything except Firefox (e.code === 22 || // Firefox e.code === 1014 || // test name field too, because code might not be present // everything except Firefox e.name === 'QuotaExceededError' || // Firefox e.name === 'NS_ERROR_DOM_QUOTA_REACHED') && // acknowledge QuotaExceededError only if there's something already stored storage && storage.length !== 0 ) } } export const getItem = (key: string) => { return localStorage.getItem(key) } export const setItem = (key: string, value: string) => { localStorage.setItem(key, value) }