UNPKG

@analytics/session-utils

Version:
3 lines (2 loc) 1.53 kB
var utilSessions=function(e,i,n,t,s){var r="__",o="session",a="__session",u="page",d=["id","createdAt","created"];function g(e){var i=e?new Date(e):new Date;return[i.toISOString(),i.getTime()]}function c(){var e=g(),n=e[0],t=e[1];return{id:i.uuid(),created:t,createdAt:n}}var v={session:[n.getSessionItem,n.setSessionItem],page:[s.get,s.set]};function l(e,i){for(var n=v[e],t=n[0],s=n[1],a=c(),u=!1,g={},l=0;l<d.length;l++){var f=d[l],m=r+e+r+o+r+f,b=t(m);u=i||!b,(i||!i&&!b)&&s(m,a[f]);var p=b&&!i?b:a[f],x="created"!==f?p:Number(p);g[f]=x}return S(g,u)}function S(e,i){var n=Date.now();return e.elapsed=n-e.created,e.expires&&(e.remaining=Math.max(e.expires-n,0),e.isExpired=0===e.remaining),e.isNew=i,e}function f(e,i){void 0===e&&(e=30);var n=t.getCookie(a),s=n?JSON.parse(n):m(e);return i?s:S(s,!n)}function m(e,i,n){void 0===e&&(e=30);var s=n?f(e,!0):c(),r=60*e,o=s.created;if(n){var u=g(),d=u[0],v=u[1];s.modified=v,s.modifiedAt=d,o=v}var l=g(o+1e3*r),m=l[0];return s.expires=l[1],s.expiresAt=m,s.duration=1e3*r,i&&(s=Object.assign(s,i)),t.setCookie(a,JSON.stringify(s),r),S(s,!n)}var b=l.bind(null,o),p=l.bind(null,o,!0),x=l.bind(null,u),k=l.bind(null,u,!0);return e.extendSession=function(e,i){return void 0===e&&(e=30),m(e||1,i,!0)},e.getPageSession=x,e.getSession=f,e.getTabSession=b,e.removeSession=function(){return t.removeCookie(a)},e.sessionData=c,e.setPageSession=k,e.setSession=m,e.setTabSession=p,e}({},analyticsUtils,sessionStorageUtils,cookieUtils,globalStorageUtils); //# sourceMappingURL=session-utils.js.map