class Sirup { constructor() { this.sessionId = null; } bootstrap(config) { this.config = config; const windowRef = window || { sirup: null }; windowRef['sirup'] = this; } async persistantSession(product, label = '', version = '') { const localstorageKey = `sirup-session-${product}-${label}-${version}`; const sessionIdPersistant = localStorage.getItem(localstorageKey); if (sessionIdPersistant) { const sessionIdPersistantObject = JSON.parse(sessionIdPersistant); if (sessionIdPersistantObject) { this.sessionId = sessionIdPersistantObject.sessionId; return; } } await this.session(product, label, version); localStorage.setItem(localstorageKey, JSON.stringify({ sessionId: this.sessionId })); } async session(product, label = '', version = '') { this.sessionId = await this.call('session', { product, label, version, }); } event(event, category, action = '', label = '') { this.call('event', { sessionId: this.sessionId, event, category, action, label, }); } async call(endpoint, data) { const response = await fetch(`${this.config.baseUrl}/api/${endpoint}`, { body: JSON.stringify(data), method: 'POST', headers: { 'Content-type': 'application/json', }, }); return await response.text(); } } const baseUrl = `https://solid-pancake.thefirstspine.fr`; const s = new Sirup(); s.bootstrap({ baseUrl, }); //# sourceMappingURL=sirup.js.map