UNPKG

@morjs/runtime-web

Version:
108 lines 2.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const prefix = 'TiGa-'; const setStorageFn = ({ key, data }) => { if (key && data !== undefined) { const _key = `${prefix}${key}`; localStorage.setItem(_key, JSON.stringify(data)); } }; const removeStorageFn = (key) => { if (key) { const _key = `${prefix}${key}`; localStorage.removeItem(_key); } else { console.error('key 为空'); } }; const getStorageFn = ({ key }) => { if (!key) { return { err: 'key 不能为空' }; } const _key = `${prefix}${key}`; const value = localStorage.getItem(_key); return { data: value ? JSON.parse(value) : value }; }; exports.default = { setStorage(options) { return new Promise((resolve, reject) => { try { setStorageFn(options); resolve(); } catch (err) { reject(err); } }); }, getStorage(options) { return new Promise((resolve) => { const data = getStorageFn(options); resolve(data); }); }, removeStorage(options) { return new Promise((resolve, reject) => { if (options.key) { removeStorageFn(options.key); resolve(); } else { console.error('键值为空'); reject(); } }); }, getStorageInfo() { return new Promise((resolve) => { const keys = []; for (const key in localStorage) { if (/^TiGa-/.test(key)) { const _key = key.replace(/^TiGa-/, ''); keys.push(_key); } } resolve({ keys }); }); }, clearStorage() { localStorage.clear(); }, setStorageSync(option) { setStorageFn(option); }, getStorageSync(option) { return getStorageFn(option); }, removeStorageSync({ key }) { if (key) { removeStorageFn(key); } else { console.error('键值为空'); } }, getStorageInfoSync() { const keys = []; for (const key in localStorage) { if (/^TiGa-/.test(key)) { const _key = key.replace(/^TiGa-/, ''); keys.push(_key); } } return { keys }; }, clearStorageSync() { localStorage.clear(); } }; //# sourceMappingURL=storage.js.map