deno.land / x / rambda@v9.1.1 / source / takeWhile.js

نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import { isArray as isArrayModule } from './_internals/isArray.js'
export function takeWhile(predicate, iterable){ if (arguments.length === 1){ return _iterable => takeWhile(predicate, _iterable) } const isArray = isArrayModule(iterable) if (!isArray && typeof iterable !== 'string'){ throw new Error('`iterable` is neither list nor a string') }
const toReturn = [] let counter = 0
while (counter < iterable.length){ const item = iterable[ counter++ ] if (!predicate(item)){ break } toReturn.push(item) }
return isArray ? toReturn : toReturn.join('')}
rambda

Version Info

Tagged at
2 months ago