import { spyOn } from '@vitest/spy';
import { M as ModuleMocker, r as rpc, c as createCompilerHints, h as hot } from './chunk-mocker.js';
import './index.js';
import './chunk-registry.js';
import './chunk-pathe.ff20891b.js';
function registerModuleMocker(interceptor) {
const mocker = new ModuleMocker(
interceptor(__VITEST_GLOBAL_THIS_ACCESSOR__),
{
resolveId(id, importer) {
return rpc("vitest:mocks:resolveId", { id, importer });
},
resolveMock(id, importer, options) {
return rpc("vitest:mocks:resolveMock", { id, importer, options });
},
async invalidate(ids) {
return rpc("vitest:mocks:invalidate", { ids });
}
},
spyOn,
{
root: __VITEST_MOCKER_ROOT__
}
);
globalThis[__VITEST_GLOBAL_THIS_ACCESSOR__] = mocker;
registerNativeFactoryResolver(mocker);
return createCompilerHints({
globalThisKey: __VITEST_GLOBAL_THIS_ACCESSOR__
});
}
function registerNativeFactoryResolver(mocker) {
hot.on("vitest:interceptor:resolve", async (url) => {
const exports = await mocker.resolveFactoryModule(url);
const keys = Object.keys(exports);
hot.send("vitest:interceptor:resolved", { url, keys });
});
}
export { registerModuleMocker, registerNativeFactoryResolver };