{"version":3,"file":"trackTime.cjs","sources":["../../src/misc/trackTime.js"],"sourcesContent":["const trackTime = {};\n\ntrackTime.log = {};\nconst trackTimeLog = trackTime.log;\n// window.trackTimeLog = trackTimeLog; // DEV-HELPER\n\nlet now;\nif (typeof performance !== 'undefined' && performance.now) {\n    now = performance.now.bind(performance);\n} else {\n    now = Date.now.bind(Date);\n}\n\ntrackTime.async = async function (trackName, fn) {\n    const startTime = now();\n    const result = await fn();\n    const endTime = now();\n\n    trackTimeLog[trackName] = (trackTimeLog[trackName] || 0) + (endTime - startTime);\n    // Good to know: https://developer.mozilla.org/en-US/docs/Web/API/Performance/now#security_requirements\n    // Rounding off the numbers to avoid unnecessary digits towards the end due to floating point arithmetic.\n    trackTimeLog[trackName] = Math.round(trackTimeLog[trackName] * 1000) / 1000;\n\n    return result;\n};\n\ntrackTime.sync = function (trackName, fn) {\n    const startTime = now();\n    const result = fn();\n    const endTime = now();\n\n    trackTimeLog[trackName] = (trackTimeLog[trackName] || 0) + (endTime - startTime);\n    // Good to know: https://developer.mozilla.org/en-US/docs/Web/API/Performance/now#security_requirements\n    // Rounding off the numbers to avoid unnecessary digits towards the end due to floating point arithmetic.\n    trackTimeLog[trackName] = Math.round(trackTimeLog[trackName] * 1000) / 1000;\n\n    return result;\n};\n\ntrackTime.reset = function (trackName) {\n    trackTimeLog[trackName] = 0;\n};\n\nexport { trackTime };\n"],"names":["trackTime","trackTimeLog","log","now","performance","bind","Date","async","trackName","fn","startTime","result","endTime","Math","round","sync","reset"],"mappings":";AAAK,MAACA,UAAY,CAElBA,IAAgB,CAAA,GACVC,aAAeD,UAAUE;AAG/B,IAAIC;AAEAA,IADuB,oBAAhBC,aAA+BA,YAAYD,IAC5CC,YAAYD,IAAIE,KAAKD,aAErBE,KAAKH,IAAIE,KAAKC;AAGxBN,UAAUO,MAAQA,eAAgBC,UAAWC,IACzC,MAAMC,UAAYP,MACZQ,aAAeF,KACfG,QAAUT;AAEhBF,aAAaO,YAAcP,aAAaO,YAAc,IAAMI,QAAUF;AAGtET,aAAaO,WAAaK,KAAKC,MAAgC,IAA1Bb,aAAaO,YAAqB;AAEvE,OAAOG,MACX;AAEAX,UAAUe,KAAO,SAAUP,UAAWC,IAClC,MAAMC,UAAYP,MACZQ,OAASF,KACTG,QAAUT;AAEhBF,aAAaO,YAAcP,aAAaO,YAAc,IAAMI,QAAUF;AAGtET,aAAaO,WAAaK,KAAKC,MAAgC,IAA1Bb,aAAaO,YAAqB;AAEvE,OAAOG,MACX;AAEAX,UAAUgB,MAAQ,SAAUR,WACxBP,aAAaO,WAAa,CAC9B;"}