ldc-showroom/electron/preload.ts

22 lines
814 B
TypeScript

import { contextBridge, ipcRenderer } from "electron";
import type { appInfo } from "./main";
export const versions = {
node: (): string => process.versions.node,
chrome: (): string => process.versions.chrome,
electron: (): string => process.versions.electron,
// Nous pouvons exposer des variables en plus des fonctions
isDebug: process.env.NODE_ENV === "development"
};
export const ipcRendererObject = {
getAppInfo: (): Promise<typeof appInfo> => { return ipcRenderer.invoke("appInfo"); },
getJsonData: (): Promise<TypeApp> => { return ipcRenderer.invoke("channel"); }
};
process.once("loaded", () => {
// This runs in sandboxed mode.
contextBridge.exposeInMainWorld("versions", versions);
contextBridge.exposeInMainWorld("ipcRendererObject", ipcRendererObject);
});