UNPKG

@analytics/storage-utils

Version:
3 lines (2 loc) 3.44 kB
var e=require("@analytics/global-storage-utils"),t=require("@analytics/cookie-utils"),r=require("@analytics/localstorage-utils"),o=require("@analytics/session-storage-utils"),n=require("@analytics/type-utils");function i(e){var t=e;try{if("true"===(t=JSON.parse(e)))return!0;if("false"===t)return!1;if(n.isObject(t))return t;parseFloat(t)===t&&(t=parseFloat(t))}catch(e){}if(null!==t&&""!==t)return t}var s=r.hasLocalStorage(),a=o.hasSessionStorage(),u=t.hasCookies();function O(r,o){if(r){var s=S(o),a=!A(s),u=g(s)?i(localStorage.getItem(r)):void 0;if(a&&!n.isUndefined(u))return u;var O=f(s)?i(t.getCookie(r)):void 0;if(a&&O)return O;var l=L(s)?i(sessionStorage.getItem(r)):void 0;if(a&&l)return l;var c=e.get(r);return a?c:{localStorage:u,sessionStorage:l,cookie:O,global:c}}}function l(s,a,u){if(s&&!n.isUndefined(a)){var O={},l=S(u),c=JSON.stringify(a),m=!A(l);return g(l)&&(O[r.LOCAL_STORAGE]=p(r.LOCAL_STORAGE,a,i(localStorage.getItem(s))),localStorage.setItem(s,c),m)?O[r.LOCAL_STORAGE]:f(l)&&(O[t.COOKIE]=p(t.COOKIE,a,i(t.getCookie(s))),t.setCookie(s,c),m)?O[t.COOKIE]:L(l)&&(O[o.SESSION_STORAGE]=p(o.SESSION_STORAGE,a,i(sessionStorage.getItem(s))),sessionStorage.setItem(s,c),m)?O[o.SESSION_STORAGE]:(O[e.GLOBAL]=p(e.GLOBAL,a,e.get(s)),e.set(s,a),m?O[e.GLOBAL]:O)}}function c(i,s){if(i){var a=S(s),u=O(i,n.ALL),l={};return!n.isUndefined(u.localStorage)&&g(a)&&(localStorage.removeItem(i),l[r.LOCAL_STORAGE]=u.localStorage),!n.isUndefined(u.cookie)&&f(a)&&(t.removeCookie(i),l[t.COOKIE]=u.cookie),!n.isUndefined(u.sessionStorage)&&L(a)&&(sessionStorage.removeItem(i),l[o.SESSION_STORAGE]=u.sessionStorage),!n.isUndefined(u.global)&&m(a,e.GLOBAL)&&(e.remove(i),l[e.GLOBAL]=u.global),l}}function S(e){return e?n.isString(e)?e:e.storage:n.ANY}function g(e){return s&&m(e,r.LOCAL_STORAGE)}function f(e){return u&&m(e,t.COOKIE)}function L(e){return a&&m(e,o.SESSION_STORAGE)}function A(e){return e===n.ALL||"all"===e}function m(e,t){return e===n.ANY||e===t||A(e)}function p(e,t,r){return{location:e,current:t,previous:r}}var b={setItem:l,getItem:O,removeItem:c};Object.defineProperty(exports,"GLOBAL",{enumerable:!0,get:function(){return e.GLOBAL}}),Object.defineProperty(exports,"globalContext",{enumerable:!0,get:function(){return e.globalContext}}),Object.defineProperty(exports,"COOKIE",{enumerable:!0,get:function(){return t.COOKIE}}),Object.defineProperty(exports,"getCookie",{enumerable:!0,get:function(){return t.getCookie}}),Object.defineProperty(exports,"hasCookies",{enumerable:!0,get:function(){return t.hasCookies}}),Object.defineProperty(exports,"removeCookie",{enumerable:!0,get:function(){return t.removeCookie}}),Object.defineProperty(exports,"setCookie",{enumerable:!0,get:function(){return t.setCookie}}),Object.defineProperty(exports,"LOCAL_STORAGE",{enumerable:!0,get:function(){return r.LOCAL_STORAGE}}),Object.defineProperty(exports,"hasLocalStorage",{enumerable:!0,get:function(){return r.hasLocalStorage}}),Object.defineProperty(exports,"SESSION_STORAGE",{enumerable:!0,get:function(){return o.SESSION_STORAGE}}),Object.defineProperty(exports,"hasSessionStorage",{enumerable:!0,get:function(){return o.hasSessionStorage}}),Object.defineProperty(exports,"ALL",{enumerable:!0,get:function(){return n.ALL}}),Object.defineProperty(exports,"ANY",{enumerable:!0,get:function(){return n.ANY}}),exports.default=b,exports.getItem=O,exports.removeItem=c,exports.setItem=l; //# sourceMappingURL=analytics-util-storage.cjs.map