{"ScriptPreparationCode":"var fp = _.noConflict();\r\nvar im = Immutable;\r\n\r\nvar original = { x: { y: { z: 123 }}};\r\n\r\nfunction pureJs(obj, path, value) {\r\n const keys = Object.keys(path);\r\n let current = obj;\r\n\r\n for (let i = 0; i \u003C keys.length - 1; i\u002B\u002B) {\r\n const key = keys[i];\r\n if (!current[key]) {\r\n current[key] = {};\r\n }\r\n current = current[key];\r\n }\r\n\r\n current[keys[keys.length - 1]] = value;\r\n}","TestCases":[{"Name":"native (mutations)","Code":"pureJs(original, [\u0027x\u0027, \u0027y\u0027, \u0027z\u0027], 456)","IsDeferred":false},{"Name":"lodash (mutations)","Code":"_.set(original, [\u0027x\u0027, \u0027y\u0027, \u0027z\u0027], 456)","IsDeferred":false},{"Name":"lodash/fp","Code":"fp.set(original, [\u0027x\u0027, \u0027y\u0027, \u0027z\u0027], 456)","IsDeferred":false},{"Name":"immutable","Code":"im.setIn(original, [\u0027x\u0027, \u0027y\u0027, \u0027z\u0027], 456)","IsDeferred":false}]}