-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpreload.js
More file actions
129 lines (128 loc) · 4.9 KB
/
preload.js
File metadata and controls
129 lines (128 loc) · 4.9 KB
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
const { contextBridge, ipcRenderer } = require("electron");
contextBridge.exposeInMainWorld("ifactory", {
getMeta: () => ipcRenderer.invoke("app:getMeta"),
settings: {
get: () => ipcRenderer.invoke("settings:get")
},
recents: {
get: () => ipcRenderer.invoke("recents:get"),
remove: (path) => ipcRenderer.invoke("recents:remove", { path })
},
git: {
check: () => ipcRenderer.invoke("git:check"),
skip: () => ipcRenderer.invoke("git:skip"),
status: (payload) => ipcRenderer.invoke("git:status", payload),
commit: (payload) => ipcRenderer.invoke("git:commit", payload)
},
build: {
check: () => ipcRenderer.invoke("build:check"),
run: (payload) => ipcRenderer.invoke("build:run", payload),
stop: () => ipcRenderer.invoke("build:stop"),
onOutput: (callback) => {
if (typeof callback !== "function") {
return () => {};
}
const listener = (event, payload) => callback(payload);
ipcRenderer.on("build:output", listener);
return () => ipcRenderer.removeListener("build:output", listener);
},
onState: (callback) => {
if (typeof callback !== "function") {
return () => {};
}
const listener = (event, payload) => callback(payload);
ipcRenderer.on("build:state", listener);
return () => ipcRenderer.removeListener("build:state", listener);
}
},
doxygen: {
check: () => ipcRenderer.invoke("doxygen:check"),
install: () => ipcRenderer.invoke("doxygen:install"),
remove: () => ipcRenderer.invoke("doxygen:remove"),
onProgress: (callback) => {
if (typeof callback !== "function") {
return () => {};
}
const listener = (event, payload) => callback(payload);
ipcRenderer.on("doxygen:progress", listener);
return () => ipcRenderer.removeListener("doxygen:progress", listener);
}
},
iplug: {
install: (payload) => ipcRenderer.invoke("iplug:install", payload),
installDependencies: (payload) =>
ipcRenderer.invoke("iplug:installDependencies", payload),
cancel: () => ipcRenderer.invoke("iplug:cancel"),
onProgress: (callback) => {
if (typeof callback !== "function") {
return () => {};
}
const listener = (event, payload) => callback(payload);
ipcRenderer.on("iplug:progress", listener);
return () => ipcRenderer.removeListener("iplug:progress", listener);
}
},
edsp: {
check: (payload) => ipcRenderer.invoke("edsp:check", payload),
install: (payload) => ipcRenderer.invoke("edsp:install", payload),
remove: (payload) => ipcRenderer.invoke("edsp:remove", payload)
},
vst3: {
check: (payload) => ipcRenderer.invoke("vst3:check", payload),
install: (payload) => ipcRenderer.invoke("vst3:install", payload),
remove: (payload) => ipcRenderer.invoke("vst3:remove", payload)
},
skiaDocs: {
check: (payload) => ipcRenderer.invoke("skiaDocs:check", payload),
install: (payload) => ipcRenderer.invoke("skiaDocs:install", payload),
remove: (payload) => ipcRenderer.invoke("skiaDocs:remove", payload)
},
github: {
listIPlugForks: () => ipcRenderer.invoke("github:listIPlugForks"),
listRepoForks: (fullName) =>
ipcRenderer.invoke("github:listRepoForks", { fullName }),
listRepoBranches: (fullName) =>
ipcRenderer.invoke("github:listRepoBranches", { fullName })
},
githubDesktop: {
open: (payload) => ipcRenderer.invoke("github-desktop:open", payload)
},
windowControls: {
minimize: () => ipcRenderer.invoke("window:minimize"),
maximize: () => ipcRenderer.invoke("window:maximize"),
toggleMaximize: () => ipcRenderer.invoke("window:toggleMaximize"),
isMaximized: () => ipcRenderer.invoke("window:isMaximized"),
close: () => ipcRenderer.invoke("window:close")
},
project: {
create: (payload) => ipcRenderer.invoke("project:create", payload),
open: (payload) => ipcRenderer.invoke("project:open", payload),
listItems: (payload) => ipcRenderer.invoke("project:listItems", payload),
onItemsUpdated: (callback) => {
if (typeof callback !== "function") {
return () => {};
}
const listener = (event, payload) => callback(payload);
ipcRenderer.on("project:items-updated", listener);
return () => ipcRenderer.removeListener("project:items-updated", listener);
}
},
solution: {
open: (payload) => ipcRenderer.invoke("solution:open", payload)
},
templates: {
list: (payload) => ipcRenderer.invoke("templates:list", payload),
copy: (payload) => ipcRenderer.invoke("templates:copy", payload)
},
resource: {
add: (payload) => ipcRenderer.invoke("resource:add", payload)
},
graphics: {
set: (payload) => ipcRenderer.invoke("graphics:set", payload),
get: (payload) => ipcRenderer.invoke("graphics:get", payload)
},
openExternal: (url) => ipcRenderer.invoke("shell:openExternal", url),
dialog: {
selectFolder: () => ipcRenderer.invoke("dialog:selectFolder")
}
});