UNPKG

eris-keys

Version:

a JavaScript client library for eris-keys

39 lines (36 loc) 1.29 kB
var _curry2 = require('./internal/_curry2'); var _dispatchable = require('./internal/_dispatchable'); var _xdropWhile = require('./internal/_xdropWhile'); /** * Returns a new list excluding the leading elements of a given list which * satisfy the supplied predicate function. It passes each value to the supplied * predicate function, skipping elements while the predicate function returns * `true`. The predicate function is applied to one argument: *(value)*. * * Dispatches to the `dropWhile` method of the second argument, if present. * * Acts as a transducer if a transformer is given in list position. * * @func * @memberOf R * @since v0.9.0 * @category List * @sig (a -> Boolean) -> [a] -> [a] * @param {Function} fn The function called per iteration. * @param {Array} list The collection to iterate over. * @return {Array} A new array. * @see R.takeWhile, R.transduce, R.addIndex * @example * * var lteTwo = x => x <= 2; * * R.dropWhile(lteTwo, [1, 2, 3, 4, 3, 2, 1]); //=> [3, 4, 3, 2, 1] */ module.exports = _curry2(_dispatchable(['dropWhile'], _xdropWhile, function dropWhile(pred, list) { var idx = 0; var len = list.length; while (idx < len && pred(list[idx])) { idx += 1; } return Array.prototype.slice.call(list, idx); }));