{"ScriptPreparationCode":"var state = {\r\n hasChanged: false,\r\n name: \u0027Default state\u0027,\r\n tags: [],\r\n nested: {\r\n hasChanged: false,\r\n name: \u0027Default nested state\u0027,\r\n tags: [],\r\n nested: {\r\n hasChanged: false,\r\n name: \u0027\u0027,\r\n tags: []\r\n },\r\n map: new Map()\r\n },\r\n map: new Map()\r\n};","TestCases":[{"Name":"// sequential calls","Code":"const s7 = iassign(state, s =\u003E {\r\n s.hasChanged = true;\r\n return s;\r\n});\r\n\r\nconst s8 = iassign(s7, s =\u003E s.nested, nested =\u003E {\r\n nested.hasChanged = true;\r\n return nested;\r\n});\r\n\r\nconst s9 = iassign(s8, s =\u003E s.tags, tags =\u003E {\r\n tags.push(\u0027new tag\u0027);\r\n return tags;\r\n});","IsDeferred":false},{"Name":"// nested calls","Code":"const s10 = iassign(state, s =\u003E {\r\n s.hasChanged = true;\r\n \r\n s.nested = iassign(s.nested, nested =\u003E {\r\n nested.hasChanged = true;\r\n return nested;\r\n });\r\n \r\n s.tags = iassign(s.tags, tags =\u003E {\r\n tags.push(\u0027new tag\u0027);\r\n return tags;\r\n });\r\n \r\n return s;\r\n});","IsDeferred":false}]}