import AxiosStrategy, { cancelRunningAxiosRequest } from "./strategies/AxiosStrategy" import ExtensionStrategy, { cancelRunningExtensionRequest, hasExtensionInstalled, } from "./strategies/ExtensionStrategy" import { settingsStore } from "~/newstore/settings" export const cancelRunningRequest = () => { if (isExtensionsAllowed() && hasExtensionInstalled()) { cancelRunningExtensionRequest() } else { cancelRunningAxiosRequest() } } const isExtensionsAllowed = () => settingsStore.value.EXTENSIONS_ENABLED const runAppropriateStrategy = (req) => { if (isExtensionsAllowed() && hasExtensionInstalled()) { return ExtensionStrategy(req) } return AxiosStrategy(req) } export const sendNetworkRequest = (req) => runAppropriateStrategy(req).finally(() => window.$nuxt.$loading.finish())