{"ScriptPreparationCode":"var obj = [\r\n {\r\n \u0022nodeId\u0022: \u0022snCanvasAppshellLayout\u0022,\r\n \u0022propName\u0022: \u0022activeExperienceChromeSettings\u0022,\r\n \u0022derived\u0022: false\r\n },\r\n {\r\n \u0022nodeId\u0022: \u0022snCanvasAppshellLayout\u0022,\r\n \u0022propName\u0022: \u0022selectedContent\u0022,\r\n \u0022derived\u0022: false\r\n },\r\n {\r\n \u0022nodeId\u0022: \u0022snCanvasAppshellLayout\u0022,\r\n \u0022propName\u0022: \u0022canvasSession\u0022,\r\n \u0022derived\u0022: false\r\n },\r\n {\r\n \u0022nodeId\u0022: \u0022snCanvasAppshellLayout\u0022,\r\n \u0022propName\u0022: \u0022clientInfo\u0022,\r\n \u0022derived\u0022: false\r\n },\r\n {\r\n \u0022nodeId\u0022: \u0022snCanvasAppshellLayout\u0022,\r\n \u0022propName\u0022: \u0022experienceConfigs\u0022,\r\n \u0022derived\u0022: false\r\n },\r\n {\r\n \u0022nodeId\u0022: \u0022snCanvasAppshellLayout\u0022,\r\n \u0022propName\u0022: \u0022experiencesData\u0022,\r\n \u0022derived\u0022: false\r\n },\r\n {\r\n \u0022nodeId\u0022: \u0022snCanvasAppshellLayout\u0022,\r\n \u0022propName\u0022: \u0022routeConfig\u0022,\r\n \u0022derived\u0022: false\r\n },\r\n {\r\n \u0022nodeId\u0022: \u0022snCanvasAppshellLayout\u0022,\r\n \u0022propName\u0022: \u0022selectedContentMap\u0022,\r\n \u0022derived\u0022: false\r\n },\r\n {\r\n \u0022nodeId\u0022: \u0022snCanvasAppshellLayout\u0022,\r\n \u0022propName\u0022: \u0022showUcm\u0022,\r\n \u0022derived\u0022: false\r\n },\r\n {\r\n \u0022nodeId\u0022: \u0022snCanvasAppshellLayout\u0022,\r\n \u0022propName\u0022: \u0022ucmConfig\u0022,\r\n \u0022derived\u0022: false\r\n }\r\n]","TestCases":[{"Name":"spread operator","Code":"var res = {...obj}","IsDeferred":false},{"Name":"object assign","Code":"var res = Object.assign({}, obj)","IsDeferred":false},{"Name":"shallow copy","Code":"function shallowCopy(...objs) {\r\n\tconst res = Object.create(null);\r\n for (const obj of objs) {\r\n for (const key in obj) {\r\n \t\tres[key] = obj[key];\r\n \t}\r\n }\r\n\tres.hasOwnProperty = (prop) =\u003E {\r\n\t\treturn prop in res;\r\n\t}\r\n\treturn res;\r\n}\r\nvar res = shallowCopy(obj)","IsDeferred":false}]}