{"ScriptPreparationCode":"let state = {\r\n channel: {\r\n \u0027102\u0027: {\r\n data: {\r\n id: 102,\r\n isFavorite: false,\r\n name: \u0027102\u0027,\r\n },\r\n },\r\n },\r\n};\r\n\r\nlet payload = [\r\n {\r\n id: 100,\r\n isFavorite: false,\r\n name: \u0027100\u0027,\r\n },\r\n {\r\n id: 101,\r\n isFavorite: true,\r\n name: \u0027101\u0027,\r\n }\r\n];\r\n\r\nconst omitStoreEntities = (entity) =\u003E _.omit(entity, [\u0027isFavorite\u0027, \u0027position\u0027]);\r\n\r\nfunction nativeJS() {\r\n const mapped = payload.reduce(\r\n (acc, channel) =\u003E ({\r\n ...acc,\r\n [channel.id]: {\r\n data: omitStoreEntities(channel),\r\n status: \u0027loaded\u0027,\r\n error: null,\r\n },\r\n }),\r\n {}\r\n );\r\n\r\n return {\r\n ...state,\r\n ...mapped,\r\n };\r\n}\r\n\r\nconst setChannel = R.compose(\r\n R.assoc,\r\n R.toString\r\n);\r\n\r\nfunction ramdaF() {\r\n return R.compose(\r\n R.merge(state),\r\n R.reduce(\r\n (acc, channel) =\u003E\r\n setChannel(channel.id)(\r\n {\r\n data: omitStoreEntities(channel),\r\n status: \u0027loaded\u0027,\r\n error: null,\r\n },\r\n acc\r\n ),\r\n {}\r\n )\r\n )(payload);\r\n};","TestCases":[{"Name":"Native","Code":"nativeJS()","IsDeferred":false},{"Name":"R","Code":"ramdaF()","IsDeferred":false}]}