@turbox3d/reactivity
Version:
Large-scale reactive state management library
38 lines (37 loc) • 1.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _store = require("../core/store");
var _enums = require("../const/enums");
var _action = require("../core/action");
var _common = require("./common");
function createMutationMiddleware() {
return function () {
return function (next) {
return function (dispatchedAction) {
var name = dispatchedAction.name,
displayName = dispatchedAction.displayName,
type = dispatchedAction.type,
isInner = dispatchedAction.isInner;
if (isInner || type !== _enums.EMaterialType.MUTATION && type !== _enums.EMaterialType.UPDATE) {
return (0, _common.normalNextReturn)(next, dispatchedAction);
}
if (_action.Action.context) {
_action.Action.context.historyNode.actionChain.push({
name: name,
displayName: displayName
});
} else {
_store.actionTypeChain.push({
name: name,
displayName: displayName
});
}
return (0, _common.normalNextReturn)(next, dispatchedAction);
};
};
};
}
var _default = exports["default"] = createMutationMiddleware();