You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
17 lines
565 B
JavaScript
17 lines
565 B
JavaScript
const postfixRE = /[?#].*$/;
|
|
function cleanUrl(url) {
|
|
return url.replace(postfixRE, "");
|
|
}
|
|
function createManualModuleSource(moduleUrl, exports, globalAccessor = "\"__vitest_mocker__\"") {
|
|
const source = `const module = globalThis[${globalAccessor}].getFactoryModule("${moduleUrl}");`;
|
|
const keys = exports.map((name) => {
|
|
if (name === "default") {
|
|
return `export default module["default"];`;
|
|
}
|
|
return `export const ${name} = module["${name}"];`;
|
|
}).join("\n");
|
|
return `${source}\n${keys}`;
|
|
}
|
|
|
|
export { cleanUrl as a, createManualModuleSource as c };
|