Angular 2 import shared operator for Observable
<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>