-
Notifications
You must be signed in to change notification settings - Fork 3.1k
/
ipc.js
80 lines (73 loc) · 2.02 KB
/
ipc.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import _ from 'lodash'
import ipcBus from './ipc-bus'
import errors from './errors'
import authStore from '../auth/auth-store'
const ipc = {
isUnauthed (error) {
return errors.isUnauthenticated(error)
},
handleUnauthed () {
authStore.setUser(null)
ipc.logOut()
},
}
const register = (eventName, isPromiseApi = true) => {
ipc[_.camelCase(eventName)] = (...args) => {
// console.log('ipc', eventName, 'called with', args) // NOTE: uncomment to debug ipc
return ipcBus(eventName, ...args)
}
if (!isPromiseApi) {
ipc[_.camelCase(`off:${eventName}`)] = () => {
return ipcBus.off(eventName)
}
}
}
register('add:project')
register('begin:auth')
register('on:auth:message', false)
register('close:browser')
register('close:project')
register('external:open')
register('get:current:user')
register('get:orgs')
register('gui:error')
register('get:runs')
register('get:options')
register('get:projects')
register('get:project:statuses')
register('get:project:status')
register('get:dashboard:projects')
register('get:record:keys')
register('get:release:notes')
register('get:specs', false)
register('get:user:editor')
register('set:user:editor')
register('launch:browser', false)
register('log:out')
register('on:focus:tests', false)
register('on:menu:clicked', false)
register('open:file')
register('open:finder')
register('open:project', false)
register('on:config:changed', false)
register('on:spec:changed', false)
register('on:project:error', false)
register('on:project:warning', false)
register('ping:api:server')
register('ping:baseUrl')
register('remove:project')
register('request:access')
register('setup:dashboard:project')
register('set:project:id')
register('show:directory:dialog')
register('show:new:spec:dialog')
register('updater:check', false)
register('updater:run', false)
register('window:open')
register('window:close')
register('new:project:banner:closed')
register('has:opened:cypress')
register('remove:scaffolded:files')
register('set:clipboard:text')
register('set:prompt:shown')
export default ipc