blob: e0f571cdac305c15eb895fe6e2a78addd605bf24 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
console.log("Alicorn SDK")
const { contextBridge, ipcRenderer } = require('electron');
global.windowId = null;
let host = require('@electron/remote').getCurrentWindow().webContents.executeJavaScript;
ipcRenderer.on('window-id', (event, data) => {
console.log("[SDK] Alicorn Window ID: " + data);
contextBridge.exposeInMainWorld('AlicornWindowID', data);
global.windowId = data;
})
contextBridge.exposeInMainWorld('AlicornRoot', require('path').dirname(__dirname));
contextBridge.exposeInMainWorld('AlicornKeyboardHandler', require('fs').readFileSync("sdk/keyboard.js").toString());
contextBridge.exposeInMainWorld('AlicornSDK', {
init: async () => {
let api = {};
console.log("[SDK] Establishing features set... This may take a while.");
let features = await host("Object.keys(AlicornSDK)");
console.log("[SDK] Established features set");
for (let feature of features) {
api[feature] = (options) => {
return host("AlicornSDK[" + JSON.stringify(feature) + "](\"" + windowId + "\", " + JSON.stringify(options) + ");");
};
}
return api;
}
})
|