vue-rest-hooks
Version:
typescript restfull-api reactive @vue/composition-api
30 lines (29 loc) • 1.25 kB
JavaScript
import { normalizeNamespace, isValidMap, normalizeMap, getModuleByNamespace } from "../utils";
export var mapActionsConvert = function (store) {
return normalizeNamespace(function (store, namespace, actions) {
var res = {};
if (process.env.NODE_ENV !== "production" && !isValidMap(actions)) {
console.error("[vuex] mapActions: mapper parameter must be either an Array or an Object");
}
normalizeMap(actions).forEach(function (_a) {
var key = _a.key, val = _a.val;
res[key] = function mappedAction() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
// get dispatch function from store
var dispatch = store.dispatch;
if (namespace) {
var module_1 = getModuleByNamespace(store, "mapActions", namespace);
if (!module_1) {
return;
}
dispatch = module_1.context.dispatch;
}
return dispatch.apply(store, [val].concat(args));
};
});
return res;
}, store);
};