Socket
Socket
Sign inDemoInstall

deepmerge

Package Overview
Dependencies
Maintainers
2
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

deepmerge - npm Package Compare versions

Comparing version 0.2.7 to 0.2.10

bower.json

44

index.js

@@ -1,23 +0,33 @@

module.exports = function merge (target, src) {
var array = Array.isArray(src)
var dst = array && [] || {}
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
define(factory);
} else if (typeof exports === 'object') {
module.exports = factory();
} else {
root.deepmerge = factory();
}
}(this, function () {
return function deepmerge(target, src) {
var array = Array.isArray(src);
var dst = array && [] || {};
if (array) {
target = target || []
dst = dst.concat(target)
target = target || [];
dst = dst.concat(target);
src.forEach(function(e, i) {
if (typeof target[i] === 'undefined') {
dst[i] = e
if (typeof dst[i] === 'undefined') {
dst[i] = e;
} else if (typeof e === 'object') {
dst[i] = merge(target[i], e)
dst[i] = deepmerge(target[i], e);
} else {
if (target.indexOf(e) === -1) {
dst.push(e)
dst.push(e);
}
}
})
});
} else {
if (target && typeof target === 'object') {
Object.keys(target).forEach(function (key) {
dst[key] = target[key]
dst[key] = target[key];
})

@@ -27,15 +37,17 @@ }

if (typeof src[key] !== 'object' || !src[key]) {
dst[key] = src[key]
dst[key] = src[key];
}
else {
if (!target[key]) {
dst[key] = src[key]
dst[key] = src[key];
} else {
dst[key] = merge(target[key], src[key])
dst[key] = deepmerge(target[key], src[key]);
}
}
})
});
}
return dst
return dst;
}
}));
The MIT License (MIT)
Copyright (c) <year> <copyright holders>
Copyright (c) 2012 Nicholas Fisher

@@ -21,2 +21,2 @@ Permission is hereby granted, free of charge, to any person obtaining a copy

OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
THE SOFTWARE.

@@ -5,3 +5,3 @@ {

"description": "A library for deep (recursive) merging of Javascript objects",
"version": "0.2.7",
"version": "0.2.10",
"homepage": "https://github.com/nrf110/deepmerge",

@@ -17,8 +17,9 @@ "repository": {

"scripts": {
"test" : "tap test/*.js"
"test": "tap test/*.js"
},
"dependencies": {},
"devDependencies": {
"tap" : "~0.2.4"
}
"tap": "~0.4.8"
},
"license": "MIT"
}

@@ -144,2 +144,13 @@ var merge = require('../')

test('should work on another simple array', function(t) {
var target = ["a1","a2","c1","f1","p1"];
var src = ["t1","s1","c2","r1","p2","p3"];
var expected = ["a1", "a2", "c1", "f1", "p1", "t1", "s1", "c2", "r1", "p2", "p3"]
t.deepEqual(target, ["a1", "a2", "c1", "f1", "p1"])
t.deepEqual(merge(target, src), expected)
t.ok(Array.isArray(merge(target, src)))
t.end()
})
test('should work on array properties', function (t) {

@@ -146,0 +157,0 @@ var src = {

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc