OpenAsar/core/src/app/discord_native/common/DiscordIPC.js

62 lines
1.4 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.DiscordIPC = void 0;
Object.defineProperty(exports, "IPCEvents", {
enumerable: true,
get: function () {
return _constants.IPCEvents;
}
});
var _electron = _interopRequireDefault(require("electron"));
var _constants = require("./constants");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/* eslint-disable prefer-spread */
// Save people from needing two imports.
class DiscordMainIPC {
/**
* For handling sync events.
*/
static on(channel, listener) {
_electron.default.ipcMain.on(channel, (...args) => {
return listener.apply(this, args);
});
}
/**
* For handling async events.
*/
static handle(channel, listener) {
return _electron.default.ipcMain.handle(channel, (...args) => {
return listener.apply(this, args);
});
}
}
class DiscordRendererIPC {
/**
* For sending sync events.
*/
static sendSync(...args) {
return _electron.default.ipcRenderer.sendSync.apply(_electron.default.ipcRenderer, args);
}
/**
* For sending async events.
*/
static invoke(...args) {
return _electron.default.ipcRenderer.invoke.apply(_electron.default.ipcRenderer, args);
}
}
const DiscordIPC = {
main: DiscordMainIPC,
renderer: DiscordRendererIPC
};
exports.DiscordIPC = DiscordIPC;