import { AccountStore } from "./cloudfile/account-store.js"; import { CloudFileProvider } from "./cloudfile/provider.js"; import { error as logError, info } from "./util/log.js"; const accountStore = new AccountStore(); const provider = new CloudFileProvider({ accountStore }); async function bootstrap() { browser.cloudFile.onAccountAdded.addListener(account => provider.onAccountAdded(account)); browser.cloudFile.onAccountDeleted.addListener(accountId => provider.onAccountDeleted(accountId)); browser.cloudFile.onFileUpload.addListener((account, fileInfo, tab, relatedFileInfo) => { return provider.onFileUpload(account, fileInfo, tab, relatedFileInfo); }); browser.cloudFile.onFileUploadAbort.addListener((account, fileId, tab) => { return provider.onFileUploadAbort(account, fileId, tab); }); browser.cloudFile.onFileDeleted.addListener((account, fileId, tab) => { return provider.onFileDeleted(account, fileId, tab); }); browser.cloudFile.onFileRename.addListener((account, fileId, newName, tab) => { return provider.onFileRename(account, fileId, newName, tab); }); await provider.initialize(); info("PsiTransfer Filelink scaffold initialized."); } bootstrap().catch(caughtError => { logError("Failed to bootstrap background script", caughtError); });