UNPKG

video-ad-sdk

Version:

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

28 lines (23 loc) 700 B
import type {VpaidCreativeAdUnit} from '../../../types' export const waitFor = ( creativeAd: VpaidCreativeAdUnit, event: string, timeout?: number ): Promise<void> => new Promise<void>((resolve, reject) => { let timeoutId: number const handler = (): void => { if (typeof timeout === 'number') { window.clearTimeout(timeoutId) } creativeAd.unsubscribe(handler, event) resolve() } if (typeof timeout === 'number') { timeoutId = window.setTimeout(() => { creativeAd.unsubscribe(handler, event) reject(new Error(`Timeout waiting for event '${event}'`)) }, timeout) } creativeAd.subscribe(handler, event) })