import { isNotH5 } from '../utils/env';

// #ifndef H5
import { getFileFromUrl as getFileFromUrlMp } from './file-utils-mp';
// #endif

// #ifdef H5
import { getFileFromUrl as getFileFromUrlWeb } from './file-utils-web';
// #endif

import type { GetFileFromUrl } from './types';


/**
 * 请求返回文件
 * @description 注意不用 window.fetch，vConsole 对 window.fetch 做了劫持重写导致无法请求文件成功
 * @param {string} url 在线文件地址
 * @param {string} [filename=''] 自定义文件名，默认取链接名称
 * @returns <File|Null>
 */
let getFileFromUrl: GetFileFromUrl;


// #ifdef H5
getFileFromUrl = getFileFromUrlWeb as unknown as typeof getFileFromUrlMp;
// #endif

// #ifndef H5
if (isNotH5()) {
  getFileFromUrl = getFileFromUrlMp;
}
// #endif

export {
  getFileFromUrl,
};
