react-native-theoplayer
Version:
A THEOplayer video component for react-native.
36 lines (35 loc) • 1.67 kB
JavaScript
;
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