UNPKG

jc-biz-components

Version:

jc component library based on Antd

78 lines (68 loc) 1.63 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var storage = { version: '1.3.17' }; storage.has = function (key) { return storage.get(key) !== undefined; }; storage.transact = function (key, defaultVal, transactionFn) { var val = ''; if (transactionFn === null) { transactionFn = defaultVal; defaultVal = null; } if (defaultVal === null) { defaultVal = {}; } val = storage.get(key, defaultVal); transactionFn(val); storage.set(key, val); }; storage.serialize = function (value) { return JSON.stringify(value); }; storage.deserialize = function (value) { if (typeof value !== 'string') { return undefined; } try { return JSON.parse(value); } catch (e) { return value || undefined; } }; storage.set = function (key, val) { if (val === undefined) { return storage.remove(key); } localStorage.setItem(key, storage.serialize(val)); return val; }; storage.get = function (key, defaultVal) { var val = storage.deserialize(localStorage.getItem(key)); return val === undefined ? defaultVal : val; }; storage.remove = function (key) { return localStorage.removeItem(key); }; storage.clear = function () { return localStorage.clear(); }; storage.getAll = function () { var ret = {}; storage.forEach(function (key, val) { ret[key] = val; }); return ret; }; storage.forEach = function (callback) { var i = 0; var key = ''; for (i = 0; i < localStorage.length; i++) { key = localStorage.key(i); callback(key, storage.get(key)); } }; exports['default'] = storage; module.exports = exports['default'];