Initial commit
[yaffs-website] / node_modules / grunt-contrib-watch / node_modules / globule / node_modules / lodash / _baseConformsTo.js
1 /**
2  * The base implementation of `_.conformsTo` which accepts `props` to check.
3  *
4  * @private
5  * @param {Object} object The object to inspect.
6  * @param {Object} source The object of property predicates to conform to.
7  * @returns {boolean} Returns `true` if `object` conforms, else `false`.
8  */
9 function baseConformsTo(object, source, props) {
10   var length = props.length;
11   if (object == null) {
12     return !length;
13   }
14   object = Object(object);
15   while (length--) {
16     var key = props[length],
17         predicate = source[key],
18         value = object[key];
19
20     if ((value === undefined && !(key in object)) || !predicate(value)) {
21       return false;
22     }
23   }
24   return true;
25 }
26
27 module.exports = baseConformsTo;