diff --git a/src/shared/apis/window-api-consts.ts b/src/shared/apis/window-api-consts.ts new file mode 100644 index 0000000..d26eeba --- /dev/null +++ b/src/shared/apis/window-api-consts.ts @@ -0,0 +1,17 @@ +export class WindowApiConst { + /** Channel used by the renderer process to send data to the main process */ + public static readonly MULTIPLES_INPUT = 'getMultiplesInput'; + + /** Channel used by the renderer process to receive data from the main process */ + public static readonly MULTIPLES_OUTPUT = 'getMultiplesOutput'; + + /** Whitelist of the safe channels to use when sending data to the main process */ + public static readonly SENDING_SAFE_CHANNELS = [ + WindowApiConst.MULTIPLES_INPUT, + ]; + + /** Whitelist of the safe channels to use when receiving data from the main process */ + public static readonly RECEIVING_SAFE_CHANNELS = [ + WindowApiConst.MULTIPLES_OUTPUT, + ]; +} diff --git a/src/shared/apis/window-api.ts b/src/shared/apis/window-api.ts new file mode 100644 index 0000000..a32e482 --- /dev/null +++ b/src/shared/apis/window-api.ts @@ -0,0 +1,15 @@ +export interface WindowApi { + /** + * This method is used by the renderer process to receive data from the main process + * @param channel used by the renderer to receive data and by the main to send them + * @param func the callback function to execute when data are available + */ + receive(channel: any, func: (...data: any) => void): void; + + /** + * This method is used by the renderer process to send data to the main process + * @param channel used by the renderer to send data and by the main to receive them + * @param data the data sent by the renderer process to the main process + */ + send(channel: string, ...data: any): void; +} diff --git a/src/shared/index.ts b/src/shared/index.ts new file mode 100644 index 0000000..c86958d --- /dev/null +++ b/src/shared/index.ts @@ -0,0 +1,2 @@ +export * from './apis/window-api'; +export * from './apis/window-api-consts'; diff --git a/src/shared/tsconfig.json b/src/shared/tsconfig.json new file mode 100644 index 0000000..117475e --- /dev/null +++ b/src/shared/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "composite": true, + "declaration": true, + "outDir": "../../dist/node_modules/shared" + }, + "include": ["./**/*.ts"] +}