@kirz/react-native-toolkit
Version:
Toolkit to speed up React Native development
28 lines (27 loc) • 893 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useAnalytics = useAnalytics;
var _react = require("react");
var _PluginsBundleContext = require("../contexts/PluginsBundleContext");
function useAnalytics() {
const {
bundle
} = (0, _react.useContext)(_PluginsBundleContext.PluginsBundleContext);
const plugins = (0, _react.useMemo)(() => {
return bundle.plugins.filter(x => x.features.includes('Analytics'));
}, [bundle]);
const logEvent = (0, _react.useCallback)(async function () {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
await Promise.all(plugins.map(plugin => {
plugin.logEvent(...args);
}));
}, [plugins]);
return (0, _react.useMemo)(() => ({
logEvent
}), [logEvent]);
}
//# sourceMappingURL=useAnalytics.js.map