diff --git a/build/logger.js b/build/logger.js index bc6707c..645720d 100644 --- a/build/logger.js +++ b/build/logger.js @@ -50,39 +50,47 @@ function render(diff) { case 'D': return '' + path.join('.'); case 'A': - return (path.join('.') + '[' + index + ']', item); + return path.join('.') + '[' + index + ']', item; default: return null; } } -function logger(_ref) { - var getState = _ref.getState; - - return function (next) { - return function (action) { - var prevState = getState(); - var returnValue = next(action); - var newState = getState(); - var time = new Date(); - - var diff = (0, _deepDiff2['default'])(prevState, newState); - - console.group('diff @', time.getHours() + ':' + time.getMinutes() + ':' + time.getSeconds()); - if (diff) { - diff.forEach(function (elem) { - var kind = elem.kind; - - var output = render(elem); - - console.log('%c ' + dictionary[kind].text, style(kind), output); - }); - } else { - console.log('—— no diff ——'); - } - console.groupEnd('diff'); - - return returnValue; +function logger() { + var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; + + return function (_ref) { + var getState = _ref.getState; + return function (next) { + return function (action) { + var _options$transformer = options.transformer; + var transformer = _options$transformer === undefined ? function (state) { + return state; + } : _options$transformer; + + var prevState = transformer(getState()); + var returnValue = next(action); + var newState = transformer(getState()); + var time = new Date(); + + var diff = (0, _deepDiff2['default'])(prevState, newState); + + console.group('diff @', time.getHours() + ':' + time.getMinutes() + ':' + time.getSeconds()); + if (diff) { + diff.forEach(function (elem) { + var kind = elem.kind; + + var output = render(elem); + + console.log('%c ' + dictionary[kind].text, style(kind), output); + }); + } else { + console.log('—— no diff ——'); + } + console.groupEnd('diff'); + + return returnValue; + }; }; }; } diff --git a/src/logger.js b/src/logger.js index 3e4f81d..8dc752f 100644 --- a/src/logger.js +++ b/src/logger.js @@ -41,11 +41,14 @@ function render(diff) { } } -function logger({ getState }) { - return (next) => (action) => { - const prevState = getState(); +function logger(options = {}) { + return ({getState}) => (next) => (action) => { + const { + transformer = state => state, + } = options; + const prevState = transformer(getState()); const returnValue = next(action); - const newState = getState(); + const newState = transformer(getState()); const time = new Date(); const diff = differ(prevState, newState);