|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
-
-
- 'use strict'
-
-
-
- module.exports = merge
-
-
-
- var hasOwnProperty = Object.prototype.hasOwnProperty
-
-
-
- function merge(dest, src, redefine) {
- if (!dest) {
- throw new TypeError('argument dest is required')
- }
-
- if (!src) {
- throw new TypeError('argument src is required')
- }
-
- if (redefine === undefined) {
-
- redefine = true
- }
-
- Object.getOwnPropertyNames(src).forEach(function forEachOwnPropertyName(name) {
- if (!redefine && hasOwnProperty.call(dest, name)) {
-
- return
- }
-
-
- var descriptor = Object.getOwnPropertyDescriptor(src, name)
- Object.defineProperty(dest, name, descriptor)
- })
-
- return dest
- }
|