Projekt

Obecné

Profil

Stáhnout (718 Bajtů) Statistiky
| Větev: | Revize:
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;
(41-41/590)