Socket
Socket
Sign inDemoInstall

just-extend

Package Overview
Dependencies
0
Maintainers
1
Versions
38
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.1.22 to 1.1.23

21

index.js

@@ -15,3 +15,3 @@ module.exports = extend;

extend(obj, {c: arr}); // {a: 3, b: 5, c: [1, 2, 3]}
arr.push[4];
arr.push(4);
obj; // {a: 3, b: 5, c: [1, 2, 3, 4]}

@@ -22,13 +22,21 @@

extend(true, obj, {c: arr}); // {a: 3, b: 5, c: [1, 2, 3]}
arr.push[4];
arr.push(4);
obj; // {a: 3, b: 5, c: [1, 2, 3]}
extend({a: 4, b: 5}); // {a: 4, b: 5}
extend(3, {a: 4, b: 5}); // throws
extend({a: 4, b: 5}, 3); // throws
extend({a: 4, b: 5}, true); // throws
*/
function extend(obj1, obj2 /*, [objn]*/) {
function extend(/* [deep], obj1, obj2, [objn] */) {
var args = [].slice.call(arguments);
var deep = false;
if (typeof args[0] === 'boolean') {
if (typeof args[0] == 'boolean') {
deep = args.shift();
}
var result = args[0];
if (!result || typeof result !== 'object') {
throw new Error('expected extendee ', result, ' to be an object');
}
var extenders = args.slice(1);

@@ -38,6 +46,9 @@ var len = extenders.length;

var extender = extenders[i];
if (!extender || typeof extender !== 'object') {
throw new Error('expected extender ', extender, ' to be an object');
}
for (var key in extender) {
// include prototype properties
var value = extender[key];
if (deep && value && (typeof value == 'object')) {
if (deep && value && typeof value == 'object') {
var base = Array.isArray(value) ? [] : {};

@@ -44,0 +55,0 @@ result[key] = extend(true, result[key] || base, value);

{
"name": "just-extend",
"version": "1.1.22",
"version": "1.1.23",
"description": "extend an object",

@@ -12,2 +12,7 @@ "main": "index.js",

"object",
"assign",
"clone",
"copy",
"merge",
"deep-copy",
"extend",

@@ -14,0 +19,0 @@ "no-dependencies",

@@ -30,2 +30,7 @@ ## just-extend

obj; // {a: 3, b: 5, c: [1, 2, 3]}
extend({a: 4, b: 5}); // {a: 4, b: 5}
extend(3, {a: 4, b: 5}); // throws
extend({a: 4, b: 5}, 3); // throws
extend({a: 4, b: 5}, {b: 4, c: 5}, 'c'); // throws
```
SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc