-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpreload.js
More file actions
23 lines (22 loc) · 1.03 KB
/
preload.js
File metadata and controls
23 lines (22 loc) · 1.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
const { contextBridge, ipcRenderer } = require('electron');
contextBridge.exposeInMainWorld('serialAPI', {
onPorts: (callback) => {
const listener = (_event, ports) => callback(ports);
ipcRenderer.on('serial-ports', listener);
return () => ipcRenderer.removeListener('serial-ports', listener);
},
onData: (callback) => {
const listener = (_event, data) => callback(data);
ipcRenderer.on('serial-data', listener);
return () => ipcRenderer.removeListener('serial-data', listener);
},
onStatus: (callback) => {
const listener = (_event, status) => callback(status);
ipcRenderer.on('serial-status', listener);
return () => ipcRenderer.removeListener('serial-status', listener);
},
loadModuleNames: () => ipcRenderer.invoke('read-module-names'),
connect: (portPath) => ipcRenderer.invoke('serial-connect', portPath),
disconnect: () => ipcRenderer.invoke('serial-disconnect'),
send: (message) => ipcRenderer.invoke('serial-send', message)
});