For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt, and this page is available as Markdown at /reference/fp/takeWhile.md.

takeWhile (Functional Programming) es-toolkit

Creates a function that takes leading values while a predicate passes. Use it with pipe.

const result = pipe(array, takeWhile(predicate));
Info

Prefer the original es-toolkit takeWhile in ordinary code. Use this fp variant when composing transformations with pipe.

Usage

takeWhile walks the piped array from the beginning and keeps values while predicate returns true. It is lazy-capable and can stop earlier lazy operations inside pipe.

import { pipe, takeWhile } from 'es-toolkit/fp';

pipe(
  [1, 2, 3, 1],
  takeWhile(value => value < 3)
); // => [1, 2]

Parameters

predicate(element: T, index: number) => booleanrequired

The function that decides whether a leading value should be kept.

Returns

A function that maps a readonly T[] to the leading values that pass.

(array: readonly T[]) => T[]
Source: es-toolkit

Re-exported verbatim from es-toolkit. Implementation, edge cases, and performance behavior are owned upstream. This page mirrors the documentation at the pinned version; the linked source is authoritative.