UNPKG

@aller/blink

Version:

A library for tracking user behaviour.

57 lines (54 loc) 1.43 kB
import generalData from '../utils/general-data'; import { BlinkEvent } from '../types'; import { Page } from '../selectors/get-page-state'; /** * Prepares click data selecting the right * fields to send to the server */ export default function prepareClicksForSending({ page, url, clickId, externalId, context, }: { page: Page; url: string; externalId: string; clickId: string; context: string[]; }): BlinkEvent { const preview = externalId && page.state.articlePreview[externalId] ? page.state.articlePreview[externalId] : { id: 'error', url: undefined, title: undefined, height: 0, width: 0, personalizationSystemUsed: undefined, personalizationParametersRequested: undefined, }; return { ...generalData(page.state), type: 'click', id: clickId || externalId || '', clickId: clickId || '', context: context || [], article: url && !clickId ? { url, harvesterId: externalId, } : undefined, title: preview.title || undefined, height: preview.height || 0, width: preview.width || 0, personalizationParametersRequested: preview.personalizationParametersRequested || undefined, personalizationSystemUsed: preview.personalizationSystemUsed || undefined, position: preview.position || undefined, }; }