UNPKG

@theoplayer/react-native-analytics-comscore

Version:
39 lines (38 loc) 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useComscore = useComscore; var _reactNativeTheoplayer = require("react-native-theoplayer"); var _react = require("react"); var _reactNativeAnalyticsComscore = require("@theoplayer/react-native-analytics-comscore"); function useComscore(metadata, config) { const connector = (0, _react.useRef)(undefined); const theoPlayer = (0, _react.useRef)(undefined); const initialize = player => { // Optionally destroy existent connector onDestroy(); theoPlayer.current = player; if (player) { connector.current = new _reactNativeAnalyticsComscore.ComscoreConnector(player, metadata, config); player.addEventListener(_reactNativeTheoplayer.PlayerEventType.DESTROY, onDestroy); } else { throw new Error('Invalid THEOplayer instance'); } }; const onDestroy = () => { if (connector.current) { if (!theoPlayer.current) { throw new Error('Invalid THEOplayer instance'); } theoPlayer.current.removeEventListener(_reactNativeTheoplayer.PlayerEventType.DESTROY, onDestroy); connector.current.destroy(); connector.current = undefined; } }; (0, _react.useEffect)(() => { return onDestroy; }, []); return [connector, initialize]; } //# sourceMappingURL=useComscore.js.map