exposeApiToGlobalWindow
A function that exposes the IPCs to the global window object from the preload script
Params
It takes a single object as a parameter with the following properties:
- apiKey - the api key that will be used to access the IPC handlers from the global window object (optional)
- exposeAll - a boolean that determines whether all the IPC methods will be exposed to the global window object (optional). When set to true, invoke, handle and remove methods will be exposed!
- append - an object that take any properties and values that will be appended to the global window object (optional)
- override - a method that will override all - except appended data - the initial entries of exposed IPCs methods (invoke, handle and remove) and let's you manage what and how it will be exposed manually (optional)
Default
apiKey: 'api' exposeAll: false // only invokers are exposed append: {} override: null
Return
- key - the api key that will be used to access the IPCs from the global window object
- api - an object that contains all the exposed IPCs
Example
import { exposeApiToGlobalWindow } from 'shared/ipcs' const { key, api } = exposeApiToGlobalWindow({ override(ipcs) { return { removePong() { ipcs.remove.getPong() }, } }, append: { appName: 'Electron App', sayHello(data: 'World') { return `Hello ${data}` }, } as const, }) declare global { interface Window { [key]: typeof api } }