{"ScriptPreparationCode":"function mergeDeep(target, source) {\r\n const isObject = (obj) =\u003E obj \u0026\u0026 typeof obj === \u0027object\u0027;\r\n\r\n if (!isObject(target) || !isObject(source)) {\r\n return source;\r\n }\r\n\r\n Object.keys(source).forEach(key =\u003E {\r\n const targetValue = target[key];\r\n const sourceValue = source[key];\r\n\r\n if (Array.isArray(targetValue) \u0026\u0026 Array.isArray(sourceValue)) {\r\n target[key] = targetValue.concat(sourceValue);\r\n } else if (isObject(targetValue) \u0026\u0026 isObject(sourceValue)) {\r\n target[key] = mergeDeep(Object.assign({}, targetValue), sourceValue);\r\n } else {\r\n target[key] = sourceValue;\r\n }\r\n });\r\n\r\n return target;\r\n}\r\n\r\nvar state = {\r\n flag: false,\r\n text: \u0027Default state\u0027,\r\n nested1: {\r\n flag: false,\r\n value: 1,\r\n text: \u0027Nested1\u0027,\r\n deep1: {\r\n flag: false,\r\n value: 1,\r\n text: \u0027Deep1\u0027,\r\n },\r\n deep2: {\r\n flag: false,\r\n value: 1,\r\n text: \u0027Deep2\u0027,\r\n deeper: {\r\n text: \u0027Very deep\u0027,\r\n value: 1\r\n }\r\n },\r\n },\r\n nested2: {\r\n flag: false,\r\n value: 2,\r\n text: \u0027Nested2\u0027,\r\n\t deep1: {\r\n flag: false,\r\n value: 1,\r\n text: \u0027Deep1\u0027,\r\n },\r\n deep2: {\r\n flag: false,\r\n value: 1,\r\n text: \u0027Deep2\u0027,\r\n deeper: {\r\n text: \u0027Very deep\u0027,\r\n value: 1\r\n }\r\n }, \r\n },\r\n \tnested3: {\r\n flag: false,\r\n value: 3,\r\n text: \u0027Nested3\u0027,\r\n\t deep1: {\r\n flag: false,\r\n value: 1,\r\n text: \u0027Deep1\u0027,\r\n },\r\n deep2: {\r\n flag: false,\r\n value: 1,\r\n text: \u0027Deep2\u0027,\r\n deeper: {\r\n text: \u0027Very deep\u0027,\r\n value: 1,\r\n flag: false\r\n }\r\n },\r\n },\r\n};\r\n\r\nvar patch = {\r\n flag: true,\r\n nested1: {\r\n flag: true\r\n },\r\n nested2: {\r\n deep1: {\r\n flag: true\r\n }\r\n },\r\n nested3: {\r\n deep2: {\r\n deeper: {\r\n flag: true\r\n }\r\n }\r\n }\r\n}\r\n\r\n","TestCases":[{"Name":"asdasdas","Code":"mergeDeep({}, state, patch);","IsDeferred":false},{"Name":"dadadasdas","Code":"mergeDeep({}, state, patch);","IsDeferred":false}]}