UNPKG

rambdax

Version:

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

22 lines (15 loc) 466 B
import { equals } from './equals.js' export function dropRepeatsBy(fn, list){ if (arguments.length === 1) return _list => dropRepeatsBy(fn, _list) let lastEvaluated = null return list.slice().filter(item => { if (lastEvaluated === null){ lastEvaluated = fn(item) return true } const evaluatedResult = fn(item) if (equals(lastEvaluated, evaluatedResult)) return false lastEvaluated = evaluatedResult return true }) }