taro-hooks
Version:
为 Taro 而设计的 Hooks Library
60 lines (59 loc) • 2.31 kB
JavaScript
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;
;