{"ScriptPreparationCode":"function prop(n,r){return void 0===r?r=\u003Eprop(n,r):r[n]}function ascend(n,r,t){if(1===arguments.length)return function(r,t){return ascend(n,r,t)};if(2===arguments.length)return function(t){return ascend(n,r,t)};var e=n(r),u=n(t);return e\u003Cu?-1:e\u003Eu?1:0}function descend(n,r,t){if(1===arguments.length)return function(r,t){return descend(n,r,t)};if(2===arguments.length)return function(t){return descend(n,r,t)};var e=n(r),u=n(t);return e\u003Eu?-1:e\u003Cu?1:0}function sortWith(r,t){if(1===arguments.length)return function(t){return sortWith(r,t)};var n=r.length;return Array.prototype.slice.call(t,0).sort(function(t,o){for(var e=0,i=0;0===e\u0026\u0026i\u003Cn;i\u002B\u002B)e=r[i](t,o);return e})}\r\n\r\nvar data = [...Array(3000)].map((v, idx) =\u003E {\r\n return {\r\n value: parseInt(Math.random() * 100, 10),\r\n age: parseInt(Math.random() * 100, 10)\r\n }\r\n});\r\n\r\nvar valueNameSortR = R.sortWith([\r\n R.descend(R.prop(\u0027age\u0027)),\r\n R.ascend(R.prop(\u0027value\u0027))\r\n]);\r\n\r\nvar valueNameSort = sortWith([\r\n descend(prop(\u0027age\u0027)),\r\n ascend(prop(\u0027value\u0027))\r\n]);","TestCases":[{"Name":"ramda sortWith","Code":"valueNameSortR(data)","IsDeferred":false},{"Name":"custom impl","Code":"valueNameSort(data)","IsDeferred":false}]}