-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathxStorage.min.js
More file actions
1 lines (1 loc) · 1.72 KB
/
xStorage.min.js
File metadata and controls
1 lines (1 loc) · 1.72 KB
1
!function(){var a="xs_",b=function(c,d,e){var c=0==c.indexOf(a)?c:a+c,e=e||"local";return d?b.save(c,d,e):""===c?b.remove(c,e):c?b.load(c,e):void 0};b.save=function(b,c,d){var d=d||"local",b=0==b.indexOf(a)?b:a+b;return window[d+"Storage"].setItem(b,JSON.stringify(c)),this},b.load=function(b,c){var c=c||"local",b=0==b.indexOf(a)?b:a+b;return JSON.parse(window[c+"Storage"][b])},b.local={},b.session={},b.remove=function(b,c){var b=0==b.indexOf(a)?b:a+b,c=c||"local";return window[c+"Storage"].removeItem(b),this},b.clear=function(b){var b=b||"local";return Object.keys(window[b+"Storage"]).forEach(function(c,d,e){0==c.indexOf(a)&&window[b+"Storage"].removeItem(c)}),this},b.open=function(d,e,f){if("object"==typeof e)var f=e,e="local";else var e=e||"local",f=f||[];return b[e][a+"name"]?c(d,e):b.create(d,f,e)},b.create=function(a,b,d){var d=d||"local",e=c(a,d,b);return Object.keys(b).length&&e.save(),e};var c=function(c,d,e){var f=c.replace(a,""),g=b[d][f]=function(a,b){return""===b?g.remove(a):b?(Array.isArray(g.data)?g.data.splice(a,1,b):g.data[a]=b,g.save(),g):Array.isArray(a)&&Array.isArray(g.data)?g.add(a):g.data[a]};return g.data=e||b.load(f,d),g.valueOf=function(){return g.data.valueOf()},g.toString=function(){return g.data.toString()},g.title=f,g.type=d,g.add=function(a){return Array.isArray(g.data)&&(g.data.push(a),g.save()),g},g.destroy=function(){b.remove(g.title,g.type),delete b[g.type][g.title]},g.save=function(){return b.save(g.title,g.data,g.type),g},g.remove=function(a){return Array.isArray(g.data)?g.data.splice(a,1):delete g.data[a],g.save(),g},g};Object.keys(localStorage).forEach(function(b){0==b.indexOf(a)&&c(b,"local")}),Object.keys(sessionStorage).forEach(function(b){0==b.indexOf(a)&&c(b,"session")}),window.xStorage=b}();