UNPKG

taro-hooks

Version:
30 lines (29 loc) 1.58 kB
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;