UNPKG

@fe6/water-pro

Version:

An enterprise-class UI design language and Vue-based implementation

72 lines (56 loc) 1.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _vue = require("vue"); var _shared = require("@fe6/shared"); var _warning = _interopRequireDefault(require("../warning")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** @format */ var _default = function _default(api) { var loading = (0, _vue.ref)(false); var result = (0, _vue.ref)([]); function fetch(params) { var _ref = params || {}, success = _ref.success, fecthParams = _ref.params, error = _ref.error; if (!api || !(0, _shared.isFunction)(api) || typeof api !== 'function') { return; } try { loading.value = true; var res = api({ params: fecthParams, success: success, error: error }); loading.value = false; if ((0, _shared.isArray)(res)) { result.value = res; if ((0, _shared.isFunction)(success)) { success(res); } return; } } catch (err) { if ((0, _shared.isFunction)(error)) { error(); } (0, _warning.default)(err); } finally { loading.value = false; } } var setLoading = function setLoading(loadingStatue) { loading.value = loadingStatue; }; return { loading: loading, fetch: fetch, result: result, setLoading: setLoading }; }; exports.default = _default;