UNPKG

@turbox3d/reactivity

Version:

Large-scale reactive state management library

32 lines 1.08 kB
import { actionTypeChain } from '../core/store'; import { EMaterialType } from '../const/enums'; import { Action } from '../core/action'; import { normalNextReturn } from './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 !== EMaterialType.MUTATION && type !== EMaterialType.UPDATE) { return normalNextReturn(next, dispatchedAction); } if (Action.context) { Action.context.historyNode.actionChain.push({ name: name, displayName: displayName }); } else { actionTypeChain.push({ name: name, displayName: displayName }); } return normalNextReturn(next, dispatchedAction); }; }; }; } export default createMutationMiddleware();