UNPKG

react-event-tracker

Version:
37 lines (31 loc) 1.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = useEventTracking; var _react = require("react"); var _useSiteTracking = require("./useSiteTracking"); function useEventTracking() { var _useContext = (0, _react.useContext)(_useSiteTracking.SiteTrackingContext), getSiteData = _useContext.getSiteData, getEventTracking = _useContext.getEventTracking, getPageData = _useContext.getPageData; var result = (0, _react.useMemo)(function () { var eventTracking = getEventTracking(); return Object.keys(eventTracking).reduce(function (acc, key) { acc[key] = function (eventData) { if (typeof eventTracking[key] === "function") { var siteData = getSiteData(); var pageData = getPageData(); return eventTracking[key]({ siteData: siteData, pageData: pageData, eventData: eventData }); } }; return acc; }, {}); }, [getSiteData, getEventTracking, getPageData]); return result; }