1234567891011121314151617181920212223242526272829303132333435 |
- import _curry2 from "./internal/_curry2.js";
- import _dispatchable from "./internal/_dispatchable.js";
- import _xdropRepeatsWith from "./internal/_xdropRepeatsWith.js";
- import dropRepeatsWith from "./dropRepeatsWith.js";
- import eqBy from "./eqBy.js";
- /**
- * Returns a new list without any consecutively repeating elements,
- * based upon the value returned by applying the supplied function to
- * each list element. [`R.equals`](#equals) is used to determine equality.
- *
- * Acts as a transducer if a transformer is given in list position.
- *
- * @func
- * @memberOf R
- * @since v0.29.0
- * @category List
- * @sig (a -> b) -> [a] -> [a]
- * @param {Function} fn A function used to produce a value to use during comparisons.
- * @param {Array} list The array to consider.
- * @return {Array} `list` without repeating elements.
- * @see R.transduce
- * @example
- *
- * R.dropRepeatsBy(Math.abs, [1, -1, -1, 2, 3, -4, 4, 2, 2]); //=> [1, 2, 3, -4, 2]
- */
- var dropRepeatsBy =
- /*#__PURE__*/
- _curry2(function (fn, list) {
- return _dispatchable([], function () {
- return _xdropRepeatsWith(eqBy(fn));
- }, dropRepeatsWith(eqBy(fn)))(list);
- });
- export default dropRepeatsBy;
|