Files
scrap/node_modules/next/dist/server/client-component-renderer-logger.js
2024-09-24 03:52:46 +00:00

69 lines
2.1 KiB
JavaScript

// Combined load times for loading client components
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
0 && (module.exports = {
getClientComponentLoaderMetrics: null,
wrapClientComponentLoader: null
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
getClientComponentLoaderMetrics: function() {
return getClientComponentLoaderMetrics;
},
wrapClientComponentLoader: function() {
return wrapClientComponentLoader;
}
});
let clientComponentLoadStart = 0;
let clientComponentLoadTimes = 0;
let clientComponentLoadCount = 0;
function wrapClientComponentLoader(ComponentMod) {
if (!("performance" in globalThis)) {
return ComponentMod.__next_app__;
}
return {
require: (...args)=>{
if (clientComponentLoadStart === 0) {
clientComponentLoadStart = performance.now();
}
const startTime = performance.now();
try {
clientComponentLoadCount += 1;
return ComponentMod.__next_app__.require(...args);
} finally{
clientComponentLoadTimes += performance.now() - startTime;
}
},
loadChunk: (...args)=>{
const startTime = performance.now();
try {
clientComponentLoadCount += 1;
return ComponentMod.__next_app__.loadChunk(...args);
} finally{
clientComponentLoadTimes += performance.now() - startTime;
}
}
};
}
function getClientComponentLoaderMetrics(options = {}) {
const metrics = clientComponentLoadStart === 0 ? undefined : {
clientComponentLoadStart,
clientComponentLoadTimes,
clientComponentLoadCount
};
if (options.reset) {
clientComponentLoadStart = 0;
clientComponentLoadTimes = 0;
clientComponentLoadCount = 0;
}
return metrics;
}
//# sourceMappingURL=client-component-renderer-logger.js.map