UNPKG

video-ad-sdk

Version:

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

17 lines (16 loc) 887 B
import { getClickThrough, getSkipOffset } from '../../../vastSelectors'; import { getProgressEvents } from '../progress/getProgressEvents'; import { safeCallback } from '../safeCallback'; import { metricHandlers } from './handlers'; export const setupMetricHandlers = ({ vastChain, videoAdContainer, hooks, pauseOnAdClick }, callback) => { const [{ ad: inlineAd }] = vastChain; const skipoffset = inlineAd && getSkipOffset(inlineAd); const clickThroughUrl = inlineAd && getClickThrough(inlineAd); const progressEvents = getProgressEvents(vastChain); const data = Object.assign({ clickThroughUrl, pauseOnAdClick, progressEvents, skipoffset }, hooks); const stopHandlersFns = metricHandlers.map((handler) => safeCallback(handler(videoAdContainer, callback, data))); return () => stopHandlersFns.forEach((disconnect) => disconnect()); };