[go: nahoru, domu]

blob: 2557889e01a7f8bd1fdeaf4ee829ffe0ed54e429 [file] [log] [blame]
"use strict";
var forEach = require("@sinonjs/commons").prototypes.set.forEach;
/**
* Returns `true` when `s1` is a subset of `s2`, `false` otherwise
*
* @private
* @param {Array|Set} s1 The target value
* @param {Array|Set} s2 The containing value
* @param {Function} compare A comparison function, should return `true` when
* values are considered equal
* @returns {boolean} Returns `true` when `s1` is a subset of `s2`, `false`` otherwise
*/
function isSubset(s1, s2, compare) {
var allContained = true;
forEach(s1, function(v1) {
var includes = false;
forEach(s2, function(v2) {
if (compare(v2, v1)) {
includes = true;
}
});
allContained = allContained && includes;
});
return allContained;
}
module.exports = isSubset;