54
node_modules/@vitest/coverage-v8/dist/index.js
generated
vendored
Normal file
54
node_modules/@vitest/coverage-v8/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
import inspector from 'node:inspector';
|
||||
import { provider } from 'std-env';
|
||||
|
||||
const session = new inspector.Session();
|
||||
function startCoverage() {
|
||||
session.connect();
|
||||
session.post("Profiler.enable");
|
||||
session.post("Profiler.startPreciseCoverage", {
|
||||
callCount: true,
|
||||
detailed: true
|
||||
});
|
||||
}
|
||||
async function takeCoverage() {
|
||||
return new Promise((resolve, reject) => {
|
||||
session.post("Profiler.takePreciseCoverage", async (error, coverage) => {
|
||||
if (error)
|
||||
return reject(error);
|
||||
const result = coverage.result.filter(filterResult);
|
||||
resolve({ result });
|
||||
});
|
||||
if (provider === "stackblitz")
|
||||
resolve({ result: [] });
|
||||
});
|
||||
}
|
||||
function stopCoverage() {
|
||||
session.post("Profiler.stopPreciseCoverage");
|
||||
session.post("Profiler.disable");
|
||||
session.disconnect();
|
||||
}
|
||||
function filterResult(coverage) {
|
||||
if (!coverage.url.startsWith("file://"))
|
||||
return false;
|
||||
if (coverage.url.includes("/node_modules/"))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
var coverage = /*#__PURE__*/Object.freeze({
|
||||
__proto__: null,
|
||||
startCoverage: startCoverage,
|
||||
stopCoverage: stopCoverage,
|
||||
takeCoverage: takeCoverage
|
||||
});
|
||||
|
||||
var index = {
|
||||
...coverage,
|
||||
async getProvider() {
|
||||
const name = "./provider.js";
|
||||
const { V8CoverageProvider } = await import(name);
|
||||
return new V8CoverageProvider();
|
||||
}
|
||||
};
|
||||
|
||||
export { index as default };
|
||||
Reference in New Issue
Block a user