ng-wizard
Version:
Angular ng-wizard - Angular wizard | stepper
14 lines • 2.29 kB
JavaScript
// https://gist.github.com/ahtcx/0cd94e62691f539160b32ecda18af3d6
// Merge a `source` object to a `target` recursively
export function merge(target, source) {
// Iterate through `source` properties and if an `Object` set property to merge of `target` and `source` properties
for (let key of Object.keys(source)) {
if (source[key] instanceof Object && key in target) {
Object.assign(source[key], merge(target[key], source[key]));
}
}
// Join `target` and modified `source`
Object.assign(target || {}, source);
return target;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctd2l6YXJkL3NyYy9saWIvdXRpbHMvZnVuY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlFQUFpRTtBQUNqRSxvREFBb0Q7QUFDcEQsTUFBTSxVQUFVLEtBQUssQ0FBQyxNQUFXLEVBQUUsTUFBVztJQUM1QyxtSEFBbUg7SUFDbkgsS0FBSyxJQUFJLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDcEMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksTUFBTSxJQUFJLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNuRCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsQ0FBQztJQUNILENBQUM7SUFFRCxzQ0FBc0M7SUFDdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRXBDLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9haHRjeC8wY2Q5NGU2MjY5MWY1MzkxNjBiMzJlY2RhMThhZjNkNlxyXG4vLyBNZXJnZSBhIGBzb3VyY2VgIG9iamVjdCB0byBhIGB0YXJnZXRgIHJlY3Vyc2l2ZWx5XHJcbmV4cG9ydCBmdW5jdGlvbiBtZXJnZSh0YXJnZXQ6IGFueSwgc291cmNlOiBhbnkpIHtcclxuICAvLyBJdGVyYXRlIHRocm91Z2ggYHNvdXJjZWAgcHJvcGVydGllcyBhbmQgaWYgYW4gYE9iamVjdGAgc2V0IHByb3BlcnR5IHRvIG1lcmdlIG9mIGB0YXJnZXRgIGFuZCBgc291cmNlYCBwcm9wZXJ0aWVzXHJcbiAgZm9yIChsZXQga2V5IG9mIE9iamVjdC5rZXlzKHNvdXJjZSkpIHtcclxuICAgIGlmIChzb3VyY2Vba2V5XSBpbnN0YW5jZW9mIE9iamVjdCAmJiBrZXkgaW4gdGFyZ2V0KSB7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24oc291cmNlW2tleV0sIG1lcmdlKHRhcmdldFtrZXldLCBzb3VyY2Vba2V5XSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gSm9pbiBgdGFyZ2V0YCBhbmQgbW9kaWZpZWQgYHNvdXJjZWBcclxuICBPYmplY3QuYXNzaWduKHRhcmdldCB8fCB7fSwgc291cmNlKTtcclxuXHJcbiAgcmV0dXJuIHRhcmdldDtcclxufVxyXG4iXX0=