You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							43 lines
						
					
					
						
							1.7 KiB
						
					
					
				
			
		
		
	
	
							43 lines
						
					
					
						
							1.7 KiB
						
					
					
				import { Observable } from '../Observable'; | 
						|
import { OperatorFunction } from '../types'; | 
						|
/** | 
						|
 * Emits only the index of the first value emitted by the source Observable that | 
						|
 * meets some condition. | 
						|
 * | 
						|
 * <span class="informal">It's like {@link find}, but emits the index of the | 
						|
 * found value, not the value itself.</span> | 
						|
 * | 
						|
 *  | 
						|
 * | 
						|
 * `findIndex` searches for the first item in the source Observable that matches | 
						|
 * the specified condition embodied by the `predicate`, and returns the | 
						|
 * (zero-based) index of the first occurrence in the source. Unlike | 
						|
 * {@link first}, the `predicate` is required in `findIndex`, and does not emit | 
						|
 * an error if a valid value is not found. | 
						|
 * | 
						|
 * ## Example | 
						|
 * Emit the index of first click that happens on a DIV element | 
						|
 * ```ts | 
						|
 * import { fromEvent } from 'rxjs'; | 
						|
 * import { findIndex } from 'rxjs/operators'; | 
						|
 * | 
						|
 * const clicks = fromEvent(document, 'click'); | 
						|
 * const result = clicks.pipe(findIndex(ev => ev.target.tagName === 'DIV')); | 
						|
 * result.subscribe(x => console.log(x)); | 
						|
 * ``` | 
						|
 * | 
						|
 * @see {@link filter} | 
						|
 * @see {@link find} | 
						|
 * @see {@link first} | 
						|
 * @see {@link take} | 
						|
 * | 
						|
 * @param {function(value: T, index: number, source: Observable<T>): boolean} predicate | 
						|
 * A function called with each item to test for condition matching. | 
						|
 * @param {any} [thisArg] An optional argument to determine the value of `this` | 
						|
 * in the `predicate` function. | 
						|
 * @return {Observable} An Observable of the index of the first item that | 
						|
 * matches the condition. | 
						|
 * @method find | 
						|
 * @owner Observable | 
						|
 */ | 
						|
export declare function findIndex<T>(predicate: (value: T, index: number, source: Observable<T>) => boolean, thisArg?: any): OperatorFunction<T, number>;
 | 
						|
 |