UNPKG

taro-hooks

Version:
54 lines 2.12 kB
var _excluded = ["component"]; function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; } import { chooseVideo, chooseMedia as taroChooseMedia, compressVideo, createVideoContext, getVideoInfo, openVideoEditor, useReady } from '@tarojs/taro'; import { useState } from '@taro-hooks/core'; import usePromise from '../usePromise'; import { saveVideoToPhotosAlbum } from './utils/index'; function useVideo(id, option) { var _useState = useState(), videoContext = _useState[0], setVideoContext = _useState[1]; useReady(function () { setVideoContext(createVideoContext(id, option == null ? void 0 : option.component)); }); var chooseAsync = usePromise(chooseVideo); var choose = function choose(chooseOption) { if (chooseOption === void 0) { chooseOption = {}; } var _ref = option != null ? option : {}, component = _ref.component, restOption = _objectWithoutPropertiesLoose(_ref, _excluded); return chooseAsync(_extends({}, chooseOption, restOption)); }; var chooseMedia = usePromise(taroChooseMedia); var openAsync = usePromise(openVideoEditor); var open = function open(filePath) { return openAsync({ filePath: filePath }); }; var saveAsync = usePromise(saveVideoToPhotosAlbum); var save = function save(filePath) { return saveAsync({ filePath: filePath }); }; var compress = usePromise(compressVideo); var getAsync = usePromise(getVideoInfo); var get = function get(src) { return getAsync({ src: src }); }; return [videoContext, { choose: choose, chooseMedia: chooseMedia, open: open, save: save, compress: compress, get: get }]; } export default useVideo;