hunk.code_window:       this._values[i] = value;
       }
       return this;
     }
     delete(key) {
       let i = this._keys.indexOf(key);
       if (i === -1) { return false; }
       this._values.splice(i, 1);
       this._keys.splice(i, 1);
  
hunk.labels: keep keep keep keep keep replace replace keep keep keep
hunk.after_edit:   delete(key): boolean {
       const i = this._keys.indexOf(key);
  
hunk.file_path: src/util/MapPolyfill.ts
hunk.type: replace
file: import {Scheduler} from '../Scheduler';
  import {Subscriber} from '../Subscriber';
  import {Subscription} from '../Subscription';
  import {Observable} from '../Observable';
  import {asap} from '../scheduler/asap';
  import {isNumeric} from '../util/isNumeric';
  
  export class SubscribeOnObservable<T> extends Observable<T> {
    static create<T>(source: Observable<T>, delay: number = 0, scheduler: Scheduler = asap): Observable<T> {
      return new SubscribeOnObservable(source, delay, scheduler);
    }
  
    static dispatch<T>({ source, subscriber }): Subscription<T> {
      return source.subscribe(subscriber);
    }
  
    constructor(public source: Observable<T>,
                private delayTime: number = 0,
                private scheduler: Scheduler = asap) {
      super();
      if (!isNumeric(delayTime) || delayTime < 0) {
        this.delayTime = 0;
      }
      if (!scheduler || typeof scheduler.schedule !== 'function') {
        this.scheduler = asap;
      }
    }
  
    _subscribe(subscriber: Subscriber<T>) {
      const delay = this.delayTime;
      const source = this.source;
      const scheduler = this.scheduler;
  
      subscriber.add(scheduler.schedule(SubscribeOnObservable.dispatch, delay, {
        source, subscriber
      }));
    }
  }
  