preload.js 752 B

123456789101112131415161718192021
  1. const { contextBridge, ipcRenderer } = require('electron')
  2. contextBridge.exposeInMainWorld(
  3. 'electron',
  4. {
  5. send: (channel, data1, data2) => {
  6. // whitelist channels
  7. let validChannels = ['parse-csv', 'get-file-list', 'open-newlv-prompt', 'open-newinst-prompt', 'save2csv'];
  8. if (validChannels.includes(channel)) {
  9. ipcRenderer.send(channel, data1, data2);
  10. }
  11. },
  12. receive: (channel, func) => {
  13. let validChannels = ['csv-data', 'file-list-data', 'file-list-error', 'prompt-newlv-reply', 'prompt-newinst-reply'];
  14. if (validChannels.includes(channel)) {
  15. // Deliberately strip event as it includes `sender`
  16. ipcRenderer.on(channel, (event, ...args) => func(...args));
  17. }
  18. }
  19. }
  20. );