@adyen/api-library
Version:
The Adyen API Library for NodeJS enables you to work with Adyen APIs.
44 lines • 1.87 kB
JavaScript
;
/*
* ######
* ######
* ############ ####( ###### #####. ###### ############ ############
* ############# #####( ###### #####. ###### ############# #############
* ###### #####( ###### #####. ###### ##### ###### ##### ######
* ###### ###### #####( ###### #####. ###### ##### ##### ##### ######
* ###### ###### #####( ###### #####. ###### ##### ##### ######
* ############# ############# ############# ############# ##### ######
* ############ ############ ############# ############ ##### ######
* ######
* #############
* ############
* Adyen NodeJS API Library
* Copyright (c) 2020 Adyen B.V.
* This file is open source and available under the MIT license.
* See the LICENSE file for more info.
*/
Object.defineProperty(exports, "__esModule", { value: true });
// eslint-disable-next-line @typescript-eslint/no-explicit-any
function mergeDeep(target, source) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const isObject = (obj) => obj && typeof obj === "object";
if (!isObject(target) || !isObject(source)) {
return source;
}
Object.keys(source).forEach(key => {
const targetValue = target[key];
const sourceValue = source[key];
if (Array.isArray(targetValue) && Array.isArray(sourceValue)) {
target[key] = targetValue.concat(sourceValue);
}
else if (isObject(targetValue) && isObject(sourceValue)) {
target[key] = mergeDeep({ ...targetValue }, sourceValue);
}
else {
target[key] = sourceValue;
}
});
return target;
}
exports.default = mergeDeep;
//# sourceMappingURL=mergeDeep.js.map