electron-uiohook
Version:
[](https://www.npmjs.com/package/electron-uiohook)
42 lines • 1.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const electron_1 = require("electron");
const map = new Map();
electron_1.contextBridge.exposeInMainWorld('uioHookApi', {
ready: () => {
console.log('contextBridge ready');
electron_1.ipcRenderer.send('UioHookApi:ready');
},
reset: () => {
console.log('contextBridge reset');
electron_1.ipcRenderer.send('UioHookApi:reset');
},
save: (arrayBuffer) => {
console.log('contextBridge save', arrayBuffer);
electron_1.ipcRenderer.send('UioHookApi:save', Buffer.from(arrayBuffer));
},
on: (channel, fn) => {
var _a;
console.log('contextBridge on', fn);
const listener = (event, ...args) => {
console.log('contextBridge on', channel, fn, ...args);
fn(...args);
};
const listeners = (_a = map.get(fn)) !== null && _a !== void 0 ? _a : {};
listeners[channel] = listener;
map.set(fn, listeners);
electron_1.ipcRenderer.on(`UioHookApi:${channel}`, listener);
},
off: (channel, fn) => {
var _a;
console.log('contextBridge off', fn);
const listeners = (_a = map.get(fn)) !== null && _a !== void 0 ? _a : {};
const listener = listeners[channel];
delete listeners[channel];
if (!listener) {
return;
}
electron_1.ipcRenderer.off(`UioHookApi:${channel}`, listener);
},
});
//# sourceMappingURL=preload.js.map