UNPKG

betanet-mini-ui

Version:
43 lines (36 loc) 1.28 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _taro = require("@tarojs/taro"); var _react = require("react"); function useModal(option) { var initialOption = (0, _react.useRef)(); (0, _react.useEffect)(function () { initialOption.current = option; }, [option]); var showModalAsync = (0, _react.useCallback)(function (option) { return new Promise(function (resolve, reject) { try { if (!option && !initialOption.current) { console.warn('please provide a option'); return reject(new Error('please provide a option')); } else { var options = Object.assign({}, initialOption.current || {}, option || {}); (0, _taro.showModal)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, options), {}, { success: resolve, fail: reject })).catch(reject); } } catch (e) { reject(e); } }); }, [initialOption]); return [showModalAsync]; } var _default = useModal; exports.default = _default;