@fe6/water-pro
Version:
An enterprise-class UI design language and Vue-based implementation
72 lines (56 loc) • 1.48 kB
JavaScript
;
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;