UNPKG

@web3auth/no-modal

Version:
43 lines (40 loc) 1.11 kB
import { jwtDecode } from 'jwt-decode'; function storageAvailable(type) { let storageExists = false; let storageLength = 0; let storage; try { storage = window[type]; storageExists = true; storageLength = storage.length; const x = "__storage_test__"; storage.setItem(x, x); storage.removeItem(x); return true; } catch (err) { const error = err; return !!(error && ( // everything except Firefox error.code === 22 || // Firefox error.code === 1014 || // test name field too, because code might not be present // everything except Firefox error.name === "QuotaExceededError" || // Firefox error.name === "NS_ERROR_DOM_QUOTA_REACHED") && // acknowledge QuotaExceededError only if there's something already stored storageExists && storageLength !== 0); } } const checkIfTokenIsExpired = token => { const decoded = jwtDecode(token); if (!decoded.exp) { return true; } if (decoded.exp < Math.floor(Date.now() / 1000)) { return true; } return false; }; export { checkIfTokenIsExpired, storageAvailable };