UNPKG

rambdax

Version:

Extended version of Rambda - a lightweight, faster alternative to Ramda

29 lines (21 loc) 546 B
import { _isArray } from './_internals/_isArray' export function dropRepeatsWith(predicate, list){ if (arguments.length === 1){ return _iterable => dropRepeatsWith(predicate, _iterable) } if (!_isArray(list)){ throw new Error(`${ list } is not a list`) } const toReturn = [] list.reduce((prev, current) => { if (prev === undefined){ toReturn.push(current) return current } if (!predicate(prev, current)){ toReturn.push(current) } return current }, undefined) return toReturn }