@analytics/storage-utils
Version:
Storage utility with fallbacks
3 lines (2 loc) • 2.37 kB
JavaScript
import{get as t,GLOBAL as o,set as e,remove as r}from"@analytics/global-storage-utils";export{GLOBAL,globalContext}from"@analytics/global-storage-utils";import{hasCookies as a,getCookie as i,COOKIE as s,setCookie as n,removeCookie as l}from"@analytics/cookie-utils";export{COOKIE,getCookie,hasCookies,removeCookie,setCookie}from"@analytics/cookie-utils";import{hasLocalStorage as u,LOCAL_STORAGE as c}from"@analytics/localstorage-utils";export{LOCAL_STORAGE,hasLocalStorage}from"@analytics/localstorage-utils";import{hasSessionStorage as g,SESSION_STORAGE as f}from"@analytics/session-storage-utils";export{SESSION_STORAGE,hasSessionStorage}from"@analytics/session-storage-utils";import{isObject as m,isUndefined as S,ANY as p,isString as v,ALL as y}from"@analytics/type-utils";export{ALL,ANY}from"@analytics/type-utils";function I(t){var o=t;try{if("true"===(o=JSON.parse(t)))return!0;if("false"===o)return!1;if(m(o))return o;parseFloat(o)===o&&(o=parseFloat(o))}catch(t){}if(null!==o&&""!==o)return o}var k=u(),O=g(),x=a();function C(o,e){if(o){var r=A(e),a=!N(r),s=d(r)?I(localStorage.getItem(o)):void 0;if(a&&!S(s))return s;var n=h(r)?I(i(o)):void 0;if(a&&n)return n;var l=E(r)?I(sessionStorage.getItem(o)):void 0;if(a&&l)return l;var u=t(o);return a?u:{localStorage:s,sessionStorage:l,cookie:n,global:u}}}function L(r,a,l){if(r&&!S(a)){var u={},g=A(l),m=JSON.stringify(a),p=!N(g);return d(g)&&(u[c]=F(c,a,I(localStorage.getItem(r))),localStorage.setItem(r,m),p)?u[c]:h(g)&&(u[s]=F(s,a,I(i(r))),n(r,m),p)?u[s]:E(g)&&(u[f]=F(f,a,I(sessionStorage.getItem(r))),sessionStorage.setItem(r,m),p)?u[f]:(u[o]=F(o,a,t(r)),e(r,a),p?u[o]:u)}}function b(t,e){if(t){var a=A(e),i=C(t,y),n={};return!S(i.localStorage)&&d(a)&&(localStorage.removeItem(t),n[c]=i.localStorage),!S(i.cookie)&&h(a)&&(l(t),n[s]=i.cookie),!S(i.sessionStorage)&&E(a)&&(sessionStorage.removeItem(t),n[f]=i.sessionStorage),!S(i.global)&&G(a,o)&&(r(t),n[o]=i.global),n}}function A(t){return t?v(t)?t:t.storage:p}function d(t){return k&&G(t,c)}function h(t){return x&&G(t,s)}function E(t){return O&&G(t,f)}function N(t){return t===y||"all"===t}function G(t,o){return t===p||t===o||N(t)}function F(t,o,e){return{location:t,current:o,previous:e}}var J={setItem:L,getItem:C,removeItem:b};export{J as default,C as getItem,b as removeItem,L as setItem};
//# sourceMappingURL=analytics-util-storage.module.js.map