{"ScriptPreparationCode":"var data = []\r\n\r\nfor (var i = 1; i \u003C= 50000; i\u002B\u002B) {\r\n\tdata.push({\r\n\t\tid: i,\r\n\t\tvalue: \u0027test\u0027,\r\n \totherValue: \u0027other test\u0027\r\n\t})\r\n}\r\n\r\nvar realData = {\r\n\ttoPropagate: {\r\n \tattributes: {\r\n \tid: { name: \u00271id\u0027 },\r\n \tvalue: { name: \u00272value\u0027 },\r\n id: { name: \u00273id\u0027 },\r\n \tvalue: { name: \u00274value\u0027 },\r\n \tid: { name: \u00275id\u0027 },\r\n \tvalue: { name: \u00276value\u0027 },\r\n id: { name: \u00277id\u0027 },\r\n \tvalue: { name: \u00278value\u0027 },\r\n \tid: { name: \u00279id\u0027 },\r\n \tvalue: { name: \u002710value\u0027 },\r\n id: { name: \u002711id\u0027 },\r\n \tvalue: { name: \u002712value\u0027 },\r\n \tid: { name: \u002713id\u0027 },\r\n \tvalue: { name: \u002714value\u0027 },\r\n id: { name: \u002715id\u0027 },\r\n \tvalue: { name: \u002716value\u0027 },\r\n \tid: { name: \u002717id\u0027 },\r\n \tvalue: { name: \u002718value\u0027 },\r\n id: { name: \u002719id\u0027 },\r\n \tvalue: { name: \u002720value\u0027 },\r\n \tid: { name: \u002721id\u0027 },\r\n \tvalue: { name: \u002722value\u0027 },\r\n id: { name: \u002723id\u0027 },\r\n \tvalue: { name: \u002724value\u0027 },\r\n \tid: { name: \u002725id\u0027 },\r\n \tvalue: { name: \u002726value\u0027 },\r\n id: { name: \u002727id\u0027 },\r\n \tvalue: { name: \u002728value\u0027 },\r\n \tid: { name: \u002729id\u0027 },\r\n \tvalue: { name: \u002730value\u0027 },\r\n id: { name: \u002731id\u0027 },\r\n \tvalue: { name: \u002732value\u0027 },\r\n \tid: { name: \u002733id\u0027 },\r\n \tvalue: { name: \u002734value\u0027 },\r\n id: { name: \u002735id\u0027 },\r\n \tvalue: { name: \u002736value\u0027 },\r\n \tid: { name: \u002737id\u0027 },\r\n \tvalue: { name: \u002738value\u0027 },\r\n id: { name: \u002739id\u0027 },\r\n \tvalue: { name: \u002740value\u0027 },\r\n \tid: { name: \u002741id\u0027 },\r\n \tvalue: { name: \u002742value\u0027 },\r\n id: { name: \u002743id\u0027 },\r\n \tvalue: { name: \u002744value\u0027 },\r\n \tid: { name: \u002745id\u0027 },\r\n \tvalue: { name: \u002746value\u0027 },\r\n id: { name: \u002747id\u0027 },\r\n \tvalue: { name: \u002748value\u0027 },\r\n \tid: { name: \u002749id\u0027 },\r\n \tvalue: { name: \u002750value\u0027 },\r\n id: { name: \u002751id\u0027 },\r\n \tvalue: { name: \u002752value\u0027 },\r\n \tid: { name: \u002753id\u0027 },\r\n \tvalue: { name: \u002754value\u0027 },\r\n id: { name: \u002755id\u0027 },\r\n \tvalue: { name: \u002756value\u0027 }\r\n }\r\n },\r\n \tdata\r\n}\r\n\r\nfunction propagate (realData) {\r\n\treturn dataItem =\u003E {\r\n \treturn R.assoc(\u0027propagated\u0027, realData.toPropagate, dataItem)\r\n }\r\n}\r\n\r\nfunction propagateDeep (realData) {\r\n\treturn dataItem =\u003E {\r\n \tdataItem.propagated = _.cloneDeep(realData.toPropagate)\r\n \treturn dataItem\r\n }\r\n}\r\n\r\nfunction propagateAll () {\r\n\treturn R.pipe(\r\n\t\tR.prop(\u0027data\u0027),\r\n\t\tR.map(propagate(realData)),\r\n\t \tdata =\u003E { return R.assoc(\u0027data\u0027, data, realData) }\r\n\t)(realData)\r\n}\r\n\r\nfunction propagateAllDeep () {\r\n\treturn R.pipe(\r\n\t\tR.prop(\u0027data\u0027),\r\n\t\tR.map(propagateDeep(realData)),\r\n\t \tdata =\u003E { return R.assoc(\u0027data\u0027, data, realData) }\r\n\t)(realData)\r\n}\r\n\r\nfunction doNotPropagate () {\r\n \treturn realData\r\n}\r\n\r\n","TestCases":[{"Name":"Without propagate","Code":"doNotPropagate()","IsDeferred":false},{"Name":"Propagate","Code":"propagateAll()","IsDeferred":false},{"Name":"Without propagate2","Code":"doNotPropagate()","IsDeferred":false},{"Name":"Propagate DEEP","Code":"propagateAllDeep()","IsDeferred":false}]}