UNPKG

@web3auth/no-modal

Version:
46 lines (42 loc) 1.18 kB
'use strict'; var jwtDecode = require('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.jwtDecode(token); if (!decoded.exp) { return true; } if (decoded.exp < Math.floor(Date.now() / 1000)) { return true; } return false; }; exports.checkIfTokenIsExpired = checkIfTokenIsExpired; exports.storageAvailable = storageAvailable;