1import * as Log from '../../log';
2import { APISettings } from '../settings';
3import { FetchLike } from './client.types';
4
5/** Wrap fetch with support for APISettings offline mode. */
6export function wrapFetchWithOffline(fetchFunction: FetchLike): FetchLike {
7  return async function fetchWithOffline(url, options = {}) {
8    if (APISettings.isOffline) {
9      Log.debug('[fetch] Offline: Skipping network request: ' + url);
10      options.timeout = 1;
11    }
12    return fetchFunction(url, options);
13  };
14}
15