react-tracking
Version:
Declarative tracking for React apps.
2 lines • 2.35 kB
JavaScript
;function _typeof(obj){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=useTracking;var _react=_interopRequireWildcard(require("react"));var _ReactTrackingContext=_interopRequireDefault(require("./ReactTrackingContext"));var _useTrackingImpl=_interopRequireDefault(require("./useTrackingImpl"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap;var cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{"default":obj}}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj)}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc)}else{newObj[key]=obj[key]}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj)}return newObj}function useTracking(trackingData,options){var contextValue=(0,_useTrackingImpl["default"])(trackingData,options);var Track=(0,_react.useCallback)(function(_ref){var children=_ref.children;return _react["default"].createElement(_ReactTrackingContext["default"].Provider,{value:contextValue},children)},[contextValue]);(0,_react.useDebugValue)(contextValue.tracking.getTrackingData,function(getTrackingData){return getTrackingData()});return(0,_react.useMemo)(function(){return{Track:Track,getTrackingData:contextValue.tracking.getTrackingData,trackEvent:contextValue.tracking.dispatch}},[contextValue,Track])}
//# sourceMappingURL=useTracking.js.map