preload.js 823 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', 'open-app', "copy-template"];
  8. if (validChannels.includes(channel)) {
  9. ipcRenderer.send(channel, data1, data2);
  10. }
  11. },
  12. receive: (channel, func, data) => {
  13. let validChannels = ['csv-data', 'file-list-data', 'file-list-error', 'prompt-newlv-reply', 'prompt-newinst-reply', "copy-template-replay"];
  14. if (validChannels.includes(channel)) {
  15. // Deliberately strip event as it includes `sender`
  16. ipcRenderer.on(channel, (event, data, ...args) => func(data, ...args));
  17. }
  18. }
  19. }
  20. );