UNPKG

foop

Version:

interfaces that describe their intentions.

43 lines (40 loc) 4.09 kB
var isArray = require('../../is/array') var arrayEach = require('./arrayEach') var baseEach = require('./baseEach') /** * Iterates over elements of `collection` and invokes `iteratee` for each element. * The iteratee is invoked with three arguments: (value, index|key, collection). * Iteratee functions may exit iteration early by explicitly returning `false`. * * **Note:** As with other "Collections" methods, objects with a "length" * property are iterated like arrays. To avoid this behavior use `forIn` * or `forOwn` for object iteration. * @since 5.0.0-beta.6 * @memberOf loop * * @fork 0.1.0 * @alias each * @category Collection * @param {Array|Object} collection The collection to iterate over. * @param {Function} iteratee The function invoked per iteration. * @return {Array|Object} Returns `collection`. * * @see forEachRight, forIn, forInRight, forOwn, forOwnRight * @see https://github.com/lodash/lodash/blob/master/forEach.js * @see https://github.com/ramda/ramda/blob/master/src/forEach.js * * @example * * forEach([1, 2], value => console.log(value)) * //=> Logs `1` then `2`. * * forEach({ 'a': 1, 'b': 2 }, (value, key) => console.log(key)) * //=> Logs 'a' then 'b' (iteration order is not guaranteed). * */ function forEach(collection, iteratee) { var func = isArray(collection) ? arrayEach : baseEach return func(collection, iteratee) } module.exports = forEach //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yRWFjaC5qcyIsInNvdXJjZXMiOlsiZm9yRWFjaC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBpc0FycmF5ID0gcmVxdWlyZSgnLi4vLi4vaXMvYXJyYXknKVxuY29uc3QgYXJyYXlFYWNoID0gcmVxdWlyZSgnLi9hcnJheUVhY2gnKVxuY29uc3QgYmFzZUVhY2ggPSByZXF1aXJlKCcuL2Jhc2VFYWNoJylcblxuLyoqXG4gKiBJdGVyYXRlcyBvdmVyIGVsZW1lbnRzIG9mIGBjb2xsZWN0aW9uYCBhbmQgaW52b2tlcyBgaXRlcmF0ZWVgIGZvciBlYWNoIGVsZW1lbnQuXG4gKiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIHRocmVlIGFyZ3VtZW50czogKHZhbHVlLCBpbmRleHxrZXksIGNvbGxlY3Rpb24pLlxuICogSXRlcmF0ZWUgZnVuY3Rpb25zIG1heSBleGl0IGl0ZXJhdGlvbiBlYXJseSBieSBleHBsaWNpdGx5IHJldHVybmluZyBgZmFsc2VgLlxuICpcbiAqICoqTm90ZToqKiBBcyB3aXRoIG90aGVyIFwiQ29sbGVjdGlvbnNcIiBtZXRob2RzLCBvYmplY3RzIHdpdGggYSBcImxlbmd0aFwiXG4gKiBwcm9wZXJ0eSBhcmUgaXRlcmF0ZWQgbGlrZSBhcnJheXMuIFRvIGF2b2lkIHRoaXMgYmVoYXZpb3IgdXNlIGBmb3JJbmBcbiAqIG9yIGBmb3JPd25gIGZvciBvYmplY3QgaXRlcmF0aW9uLlxuICogQHNpbmNlIDUuMC4wLWJldGEuNlxuICogQG1lbWJlck9mIGxvb3BcbiAqXG4gKiBAZm9yayAwLjEuMFxuICogQGFsaWFzIGVhY2hcbiAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICogQHJldHVybiB7QXJyYXl8T2JqZWN0fSBSZXR1cm5zIGBjb2xsZWN0aW9uYC5cbiAqXG4gKiBAc2VlIGZvckVhY2hSaWdodCwgZm9ySW4sIGZvckluUmlnaHQsIGZvck93biwgZm9yT3duUmlnaHRcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2xvZGFzaC9sb2Rhc2gvYmxvYi9tYXN0ZXIvZm9yRWFjaC5qc1xuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vcmFtZGEvcmFtZGEvYmxvYi9tYXN0ZXIvc3JjL2ZvckVhY2guanNcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqICAgZm9yRWFjaChbMSwgMl0sIHZhbHVlID0+IGNvbnNvbGUubG9nKHZhbHVlKSlcbiAqICAgLy89PiBMb2dzIGAxYCB0aGVuIGAyYC5cbiAqXG4gKiAgIGZvckVhY2goeyAnYSc6IDEsICdiJzogMiB9LCAodmFsdWUsIGtleSkgPT4gY29uc29sZS5sb2coa2V5KSlcbiAqICAgLy89PiBMb2dzICdhJyB0aGVuICdiJyAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKS5cbiAqXG4gKi9cbmZ1bmN0aW9uIGZvckVhY2goY29sbGVjdGlvbiwgaXRlcmF0ZWUpIHtcbiAgY29uc3QgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheUVhY2ggOiBiYXNlRWFjaFxuICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBpdGVyYXRlZSlcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmb3JFYWNoXG4iXSwibmFtZXMiOlsiY29uc3QiXSwibWFwcGluZ3MiOiJBQUFBQSxHQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztBQUN6Q0EsR0FBSyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO0FBQ3hDQSxHQUFLLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlDdEMsU0FBUyxPQUFPLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRTtFQUNyQ0EsR0FBSyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsU0FBUyxHQUFHLFFBQVE7RUFDdkQsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQztDQUNsQzs7QUFFRCxNQUFNLENBQUMsT0FBTyxHQUFHLE9BQU87In0=