Files
Tiber365/node_modules/astro/dist/runtime/server/astro-global.js

34 lines
1.1 KiB
JavaScript

import { ASTRO_VERSION } from "../../core/constants.js";
import { AstroError, AstroErrorData } from "../../core/errors/index.js";
function createAstroGlobFn() {
const globHandler = (importMetaGlobResult) => {
if (typeof importMetaGlobResult === "string") {
throw new AstroError({
...AstroErrorData.AstroGlobUsedOutside,
message: AstroErrorData.AstroGlobUsedOutside.message(JSON.stringify(importMetaGlobResult))
});
}
let allEntries = [...Object.values(importMetaGlobResult)];
if (allEntries.length === 0) {
throw new AstroError({
...AstroErrorData.AstroGlobNoMatch,
message: AstroErrorData.AstroGlobNoMatch.message(JSON.stringify(importMetaGlobResult))
});
}
return Promise.all(allEntries.map((fn) => fn()));
};
return globHandler;
}
function createAstro(site) {
return {
// TODO: this is no longer necessary for `Astro.site`
// but it somehow allows working around caching issues in content collections for some tests
site: site ? new URL(site) : void 0,
generator: `Astro v${ASTRO_VERSION}`,
glob: createAstroGlobFn()
};
}
export {
createAstro
};