12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import _concat from "./internal/_concat.js";
- import _curry3 from "./internal/_curry3.js";
- /**
- * Applies a function to the value at the given index of an array, returning a
- * new copy of the array with the element at the given index replaced with the
- * result of the function application.
- *
- * @func
- * @memberOf R
- * @since v0.14.0
- * @category List
- * @sig Number -> (a -> a) -> [a] -> [a]
- * @param {Number} idx The index.
- * @param {Function} fn The function to apply.
- * @param {Array|Arguments} list An array-like object whose value
- * at the supplied index will be replaced.
- * @return {Array} A copy of the supplied array-like object with
- * the element at index `idx` replaced with the value
- * returned by applying `fn` to the existing element.
- * @see R.update
- * @example
- *
- * R.adjust(1, R.toUpper, ['a', 'b', 'c', 'd']); //=> ['a', 'B', 'c', 'd']
- * R.adjust(-1, R.toUpper, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c', 'D']
- * @symb R.adjust(-1, f, [a, b]) = [a, f(b)]
- * @symb R.adjust(0, f, [a, b]) = [f(a), b]
- */
- var adjust =
- /*#__PURE__*/
- _curry3(function adjust(idx, fn, list) {
- var len = list.length;
- if (idx >= len || idx < -len) {
- return list;
- }
- var _idx = (len + idx) % len;
- var _list = _concat(list);
- _list[_idx] = fn(list[_idx]);
- return _list;
- });
- export default adjust;
|