| | |
| | | var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); |
| | | var definePropertyModule = require('../internals/object-define-property'); |
| | | |
| | | module.exports = function (target, source) { |
| | | module.exports = function (target, source, exceptions) { |
| | | var keys = ownKeys(source); |
| | | var defineProperty = definePropertyModule.f; |
| | | var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; |
| | | for (var i = 0; i < keys.length; i++) { |
| | | var key = keys[i]; |
| | | if (!hasOwn(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); |
| | | if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { |
| | | defineProperty(target, key, getOwnPropertyDescriptor(source, key)); |
| | | } |
| | | } |
| | | }; |