var _curry2 = /*#__PURE__*/require('./internal/_curry2'); var _dispatchable = /*#__PURE__*/require('./internal/_dispatchable'); var _dropLastWhile = /*#__PURE__*/require('./internal/_dropLastWhile'); var _xdropLastWhile = /*#__PURE__*/require('./internal/_xdropLastWhile'); /** * Returns a new list excluding all the tailing elements of a given list which * satisfy the supplied predicate function. It passes each value from the right * to the supplied predicate function, skipping elements until the predicate * function returns a `falsy` value. The predicate function is applied to one argument: * *(value)*. * * Acts as a transducer if a transformer is given in list position. * * @func * @memberOf R * @since v0.16.0 * @category List * @sig (a -> Boolean) -> [a] -> [a] * @sig (a -> Boolean) -> String -> String * @param {Function} predicate The function to be called on each element * @param {Array} xs The collection to iterate over. * @return {Array} A new array without any trailing elements that return `falsy` values from the `predicate`. * @see R.takeLastWhile, R.addIndex, R.drop, R.dropWhile * @example * * const lteThree = x => x <= 3; * * R.dropLastWhile(lteThree, [1, 2, 3, 4, 3, 2, 1]); //=> [1, 2, 3, 4] * * R.dropLastWhile(x => x !== 'd' , 'Ramda'); //=> 'Ramd' */ var dropLastWhile = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xdropLastWhile, _dropLastWhile)); module.exports = dropLastWhile;