astro
Version:
Astro is a modern site builder with web best practices, performance, and DX front-of-mind.
27 lines (26 loc) • 580 B
JavaScript
function createUrlProxy({
base,
contentResolver,
hasher,
dataCollector,
fontTypeExtractor
}) {
return {
proxy({ url: originalUrl, data, collectPreload, init }) {
const type = fontTypeExtractor.extract(originalUrl);
const hash = `${hasher.hashString(contentResolver.resolve(originalUrl))}.${type}`;
const url = base + hash;
dataCollector.collect({
url: originalUrl,
hash,
preload: collectPreload ? { url, type } : null,
data,
init
});
return url;
}
};
}
export {
createUrlProxy
};