UNPKG

react-native-theoplayer

Version:

A THEOplayer video component for react-native.

36 lines (35 loc) 1.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useCachingTaskList = void 0; var _reactNativeTheoplayer = require("react-native-theoplayer"); var _react = require("react"); /** * A convenience hook that keeps a list of all caching tasks. * * @category Caching * @public */ const useCachingTaskList = (debug = false) => { const [tasks, setTasks] = (0, _react.useState)([..._reactNativeTheoplayer.MediaCache.tasks]); (0, _react.useEffect)(() => { const taskListChangeListener = () => { if (debug) { console.log('[MediaCache] task list changed: ', _reactNativeTheoplayer.MediaCache.tasks); } setTasks([..._reactNativeTheoplayer.MediaCache.tasks]); }; _reactNativeTheoplayer.MediaCache.addEventListener(_reactNativeTheoplayer.CacheEventType.addtask, taskListChangeListener); _reactNativeTheoplayer.MediaCache.addEventListener(_reactNativeTheoplayer.CacheEventType.removetask, taskListChangeListener); _reactNativeTheoplayer.MediaCache.addEventListener(_reactNativeTheoplayer.CacheEventType.statechange, taskListChangeListener); return () => { _reactNativeTheoplayer.MediaCache.removeEventListener(_reactNativeTheoplayer.CacheEventType.addtask, taskListChangeListener); _reactNativeTheoplayer.MediaCache.removeEventListener(_reactNativeTheoplayer.CacheEventType.removetask, taskListChangeListener); _reactNativeTheoplayer.MediaCache.addEventListener(_reactNativeTheoplayer.CacheEventType.statechange, taskListChangeListener); }; }, []); return tasks; }; exports.useCachingTaskList = useCachingTaskList; //# sourceMappingURL=useCachingTaskList.js.map