taro-hooks
Version:
为 Taro 而设计的 Hooks Library
30 lines (29 loc) • 1.58 kB
TypeScript
import Taro from '@tarojs/taro';
import type { PromiseAction, PromiseParamsAction, UnionResult, ExcludeOption } from '../type';
import { saveImageToPhotosAlbum, compressImage } from './utils/index';
export type CompressImage = typeof compressImage;
export type CompressSuccessResult = Taro.compressImage.SuccessCallbackResult;
export type CompressResult = UnionResult<CompressSuccessResult>;
export type Compress = PromiseParamsAction<(src: string, quality?: number) => void, CompressSuccessResult>;
export type SaveImage = typeof saveImageToPhotosAlbum;
export type ChooseOption = ExcludeOption<Taro.chooseImage.Option>;
export type Choose = PromiseParamsAction<(option?: ChooseOption | ExcludeOption<Taro.chooseMessageFile.Option>, messageFile?: boolean) => void, Taro.chooseImage.SuccessCallbackResult | Taro.chooseMessageFile.SuccessCallbackResult>;
export type Edit = PromiseAction<string, Taro.editImage.SuccessCallbackResult>;
export type Save = PromiseAction<string>;
export type Preview = PromiseAction<ExcludeOption<Taro.previewImage.Option>>;
export type PreviewMedia = PromiseAction<ExcludeOption<Taro.previewMedia.Option>>;
export type Get = PromiseAction<string, Taro.getImageInfo.SuccessCallbackResult>;
export type FileInfo = Omit<Taro.chooseImage.SuccessCallbackResult, 'errMsg'>;
declare function useImage(options?: ChooseOption): [
FileInfo,
{
choose: Choose;
preview: Preview;
previewMedia: PreviewMedia;
save: Save;
get: Get;
compress: Compress;
edit: Edit;
}
];
export default useImage;