title: Angular 2 import shared operator for Observable
body: <p>I am trying to use the <code>shared</code> operator for Observers but it doesnt works:</p>
  
  <p>My ts code:</p>
  
  <pre><code>import { Injectable } from '@angular/core';
  import { Observer } from 'rxjs/observer';
  import { Observable } from 'rxjs/observable';
  import 'rxjs/add/operator/share';
  
  @Injectable()
  export class LoadingService {
      private _observer: Observer&lt;string&gt;;
      loading$: Observable&lt;string&gt;;
      constructor() {
          this.loading$ = new Observable&lt;string&gt;(
              observer =&gt; this._observer = observer).share();
      }
  
      toggleLoadingIndicator(name) {
          if (this._observer) {
              this._observer.next(name);
          }
      }
  }
  </code></pre>
  
  <p>When I invoke the <code>.share();</code> I get the error: TypeError: (intermediate value).share is not a function.</p>
  
  <p>In other case I importing successfully for example the map operator, and using normally like this: </p>
  
  <pre><code>import 'rxjs/add/operator/map';
  this._http.get(this._url, {
      headers: this._headers
  }).map(r =&gt; r.json()).subscribe(json =&gt; {
      console.log(json);
      this.isValid = true;
  });
  </code></pre>
  
  <p>So, even if I try to use the <code>map</code> operator, to proof the import, in the first scenario <code>this.loading$ = new Observable&lt;string&gt;(observer =&gt; this._observer = observer).map(n =&gt; n);</code> I get the same error.</p>