UNPKG

@reactivex/rxjs

Version:

Reactive Extensions for modern JavaScript

40 lines (35 loc) 1.09 kB
import {Observable} from '../Observable'; import {Operator} from '../Operator'; import {Subscriber} from '../Subscriber'; import {noop} from '../util/noop'; /** * Ignores all items emitted by the source Observable and only passes calls of `complete` or `error`. * * <img src="./img/ignoreElements.png" width="100%"> * * @return {Observable} an empty Observable that only calls `complete` * or `error`, based on which one is called by the source Observable. * @method ignoreElements * @owner Observable */ export function ignoreElements<T>(): Observable<T> { return this.lift(new IgnoreElementsOperator()); }; export interface IgnoreElementsSignature<T> { (): Observable<T>; } class IgnoreElementsOperator<T, R> implements Operator<T, R> { call(subscriber: Subscriber<R>, source: any): any { return source._subscribe(new IgnoreElementsSubscriber(subscriber)); } } /** * We need this JSDoc comment for affecting ESDoc. * @ignore * @extends {Ignored} */ class IgnoreElementsSubscriber<T> extends Subscriber<T> { protected _next(unused: T): void { noop(); } }