@tacky/store
Version:
State management framework based on react
43 lines (33 loc) • 1.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _deepMerge = require("../utils/deep-merge");
var _symbol = require("../const/symbol");
function createLoggerMiddleware() {
return function (_ref) {
var dispatch = _ref.dispatch;
return function (next) {
return function (action) {
if (!action.domain) {
return next(action);
}
console.group("%caction: ".concat(action.name, ", namespace: ").concat(action.domain[_symbol.NAMESPACE], ", prev state:"), 'color: red');
console.dir((0, _deepMerge.deepMerge)({}, action.domain, {
clone: true
})); // deep copy,logger current state before change.
console.groupEnd();
var nextResult = next(action); // wait the result of the next middleware
console.group("%caction: ".concat(action.name, ", namespace: ").concat(action.domain[_symbol.NAMESPACE], ", next state:"), 'color: green');
console.dir((0, _deepMerge.deepMerge)({}, action.domain, {
clone: true
})); // deep copy,logger current state after change.
console.groupEnd();
return nextResult;
};
};
};
}
var _default = createLoggerMiddleware();
exports["default"] = _default;