fsl-authorization
Version:
## What id FSL ID
99 lines (98 loc) • 3.44 kB
JavaScript
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;