export function startWorker()

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;
      },
    );
}