title: error TS2339: Property 'timer' does not exist on type 'typeof Observable'. 'switchMap' and 'takeUntil' breaks the flow
body: <p>Moved to angular8, rxjs6. timer, switchMap, combineLatest, methods breaking. Trying to solve combineLatest or Timer propeties breaks the flow of the other properties.</p>
  
  <p>Initialy code breaks at Partition, fixed it <a href="https://stackoverflow.com/questions/56609155/error-ts2339-property-partition-does-not-exist-on-type-observableboolean">error TS2339: Property &#39;partition&#39; does not exist on type &#39;Observable&lt;boolean&gt;&#39;</a></p>
  
  <pre><code>      init(): void {
          const source = this.store.select(state =&gt; state.tether.isTiming);
          const partition = (predicate) =&gt; [source.pipe(filter(predicate)), source.pipe(filter((x, i) =&gt; !predicate(x, i)))]
  
          const [isTiming$, isNotTiming$] = partition(value =&gt; value);
  
          const partialInterval$ = this.store.select(state =&gt; state.tether.partialInterval);
          const interval$ = this.store.select(state =&gt; state.tether.interval);
  
  
                    isTiming$
          .combineLatest(interval$, (isTiming, interval) =&gt; interval)
          .withLatestFrom(partialInterval$)
          .switchMap(([interval, partialInterval]) =&gt; {
              return timer(partialInterval, interval)
                  .takeUntil(isNotTiming$);
          })
          .subscribe(() =&gt; {
              this.store.dispatch(softDrop(true));
          });
  
        }
  </code></pre>
  
  <p>rewriting this with piping breaks.</p>
  
  <pre><code>    isTiming$
          .combineLatest(interval$, (isTiming, interval) =&gt; interval)
          .withLatestFrom(partialInterval$)
          .switchMap(([interval, partialInterval]) =&gt; {
              return timer(partialInterval, interval)
                  .takeUntil(isNotTiming$);
          })
          .subscribe(() =&gt; {
              this.store.dispatch(softDrop(true));
          });
  </code></pre>
  
  <p>error TS2339: Property 'timer' does not exist on type 'typeof Observable'.</p>
  
  <p>error TS2339: Property 'combineLatest' does not exist on type 'Observable'.</p>
  
  <p>error TS2339: Property 'withLatestFrom' does not exist on type 'Observable'.</p>