12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- import { Observable } from '../Observable';
- import { MonoTypeOperatorFunction } from '../types';
- /**
- * Returns an Observable that emits the single item emitted by the source Observable that matches a specified
- * predicate, if that Observable emits one such item. If the source Observable emits more than one such item or no
- * items, notify of an IllegalArgumentException or NoSuchElementException respectively. If the source Observable
- * emits items but none match the specified predicate then `undefined` is emitted.
- *
- * <span class="informal">Like {@link first}, but emit with error notification if there is more than one value.</span>
- * ![](single.png)
- *
- * ## Example
- * emits 'error'
- * ```ts
- * import { range } from 'rxjs';
- * import { single } from 'rxjs/operators';
- *
- * const numbers = range(1,5).pipe(single());
- * numbers.subscribe(x => console.log('never get called'), e => console.log('error'));
- * // result
- * // 'error'
- * ```
- *
- * emits 'undefined'
- * ```ts
- * import { range } from 'rxjs';
- * import { single } from 'rxjs/operators';
- *
- * const numbers = range(1,5).pipe(single(x => x === 10));
- * numbers.subscribe(x => console.log(x));
- * // result
- * // 'undefined'
- * ```
- *
- * @see {@link first}
- * @see {@link find}
- * @see {@link findIndex}
- * @see {@link elementAt}
- *
- * @throws {EmptyError} Delivers an EmptyError to the Observer's `error`
- * callback if the Observable completes before any `next` notification was sent.
- * @param {Function} predicate - A predicate function to evaluate items emitted by the source Observable.
- * @return {Observable<T>} An Observable that emits the single item emitted by the source Observable that matches
- * the predicate or `undefined` when no items match.
- *
- * @method single
- * @owner Observable
- */
- export declare function single<T>(predicate?: (value: T, index: number, source: Observable<T>) => boolean): MonoTypeOperatorFunction<T>;
|