UNPKG

foop

Version:

interfaces that describe their intentions.

59 lines (56 loc) 4.6 kB
var preferExistingMethod = require('../../fp/preferExistingMethod') var curry = require('../../fp/curry') /** * Iterate over an input `list`, calling a provided function `fn` for each * element in the list. * * `fn` receives one argument: *(value)*. * * Note: `R.forEach` does not skip deleted or unassigned indices (sparse * arrays), unlike the native `Array.prototype.forEach` method. For more * details on this behavior, see: * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach#Description * * Also note that, unlike `Array.prototype.forEach`, Ramda's `forEach` returns * the original array. In some libraries this function is named `each`. * * Dispatches to the `forEach` method of the second argument, if present. * * @memberOf fp * @since 5.0.0-beta.6 * @curried 2 * * @param {Function} fn The function to invoke. Receives one argument, `value`. * @param {Array} list The list to iterate over. * @return {Array} The original list. * * @func * @fork v0.1.1 * @category List * @sig (a -> *) -> [a] -> [a] * @symb R.forEach(f, [a, b, c]) = [a, b, c] * * @see addIndex * * @example * * var printXPlusFive = x => console.log(x + 5); * forEach(printXPlusFive, [1, 2, 3]); //=> [1, 2, 3] * // logs 6 * // logs 7 * // logs 8 * * */ function _forEach(fn, list) { var len = list.length var index = 0 while (index < len) { fn(list[index++]) // fn(list[index]) // index += 1 } return list } module.exports = curry(2, preferExistingMethod('forEach', _forEach)) //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2VhY2guanMiLCJzb3VyY2VzIjpbIl9lYWNoLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHByZWZlckV4aXN0aW5nTWV0aG9kID0gcmVxdWlyZSgnLi4vLi4vZnAvcHJlZmVyRXhpc3RpbmdNZXRob2QnKVxuY29uc3QgY3VycnkgPSByZXF1aXJlKCcuLi8uLi9mcC9jdXJyeScpXG5cbi8qKlxuICogSXRlcmF0ZSBvdmVyIGFuIGlucHV0IGBsaXN0YCwgY2FsbGluZyBhIHByb3ZpZGVkIGZ1bmN0aW9uIGBmbmAgZm9yIGVhY2hcbiAqIGVsZW1lbnQgaW4gdGhlIGxpc3QuXG4gKlxuICogYGZuYCByZWNlaXZlcyBvbmUgYXJndW1lbnQ6ICoodmFsdWUpKi5cbiAqXG4gKiBOb3RlOiBgUi5mb3JFYWNoYCBkb2VzIG5vdCBza2lwIGRlbGV0ZWQgb3IgdW5hc3NpZ25lZCBpbmRpY2VzIChzcGFyc2VcbiAqIGFycmF5cyksIHVubGlrZSB0aGUgbmF0aXZlIGBBcnJheS5wcm90b3R5cGUuZm9yRWFjaGAgbWV0aG9kLiBGb3IgbW9yZVxuICogZGV0YWlscyBvbiB0aGlzIGJlaGF2aW9yLCBzZWU6XG4gKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9BcnJheS9mb3JFYWNoI0Rlc2NyaXB0aW9uXG4gKlxuICogQWxzbyBub3RlIHRoYXQsIHVubGlrZSBgQXJyYXkucHJvdG90eXBlLmZvckVhY2hgLCBSYW1kYSdzIGBmb3JFYWNoYCByZXR1cm5zXG4gKiB0aGUgb3JpZ2luYWwgYXJyYXkuIEluIHNvbWUgbGlicmFyaWVzIHRoaXMgZnVuY3Rpb24gaXMgbmFtZWQgYGVhY2hgLlxuICpcbiAqIERpc3BhdGNoZXMgdG8gdGhlIGBmb3JFYWNoYCBtZXRob2Qgb2YgdGhlIHNlY29uZCBhcmd1bWVudCwgaWYgcHJlc2VudC5cbiAqXG4gKiBAbWVtYmVyT2YgZnBcbiAqIEBzaW5jZSA1LjAuMC1iZXRhLjZcbiAqIEBjdXJyaWVkIDJcbiAqXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmbiBUaGUgZnVuY3Rpb24gdG8gaW52b2tlLiBSZWNlaXZlcyBvbmUgYXJndW1lbnQsIGB2YWx1ZWAuXG4gKiBAcGFyYW0ge0FycmF5fSBsaXN0IFRoZSBsaXN0IHRvIGl0ZXJhdGUgb3Zlci5cbiAqIEByZXR1cm4ge0FycmF5fSBUaGUgb3JpZ2luYWwgbGlzdC5cbiAqXG4gKiBAZnVuY1xuICogQGZvcmsgdjAuMS4xXG4gKiBAY2F0ZWdvcnkgTGlzdFxuICogQHNpZyAoYSAtPiAqKSAtPiBbYV0gLT4gW2FdXG4gKiBAc3ltYiBSLmZvckVhY2goZiwgW2EsIGIsIGNdKSA9IFthLCBiLCBjXVxuICpcbiAqIEBzZWUgYWRkSW5kZXhcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqICAgICAgdmFyIHByaW50WFBsdXNGaXZlID0geCA9PiBjb25zb2xlLmxvZyh4ICsgNSk7XG4gKiAgICAgIGZvckVhY2gocHJpbnRYUGx1c0ZpdmUsIFsxLCAyLCAzXSk7IC8vPT4gWzEsIDIsIDNdXG4gKiAgICAgIC8vIGxvZ3MgNlxuICogICAgICAvLyBsb2dzIDdcbiAqICAgICAgLy8gbG9ncyA4XG4gKlxuICpcbiAqL1xuZnVuY3Rpb24gX2ZvckVhY2goZm4sIGxpc3QpIHtcbiAgY29uc3QgbGVuID0gbGlzdC5sZW5ndGhcbiAgbGV0IGluZGV4ID0gMFxuICB3aGlsZSAoaW5kZXggPCBsZW4pIHtcbiAgICBmbihsaXN0W2luZGV4KytdKVxuICAgIC8vIGZuKGxpc3RbaW5kZXhdKVxuICAgIC8vIGluZGV4ICs9IDFcbiAgfVxuICByZXR1cm4gbGlzdFxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGN1cnJ5KDIsIHByZWZlckV4aXN0aW5nTWV0aG9kKCdmb3JFYWNoJywgX2ZvckVhY2gpKVxuIl0sIm5hbWVzIjpbImNvbnN0IiwibGV0Il0sIm1hcHBpbmdzIjoiQUFBQUEsR0FBSyxDQUFDLG9CQUFvQixHQUFHLE9BQU8sQ0FBQywrQkFBK0IsQ0FBQztBQUNyRUEsR0FBSyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNEN2QyxTQUFTLFFBQVEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFO0VBQzFCQSxHQUFLLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNO0VBQ3ZCQyxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUM7RUFDYixPQUFPLEtBQUssR0FBRyxHQUFHLEVBQUU7SUFDbEIsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDOzs7R0FHbEI7RUFDRCxPQUFPLElBQUk7Q0FDWjs7QUFFRCxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLEVBQUUsb0JBQW9CLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDOyJ9