UNPKG

@playkit-js/kaltura-player-js

Version:

[![Build Status](https://github.com/kaltura/kaltura-player-js/actions/workflows/run_canary.yaml/badge.svg)](https://github.com/kaltura/kaltura-player-js/actions/workflows/run_canary.yaml) [![code style: prettier](https://img.shields.io/badge/code_style-pr

36 lines (31 loc) 1.06 kB
import { PluginManager } from '../plugins'; import { IAdsPluginController, IAdsControllerProvider } from '../../types'; /** * Controller provider * @classdesc */ class ControllerProvider { private _pluginManager: PluginManager; /** * @constructor * @param {PluginManager} pluginManager - the plugin manager */ constructor(pluginManager: PluginManager) { this._pluginManager = pluginManager; } /** * Get the ads controller of the all ads plugins. * @returns {Array<IAdsPluginController>} - the ads controllers. */ public getAdsControllers(): Array<IAdsPluginController> { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore const adPlugins: Array<IAdsControllerProvider> = Object.values(this._pluginManager.getAll()).filter( // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore (plugin) => typeof plugin.getAdsController === 'function' ); return adPlugins.map((plugin) => plugin.getAdsController()); } } export { ControllerProvider };