UNPKG

taro-hooks

Version:
60 lines (59 loc) 2.31 kB
"use strict"; 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; } Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var taro_1 = require("@tarojs/taro"); var core_1 = require("@taro-hooks/core"); var usePromise_1 = tslib_1.__importDefault(require("../usePromise")); var index_1 = require("./utils/index"); function useVideo(id, option) { var _ref = (0, core_1.useState)(), videoContext = _ref[0], setVideoContext = _ref[1]; (0, taro_1.useReady)(function () { setVideoContext((0, taro_1.createVideoContext)(id, option == null ? void 0 : option.component)); }); var chooseAsync = (0, usePromise_1["default"])(taro_1.chooseVideo); var choose = function choose(chooseOption) { if (chooseOption === void 0) { chooseOption = {}; } var _ref2 = option != null ? option : {}, component = _ref2.component, restOption = _objectWithoutPropertiesLoose(_ref2, _excluded); return chooseAsync(_extends({}, chooseOption, restOption)); }; var chooseMedia = (0, usePromise_1["default"])(taro_1.chooseMedia); var openAsync = (0, usePromise_1["default"])(taro_1.openVideoEditor); var open = function open(filePath) { return openAsync({ filePath: filePath }); }; var saveAsync = (0, usePromise_1["default"])(index_1.saveVideoToPhotosAlbum); var save = function save(filePath) { return saveAsync({ filePath: filePath }); }; var compress = (0, usePromise_1["default"])(taro_1.compressVideo); var getAsync = (0, usePromise_1["default"])(taro_1.getVideoInfo); var get = function get(src) { return getAsync({ src: src }); }; return [videoContext, { choose: choose, chooseMedia: chooseMedia, open: open, save: save, compress: compress, get: get }]; } exports["default"] = useVideo;