{"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 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 test: [789, 456, 123],\r\n htest: [123, 456, 789],\r\n }\r\n};\r\n\r\nconst manual = (obj) =\u003E ({\r\n ...obj.description \u0026\u0026 {\r\n description: obj.description,\r\n },\r\n ...obj.myBoolean \u0026\u0026 {\r\n myBoolean: obj.myBoolean,\r\n },\r\n ...obj.myNumber \u0026\u0026 {\r\n myNumber: obj.myNumber,\r\n },\r\n ...obj.jayson \u0026\u0026 {\r\n jayson: {...obj.jayson}\r\n }\r\n});","TestCases":[{"Name":"Lodash","Code":"const myCopy = _.cloneDeep(MyObject);","IsDeferred":false},{"Name":"Custom","Code":"const myCopy = manual(MyObject);","IsDeferred":false},{"Name":"Stringify parse","Code":"const myCopy = JSON.parse(JSON.stringify(MyObject));","IsDeferred":false}]}