You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

28 lines
546 B

import { isArray } from './_internals/isArray.js'
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
}