hunk.code_window: var RxOld = require('rx');
   var RxNew = require('../../../../index');
   module.exports = function (suite) {
     var oldWindowCountWithCurrentThreadScheduler = RxOld.Observable.range(0, 25, RxOld.Scheduler.currentThread).windowWithCount(5);
     var newWindowCountWithCurrentThreadScheduler = RxNew.Observable.range(0, 25).windowCount(5);
     function _next(x) { }
     function _error(e) { }
  
hunk.labels: keep keep keep keep keep replace keep keep keep
hunk.after_edit:   var newWindowCountWithCurrentThreadScheduler = RxNew.Observable.range(0, 25, RxNew.Scheduler.queue).windowCount(5);
  
hunk.file_path: perf/micro/current-thread-scheduler/operators/windowcount.js
hunk.type: replace
file: import {Subscriber} from './Subscriber';
  import {OuterSubscriber} from './OuterSubscriber';
  
  export class InnerSubscriber<T, R> extends Subscriber<R> {
    index: number = 0;
  
    constructor(private parent: OuterSubscriber<T, R>, private outerValue: T, private outerIndex: number) {
      super();
    }
  
    _next(value: R) {
      const index = this.index++;
      this.parent.notifyNext(this.outerValue, value, this.outerIndex, index);
    }
  
    _error(error: any) {
      this.parent.notifyError(error, this);
    }
  
    _complete() {
      this.parent.notifyComplete(this);
    }
  }