insomnia/app/analytics/index.js
Gregory Schier 1d45367aa1 Added eslint and fixed all problems (#101)
* Fixed duplication kve bug

* Added semistandard and updated code

* Actually got it working

* Even better

* I think it should work on Windows now
2017-03-03 12:09:08 -08:00

41 lines
943 B
JavaScript

import * as segment from './segment';
import * as google from './google';
import {ipcRenderer} from 'electron';
import {getAppVersion, getAppPlatform} from '../common/constants';
let initialized = false;
export async function init (accountId) {
if (initialized) {
return;
}
await segment.init();
await google.init(accountId, getAppPlatform(), getAppVersion());
initialized = true;
ipcRenderer.on('analytics-track-event', (_, args) => {
trackEvent(...args);
});
}
export function trackEvent (...args) {
// Do on next tick in case it fails or blocks
process.nextTick(() => {
google.sendEvent(...args);
});
}
export function setAccountId (accountId) {
// Do on next tick in case it fails or blocks
process.nextTick(() => {
google.setUserId(accountId);
});
}
export function trackLegacyEvent (event, properties) {
process.nextTick(() => {
segment.trackLegacyEvent(event, properties);
});
}