import { IterableX } from '../../iterable/iterablex.js'; import { takeWhile } from '../../iterable/operators/takewhile.js'; /** * @ignore */ export function takeWhileProto( this: IterableX, predicate: (value: T, index: number) => value is S ): IterableX; export function takeWhileProto( this: IterableX, predicate: (value: T, index: number) => boolean ): IterableX; export function takeWhileProto( this: IterableX, predicate: (value: T, index: number) => boolean ): IterableX { return takeWhile(predicate)(this); } IterableX.prototype.takeWhile = takeWhileProto; declare module '../../iterable/iterablex' { interface IterableX { takeWhile: typeof takeWhileProto; } }