UNPKG

@analytics/session-utils

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