UNPKG

react-native-theoplayer

Version:

A THEOplayer video component for react-native.

44 lines (41 loc) 1.36 kB
"use strict"; import { DefaultEventDispatcher } from '../adapter/event/DefaultEventDispatcher'; import * as THEOplayerWeb from 'theoplayer'; import { WebCachingTaskAdapter } from './WebCachingTaskAdapter'; import { CacheEventType } from 'react-native-theoplayer'; export class WebMediaCache extends DefaultEventDispatcher { constructor() { super(); THEOplayerWeb.cache.tasks.addEventListener('addtask', this.onAddTask); THEOplayerWeb.cache.tasks.addEventListener('removetask', this.onRemoveTask); } onAddTask = event => { this.dispatchEvent({ type: CacheEventType.addtask, task: new WebCachingTaskAdapter(event.task), date: event.date }); }; onRemoveTask = event => { this.dispatchEvent({ type: CacheEventType.removetask, task: new WebCachingTaskAdapter(event.task), date: event.date }); }; createTask(source, parameters) { return Promise.resolve(new WebCachingTaskAdapter(THEOplayerWeb.cache.createTask(source, parameters))); } get status() { return THEOplayerWeb.cache.status; } // @ts-ignore get tasks() { return THEOplayerWeb.cache.tasks.map(task => new WebCachingTaskAdapter(task)); } } export const MediaCache = new WebMediaCache(); // Expose cache for easy access // @ts-ignore window.MediaCache = MediaCache; //# sourceMappingURL=MediaCache.web.js.map