refactor: Split 'Event' docs/types into more specific Event types (#17038)

* Event = Base event type (with preventDefault)
* IpcMainEvent = Event that ipcMain emits (with sender, reply, etc.)
* IpcRendererEvent = Event that ipcRenderer emits (with sender,
senderId, etc.)
* KeyboardEvent = Event that we emit with keyboard flags (ctrlKey,
altKey, etc.)

This will dramatically improve peoples TS experience with IPC events
This commit is contained in:
Samuel Attard 2019-02-19 09:24:19 +00:00 committed by Shelley Vohr
parent ef2e7d95fe
commit 3b74837020
22 changed files with 515 additions and 285 deletions

View file

@ -0,0 +1,6 @@
# IpcRendererEvent Object extends `Event`
* `sender` IpcRenderer - The `IpcRenderer` instance that emitted the event originally
* `senderId` Integer - The `webContents.id` that sent the message, you can call `event.sender.sendTo(event.senderId, ...)` to reply to the message, see [ipcRenderer.sendTo][ipc-renderer-sendto] for more information. This only applies to messages sent from a different renderer. Messages sent directly from the main process set `event.senderId` to `0`.
[ipc-renderer-sendto]: #ipcrenderersendtowindowid-channel--arg1-arg2-