Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
8ab5b6f4b7 | |||
dcff23e71d | |||
ab5c3fc8f2 | |||
61e463b66f | |||
487ab07f0e | |||
a1882ce241 |
@ -1,9 +1,9 @@
|
||||
const { contextBridge, ipcRenderer } = require('electron')
|
||||
const { contextBridge, ipcRenderer } = require('electron');
|
||||
contextBridge.exposeInMainWorld('electronApi', {
|
||||
sendMessage: async (channelNameArg, payloadArg) => {
|
||||
ipcRenderer.send(channelNameArg, payloadArg);
|
||||
},
|
||||
receiveMessage: (channelNameArg, func) => {
|
||||
ipcRenderer.on(channelNameArg, (event, ...args) => func(...args));
|
||||
}
|
||||
},
|
||||
});
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@api.global/typedelectron",
|
||||
"version": "1.0.5",
|
||||
"version": "1.0.8",
|
||||
"private": false,
|
||||
"description": "a package made for ipc communication in electron",
|
||||
"main": "dist_ts/index.js",
|
||||
|
@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@api.global/typedelectron',
|
||||
version: '1.0.5',
|
||||
version: '1.0.8',
|
||||
description: 'a package made for ipc communication in electron'
|
||||
}
|
||||
|
@ -11,20 +11,23 @@ export class TypedElectronBackend {
|
||||
|
||||
constructor() {
|
||||
plugins.electron.ipcMain.on('typedrequest', (eventArg, payloadArg) => {
|
||||
this.typedrouter.routeAndAddResponse(payloadArg);
|
||||
this.typedrouter.routeAndAddResponse({ ...payloadArg }); // TODO: check how to pass on eventArg
|
||||
});
|
||||
}
|
||||
|
||||
createTypedRequest<T extends plugins.typedrequestInterfaces.ITypedRequest>(
|
||||
methodName: T['method'],
|
||||
windowArg: plugins.electron.BrowserWindow,
|
||||
windowArg: plugins.electron.BrowserWindow
|
||||
) {
|
||||
const typedrequest = new plugins.typedrequest.TypedRequest<T>(new plugins.typedrequest.TypedTarget({
|
||||
typedRouterRef: this.typedrouter,
|
||||
postMethodWithTypedRouter: async (payloadArg: T) => {
|
||||
windowArg.webContents.send('typedrequest', payloadArg);
|
||||
}
|
||||
}), methodName);
|
||||
const typedrequest = new plugins.typedrequest.TypedRequest<T>(
|
||||
new plugins.typedrequest.TypedTarget({
|
||||
typedRouterRef: this.typedrouter,
|
||||
postMethodWithTypedRouter: async (payloadArg: T) => {
|
||||
windowArg.webContents.send('typedrequest', payloadArg);
|
||||
},
|
||||
}),
|
||||
methodName
|
||||
);
|
||||
return typedrequest;
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,8 @@
|
||||
import * as plugins from './plugins.js';
|
||||
|
||||
export const packageDir = plugins.path.join(
|
||||
plugins.smartpath.get.dirnameFromImportMetaUrl(import.meta.url)
|
||||
plugins.smartpath.get.dirnameFromImportMetaUrl(import.meta.url),
|
||||
'../',
|
||||
);
|
||||
|
||||
export const assetsDir = plugins.path.join(packageDir, 'assets');
|
||||
|
@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@api.global/typedelectron',
|
||||
version: '1.0.5',
|
||||
version: '1.0.8',
|
||||
description: 'a package made for ipc communication in electron'
|
||||
}
|
||||
|
@ -0,0 +1 @@
|
||||
export * from './classes.typedelectronfrontend.js';
|
||||
|
Reference in New Issue
Block a user