Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.
import { MessagePortMain } from '@electron/internal/browser/message-port-main';
import { EventEmitter } from 'events';
const { createParentPort } = process._linkedBinding('electron_utility_parent_port');
export class ParentPort extends EventEmitter implements Electron.ParentPort {
#port: ParentPort;
constructor () {
super();
this.#port = createParentPort();
this.#port.emit = (channel: string | symbol, event: { ports: any[] }) => {
if (channel === 'message') {
event = { ...event, ports: event.ports.map(p => new MessagePortMain(p)) };
}
this.emit(channel, event);
return false;
};
start () : void {
this.#port.start();
pause () : void {
this.#port.pause();
postMessage (message: any) : void {
this.#port.postMessage(message);