{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-livelyenergy/demos/contextjs/showperformancelayer.js"],"names":["cop","pt","ShowPerformance","measure","classObj","methodName","uiselector","console","log","layeredMethods","start","performance","now","bounds","getBoundingClientRect","ui","document","body","querySelector","createElement","id","position","innerHTML","result","proceed","apply","arguments","then","label","textContent","Math","round","style","color","appendChild","lively","setPosition","right","bottom","layer","window","refineClass","beGlobal","ShowPerformance1"],"mappings":";;;;;;;;;AAAYA,S;;AACJC,Q,wBAAAA,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,YAAMC,eAAN,CAAsB;;AAEnC,eAAOC,OAAP,CAAeC,QAAf,EAAyBC,UAAzB,EAAqCC,UAArC,EAAiD;AAC/CC,kBAAQC,GAAR,CAAY,cAAZ;AACA,cAAIC,iBAAiB,EAArB;;AAEAA,yBAAeJ,UAAf,IAA8B,YAAW;AACvC,gBAAIK,QAAQC,YAAYC,GAAZ,EAAZ;AACA,gBAAIC,SAAS,KAAKC,qBAAL,EAAb;;AAEA,gBAAIC,KAAKC,SAASC,IAAT,CAAcC,aAAd,CAA4B,mBAA5B,CAAT;AACA,gBAAI,CAACH,EAAL,EAAS;AACPA,sCAAKC,SAASG,aAAT,CAAuB,KAAvB,CAAL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACAJ,iBAAGK,EAAH,GAAQ,kBAAR;AACAL,iBAAGM,QAAH,GAAc,UAAd;AACD;AACDN,eAAGO,SAAH,GAAe,EAAf;;AAEA,gBAAIZ,QAAQC,YAAYC,GAAZ,EAAZ;AACA,gBAAIW,SAASvB,IAAIwB,OAAJ,CAAYC,KAAZ,CAAkB,IAAlB,EAAwBC,SAAxB,CAAb;AACA,gBAAIH,OAAOI,IAAX,EAAiB;AACfJ,qBAAOI,IAAP,CAAY,MAAM;AAClB;;AAEA,oBAAIC,2BAAQZ,SAASG,aAAT,CAAuB,KAAvB,CAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAJ;AACAS,sBAAMC,WAAN,GAAoB,KAAKC,KAAKC,KAAL,CAAWpB,YAAYC,GAAZ,KAAoBF,KAA/B,CAAL,GAA6C,IAAjE;AACAkB,sBAAMI,KAAN,CAAYC,KAAZ,GAAoB,KAApB;AACAlB,mBAAGmB,WAAH,CAAeN,KAAf;AACAO,uBAAOC,WAAP,CAAmBrB,EAAnB,EAAuBd,GAAGY,OAAOwB,KAAP,GAAe,GAAlB,EAAsBxB,OAAOyB,MAAP,GAAgB,EAAtC,CAAvB;AAEC,eATD;AAUD;AACD,mBAAOf,MAAP;AACD,WA3BD;AA4BA;;AAEA;;AAEA,cAAIgB,QAAQvC,IAAIuC,KAAJ,CAAUC,MAAV,EAAkB;;AAE9B;AACA;AACA;AACA;AACA;;AANY,WAAZ,CAQAD,MAAME,WAAN,CAAkBrC,QAAlB,EAA4BK,cAA5B;;AAEA8B,gBAAMG;AACN;AADA;AAED;;AAlDkC;;yBAAhBxC,e;;;;;;;;;;;;;;;;AAwDrBsC,aAAOG,gBAAP,GAA0BzC,eAA1B","file":"showperformancelayer.js","sourcesContent":["import * as cop  from \"src/client/ContextJS/src/contextjs.js\";\nimport {pt} from 'src/client/graphics.js';\n\nexport default class ShowPerformance {\n\n  static measure(classObj, methodName, uiselector) {\n    console.log(\"PERF Hello 2\")\n    var layeredMethods = {}\n\n    layeredMethods[methodName]  = function() {\n      var start = performance.now()\n      var bounds = this.getBoundingClientRect()\n\n      var ui = document.body.querySelector(\"#performanceLayer\")\n      if (!ui) {\n        ui = document.createElement(\"div\")\n        ui.id = \"performanceLayer\"\n        ui.position = \"absolute\"\n      }\n      ui.innerHTML = \"\"\n\n      var start = performance.now()\n      var result = cop.proceed.apply(this, arguments)\n      if (result.then) {\n        result.then(() => {\n        // lively.notify(\"Hi! 2\")\n\n        var label = document.createElement(\"div\")\n        label.textContent = \"\" + Math.round(performance.now() - start) + \"ms\"\n        label.style.color = \"red\"\n        ui.appendChild(label)\n        lively.setPosition(ui, pt(bounds.right - 150,bounds.bottom - 30))\n\n        })\n      }\n      return result\n    }\n    // HAHA\n\n    // #TODO I don't trust the module to be a singleton.... yet\n\n    var layer = cop.layer(window, \"ShowPerformanceLayer\")\n\n    // Object.keys(layer).filter(ea => {\n  \t // return !ea.match(\"_\")\n    // }).forEach(ea => {\n\t   // delete layer[ea]\n    // })\n\n    layer.refineClass(classObj, layeredMethods)\n\n    layer.beGlobal()\n    // ShowPerformanceLayer.beNotGlobal()\n  }\n\n}\n\n\n\nwindow.ShowPerformance1 = ShowPerformance\n"]}