25 lines
527 B
JavaScript
25 lines
527 B
JavaScript
function createUrlProxy({
|
|
contentResolver,
|
|
hasher,
|
|
dataCollector,
|
|
urlResolver
|
|
}) {
|
|
return {
|
|
proxy({ url: originalUrl, type, data, collectPreload, init }) {
|
|
const hash = `${hasher.hashString(contentResolver.resolve(originalUrl))}.${type}`;
|
|
const url = urlResolver.resolve(hash);
|
|
dataCollector.collect({
|
|
url: originalUrl,
|
|
hash,
|
|
preload: collectPreload ? { url, type } : null,
|
|
data,
|
|
init
|
|
});
|
|
return url;
|
|
}
|
|
};
|
|
}
|
|
export {
|
|
createUrlProxy
|
|
};
|