{"ScriptPreparationCode":"var data = { items: {}, count: 0, keys: [] }\r\n\r\nfor (let index = 0; index \u003C 100; index\u002B\u002B) {\r\n data.items[index] = { id: index, name: \u0060ITEM-${index}\u0060, value: Math.random() }\r\n data.count\u002B\u002B\r\n data.keys.push(index)\r\n}\r\n\r\nvar NEW_ITEM_ID = data.count \u002B1\r\n\r\nvar produce = immer.default","TestCases":[{"Name":"immer","Code":"var x = 0;\r\ndata = produce(data, draft =\u003E {\r\n draft.keys.forEach(i =\u003E x \u002B= draft.items[i].id);\r\n})","IsDeferred":false},{"Name":"shallow copy","Code":"var x = 0;\r\ndata.keys.forEach(i =\u003E x \u002B= data.items[i].id);","IsDeferred":false}]}