@kirz/react-native-toolkit
Version:
Toolkit to speed up React Native development
22 lines • 740 B
JavaScript
import { useCallback, useContext, useMemo } from 'react';
import { PluginsBundleContext } from '../contexts/PluginsBundleContext';
export function useAnalytics() {
const {
bundle
} = useContext(PluginsBundleContext);
const plugins = useMemo(() => {
return bundle.plugins.filter(x => x.features.includes('Analytics'));
}, [bundle]);
const logEvent = 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 useMemo(() => ({
logEvent
}), [logEvent]);
}
//# sourceMappingURL=useAnalytics.js.map