UNPKG

@analytics/storage-utils

Version:
3 lines (2 loc) 2.37 kB
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,COOKIE as i,getCookie 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,ANY as S,ALL as p,isUndefined as v,isString 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),i=d(r)?I(localStorage.getItem(o)):void 0;if(a&&!v(i))return i;var n=h(r)?I(s(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:i,sessionStorage:l,cookie:n,global:u}}}function L(r,a,l){if(r&&!v(a)){var u={},g=A(l),m=JSON.stringify(a),S=!N(g);return d(g)&&(u[c]=F(c,a,I(localStorage.getItem(r))),localStorage.setItem(r,m),S)?u[c]:h(g)&&(u[i]=F(i,a,I(s(r))),n(r,m),S)?u[i]:E(g)&&(u[f]=F(f,a,I(sessionStorage.getItem(r))),sessionStorage.setItem(r,m),S)?u[f]:(u[o]=F(o,a,t(r)),e(r,a),S?u[o]:u)}}function b(t,e){if(t){var a=A(e),s=C(t,p),n={};return!v(s.localStorage)&&d(a)&&(localStorage.removeItem(t),n[c]=s.localStorage),!v(s.cookie)&&h(a)&&(l(t),n[i]=s.cookie),!v(s.sessionStorage)&&E(a)&&(sessionStorage.removeItem(t),n[f]=s.sessionStorage),!v(s.global)&&G(a,o)&&(r(t),n[o]=s.global),n}}function A(t){return t?y(t)?t:t.storage:S}function d(t){return k&&G(t,c)}function h(t){return x&&G(t,i)}function E(t){return O&&G(t,f)}function N(t){return t===p||"all"===t}function G(t,o){return t===S||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