frontend/.pnpm-store/v3/files/f3/088fa9cf7c6db01bf3539551d39cbf199d5bea70186af6293b0d1a69f3032a9bd0dbbbd98408a64ea5d905c560cda0e08fba02c02626f66bfac4f202398b10

46 lines
1.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { OperatorFunction } from '../types';
import { operate } from '../util/lift';
import { createOperatorSubscriber } from './OperatorSubscriber';
import { noop } from '../util/noop';
/**
* Ignores all items emitted by the source Observable and only passes calls of `complete` or `error`.
*
* ![](ignoreElements.png)
*
* The `ignoreElements` operator suppresses all items emitted by the source Observable,
* but allows its termination notification (either `error` or `complete`) to pass through unchanged.
*
* If you do not care about the items being emitted by an Observable, but you do want to be notified
* when it completes or when it terminates with an error, you can apply the `ignoreElements` operator
* to the Observable, which will ensure that it will never call its observers `next` handlers.
*
* ## Example
*
* Ignore all `next` emissions from the source
*
* ```ts
* import { of, ignoreElements } from 'rxjs';
*
* of('you', 'talking', 'to', 'me')
* .pipe(ignoreElements())
* .subscribe({
* next: word => console.log(word),
* error: err => console.log('error:', err),
* complete: () => console.log('the end'),
* });
*
* // result:
* // 'the end'
* ```
*
* @return A function that returns an empty Observable that only calls
* `complete` or `error`, based on which one is called by the source
* Observable.
*/
export function ignoreElements(): OperatorFunction<unknown, never> {
return operate((source, subscriber) => {
source.subscribe(createOperatorSubscriber(subscriber, noop));
});
}