{"ScriptPreparationCode":"// Initial state\r\nvar state = {\r\n visible: false,\r\n lazy: { test: true, number: 44 },\r\n count: 1\r\n}\r\n\r\n// Define reducers ahead of time\r\n\r\nvar spread = state =\u003E ({\r\n ...state,\r\n lazy: {\r\n ...state.lazy,\r\n test: !state.lazy.test\r\n }\r\n})\r\n\r\nvar patchinko = state =\u003E\r\n O(state, {\r\n lazy: O({\r\n test: O(test =\u003E !test),\r\n }),\r\n })\r\n\r\nvar lens = R.lensPath([\u0022lazy\u0022, \u0022test\u0022])\r\nvar ramda = state =\u003E {\r\n return R.over(lens, test =\u003E !test, state)\r\n}\r\n","TestCases":[{"Name":"Object spread","Code":"var data = spread(state)","IsDeferred":false},{"Name":"Patchinko","Code":"var data = patchinko(state)","IsDeferred":false},{"Name":"Ramda Lens","Code":"var data = ramda(state)","IsDeferred":false}]}