1
0
Fork 0
mirror of https://github.com/anyproto/anytype-ts.git synced 2025-06-08 05:57:02 +09:00
anytype-ts/electron/js/preload.js
Andrew Simachev 7eecb38c60 fixes
2022-07-07 22:19:17 +03:00

37 lines
No EOL
1.1 KiB
JavaScript

const { ipcRenderer, contextBridge } = require('electron');
const { app, getCurrentWindow, getGlobal, dialog, BrowserWindow, process } = require('@electron/remote');
const fs = require('fs');
const os = require('os');
const path = require('path');
const readChunk = require('read-chunk');
const fileType = require('file-type');
const userPath = app.getPath('userData');
contextBridge.exposeInMainWorld('Electron', {
version: {
app: app.getVersion(),
os: os.release(),
system: process.getSystemVersion(),
},
platform: os.platform(),
arch: process.arch,
currentWindow: getCurrentWindow(),
isPackaged: app.isPackaged,
userPath,
tmpPath: path.join(userPath, 'tmp'),
getPath: (fp, fn) => path.join(fp, fn),
isMaximized: () => BrowserWindow.getFocusedWindow()?.isMaximized(),
getGlobal: (key) => getGlobal(key),
showOpenDialog: dialog.showOpenDialog,
fs,
readChunk,
fileType,
on: (event, callBack) => ipcRenderer.on(event, callBack),
removeAllListeners: (event) => ipcRenderer.removeAllListeners(event),
Api: (cmd, args) => ipcRenderer.invoke('Api', cmd, args),
});