From 657098478985640ef03849170725e96e9f0ee4bd Mon Sep 17 00:00:00 2001 From: Naseem Date: Fri, 11 Sep 2020 13:19:07 -0400 Subject: [PATCH] fix: use Object.entries in lieu of for...in to ensure we are iterating own properties only Signed-off-by: Naseem --- packages/opentelemetry-core/src/utils/deep-merge.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/opentelemetry-core/src/utils/deep-merge.ts b/packages/opentelemetry-core/src/utils/deep-merge.ts index d40dc30f3e..80e68d1d5d 100644 --- a/packages/opentelemetry-core/src/utils/deep-merge.ts +++ b/packages/opentelemetry-core/src/utils/deep-merge.ts @@ -22,14 +22,14 @@ export function deepMerge( if (maxDepth === 0) { throw new Error('Max depth exceeded.'); } - for (const prop in source) { + for (const [prop, value] of Object.entries(source)) { if (bothPropsAreArrays(target, source, prop)) { merged[prop] = []; - merged[prop] = source[prop]; + merged[prop] = value; } else if (bothPropsAreObjects(target, source, prop)) { - merged[prop] = deepMerge(target[prop], source[prop], maxDepth - 1); + merged[prop] = deepMerge(target[prop], value, maxDepth - 1); } else { - merged[prop] = source[prop]; + merged[prop] = value; } } return merged;