taro-hooks
Version:
为 Taro 而设计的 Hooks Library
18 lines (17 loc) • 939 B
TypeScript
import Taro from '@tarojs/taro';
import type { UploadTask, DownloadTask } from '@tarojs/taro';
import type { ExcludeOption, PromiseAction } from '../type';
export type CommonOption<R> = {
afterSend?: (task: R) => void;
};
export type Task = UploadTask.UploadTaskPromise | DownloadTask.DownloadTaskPromise;
export type ListenOptions = Partial<Task & CommonOption<Task>>;
export type UploadOption = ExcludeOption<Taro.uploadFile.Option> & Partial<UploadTask.UploadTaskPromise> & CommonOption<UploadTask>;
export type DownloadOption = ExcludeOption<Taro.downloadFile.Option> & Partial<DownloadTask.DownloadTaskPromise> & CommonOption<DownloadTask>;
export type Upload = PromiseAction<UploadOption, Taro.uploadFile.SuccessCallbackResult>;
export type Download = PromiseAction<DownloadOption, Taro.downloadFile.FileSuccessCallbackResult>;
declare function useFile(): {
upload: Upload;
download: Download;
};
export default useFile;