UNPKG

@ssports_fe/ssutils

Version:
40 lines (31 loc) 940 B
const allowedStoreType = ['sessionStorage', 'localStorage']; function createStorageApi(storeType) { if (allowedStoreType.indexOf(storeType) === -1) { throw new Error('storeType is not supported!'); } return { get: function (key) { let val = window[storeType].getItem(key); try { val = JSON.parse(val); } catch (e) { } return val; }, set: function (key, value) { let val = value; if (typeof value === 'object') { try { val = JSON.stringify(val); } catch (e) { } } return window[storeType].setItem(key, val); }, remove: function (key) { return window[storeType].removeItem(key); } }; } const local = createStorageApi('localStorage'); module.exports = local;