foop
Version:
interfaces that describe their intentions.
37 lines (35 loc) • 2.95 kB
JavaScript
var tester = require('../cast/toTestable')
/**
* the original simple to-test matcher for traversable,
* will be merged into, or simplified as simplified into matcher
*
* @since 2.0.0
*
* @TODO should use matcher,
* @TODO should inprove the callback data...
*
* @types matcher
*
* @param {Matchable[]} keys matchable keys
* @param {Matchable[]} vals matchable values
* @return {boolean} matched or not
*
* @example
*
* anyKeyVal([], [])(0, 0)
* //=> false
*
* anyKeyVal([() => true], [])(0, 0)
* //=> true
*
*/
module.exports = function (keys, vals) { return function (prop, val) {
for (var i = 0; i < keys.length; i++) {
if (tester(keys[i], prop, val)) { return true }
}
for (var i$1 = 0; i$1 < vals.length; i$1++) {
if (tester(vals[i$1], val, prop)) { return true }
}
return false
}; }
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdEtleXNWYWxzLmpzIiwic291cmNlcyI6WyJ0ZXN0S2V5c1ZhbHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgdGVzdGVyID0gcmVxdWlyZSgnLi4vY2FzdC90b1Rlc3RhYmxlJylcblxuLyoqXG4gKiB0aGUgb3JpZ2luYWwgc2ltcGxlIHRvLXRlc3QgbWF0Y2hlciBmb3IgdHJhdmVyc2FibGUsXG4gKiB3aWxsIGJlIG1lcmdlZCBpbnRvLCBvciBzaW1wbGlmaWVkIGFzIHNpbXBsaWZpZWQgaW50byBtYXRjaGVyXG4gKlxuICogQHNpbmNlIDIuMC4wXG4gKlxuICogQFRPRE8gc2hvdWxkIHVzZSBtYXRjaGVyLFxuICogQFRPRE8gc2hvdWxkIGlucHJvdmUgdGhlIGNhbGxiYWNrIGRhdGEuLi5cbiAqXG4gKiBAdHlwZXMgbWF0Y2hlclxuICpcbiAqIEBwYXJhbSAge01hdGNoYWJsZVtdfSBrZXlzIG1hdGNoYWJsZSBrZXlzXG4gKiBAcGFyYW0gIHtNYXRjaGFibGVbXX0gdmFscyBtYXRjaGFibGUgdmFsdWVzXG4gKiBAcmV0dXJuIHtib29sZWFufSBtYXRjaGVkIG9yIG5vdFxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogIGFueUtleVZhbChbXSwgW10pKDAsIDApXG4gKiAgLy89PiBmYWxzZVxuICpcbiAqICBhbnlLZXlWYWwoWygpID0+IHRydWVdLCBbXSkoMCwgMClcbiAqICAvLz0+IHRydWVcbiAqXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gKGtleXMsIHZhbHMpID0+IChwcm9wLCB2YWwpID0+IHtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKHRlc3RlcihrZXlzW2ldLCBwcm9wLCB2YWwpKSByZXR1cm4gdHJ1ZVxuICB9XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgdmFscy5sZW5ndGg7IGkrKykge1xuICAgIGlmICh0ZXN0ZXIodmFsc1tpXSwgdmFsLCBwcm9wKSkgcmV0dXJuIHRydWVcbiAgfVxuICByZXR1cm4gZmFsc2Vcbn1cbiJdLCJuYW1lcyI6WyJjb25zdCIsImkiLCJsZXQiXSwibWFwcGluZ3MiOiJBQUFBQSxHQUFLLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEwQjVDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsU0FBQSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQUFBRyxTQUFBLFNBQUEsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEFBQUc7RUFDOUMsS0FBS0UsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7SUFDcEMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFBLE9BQU8sSUFBSSxFQUFBO0dBQzVDO0VBQ0QsS0FBS0EsR0FBRyxDQUFDRCxHQUFDLEdBQUcsQ0FBQyxFQUFFQSxHQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRUEsR0FBQyxFQUFFLEVBQUU7SUFDcEMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDQSxHQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBQSxPQUFPLElBQUksRUFBQTtHQUM1QztFQUNELE9BQU8sS0FBSztDQUNiLEdBQUE7In0=