-
Notifications
You must be signed in to change notification settings - Fork 7.1k
/
Merge.js
39 lines (34 loc) · 970 Bytes
/
Merge.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/**
* @author Richard Davey <rich@phaser.io>
* @copyright 2013-2024 Phaser Studio Inc.
* @license {@link https://opensource.org/licenses/MIT|MIT License}
*/
var Clone = require('./Clone');
/**
* Creates a new Object using all values from obj1 and obj2.
* If a value exists in both obj1 and obj2, the value in obj1 is used.
*
* This is only a shallow copy. Deeply nested objects are not cloned, so be sure to only use this
* function on shallow objects.
*
* @function Phaser.Utils.Objects.Merge
* @since 3.0.0
*
* @param {object} obj1 - The first object.
* @param {object} obj2 - The second object.
*
* @return {object} A new object containing the union of obj1's and obj2's properties.
*/
var Merge = function (obj1, obj2)
{
var clone = Clone(obj1);
for (var key in obj2)
{
if (!clone.hasOwnProperty(key))
{
clone[key] = obj2[key];
}
}
return clone;
};
module.exports = Merge;