{"ScriptPreparationCode":"var { set, lensPath } = R\r\n\r\nvar object = { one: 1, two: 2, three: 3, four: 4, five: 5, array: Array.from({ length: 10000 }).map(() =\u003E Math.random()) }\r\n\r\nvar INITIAL_DATA = {\r\n one: { two: { three: { four: { five: 5, object }, object }, object }, object },\r\n two: { three: { four: { five: 5, object }, object }, object },\r\n three: { four: { five: 5, object }, object },\r\n four: { five: 5, object },\r\n five: 5\r\n}\r\n\r\nvar produce = immer.default","TestCases":[{"Name":"immer","Code":"data = produce(INITIAL_DATA, draft =\u003E {\r\n draft.one.two.three.four.five = 0;\r\n})","IsDeferred":false},{"Name":"shallow copy","Code":"data = {\r\n one: { \r\n two: {\r\n \tthree: {\r\n \tfour: {\r\n \tfive: 0,\r\n \t...INITIAL_DATA.one.two.three.four\r\n },\r\n \t\t...INITIAL_DATA.one.two.three \r\n },\r\n \t...INITIAL_DATA.one.two\r\n },\r\n \t...INITIAL_DATA.one\r\n },\r\n ...INITIAL_DATA\r\n}","IsDeferred":false},{"Name":"ramda lens","Code":"data = set(lensPath([\u0027one\u0027, \u0027two\u0027, \u0027three\u0027, \u0027four\u0027, \u0027five\u0027]), 0, INITIAL_DATA)","IsDeferred":false}]}