📄 index.ts
¶
📊 Analysis Summary¶
Metric | Count |
---|---|
🔧 Functions | 6 |
📦 Imports | 7 |
📊 Variables & Constants | 1 |
📐 Interfaces | 1 |
📚 Table of Contents¶
🛠️ File Location:¶
📂 packages/electron/useIpcRenderer/index.ts
📦 Imports¶
Name | Source |
---|---|
IpcRenderer |
electron |
IpcRendererEvent |
electron |
ShallowRef |
vue |
IpcRendererListener |
../_types |
shallowRef |
vue |
useIpcRendererInvoke |
../useIpcRendererInvoke |
useIpcRendererOn |
../useIpcRendererOn |
Variables & Constants¶
Name | Type | Kind | Value | Exported |
---|---|---|---|---|
result |
ShallowRef<T> |
const | shallowRef<T | null>(null) as ShallowRef<T | null> |
✗ |
Functions¶
setSendSync(ipcRenderer: IpcRenderer): <T>(channel: string, ...args: any[]) => ShallowRef<T>
¶
Code
-
JSDoc:
-
Parameters:
ipcRenderer: IpcRenderer
- Return Type:
<T>(channel: string, ...args: any[]) => ShallowRef<T>
- Calls:
shallowRef (from vue)
ipcRenderer.sendSync
useIpcRenderer(ipcRenderer: IpcRenderer): UseIpcRendererReturn
¶
Code
export function useIpcRenderer(ipcRenderer?: IpcRenderer): UseIpcRendererReturn {
if (!ipcRenderer)
ipcRenderer = window?.require('electron').ipcRenderer
if (!ipcRenderer)
throw new Error('provide IpcRenderer module or enable nodeIntegration')
return {
on: (channel: string, listener: IpcRendererListener) => useIpcRendererOn(channel, listener),
once: ipcRenderer.once.bind(ipcRenderer),
removeListener: ipcRenderer.removeListener.bind(ipcRenderer),
removeAllListeners: ipcRenderer.removeAllListeners.bind(ipcRenderer),
send: ipcRenderer.send,
invoke: <T>(channel: string, ...args: any[]) => useIpcRendererInvoke<T>(ipcRenderer!, channel, ...args),
sendSync: setSendSync(ipcRenderer),
postMessage: ipcRenderer.postMessage,
sendTo: ipcRenderer.sendTo,
sendToHost: ipcRenderer.sendToHost,
}
}
-
JSDoc:
-
Parameters:
ipcRenderer: IpcRenderer
- Return Type:
UseIpcRendererReturn
- Calls:
window?.require
useIpcRendererOn (from ../useIpcRendererOn)
ipcRenderer.once.bind
ipcRenderer.removeListener.bind
ipcRenderer.removeAllListeners.bind
useIpcRendererInvoke (from ../useIpcRendererInvoke)
setSendSync
on(channel: string, listener: IpcRendererListener): IpcRenderer
¶
- Parameters:
channel: string
listener: IpcRendererListener
- Return Type:
IpcRenderer
- Calls:
useIpcRendererOn (from ../useIpcRendererOn)
invoke(channel: string, args: any[]): ShallowRef<T>
¶
Code
- Parameters:
channel: string
args: any[]
- Return Type:
ShallowRef<T>
- Calls:
useIpcRendererInvoke (from ../useIpcRendererInvoke)
on(channel: string, listener: IpcRendererListener): IpcRenderer
¶
- Parameters:
channel: string
listener: IpcRendererListener
- Return Type:
IpcRenderer
- Calls:
useIpcRendererOn (from ../useIpcRendererOn)
invoke(channel: string, args: any[]): ShallowRef<T>
¶
Code
- Parameters:
channel: string
args: any[]
- Return Type:
ShallowRef<T>
- Calls:
useIpcRendererInvoke (from ../useIpcRendererInvoke)
Interfaces¶
UseIpcRendererReturn
¶
Interface Code
export interface UseIpcRendererReturn {
/**
* Listens to channel, when a new message arrives listener would be called with listener(event, args...).
* [ipcRenderer.removeListener](https://www.electronjs.org/docs/api/ipc-renderer#ipcrendererremovelistenerchannel-listener) automatically on unmounted.
*
* @see https://www.electronjs.org/docs/api/ipc-renderer#ipcrendereronchannel-listener
*/
on: (channel: string, listener: IpcRendererListener) => IpcRenderer
/**
* Adds a one time listener function for the event. This listener is invoked only the next time a message is sent to channel, after which it is removed.
*
* @see https://www.electronjs.org/docs/api/ipc-renderer#ipcrendereroncechannel-listener
*/
once: (channel: string, listener: (event: IpcRendererEvent, ...args: any[]) => void) => IpcRenderer
/**
* Removes the specified listener from the listener array for the specified channel.
*
* @see https://www.electronjs.org/docs/api/ipc-renderer#ipcrendererremovelistenerchannel-listener
*/
removeListener: (channel: string, listener: (...args: any[]) => void) => IpcRenderer
/**
* Removes all listeners, or those of the specified channel.
*
* @see https://www.electronjs.org/docs/api/ipc-renderer#ipcrendererremovealllistenerschannel
*/
removeAllListeners: (channel: string) => IpcRenderer
/**
* Send an asynchronous message to the main process via channel, along with arguments.
*
* @see https://www.electronjs.org/docs/api/ipc-renderer#ipcrenderersendchannel-args
*/
send: (channel: string, ...args: any[]) => void
/**
* Returns Promise<any> - Resolves with the response from the main process.
* Send a message to the main process via channel and expect a result ~~asynchronously~~.
* As composition-api, it makes asynchronous operations look like synchronous.
*
* @see https://www.electronjs.org/docs/api/ipc-renderer#ipcrendererinvokechannel-args
*/
invoke: <T>(channel: string, ...args: any[]) => ShallowRef<T | null>
/**
* Returns any - The value sent back by the ipcMain handler.
* Send a message to the main process via channel and expect a result synchronously.
*
* @see https://www.electronjs.org/docs/api/ipc-renderer#ipcrenderersendsyncchannel-args
*/
sendSync: <T>(channel: string, ...args: any[]) => ShallowRef<T | null>
/**
* Send a message to the main process, optionally transferring ownership of zero or more MessagePort objects.
*
* @see https://www.electronjs.org/docs/api/ipc-renderer#ipcrendererpostmessagechannel-message-transfer
*/
postMessage: (channel: string, message: any, transfer?: MessagePort[]) => void
/**
* Sends a message to a window with webContentsId via channel.
*
* @see https://www.electronjs.org/docs/api/ipc-renderer#ipcrenderersendtowebcontentsid-channel-args
*/
sendTo: (webContentsId: number, channel: string, ...args: any[]) => void
/**
* Like ipcRenderer.send but the event will be sent to the <webview> element in the host page instead of the main process.
*
* @see https://www.electronjs.org/docs/api/ipc-renderer#ipcrenderersendtohostchannel-args
*/
sendToHost: (channel: string, ...args: any[]) => void
}
Properties¶
Name | Type | Optional | Description |
---|---|---|---|
on |
(channel: string, listener: IpcRendererListener) => IpcRenderer |
✗ | |
once |
(channel: string, listener: (event: IpcRendererEvent, ...args: any[]) => void) => IpcRenderer |
✗ | |
removeListener |
(channel: string, listener: (...args: any[]) => void) => IpcRenderer |
✗ | |
removeAllListeners |
(channel: string) => IpcRenderer |
✗ | |
send |
(channel: string, ...args: any[]) => void |
✗ | |
invoke |
<T>(channel: string, ...args: any[]) => ShallowRef<T | null> |
✗ | |
sendSync |
<T>(channel: string, ...args: any[]) => ShallowRef<T | null> |
✗ | |
postMessage |
(channel: string, message: any, transfer?: MessagePort[]) => void |
✗ | |
sendTo |
(webContentsId: number, channel: string, ...args: any[]) => void |
✗ | |
sendToHost |
(channel: string, ...args: any[]) => void |
✗ |