UNPKG

fsl-authorization

Version:
99 lines (98 loc) 3.44 kB
import { omitBy } from 'lodash'; var SDKStorage = /** @class */ (function () { function SDKStorage(id) { this.id = ''; this.userInfo = {}; this.loaded = false; this.id = id; var userInfo = localStorage.getItem(id); if (userInfo) { try { this.userInfo = JSON.parse(userInfo); for (var key in this.userInfo) { var keyValue = this.userInfo[key]; if (!(keyValue instanceof Object) && keyValue) { this.userInfo[key] = { value: keyValue, }; continue; } if (keyValue && keyValue.timeStamp && keyValue.date) { var time = Date.now(); if (time - keyValue.date > keyValue.timeStamp * 1000) { this.removeItem(key); } } } } catch (err) { console.error('The localStorage is occupied, please clear it first'); } } else { this.userInfo = { id: { value: +id } }; localStorage.setItem(id, JSON.stringify(this.userInfo)); } this.loaded = true; } SDKStorage.unRefValue = function (user) { var _a; var obj = {}; for (var key in user) { var value = (_a = user[key]) === null || _a === void 0 ? void 0 : _a.value; if (value) { obj[key] = value; } } return obj; }; SDKStorage.getUserToken = function (uid) { if (uid) { var userInfo = localStorage.getItem(uid); if (userInfo) { try { var data = JSON.parse(userInfo); var tokenValue = data['token']; return tokenValue === null || tokenValue === void 0 ? void 0 : tokenValue.value; } catch (e) { console.error('The localStorage is occupied, please clear it first'); return ''; } } } return ''; }; SDKStorage.prototype.setItem = function (key, value, opt) { if (opt === void 0) { opt = {}; } this.userInfo[key] = omitBy({ value: value, timeStamp: opt.timeStamp, date: opt.timeStamp ? Date.now() : undefined, }, function (value) { return value === null || value === undefined; }); localStorage.setItem(this.id, JSON.stringify(this.userInfo)); }; SDKStorage.prototype.getItem = function (key) { if (this.userInfo[key]) { return this.userInfo[key].value; } return undefined; }; SDKStorage.prototype.removeItem = function (key) { this.userInfo[key] = undefined; localStorage.setItem(this.id, JSON.stringify(this.userInfo)); }; SDKStorage.prototype.clear = function () { var id = this.userInfo.id; this.userInfo = { id: id, }; localStorage.setItem(this.id, JSON.stringify(this.userInfo)); }; SDKStorage.prototype.clearAll = function () { this.userInfo = {}; localStorage.removeItem(this.id); }; return SDKStorage; }()); export default SDKStorage;