UNPKG

@alugha/ima

Version:

A library for asynchronously loading the Google IMA SDK with static typing for the SDK

20 lines (19 loc) 591 B
import loadScript from "./loadScript"; const imaSdkSrc = "https://imasdk.googleapis.com/js/sdkloader/ima3.js"; let pendingPromise = null; const promiseFinished = () => { pendingPromise = null; }; const loadImaSdk = () => { const w = window; if (w.google && w.google.ima) { return Promise.resolve(w.google.ima); } if (pendingPromise) { return pendingPromise; } pendingPromise = loadScript(imaSdkSrc).then(() => w.google.ima); pendingPromise.then(promiseFinished).catch(promiseFinished); return pendingPromise; }; export default loadImaSdk;