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