You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
665 B
27 lines
665 B
"use strict"; |
|
|
|
/** |
|
* Returns true when fn returns true for all members of obj. |
|
* This is an every implementation that works for all iterables |
|
* |
|
* @param {object} obj |
|
* @param {Function} fn |
|
* @returns {boolean} |
|
*/ |
|
module.exports = function every(obj, fn) { |
|
var pass = true; |
|
|
|
try { |
|
// eslint-disable-next-line @sinonjs/no-prototype-methods/no-prototype-methods |
|
obj.forEach(function() { |
|
if (!fn.apply(this, arguments)) { |
|
// Throwing an error is the only way to break `forEach` |
|
throw new Error(); |
|
} |
|
}); |
|
} catch (e) { |
|
pass = false; |
|
} |
|
|
|
return pass; |
|
};
|
|
|