hunk.code_window: it('should accept windowTime, bufferSize, selector  of MonoTypeOperatorFunction', () => {
     const a = of(1, 2, 3).pipe(publishReplay(1, 1, (x) => x)); // $ExpectType Observable<number>
   });
   it('should accept windowTime, bufferSize, selector of OperatorFunction, and scheduler', () => {
     const a = of(1, 2, 3).pipe(publishReplay(1, 1, (x) => of('a'), asyncScheduler)); // $ExpectType Observable<string>
   });
  
hunk.labels: keep keep keep add keep keep keep
hunk.after_edit: it('should accept windowTime, bufferSize, selector returning union type, and a scheduler', () => {
     const a = of(1, 2, 3).pipe(publishReplay(1, 1, () => Math.random() > 0.5 ? of(123) : of('test'), asyncScheduler)); // $ExpectType Observable<string | number>
   });
  
hunk.file_path: spec-dtslint/operators/publishReplay-spec.ts
hunk.type: add
file: import 'rxjs-compat/add/operator/switch';
  