"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function getTypeScriptPerformance(typescript) { // eslint-disable-next-line @typescript-eslint/no-explicit-any return typescript.performance; } function connectTypeScriptPerformance(typescript, performance) { const typeScriptPerformance = getTypeScriptPerformance(typescript); if (typeScriptPerformance) { const { mark, measure } = typeScriptPerformance; const { enable, disable } = performance; typeScriptPerformance.mark = (name) => { mark(name); performance.mark(name); }; typeScriptPerformance.measure = (name, startMark, endMark) => { measure(name, startMark, endMark); performance.measure(name, startMark, endMark); }; return Object.assign(Object.assign({}, performance), { enable() { enable(); typeScriptPerformance.enable(); }, disable() { disable(); typeScriptPerformance.disable(); } }); } else { return performance; } } exports.connectTypeScriptPerformance = connectTypeScriptPerformance;