in src/worker.ts [69:93]
export function startWorker(): void {
const settings = new Subject<IInitializationMessage>();
const files = new Subject<IFilesMessage>();
process.on('message', (data: MasterMessage) => {
switch (data.type) {
case MessageType.WorkerInitialization:
settings.next(data);
break;
case MessageType.WorkerFiles:
files.next(data);
break;
}
});
combineLatest([settings, files])
.pipe(mergeMap(([s, f]) => runFormatting(s, f)))
.subscribe(
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
(message) => process.send!(message),
(err) => {
throw err;
},
);
}