Socket
Socket
Sign inDemoInstall

node.extend

Package Overview
Dependencies
2
Maintainers
2
Versions
25
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.1.6 to 1.1.7

.editorconfig

8

.jscs.json

@@ -160,10 +160,10 @@ {

"requireSpaceBeforeObjectValues": true,
"requireSpaceBeforeDestructuredValues": true,
"requireSpaceBeforeObjectValues": true,
"requireSpaceBeforeDestructuredValues": true,
"disallowSpacesInsideTemplateStringPlaceholders": true,
"disallowArrayDestructuringReturn": false,
"disallowArrayDestructuringReturn": false,
"requireNewlineBeforeSingleStatementsInIf": false,
"requireNewlineBeforeSingleStatementsInIf": false,

@@ -170,0 +170,0 @@ "disallowUnusedVariables": true,

@@ -13,4 +13,38 @@ 'use strict';

var is = require('is');
var has = require('has');
var extend = function extend() {
var defineProperty = Object.defineProperty;
var gOPD = Object.getOwnPropertyDescriptor;
// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target
var setProperty = function setP(target, name, value) {
if (defineProperty && name === '__proto__') {
defineProperty(target, name, {
enumerable: true,
configurable: true,
value: value,
writable: true
});
} else {
target[name] = value;
}
};
// Return undefined instead of __proto__ if '__proto__' is not an own property
var getProperty = function getP(obj, name) {
if (name === '__proto__') {
if (!has(obj, name)) {
return void 0;
} else if (gOPD) {
// In early versions of node, obj['__proto__'] is buggy when obj has
// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.
return gOPD(obj, name).value;
}
}
return obj[name];
};
// eslint-disable-next-line func-style
function extend() {
var target = arguments[0] || {};

@@ -44,4 +78,4 @@ var i = 1;

for (name in options) {
src = target[name];
copy = options[name];
src = getProperty(target, name);
copy = getProperty(options, name);

@@ -63,7 +97,7 @@ // Prevent never-ending loop

// Never move original objects, clone them
target[name] = extend(deep, clone, copy);
setProperty(target, name, extend(deep, clone, copy));
// Don't bring in undefined values
} else if (typeof copy !== 'undefined') {
target[name] = copy;
setProperty(target, name, copy);
}

@@ -76,3 +110,3 @@ }

return target;
};
}

@@ -82,3 +116,3 @@ /**

*/
extend.version = '1.1.3';
extend.version = '1.1.7';

@@ -85,0 +119,0 @@ /**

{
"name": "node.extend",
"version": "1.1.6",
"version": "1.1.7",
"description": "A port of jQuery.extend that actually works on node.js",

@@ -15,10 +15,12 @@ "keywords": [

"dependencies": {
"is": "^3.1.0"
"has": "^1.0.3",
"is": "^3.2.1"
},
"devDependencies": {
"tape": "^4.6.0",
"@ljharb/eslint-config": "^13.0.0",
"covert": "^1.1.0",
"eslint": "^5.8.0",
"jscs": "^3.0.7",
"eslint": "^3.4.0",
"@ljharb/eslint-config": "^8.0.0"
"safe-publish-latest": "^1.1.2",
"tape": "^4.9.1"
},

@@ -37,2 +39,3 @@ "repository": {

"scripts": {
"prepublish": "safe-publish-latest",
"pretest": "npm run lint",

@@ -44,5 +47,5 @@ "test": "npm run --silent tests-only",

"coverage-quiet": "covert test/index.js --quiet",
"lint": "npm run jscs && npm run eslint",
"lint": "npm run jscs && npm run eslint .",
"jscs": "jscs *.js */*.js",
"eslint": "eslint *.js */*.js"
"eslint": "eslint"
},

@@ -49,0 +52,0 @@ "engines": {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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