iching-broker-level1/node_modules/@sinonjs/commons/lib/every.js
Christopher Hase 323cea883d
All checks were successful
ci / build (push) Successful in 1m14s
unit tests part 3
2025-03-31 14:27:20 +02:00

26 lines
663 B
JavaScript

"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;
};