{"ScriptPreparationCode":null,"TestCases":[{"Name":"lodash merge","Code":"var a = { a: \u0027oh\u0027, b: \u0027my\u0027, c: { a: \u0027a\u0027, b: { c: \u0027c\u0027 } } };\r\nvar b = { c: { b: { d: \u0027a\u0027 }, c: { d: \u0027d\u0027 } } };\r\nvar c = _.merge(a, b);","IsDeferred":false},{"Name":"deepmerge","Code":"const combineMerge = (target, source, options) =\u003E {\r\n\tconst destination = target.slice()\r\n\r\n\tsource.forEach((item, index) =\u003E {\r\n\t\tif (typeof destination[index] === \u0027undefined\u0027) {\r\n\t\t\tdestination[index] = options.cloneUnlessOtherwiseSpecified(item, options)\r\n\t\t} else if (options.isMergeableObject(item)) {\r\n\t\t\tdestination[index] = merge(target[index], item, options)\r\n\t\t} else if (target.indexOf(item) === -1) {\r\n\t\t\tdestination.push(item)\r\n\t\t}\r\n\t})\r\n\treturn destination\r\n}\r\n\r\nvar a = { a: \u0027oh\u0027, b: \u0027my\u0027, c: { a: \u0027a\u0027, b: { c: \u0027c\u0027 } } };\r\nvar b = { c: { b: { d: \u0027a\u0027 }, c: { d: \u0027d\u0027 } } };\r\nvar c = deepmerge(a, b, { arrayMerge: combineMerge });","IsDeferred":false}]}