{"ScriptPreparationCode":null,"TestCases":[{"Name":"Custom","Code":"const a = {\r\n firstParam: {\r\n x: {\r\n id1: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n id3: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n },\r\n y: {\r\n id1: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n id3: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n },\r\n z: {\r\n id1: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n id3: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n }\r\n },\r\n secondParam: {\r\n x: {\r\n id1: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n id3: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n },\r\n y: {\r\n id1: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n id3: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n },\r\n z: {\r\n id1: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n id3: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n }\r\n },\r\n thirdParam: {\r\n x: {\r\n id1: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n id3: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n },\r\n y: {\r\n uuid1: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n id3: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n },\r\n z: {\r\n id1: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n id3: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n }\r\n }\r\n}\r\n\r\nconst b = {\r\n firstParam: {\r\n x: {\r\n id2: [\u0022somedata1\u0022, \u0022somedata2\u0022]\r\n },\r\n y: {\r\n id2: [\u0022somedata1\u0022, \u0022somedata2\u0022]\r\n },\r\n z: {\r\n id2: [\u0022somedata1\u0022, \u0022somedata2\u0022]\r\n }\r\n },\r\n secondParam: {\r\n x: {\r\n id2: [\u0022somedata1\u0022, \u0022somedata2\u0022]\r\n },\r\n y: {\r\n id2: [\u0022somedata1\u0022, \u0022somedata2\u0022]\r\n },\r\n z: {\r\n id2: [\u0022somedata1\u0022, \u0022somedata2\u0022]\r\n }\r\n },\r\n thirdParam: {\r\n x: {\r\n id2: [\u0022somedata1\u0022, \u0022somedata2\u0022]\r\n },\r\n y: {\r\n id2: [\u0022somedata1\u0022, \u0022somedata2\u0022]\r\n },\r\n z: {\r\n id2: [\u0022somedata1\u0022, \u0022somedata2\u0022]\r\n }\r\n }\r\n}\r\n\r\nfunction merge(target, source) { \r\n // The goal is to recreate _.merge\r\n // target is the object to be modified\r\n // source is the object to be merged\r\n // This is a recursive function, as the \r\n // source and target object can be deeply nested\r\n // eg: source = { a: { b: { c: 1 } } }\r\n // target = { a: { b: { d: 2 } } }\r\n // result = { a: { b: { c: 1, d: 2 } } }\r\n\r\n const recurse = (r_target, r_source) =\u003E {\r\n // Loop through the source object\r\n const r_sourceKeys = Object.keys(r_source ?? {});\r\n\r\n for (let i = 0; i \u003C r_sourceKeys.length; i\u002B\u002B) {\r\n const key = r_sourceKeys[i],\r\n value = r_source[key];\r\n\r\n const r_value = r_target[key];\r\n\r\n if (typeof r_value !== \u0027object\u0027)\r\n // add the value to the target object\r\n r_target[key] = value;\r\n \r\n // Recurse if the key is an object\r\n if (typeof r_source[key] === \u0027object\u0027)\r\n recurse(r_target[key], r_source[key]);\r\n }\r\n\r\n return r_target;\r\n }\r\n\r\n return recurse(target, source);\r\n}\r\n\r\nmerge(a, b)","IsDeferred":false},{"Name":"Lodash","Code":"const a = {\r\n firstParam: {\r\n x: {\r\n id1: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n id3: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n },\r\n y: {\r\n id1: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n id3: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n },\r\n z: {\r\n id1: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n id3: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n }\r\n },\r\n secondParam: {\r\n x: {\r\n id1: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n id3: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n },\r\n y: {\r\n id1: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n id3: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n },\r\n z: {\r\n id1: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n id3: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n }\r\n },\r\n thirdParam: {\r\n x: {\r\n id1: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n id3: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n },\r\n y: {\r\n uuid1: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n id3: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n },\r\n z: {\r\n id1: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n id3: [\u0022somedata1\u0022, \u0022somedata2\u0022],\r\n }\r\n }\r\n}\r\n\r\nconst b = {\r\n firstParam: {\r\n x: {\r\n id2: [\u0022somedata1\u0022, \u0022somedata2\u0022]\r\n },\r\n y: {\r\n id2: [\u0022somedata1\u0022, \u0022somedata2\u0022]\r\n },\r\n z: {\r\n id2: [\u0022somedata1\u0022, \u0022somedata2\u0022]\r\n }\r\n },\r\n secondParam: {\r\n x: {\r\n id2: [\u0022somedata1\u0022, \u0022somedata2\u0022]\r\n },\r\n y: {\r\n id2: [\u0022somedata1\u0022, \u0022somedata2\u0022]\r\n },\r\n z: {\r\n id2: [\u0022somedata1\u0022, \u0022somedata2\u0022]\r\n }\r\n },\r\n thirdParam: {\r\n x: {\r\n id2: [\u0022somedata1\u0022, \u0022somedata2\u0022]\r\n },\r\n y: {\r\n id2: [\u0022somedata1\u0022, \u0022somedata2\u0022]\r\n },\r\n z: {\r\n id2: [\u0022somedata1\u0022, \u0022somedata2\u0022]\r\n }\r\n }\r\n}\r\n\r\n_.merge(a, b)","IsDeferred":false}]}