@@ -73,6 +73,9 @@ return /******/ (function(modules) { // webpackBootstrap
7373 var pad = function pad ( num , maxLength ) {
7474 return repeat ( "0" , maxLength - num . toString ( ) . length ) + num ;
7575 } ;
76+ var formatTime = function formatTime ( time ) {
77+ return " @ " + pad ( time . getHours ( ) , 2 ) + ":" + pad ( time . getMinutes ( ) , 2 ) + ":" + pad ( time . getSeconds ( ) , 2 ) + "." + pad ( time . getMilliseconds ( ) , 3 ) ;
78+ } ;
7679
7780 // Use the new performance api to get better precision if available
7881 var timer = typeof performance !== "undefined" && typeof performance . now === "function" ? performance : Date ;
@@ -83,12 +86,13 @@ return /******/ (function(modules) { // webpackBootstrap
8386 * @namespace
8487 * @property {object } options - options for logger
8588 * @property {string } options.level - console[level]
86- * @property {object } options.logger - implementation of the `console` API.
87- * @property {boolean } options.collapsed - is group collapsed?
88- * @property {boolean } options.predicate - condition which resolves logger behavior
8989 * @property {bool } options.duration - print duration of each action?
9090 * @property {bool } options.timestamp - print timestamp with each action?
91- * @property {function } options.transformer - transform state before print
91+ * @property {object } options.colors - custom colors
92+ * @property {object } options.logger - implementation of the `console` API
93+ * @property {boolean } options.collapsed - is group collapsed?
94+ * @property {boolean } options.predicate - condition which resolves logger behavior
95+ * @property {function } options.stateTransformer - transform state before print
9296 * @property {function } options.actionTransformer - transform action before print
9397 */
9498
@@ -99,27 +103,42 @@ return /******/ (function(modules) { // webpackBootstrap
99103 var getState = _ref . getState ;
100104 return function ( next ) {
101105 return function ( action ) {
102- var level = options . level ;
103- var logger = options . logger ;
106+ var _options$level = options . level ;
107+ var level = _options$level === undefined ? "log" : _options$level ;
108+ var _options$logger = options . logger ;
109+ var logger = _options$logger === undefined ? window . console : _options$logger ;
104110 var collapsed = options . collapsed ;
105111 var predicate = options . predicate ;
106112 var _options$duration = options . duration ;
107113 var duration = _options$duration === undefined ? false : _options$duration ;
108114 var _options$timestamp = options . timestamp ;
109115 var timestamp = _options$timestamp === undefined ? true : _options$timestamp ;
110- var _options$transformer = options . transformer ;
111- var transformer = _options$transformer === undefined ? function ( state ) {
116+ var transformer = options . transformer ;
117+ var _options$stateTransfo = options . stateTransformer ;
118+ var // deprecated
119+ stateTransformer = _options$stateTransfo === undefined ? function ( state ) {
112120 return state ;
113- } : _options$transformer ;
114- var _options$actionTransformer = options . actionTransformer ;
115- var actionTransformer = _options$actionTransformer === undefined ? function ( actn ) {
121+ } : _options$stateTransfo ;
122+ var _options$actionTransf = options . actionTransformer ;
123+ var actionTransformer = _options$actionTransf === undefined ? function ( actn ) {
116124 return actn ;
117- } : _options$actionTransformer ;
118-
119- var console = logger || window . console ;
125+ } : _options$actionTransf ;
126+ var _options$colors = options . colors ;
127+ var colors = _options$colors === undefined ? {
128+ prevState : function prevState ( ) {
129+ return "#9E9E9E" ;
130+ } ,
131+ action : function action ( ) {
132+ return "#03A9F4" ;
133+ } ,
134+ nextState : function nextState ( ) {
135+ return "#4CAF50" ;
136+ }
137+ } : _options$colors ;
120138
121139 // exit if console undefined
122- if ( typeof console === "undefined" ) {
140+
141+ if ( typeof logger === "undefined" ) {
123142 return next ( action ) ;
124143 }
125144
@@ -128,55 +147,59 @@ return /******/ (function(modules) { // webpackBootstrap
128147 return next ( action ) ;
129148 }
130149
150+ if ( transformer ) {
151+ console . error ( "Option 'transformer' is deprecated, use stateTransformer instead" ) ;
152+ }
153+
131154 var started = timer . now ( ) ;
132- var prevState = transformer ( getState ( ) ) ;
155+ var prevState = stateTransformer ( getState ( ) ) ;
133156
134- var returnValue = next ( action ) ;
135- var took = timer . now ( ) - started ;
157+ var formattedAction = actionTransformer ( action ) ;
136158
137- var nextState = transformer ( getState ( ) ) ;
159+ var took = timer . now ( ) - started ;
160+ var nextState = stateTransformer ( getState ( ) ) ;
138161
139- // formatters
162+ // message
140163 var time = new Date ( ) ;
141164 var isCollapsed = typeof collapsed === "function" ? collapsed ( getState , action ) : collapsed ;
142165
143- var formattedTime = timestamp ? " @ " + pad ( time . getHours ( ) , 2 ) + ":" + pad ( time . getMinutes ( ) , 2 ) + ":" + pad ( time . getSeconds ( ) , 2 ) + "." + pad ( time . getMilliseconds ( ) , 3 ) : "" ;
144- var formattedDuration = duration ? " in " + took . toFixed ( 2 ) + " ms" : "" ;
145- var formattedAction = actionTransformer ( action ) ;
146- var message = "action " + formattedAction . type + formattedTime + formattedDuration ;
147- var startMessage = isCollapsed ? console . groupCollapsed : console . group ;
166+ var formattedTime = formatTime ( time ) ;
167+ var title = "action " + formattedAction . type + ( timestamp && formattedTime ) + ( duration && " in " + took . toFixed ( 2 ) + " ms" ) ;
148168
149169 // render
150170 try {
151- startMessage . call ( console , message ) ;
171+ if ( isCollapsed ) {
172+ logger . groupCollapsed ( title ) ;
173+ } else {
174+ logger . group ( title ) ;
175+ }
152176 } catch ( e ) {
153- console . log ( message ) ;
177+ logger . log ( title ) ;
154178 }
155179
156- if ( level ) {
157- console [ level ] ( "%c prev state" , "color: #9E9E9E ; font-weight: bold" , prevState ) ;
158- console [ level ] ( "%c action" , "color: #03A9F4 ; font-weight: bold" , formattedAction ) ;
159- console [ level ] ( "%c next state" , "color: #4CAF50 ; font-weight: bold" , nextState ) ;
180+ if ( colors ) {
181+ logger [ level ] ( "%c prev state" , "color: " + colors . prevState ( prevState ) + " ; font-weight: bold", prevState ) ;
182+ logger [ level ] ( "%c action" , "color: " + colors . action ( formattedAction ) + " ; font-weight: bold", formattedAction ) ;
183+ logger [ level ] ( "%c next state" , "color: " + colors . nextState ( nextState ) + " ; font-weight: bold", nextState ) ;
160184 } else {
161- console . log ( "%c prev state" , "color: #9E9E9E; font-weight: bold ", prevState ) ;
162- console . log ( "%c action" , "color: #03A9F4; font-weight: bold ", formattedAction ) ;
163- console . log ( "%c next state" , "color: #4CAF50; font-weight: bold ", nextState ) ;
185+ logger [ level ] ( " prev state", prevState ) ;
186+ logger [ level ] ( " action", formattedAction ) ;
187+ logger [ level ] ( " next state", nextState ) ;
164188 }
165189
166190 try {
167- console . groupEnd ( ) ;
191+ logger . groupEnd ( ) ;
168192 } catch ( e ) {
169- console . log ( "—— log end ——" ) ;
193+ logger . log ( "—— log end ——" ) ;
170194 }
171195
172- return returnValue ;
196+ return next ( action ) ;
173197 } ;
174198 } ;
175199 } ;
176200 }
177201
178- exports [ "default" ] = createLogger ;
179- module . exports = exports [ "default" ] ;
202+ exports . default = createLogger ;
180203
181204/***/ }
182205/******/ ] )
0 commit comments