{"ScriptPreparationCode":"var MyObject = {\r\n description: \u0027Creates a deep copy of source, which should be an object or an array.\u0027,\r\n myNumber: 123456789,\r\n myBoolean: true,\r\n myDate: new Date(),\r\n myDate2: new Date(),\r\n myDate3: new Date(),\r\n myDate4: new Date(),\r\n myDate5: new Date(),\r\n myDate6: new Date(),\r\n myDate7: new Date(),\r\n myDate8: new Date(),\r\n myDate9: new Date(),\r\n myDate10: new Date(),\r\n jayson: {\r\n stringify: \u0027JSON.stringify() method converts a JavaScript value to a JSON string....\u0027,\r\n parse: \u0027JSON.parse() method parses a JSON string...\u0027\r\n },\r\n jayson2: {\r\n stringify: \u0027JSON.stringify() method converts a JavaScript value to a JSON string....\u0027,\r\n parse: \u0027JSON.parse() method parses a JSON string...\u0027\r\n },\r\n jayson3: {\r\n stringify: \u0027JSON.stringify() method converts a JavaScript value to a JSON string....\u0027,\r\n parse: \u0027JSON.parse() method parses a JSON string...\u0027\r\n },\r\n jayson4: {\r\n stringify: \u0027JSON.stringify() method converts a JavaScript value to a JSON string....\u0027,\r\n parse: \u0027JSON.parse() method parses a JSON string...\u0027\r\n },\r\n jayson5: {\r\n stringify: \u0027JSON.stringify() method converts a JavaScript value to a JSON string....\u0027,\r\n parse: \u0027JSON.parse() method parses a JSON string...\u0027\r\n },\r\n jayson6: {\r\n stringify: \u0027JSON.stringify() method converts a JavaScript value to a JSON string....\u0027,\r\n parse: \u0027JSON.parse() method parses a JSON string...\u0027\r\n },\r\n jayson7: {\r\n stringify: \u0027JSON.stringify() method converts a JavaScript value to a JSON string....\u0027,\r\n parse: \u0027JSON.parse() method parses a JSON string...\u0027\r\n },\r\n jayson8: {\r\n stringify: \u0027JSON.stringify() method converts a JavaScript value to a JSON string....\u0027,\r\n parse: \u0027JSON.parse() method parses a JSON string...\u0027\r\n }\r\n};\r\n\r\nvar myCopy = null;\r\n","TestCases":[{"Name":"Lodash cloneDeep","Code":"myCopy = _.cloneDeep(MyObject);","IsDeferred":false},{"Name":"Lodash clone","Code":"myCopy = _.clone(MyObject);","IsDeferred":false},{"Name":"new Object","Code":"myCopy = {...MyObject}","IsDeferred":false},{"Name":"Custom deep spread","Code":"myCopy = {...MyObject}\r\nmyCopy.jayson = {...myCopy.jayson}\r\nmyCopy.jayson2 = {...myCopy.jayson2}\r\nmyCopy.jayson3 = {...myCopy.jayson3}\r\nmyCopy.jayson4 = {...myCopy.jayson4}\r\nmyCopy.jayson5 = {...myCopy.jayson5}\r\nmyCopy.jayson6 = {...myCopy.jayson6}\r\nmyCopy.jayson7 = {...myCopy.jayson7}\r\nmyCopy.jayson7 = {...myCopy.jayson8}","IsDeferred":false},{"Name":"Object assign","Code":"myCopy = Object.assign({}, MyObject)","IsDeferred":false},{"Name":"Custom deep assign","Code":"myCopy = Object.assign({}, MyObject)\r\nmyCopy.jayson = Object.assign({}, myCopy.jayson)\r\nmyCopy.jayson2 = Object.assign({}, myCopy.jayson2)\r\nmyCopy.jayson3 = Object.assign({}, myCopy.jayson3)\r\nmyCopy.jayson4 = Object.assign({}, myCopy.jayson4)\r\nmyCopy.jayson5 = Object.assign({}, myCopy.jayson5)\r\nmyCopy.jayson6 = Object.assign({}, myCopy.jayson6)\r\nmyCopy.jayson7 = Object.assign({}, myCopy.jayson7)\r\nmyCopy.jayson7 = Object.assign({}, myCopy.jayson8)","IsDeferred":false}]}