deno.land / x / rambda@v9.1.1 / src / dropLastWhile.js

dropLastWhile.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
26
27
28
29
30
31
32
33
34
import { isArray as isArrayMethod } from './_internals/isArray.js'
export function dropLastWhile(predicate, iterable){ if (arguments.length === 1){ return _iterable => dropLastWhile(predicate, _iterable) } if (iterable.length === 0) return iterable const isArray = isArrayMethod(iterable)
if (typeof predicate !== 'function'){ throw new Error(`'predicate' is from wrong type ${ typeof predicate }`) } if (!isArray && typeof iterable !== 'string'){ throw new Error(`'iterable' is from wrong type ${ typeof iterable }`) }
const toReturn = [] let counter = iterable.length
while (counter){ const item = iterable[ --counter ] if (!predicate(item)){ toReturn.push(item) break } }
while (counter){ toReturn.push(iterable[ --counter ]) }
return isArray ? toReturn.reverse() : toReturn.reverse().join('')}
rambda

Version Info

Tagged at
2 months ago