UNPKG

video-ad-sdk

Version:

VAST/VPAID SDK that allows video ads to be played on top of any player

30 lines (29 loc) 1.2 kB
import { getNonLinearTrackingEvents } from '../vastSelectors'; import { createVastEventTracker } from './helpers/createVastEventTracker'; import { pixelTracker } from './helpers/pixelTracker'; import { acceptInvitation, adCollapse, close } from './nonLinearEvents'; const trackingEventSelector = (event) => (ad) => getNonLinearTrackingEvents(ad, event); const linearTrackers = { [acceptInvitation]: createVastEventTracker(trackingEventSelector(acceptInvitation)), [adCollapse]: createVastEventTracker(trackingEventSelector(adCollapse)), [close]: createVastEventTracker(trackingEventSelector(close)) }; /** * Tracks the passed non linear event. * * @param event name of the linear event we need to track. @see LinearEvents * @param vastChain the ad VAST Chain. * @param options Options Map. */ export const trackNonLinearEvent = (event, vastChain, { data, tracker = pixelTracker, logger = console }) => { const { [event]: linearTracker } = linearTrackers; if (linearTracker) { linearTracker(vastChain, { data: Object.assign({}, data), tracker }); } else { logger.error(`Event '${event}' cannot be tracked`); } };