telemetry.ts 417 Bytes
Newer Older
Jeffrey Morgan's avatar
Jeffrey Morgan committed
1
2
import { Analytics } from '@segment/analytics-node'
import { v4 as uuidv4 } from 'uuid'
Jeffrey Morgan's avatar
Jeffrey Morgan committed
3
import Store from 'electron-store'
Jeffrey Morgan's avatar
Jeffrey Morgan committed
4
5
6

const store = new Store()

Jeffrey Morgan's avatar
Jeffrey Morgan committed
7
export const analytics = new Analytics({ writeKey: process.env.TELEMETRY_WRITE_KEY || '<empty>' })
Jeffrey Morgan's avatar
Jeffrey Morgan committed
8
9

export function id(): string {
Jeffrey Morgan's avatar
Jeffrey Morgan committed
10
  const id = store.get('id') as string
Jeffrey Morgan's avatar
Jeffrey Morgan committed
11
12
13
14
15
16
17
18
19

  if (id) {
    return id
  }

  const uuid = uuidv4()
  store.set('id', uuid)
  return uuid
}