initial commit - far from runnable
This commit is contained in:
commit
db057ce342
8614 changed files with 1032171 additions and 0 deletions
63
node_modules/rxjs/src/internal/operators/findIndex.ts
generated
vendored
Normal file
63
node_modules/rxjs/src/internal/operators/findIndex.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
import { Observable } from '../Observable';
|
||||
import { Falsy, OperatorFunction } from '../types';
|
||||
import { operate } from '../util/lift';
|
||||
import { createFind } from './find';
|
||||
|
||||
export function findIndex<T>(predicate: BooleanConstructor): OperatorFunction<T, T extends Falsy ? -1 : number>;
|
||||
/** @deprecated Use a closure instead of a `thisArg`. Signatures accepting a `thisArg` will be removed in v8. */
|
||||
export function findIndex<T>(predicate: BooleanConstructor, thisArg: any): OperatorFunction<T, T extends Falsy ? -1 : number>;
|
||||
/** @deprecated Use a closure instead of a `thisArg`. Signatures accepting a `thisArg` will be removed in v8. */
|
||||
export function findIndex<T, A>(
|
||||
predicate: (this: A, value: T, index: number, source: Observable<T>) => boolean,
|
||||
thisArg: A
|
||||
): OperatorFunction<T, number>;
|
||||
export function findIndex<T>(predicate: (value: T, index: number, source: Observable<T>) => boolean): OperatorFunction<T, number>;
|
||||
|
||||
/**
|
||||
* 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, findIndex } from 'rxjs';
|
||||
*
|
||||
* const div = document.createElement('div');
|
||||
* div.style.cssText = 'width: 200px; height: 200px; background: #09c;';
|
||||
* document.body.appendChild(div);
|
||||
*
|
||||
* const clicks = fromEvent(document, 'click');
|
||||
* const result = clicks.pipe(findIndex(ev => (<HTMLElement>ev.target).tagName === 'DIV'));
|
||||
* result.subscribe(x => console.log(x));
|
||||
* ```
|
||||
*
|
||||
* @see {@link filter}
|
||||
* @see {@link find}
|
||||
* @see {@link first}
|
||||
* @see {@link take}
|
||||
*
|
||||
* @param predicate A function called with each item to test for condition matching.
|
||||
* @param thisArg An optional argument to determine the value of `this` in the
|
||||
* `predicate` function.
|
||||
* @return A function that returns an Observable that emits the index of the
|
||||
* first item that matches the condition.
|
||||
*/
|
||||
export function findIndex<T>(
|
||||
predicate: (value: T, index: number, source: Observable<T>) => boolean,
|
||||
thisArg?: any
|
||||
): OperatorFunction<T, number> {
|
||||
return operate(createFind(predicate, thisArg, 'index'));
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue