ix
Version:
The Interactive Extensions for JavaScript
29 lines (25 loc) • 740 B
text/typescript
import { IterableX } from '../../iterable/iterablex.js';
import { takeWhile } from '../../iterable/operators/takewhile.js';
/**
* @ignore
*/
export function takeWhileProto<T, S extends T>(
this: IterableX<T>,
predicate: (value: T, index: number) => value is S
): IterableX<S>;
export function takeWhileProto<T>(
this: IterableX<T>,
predicate: (value: T, index: number) => boolean
): IterableX<T>;
export function takeWhileProto<T>(
this: IterableX<T>,
predicate: (value: T, index: number) => boolean
): IterableX<T> {
return takeWhile<T>(predicate)(this);
}
IterableX.prototype.takeWhile = takeWhileProto;
declare module '../../iterable/iterablex' {
interface IterableX<T> {
takeWhile: typeof takeWhileProto;
}
}