Socket
Socket
Sign inDemoInstall

@henry781/deep-merge

Package Overview
Dependencies
0
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.2.2 to 0.2.3

1

dist/Merge.d.ts

@@ -16,3 +16,2 @@ export interface MergeOptions {

private static objectSize;
private static notNullNotUndefined;
private static mergeDebugIteration;

@@ -19,0 +18,0 @@ private static getInitialValueForUndefined;

40

dist/Merge.js

@@ -16,5 +16,2 @@ "use strict";

};
Merge.notNullNotUndefined = function (obj) {
return obj !== null && obj !== undefined;
};
Merge.mergeDebugIteration = function (iterationNumber) {

@@ -105,10 +102,9 @@ var txt = '|';

obj1.push(obj2[p]);
this.contextualizeMerge(obj2, p, obj1, "" + (obj1.length - 1), options, false);
this.contextualizeMerge(obj2, p, obj1, "" + (obj1.length - 1), options);
}
else if (obj2[p] !== null && obj2[p] !== undefined && obj2[p] instanceof Object && options.deep) {
debug && options.logger.log('Merge [' + securityMergeMyID + ']' + this.mergeDebugIteration(iterationNumber) + ' ' + p + ':');
var overrideProp = obj1[p] !== undefined && obj1[p] !== null;
var res = this.processMerge(obj1[p], obj2[p], options, securityMergeMyID, iterationNumber + 1);
obj1[p] = res;
this.contextualizeMerge(res, p, obj1, p, options, overrideProp);
this.contextualizeMerge(res, p, obj1, p, options);
}

@@ -118,5 +114,4 @@ else {

+ this.mergeDebugIteration(iterationNumber) + ' ' + p + ':' + obj2[p]);
var overrideProp = Merge.notNullNotUndefined(obj1[p]);
obj1[p] = obj2[p];
this.contextualizeMerge(obj2, p, obj1, p, options, overrideProp);
this.contextualizeMerge(obj2, p, obj1, p, options);
}

@@ -126,5 +121,4 @@ }

options.logger.error("MergeUtils [" + securityMergeMyID + "] something has failed:", e);
var overrideProp = !!obj1[p] && !!obj2[p];
obj1[p] = obj2[p];
this.contextualizeMerge(obj2, p, obj1, p, options, overrideProp);
this.contextualizeMerge(obj2, p, obj1, p, options);
}

@@ -136,6 +130,6 @@ }

};
Merge.contextualizeMerge = function (src, srcKey, dest, destKey, options, override) {
if (options.context && dest) {
if (!dest.hasOwnProperty('_context')) {
Object.defineProperty(dest.prototype ? dest.prototype : dest, '_context', {
Merge.contextualizeMerge = function (obj2, obj2Key, obj1, obj1Key, options) {
if (options.context && obj1) {
if (!obj1.hasOwnProperty('_context')) {
Object.defineProperty(obj1.prototype ? obj1.prototype : obj1, '_context', {
enumerable: false,

@@ -145,9 +139,8 @@ value: {},

}
var destGetMergeContextOf = dest._context;
var srcGetMergeContextOf = src._context;
var srcHasNoContext = (!srcGetMergeContextOf || !srcGetMergeContextOf.hasOwnProperty("" + destKey));
var destHasNoContext = !destGetMergeContextOf.hasOwnProperty("" + destKey);
if ((srcHasNoContext && destHasNoContext) || override) {
var o = destGetMergeContextOf.prototype ? destGetMergeContextOf.prototype : destGetMergeContextOf;
Object.defineProperty(o, "" + destKey, {
var obj1GetMergeContextOf = obj1._context;
var obj2GetMergeContextOf = obj2._context;
var obj2HasNoContext = (!obj2GetMergeContextOf || !obj2GetMergeContextOf.hasOwnProperty("" + obj1Key));
var o = obj1GetMergeContextOf.prototype ? obj1GetMergeContextOf.prototype : obj1GetMergeContextOf;
if (obj2HasNoContext) {
Object.defineProperty(o, "" + obj1Key, {
configurable: true,

@@ -159,5 +152,4 @@ enumerable: false,

else {
var descriptor = Object.getOwnPropertyDescriptor(src._context, "" + destKey);
var o = destGetMergeContextOf.prototype ? destGetMergeContextOf.prototype : destGetMergeContextOf;
Object.defineProperty(o, "" + destKey, {
var descriptor = Object.getOwnPropertyDescriptor(obj2._context, "" + obj1Key);
Object.defineProperty(o, "" + obj1Key, {
configurable: true,

@@ -164,0 +156,0 @@ enumerable: false,

{
"name": "@henry781/deep-merge",
"version": "0.2.2",
"version": "0.2.3",
"description": "",

@@ -5,0 +5,0 @@ "main": "dist/api.js",

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