UNPKG

@thumbmarkjs/thumbmarkjs

Version:

![GitHub package.json dynamic](https://img.shields.io/github/package-json/version/ilkkapeltola/thumbmarkjs) ![NPM Version](https://img.shields.io/npm/v/@thumbmarkjs/thumbmarkjs) ![NPM Downloads](https://img.shields.io/npm/dm/%40thumbmarkjs%2Fthumbmarkjs

35 lines (31 loc) 1.16 kB
import { componentInterface } from '../factory'; import { optionsInterface, DEFAULT_API_ENDPOINT } from '../options'; import { getVersion } from './version'; // ===================== Logging (Internal) ===================== /** * Logs thumbmark data to remote logging endpoint (only once per session) * You can disable this by setting options.logging to false. * @internal */ export async function logThumbmarkData(thisHash: string, thumbmarkData: componentInterface, options: optionsInterface, experimentalData: componentInterface = {}): Promise<void> { const apiEndpoint = DEFAULT_API_ENDPOINT; const url = `${apiEndpoint}/log`; const payload = { thumbmark: thisHash, components: thumbmarkData, experimental: experimentalData, version: getVersion(), options, path: window?.location?.pathname, }; sessionStorage.setItem("_tmjs_l", "1"); try { await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }); } catch { /* do nothing */ } }