UNPKG

ut2

Version:

一个现代 JavaScript 实用工具库。[点击查看在线文档]。

28 lines (24 loc) 672 B
'use strict'; var allKeys = require('./allKeys.js'); var native = require('./internals/native.js'); var isNil = require('./isNil.js'); var conformsTo = function (object, source) { var props = allKeys(source); var length = props.length; if (isNil(object)) { return !length; } if (length === 0) { return true; } for (var i = 0; i < length; i++) { var key = props[i]; var predicate = source[key]; var value = object[key]; if ((value === native.nativeUndefined && !(key in object)) || !predicate(value)) { return false; } } return true; }; module.exports = conformsTo;