UNPKG

@playkit-js/playkit-js

Version:

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

31 lines (25 loc) 1.08 kB
/** * Engine decorator provider. * @class EngineDecoratorProvider * @param {IEngineDecoratorProvider} plugin - The plugin which have implemented decorator. * @implements {IEngineDecorator} */ import {IEngineDecoratorProvider} from '../types'; import {IEngine} from '../types/interfaces/engine'; import {IEngineDecorator} from '../types/interfaces/engine-decorator'; import { FakeEvent } from '../event/fake-event'; class EngineDecoratorProvider implements IEngineDecoratorProvider { private _name: string; private _getEngineDecorator: (engine: IEngine, dispatchEventHandler: (event: FakeEvent) => void) => IEngineDecorator; constructor(plugin: IEngineDecoratorProvider) { this._name = plugin.getName(); this._getEngineDecorator = plugin.getEngineDecorator.bind(plugin); } public getEngineDecorator(engine: IEngine, dispatchEventHandler: (event: FakeEvent) => void): IEngineDecorator { return this._getEngineDecorator(engine, dispatchEventHandler); } public getName(): string { return this._name; } } export {EngineDecoratorProvider};