{"version":3,"sources":["services/monitoring/video-player/main.es6.js"],"names":["create","storageData","throttle_interval","throttle","func","ms","isThrottled","savedArgs","savedThis","wrapper","arguments","apply","setTimeout","save","length","api","annals","post","clientId","data","throttleSave","log","time","Date","getTime","push","bus","sync"],"mappings":";;;;YAuDgBA,M,GAAAA,M;;;;;;;;;;;;AApDhB,QAAIC,cAAc,EAAlB;AACA,QAAMC,oBAAoB,IAA1B;;AAEA,aAASC,QAAT,CAAkBC,IAAlB,EAAwBC,EAAxB,EAA4B;;AAExB,YAAIC,cAAc,KAAlB;AAAA,YACIC,SADJ;AAAA,YAEIC,SAFJ;;AAIA,iBAASC,OAAT,GAAmB;;AAEf,gBAAIH,WAAJ,EAAiB;AACbC,4BAAYG,SAAZ;AACAF,4BAAY,IAAZ;AACA;AACH;;AAEDJ,iBAAKO,KAAL,CAAW,IAAX,EAAiBD,SAAjB;;AAEAJ,0BAAc,IAAd;;AAEAM,uBAAW,YAAY;AACnBN,8BAAc,KAAd;AACA,oBAAIC,SAAJ,EAAe;AACXE,4BAAQE,KAAR,CAAcH,SAAd,EAAyBD,SAAzB;AACAA,gCAAYC,YAAY,IAAxB;AACH;AACJ,aAND,EAMGH,EANH;AAOH;;AAED,eAAOI,OAAP;AACH;AACD,aAASI,IAAT,GAAgB;;AAEZ,YAAGZ,YAAYa,MAAZ,GAAqB,CAAxB,EAA0B;AACtBC,0BAAIC,MAAJ,CAAWC,IAAX,CAAgBC,MAAhB,EAA0B,wBAA1B,EAAoD;AAChDC,sBAAMlB;AAD0C,aAApD;AAGH;;AAEDA,sBAAc,EAAd;AACH;;AAED,QAAImB,eAAejB,SAASU,IAAT,EAAeX,iBAAf,CAAnB;;AAEA,aAASmB,GAAT,CAAaF,IAAb,EAAmB;AACfA,aAAKG,IAAL,GAAa,IAAIC,IAAJ,EAAD,CAAaC,OAAb,EAAZ;AACAvB,oBAAYwB,IAAZ,CAAiBN,IAAjB;AACAC;AACH;;AAGM,aAASpB,MAAT,GAAkB;;AAErB0B,sBACKC,IADL,CACU,8BADV,EAC0CN,GAD1C;AAEH","file":"services/monitoring/video-player/main.js","sourceRoot":"/source/","sourcesContent":["import api from 'api';\r\nimport bus from 'bus';\r\nimport {id as clientId} from 'modules/me';\r\nlet storageData = [];\r\nconst throttle_interval = 5000;\r\n\r\nfunction throttle(func, ms) {\r\n\r\n var isThrottled = false,\r\n savedArgs,\r\n savedThis;\r\n\r\n function wrapper() {\r\n\r\n if (isThrottled) { // (2)\r\n savedArgs = arguments;\r\n savedThis = this;\r\n return;\r\n }\r\n\r\n func.apply(this, arguments); // (1)\r\n\r\n isThrottled = true;\r\n\r\n setTimeout(function () {\r\n isThrottled = false; // (3)\r\n if (savedArgs) {\r\n wrapper.apply(savedThis, savedArgs);\r\n savedArgs = savedThis = null;\r\n }\r\n }, ms);\r\n }\r\n\r\n return wrapper;\r\n}\r\nfunction save() {\r\n\r\n if(storageData.length > 0){\r\n api.annals.post(clientId, 'chat-video-performance', {\r\n data: storageData\r\n });\r\n }\r\n\r\n storageData = [];\r\n}\r\n\r\nvar throttleSave = throttle(save, throttle_interval);\r\n\r\nfunction log(data) {\r\n data.time = (new Date()).getTime();\r\n storageData.push(data);\r\n throttleSave();\r\n}\r\n\r\n\r\nexport function create() {\r\n\r\n bus\r\n .sync('command.monitoring.video.log', log);\r\n}"]}