hunk.code_window:   index: number = 0;
     sorted: boolean = false;
     frame: number = 0;
     maxFrames: number = 750;
     now() {
  
hunk.labels: keep keep keep keep add keep
hunk.after_edit:   protected static frameTimeFactor: number = 10;
  
hunk.file_path: src/schedulers/VirtualTimeScheduler.ts
hunk.type: add
file: import Observable from '../Observable';
  import ArrayObservable from '../observables/ArrayObservable';
  import { CombineLatestOperator } from './combineLatest-support';
  
  export default function combineLatest<T, R>(...observables: (Observable<any> | ((...values: Array<any>) => R))[]): Observable<R> {
    const project = <((...ys: Array<any>) => R)> observables[observables.length - 1];
    if (typeof project === "function") {
      observables.pop();
    }
    return new ArrayObservable(observables).lift(new CombineLatestOperator(project));
  }