pulsex
Version:
A lightweight and powerful JavaScript library for tracking user activity on websites. Easily monitor user interactions, including page visits, clicks, time spent, and engagement patterns. Designed for flexibility and performance, PulseX integrates seamles
29 lines (24 loc) • 850 B
text/typescript
import { eventStorageKey } from "./constants";
import { EventPayload } from "./types";
export const generateSessionId = (): string => {
return "session_" + Math.random().toString(16).substring(2, 18);
};
export const saveToLocalStorage = (events: EventPayload[]): void => {
try {
localStorage.setItem(eventStorageKey, JSON.stringify(events));
} catch (error) {
console.error("PulseX: Error saving to localStorage:", error);
}
};
export const loadQueueFromLocalStorage = (): EventPayload[] => {
try {
const data = localStorage.getItem(eventStorageKey);
return data ? JSON.parse(data) : [];
} catch (error) {
console.error("PulseX: Error loading from localStorage:", error);
return [];
}
};
export const deepCopy = <T>(data: T): T => {
return JSON.parse(JSON.stringify(data));
};