A tiny session utility library in 775 bytes
.
- Persisted Sessions - saved as cookie for 30min
getSession
setSession
- Tab Sessions - saved until tab/window closed
getTabSession
setTabSession
- Page Sessions - saved until page changes
getPageSession
setPageSession
import { getSession, setSession } from '@analytics/session-utils'
const currentSession = getSession()
console.log('currentSession', currentSession)
// Update session
const newSessionInfo = setSession()
console.log('newSessionInfo', newSessionInfo)
┌─────────────────────────────────────────────────────────────────┐
│ Persisted Session │
│ │
│ ┌──────────────────────────┐ ┌──────────────────────────┐ │
│ │ Tab Session │ │ Tab Session │ │
│ │ │ │ │ │
│ │ ┌────────────────────┐ │ │ ┌────────────────────┐ │ │
│ │ │ Page Session │ │ │ │ Page Session │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ └────────────────────┘ │ │ └────────────────────┘ │ │
│ └──────────────────────────┘ └──────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘