00001 00009 function baseConformsTo(object, source, props) { 00010 var length = props.length; 00011 if (object == null) { 00012 return !length; 00013 } 00014 object = Object(object); 00015 while (length--) { 00016 var key = props[length], 00017 predicate = source[key], 00018 value = object[key]; 00019 00020 if ((value === undefined && !(key in object)) || !predicate(value)) { 00021 return false; 00022 } 00023 } 00024 return true; 00025 } 00026 00027 module.exports = baseConformsTo;