amos-tool
Version:
amos ui tool
124 lines (122 loc) • 4.01 kB
JavaScript
;
var _Base64 = require("./encrypt/_base64"), trim = require("./_trim"), _Global = "undefined" != typeof window ? window : global, doc = _Global.document, _localStorage = {
localStorage: _Global.localStorage,
read: function(e) {
return _localStorage.localStorage.getItem(e);
},
write: function(e, o) {
return _localStorage.localStorage.setItem(e, o);
},
each: function(e) {
for (var o = _localStorage.localStorage.length - 1; o >= 0; o--) {
var r = _localStorage.localStorage.key(o);
e(_localStorage.read(r), r);
}
},
remove: function(e) {
return _localStorage.localStorage.removeItem(e);
},
fuzzyRemove: function(e) {
for (var o = _localStorage.localStorage.length - 1; o >= 0; o--) {
var r = _localStorage.localStorage.key(o);
e(r) && _localStorage.remove(r);
}
},
allKeys: function() {
for (var e = [], o = _localStorage.localStorage.length - 1; o >= 0; o--) {
var r = _localStorage.localStorage.key(o);
e.push(r);
}
return e;
},
clearAll: function() {
return _localStorage.localStorage.clear();
}
}, _sessionStorage = {
sessionStorage: _Global.sessionStorage,
read: function(e) {
return _sessionStorage.sessionStorage.getItem(e);
},
write: function(e, o) {
return _sessionStorage.sessionStorage.setItem(e, o);
},
each: function(e) {
for (var o = _sessionStorage.sessionStorage.length - 1; o >= 0; o--) {
var r = _sessionStorage.sessionStorage.key(o);
e(_sessionStorage.read(r), r);
}
},
remove: function(e) {
return _sessionStorage.sessionStorage.removeItem(e);
},
fuzzyRemove: function(e) {
for (var o = _sessionStorage.sessionStorage.length - 1; o >= 0; o--) {
var r = _sessionStorage.sessionStorage.key(o);
e(r) && _sessionStorage.remove(r);
}
},
allKeys: function() {
for (var e = [], o = _sessionStorage.sessionStorage.length - 1; o >= 0; o--) {
var r = _sessionStorage.sessionStorage.key(o);
e.push(r);
}
return e;
},
clearAll: function() {
return _sessionStorage.sessionStorage.clear();
}
}, Store = {
encrypt: function(e) {
var o = (new _Base64).encode(e);
return o;
},
decrypt: function(e) {
var o = (new _Base64).decode(e);
return o = escape(o), o = o.replace(/%00/g, ""), o = unescape(o), o;
},
setCookieByDays: function(e, o) {
var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1, t = e + "=" + escape(o);
if ("number" == typeof r) {
var a = new Date;
a.setTime(a.getTime() + 24 * r * 60 * 60 * 1e3), t += "; expires=" + a.toUTCString();
}
doc.cookie = t;
},
getAllCookies: function() {
var e = {}, o = doc.cookie;
if ("" === o) return e;
for (var r = o.split("; "), t = 0; t < r.length; t++) {
var a = r[t], n = a.indexOf("="), s = a.substring(0, n), l = a.substring(n + 1);
l = JSON.parse(unescape(l)), e[s] = l;
}
return e;
},
setCookieByHour: function(e, o, r) {
var t = new Date;
t.setTime(t.getTime() + 60 * r * 60 * 1e3), doc.cookie = e + "=" + escape(o) + ";expires=" + t.toGMTString();
},
getCookieByName: function(e) {
var o = doc.cookie.match(new RegExp("(^| )" + e + "=([^;]*)(;|$)"));
return null != o ? unescape(o[2]) : null;
},
removeCookieByName: function(e) {
e && Store._has(e) && (doc.cookie = escape(e) + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/");
},
clearAllCookie: function() {
Store._each(function(e, o) {
Store.removeCookieByName(o);
});
},
_has: function(e) {
return new RegExp("(?:^|;\\s*)" + escape(e).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=").test(doc.cookie);
},
_each: function(e) {
for (var o = doc.cookie.split(/; ?/g), r = o.length - 1; r >= 0; r--) if (trim(o[r])) {
var t = o[r].split("="), a = unescape(t[0]);
e(unescape(t[1]), a);
}
},
lsTool: _localStorage,
session: _sessionStorage
};
module.exports = Store;