UNPKG

pxt-core

Version:

Microsoft MakeCode provides Blocks / JavaScript / Python tools and editors

46 lines (43 loc) 1.73 kB
<script type="text/javascript"> if (!window.pxtTickEvent) { let queuedTicks; window.pxtTickEvent = function(id, data) { if (window.appInsights && window.appInsights.trackEvent) { sendTick(id, data); } else { if (!queuedTicks) { queuedTicks = []; var interval = window.setInterval(function() { if (window.appInsights && window.appInsights.trackEvent) { window.clearInterval(interval); for (var i = 0; i < queuedTicks.length; i++) { queuedTicks[i](); } queuedTicks = undefined; } }, 1000); } if (queuedTicks.length >= 100) { queuedTicks.shift(); } queuedTicks.push(function () { sendTick(id, data); }); } function sendTick(id, data) { const props = {}; const measures = {}; if (data) { Object.keys(data).forEach(k => { if (typeof data[k] == "string") props[k] = data[k]; else if (typeof data[k] == "number") measures[k] = data[k]; else props[k] = JSON.stringify(data[k] || ''); }); } else { data = {}; } window.appInsights.trackEvent({name: id, properties: data, measurements: measures}); } } } </script>