/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/esm-fake-loader@1.3.12/index.mjs
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
import fs from"fs";import path from"path";let fakes={},fakeSequence=0;const inject=e=>`const mock = (faked = (id) => id) => {\n    const mocked = (...args) => {\n      ++mocked.calls;\n      mocked.values.push(args);\n      const returns = mocked.returns === undefined ? args : [mocked.returns]\n      return typeof faked==='function'\n        ? faked(...returns)\n        : mocked.returns === undefined\n          ? faked\n          : mocked.returns;\n    }\n    mocked.reset = (returns) => {\n      mocked.returns = returns\n      mocked.calls=0;\n      mocked.values=[];\n      return mocked;\n    }\n    return mocked.reset();\n  }\n  ${e||"export default mock()"}`;export async function resolve(e,r,t){let n,{target:s=e,fakeType:a,fakeResponse:c=""}=(e.match(/(?<target>[^?]+)[\?\&](?<fakeType>__fake)(\=(?<fakeResponse>.+))?/)||{groups:{}}).groups;try{n=t(s,r,t).url}catch(e){if(n=`file://${s.split("?")[0]}`,!a&&!fakes[n])try{n=t(`file://${path.join(process.cwd(),s)}`,r,t).url}catch(e){throw e}}if(a){if("unload"===c)return Reflect.deleteProperty(fakes,n),{url:n};if("reload"===c)return fakes[n]={source:fs.readFileSync(n.replace("file://",""),"utf8"),signedUrl:`${n}?__fake${++fakeSequence}`},{url:fakes[n].signedUrl};let e=new URL("file://__fake?"+c).searchParams.get("__fake")||c;try{const{url:n}=t(c,r,t);e=n.replace("file://","")}catch(e){}try{const r=inject(e?fs.existsSync(e)?fs.readFileSync(e,"utf8"):e.startsWith("export")?e:`export default ${e}`:e),t=`${n}?__fake${++fakeSequence}`;return fakes[n]={source:r,signedUrl:t},{url:t}}catch(r){throw r.message=`${e} - ${r.message}`,r}}else if(fakes[n])return{url:fakes[n].signedUrl};return{url:n}}export async function getFormat(e,r,t){const n=e.split("?__fake")[0];return fakes[n]?{format:"module"}:t(e,r,t)}export async function getSource(e,r,t){const n=e.split("?__fake")[0];return fakes[n]?{source:fakes[n].source}:t(e,r,t)}
//# sourceMappingURL=/sm/f468e32477bb24bc2e9bd92c0cfba027fa0eac557db171c5cc889d3e2138885e.map