UNPKG

foop

Version:

interfaces that describe their intentions.

31 lines (28 loc) 2.88 kB
/** * The base implementation of `baseForOwn` which iterates over `object` * properties returned by `keysFunc` and invokes `iteratee` for each property. * Iteratee functions may exit iteration early by explicitly returning `false`. * @since 5.0.0-beta.6 * @memberOf loop * * @param {Object} object The object to iterate over. * @param {Function} iteratee The function invoked per iteration. * @param {Function} keysFunc The function to get the keys of `object`. * @return {Object} Returns `object`. * */ function baseFor(object, iteratee, keysFunc) { var iterable = Object(object) var props = keysFunc(object) var length = props.length; var index = -1 while (length--) { var key = props[++index] if (iteratee(iterable[key], key, iterable) === false) { break } } return object } module.exports = baseFor //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZUZvci5qcyIsInNvdXJjZXMiOlsiYmFzZUZvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBiYXNlRm9yT3duYCB3aGljaCBpdGVyYXRlcyBvdmVyIGBvYmplY3RgXG4gKiBwcm9wZXJ0aWVzIHJldHVybmVkIGJ5IGBrZXlzRnVuY2AgYW5kIGludm9rZXMgYGl0ZXJhdGVlYCBmb3IgZWFjaCBwcm9wZXJ0eS5cbiAqIEl0ZXJhdGVlIGZ1bmN0aW9ucyBtYXkgZXhpdCBpdGVyYXRpb24gZWFybHkgYnkgZXhwbGljaXRseSByZXR1cm5pbmcgYGZhbHNlYC5cbiAqIEBzaW5jZSA1LjAuMC1iZXRhLjZcbiAqIEBtZW1iZXJPZiBsb29wXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGl0ZXJhdGUgb3Zlci5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBrZXlzRnVuYyBUaGUgZnVuY3Rpb24gdG8gZ2V0IHRoZSBrZXlzIG9mIGBvYmplY3RgLlxuICogQHJldHVybiB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICpcbiAqL1xuZnVuY3Rpb24gYmFzZUZvcihvYmplY3QsIGl0ZXJhdGVlLCBrZXlzRnVuYykge1xuICBjb25zdCBpdGVyYWJsZSA9IE9iamVjdChvYmplY3QpXG4gIGNvbnN0IHByb3BzID0ga2V5c0Z1bmMob2JqZWN0KVxuICBsZXQge2xlbmd0aH0gPSBwcm9wc1xuICBsZXQgaW5kZXggPSAtMVxuXG4gIHdoaWxlIChsZW5ndGgtLSkge1xuICAgIGNvbnN0IGtleSA9IHByb3BzWysraW5kZXhdXG4gICAgaWYgKGl0ZXJhdGVlKGl0ZXJhYmxlW2tleV0sIGtleSwgaXRlcmFibGUpID09PSBmYWxzZSkge1xuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG9iamVjdFxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VGb3JcbiJdLCJuYW1lcyI6WyJjb25zdCIsImxldCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7QUFhQSxTQUFTLE9BQU8sQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRTtFQUMzQ0EsR0FBSyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0VBQy9CQSxHQUFLLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7RUFDOUIsQUFBRyxBQUFFLElBQUEsTUFBTSxnQkFBUCxBQUFPLEFBQUMsQUFBUTtFQUNwQkMsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7O0VBRWQsT0FBTyxNQUFNLEVBQUUsRUFBRTtJQUNmRCxHQUFLLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQztJQUMxQixJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyxLQUFLLEtBQUssRUFBRTtNQUNwRCxLQUFLO0tBQ047R0FDRjtFQUNELE9BQU8sTUFBTTtDQUNkOztBQUVELE1BQU0sQ0FBQyxPQUFPLEdBQUcsT0FBTzsifQ==