astro-ghostcms/.pnpm-store/v3/files/ab/25d2687716e14124d5d9e14c2f2...

70 lines
1.8 KiB
Plaintext

import { joinPaths, prependForwardSlash, slash } from "../../core/path.js";
function createAssetLink(href, base, assetsPrefix) {
if (assetsPrefix) {
return joinPaths(assetsPrefix, slash(href));
} else if (base) {
return prependForwardSlash(joinPaths(base, slash(href)));
} else {
return href;
}
}
function createStylesheetElement(stylesheet, base, assetsPrefix) {
if (stylesheet.type === "inline") {
return {
props: {},
children: stylesheet.content
};
} else {
return {
props: {
rel: "stylesheet",
href: createAssetLink(stylesheet.src, base, assetsPrefix)
},
children: ""
};
}
}
function createStylesheetElementSet(stylesheets, base, assetsPrefix) {
return new Set(stylesheets.map((s) => createStylesheetElement(s, base, assetsPrefix)));
}
function createModuleScriptElement(script, base, assetsPrefix) {
if (script.type === "external") {
return createModuleScriptElementWithSrc(script.value, base, assetsPrefix);
} else {
return {
props: {
type: "module"
},
children: script.value
};
}
}
function createModuleScriptElementWithSrc(src, base, assetsPrefix) {
return {
props: {
type: "module",
src: createAssetLink(src, base, assetsPrefix)
},
children: ""
};
}
function createModuleScriptElementWithSrcSet(srces, site, assetsPrefix) {
return new Set(
srces.map((src) => createModuleScriptElementWithSrc(src, site, assetsPrefix))
);
}
function createModuleScriptsSet(scripts, base, assetsPrefix) {
return new Set(
scripts.map((script) => createModuleScriptElement(script, base, assetsPrefix))
);
}
export {
createAssetLink,
createModuleScriptElement,
createModuleScriptElementWithSrc,
createModuleScriptElementWithSrcSet,
createModuleScriptsSet,
createStylesheetElement,
createStylesheetElementSet
};