INNER CODE UNIT · JavaScript
downloadFile
mozilla/firefox-translations · extension/controller/backgroundScript.js:729
const downloadFile = async (tabId, fileType, languagePairName) => {
let modelURL = isMochitest
? modelRegistryRootURLTest
: modelRegistryRootURL;
const fileName = `${modelURL}/${languagePairName}/${modelRegistry[languagePairName][fileType].name}`;
const fileSize = modelRegistry[languagePairName][fileType].size;
const fileChecksum = modelRegistry[languagePairName][fileType].expectedSha256Hash;
// eslint-disable-next-line no-use-before-define
const buffer = await getItemFromCacheOrWeb(tabId, fileName, fileSize, fileChecksum);
if (!buffer) {
console.error(`Error loading models from cache or web ("${fileType}")`);
throw new Error(`Error loading models from cache or web ("${fileType}")`);
}
return buffer;
};
// eslint-disable-next-line max-lines-per-function
const getItemFromCacheOrWeb = async (tabId, itemURL, fileSize, fileChecksum) => {