From e68e915a6b41214a014d61bde947c0a23021881b Mon Sep 17 00:00:00 2001 From: Konstantin Grushetsky Date: Mon, 5 Oct 2015 19:07:00 +0300 Subject: [PATCH 1/2] Added milliseconds to timestamp, updated 'pad' function The number that indicates hours in the timestamp is now also prepended with zeros. --- dist/index.js | 6 +++--- dist/index.min.js | 2 +- lib/index.js | 6 +++--- src/index.js | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/dist/index.js b/dist/index.js index 6d0490f..83ff17d 100644 --- a/dist/index.js +++ b/dist/index.js @@ -67,8 +67,8 @@ return /******/ (function(modules) { // webpackBootstrap Object.defineProperty(exports, "__esModule", { value: true }); - var pad = function pad(num) { - return ("0" + num).slice(-2); + var pad = function pad(num, maxLength) { + return "0".repeat(maxLength - num.toString().length) + num; }; // Use the new performance api to get better precision if available @@ -137,7 +137,7 @@ return /******/ (function(modules) { // webpackBootstrap var time = new Date(); var isCollapsed = typeof collapsed === "function" ? collapsed(getState, action) : collapsed; - var formattedTime = timestamp ? " @ " + time.getHours() + ":" + pad(time.getMinutes()) + ":" + pad(time.getSeconds()) : ""; + var formattedTime = timestamp ? " @ " + pad(time.getHours(), 2) + ":" + pad(time.getMinutes(), 2) + ":" + pad(time.getSeconds(), 2) + "." + pad(time.getMilliseconds(), 3) : ""; var formattedDuration = duration ? " in " + took.toFixed(2) + " ms" : ""; var formattedAction = actionTransformer(action); var message = "action " + formattedAction.type + formattedTime + formattedDuration; diff --git a/dist/index.min.js b/dist/index.min.js index deb04f0..809aee1 100644 --- a/dist/index.min.js +++ b/dist/index.min.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.reduxLogger=t():e.reduxLogger=t()}(this,function(){return function(e){function t(n){if(o[n])return o[n].exports;var r=o[n]={exports:{},id:n,loaded:!1};return e[n].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var o={};return t.m=e,t.c=o,t.p="",t(0)}([function(e,t,o){o(1),e.exports=o(1)},function(e,t){"use strict";function o(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];return function(t){var o=t.getState;return function(t){return function(c){var i=e.level,u=e.logger,f=e.collapsed,d=e.predicate,a=e.duration,l=void 0===a?!1:a,p=e.timestamp,s=void 0===p?!0:p,g=e.transformer,v=void 0===g?function(e){return e}:g,x=e.actionTransformer,m=void 0===x?function(e){return e}:x,y=u||window.console;if("undefined"==typeof y)return t(c);if("function"==typeof d&&!d(o,c))return t(c);var w=r.now(),b=v(o()),h=t(c),E=r.now()-w,F=v(o()),j=new Date,A="function"==typeof f?f(o,c):f,C=s?" @ "+j.getHours()+":"+n(j.getMinutes())+":"+n(j.getSeconds()):"",D=l?" in "+E.toFixed(2)+" ms":"",L=m(c),M="action "+L.type+C+D,S=A?y.groupCollapsed:y.group;try{S(M)}catch(_){y.log(M)}i?(y[i]("%c prev state","color: #9E9E9E; font-weight: bold",b),y[i]("%c action","color: #03A9F4; font-weight: bold",L),y[i]("%c next state","color: #4CAF50; font-weight: bold",F)):(y.log("%c prev state","color: #9E9E9E; font-weight: bold",b),y.log("%c action","color: #03A9F4; font-weight: bold",L),y.log("%c next state","color: #4CAF50; font-weight: bold",F));try{y.groupEnd()}catch(_){y.log("—— log end ——")}return h}}}}Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){return("0"+e).slice(-2)},r="undefined"!=typeof performance&&"function"==typeof performance.now?performance:Date;t["default"]=o,e.exports=t["default"]}])}); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.reduxLogger=t():e.reduxLogger=t()}(this,function(){return function(e){function t(n){if(o[n])return o[n].exports;var r=o[n]={exports:{},id:n,loaded:!1};return e[n].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var o={};return t.m=e,t.c=o,t.p="",t(0)}([function(e,t,o){o(1),e.exports=o(1)},function(e,t){"use strict";function o(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];return function(t){var o=t.getState;return function(t){return function(i){var c=e.level,u=e.logger,f=e.collapsed,d=e.predicate,a=e.duration,l=void 0===a?!1:a,p=e.timestamp,s=void 0===p?!0:p,g=e.transformer,v=void 0===g?function(e){return e}:g,x=e.actionTransformer,m=void 0===x?function(e){return e}:x,y=u||window.console;if("undefined"==typeof y)return t(i);if("function"==typeof d&&!d(o,i))return t(i);var w=r.now(),h=v(o()),b=t(i),E=r.now()-w,F=v(o()),j=new Date,A="function"==typeof f?f(o,i):f,C=s?" @ "+n(j.getHours(),2)+":"+n(j.getMinutes(),2)+":"+n(j.getSeconds(),2)+"."+n(j.getMilliseconds(),3):"",M=l?" in "+E.toFixed(2)+" ms":"",S=m(i),D="action "+S.type+C+M,L=A?y.groupCollapsed:y.group;try{L(D)}catch(_){y.log(D)}c?(y[c]("%c prev state","color: #9E9E9E; font-weight: bold",h),y[c]("%c action","color: #03A9F4; font-weight: bold",S),y[c]("%c next state","color: #4CAF50; font-weight: bold",F)):(y.log("%c prev state","color: #9E9E9E; font-weight: bold",h),y.log("%c action","color: #03A9F4; font-weight: bold",S),y.log("%c next state","color: #4CAF50; font-weight: bold",F));try{y.groupEnd()}catch(_){y.log("—— log end ——")}return b}}}}Object.defineProperty(t,"__esModule",{value:!0});var n=function(e,t){return"0".repeat(t-e.toString().length)+e},r="undefined"!=typeof performance&&"function"==typeof performance.now?performance:Date;t["default"]=o,e.exports=t["default"]}])}); \ No newline at end of file diff --git a/lib/index.js b/lib/index.js index fed99f0..f735029 100644 --- a/lib/index.js +++ b/lib/index.js @@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var pad = function pad(num) { - return ("0" + num).slice(-2); +var pad = function pad(num, maxLength) { + return "0".repeat(maxLength - num.toString().length) + num; }; // Use the new performance api to get better precision if available @@ -73,7 +73,7 @@ function createLogger() { var time = new Date(); var isCollapsed = typeof collapsed === "function" ? collapsed(getState, action) : collapsed; - var formattedTime = timestamp ? " @ " + time.getHours() + ":" + pad(time.getMinutes()) + ":" + pad(time.getSeconds()) : ""; + var formattedTime = timestamp ? " @ " + pad(time.getHours(), 2) + ":" + pad(time.getMinutes(), 2) + ":" + pad(time.getSeconds(), 2) + "." + pad(time.getMilliseconds(), 3) : ""; var formattedDuration = duration ? " in " + took.toFixed(2) + " ms" : ""; var formattedAction = actionTransformer(action); var message = "action " + formattedAction.type + formattedTime + formattedDuration; diff --git a/src/index.js b/src/index.js index 64b45d7..1bee4f8 100644 --- a/src/index.js +++ b/src/index.js @@ -1,4 +1,4 @@ -const pad = num => (`0` + num).slice(-2); +const pad = (num, maxLength) => `0`.repeat(maxLength - num.toString().length) + num; // Use the new performance api to get better precision if available const timer = typeof performance !== `undefined` && typeof performance.now === `function` ? performance : Date; @@ -55,7 +55,7 @@ function createLogger(options = {}) { const time = new Date(); const isCollapsed = (typeof collapsed === `function`) ? collapsed(getState, action) : collapsed; - const formattedTime = timestamp ? ` @ ${time.getHours()}:${pad(time.getMinutes())}:${pad(time.getSeconds())}` : ``; + const formattedTime = timestamp ? ` @ ${pad(time.getHours(), 2)}:${pad(time.getMinutes(), 2)}:${pad(time.getSeconds(), 2)}.${pad(time.getMilliseconds(), 3)}` : ``; const formattedDuration = duration ? ` in ${took.toFixed(2)} ms` : ``; const formattedAction = actionTransformer(action); const message = `action ${formattedAction.type}${formattedTime}${formattedDuration}`; From 67ef7c2fa4c5839a43a0726028fa516dc51d1184 Mon Sep 17 00:00:00 2001 From: Konstantin Grushetsky Date: Mon, 5 Oct 2015 19:17:49 +0300 Subject: [PATCH 2/2] Updated dependencies of 'redux-logger-example' --- examples/package.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/package.json b/examples/package.json index 4b0160e..0b6a274 100644 --- a/examples/package.json +++ b/examples/package.json @@ -17,22 +17,22 @@ "homepage": "https://github.com/fcomb/redux-logger", "dependencies": { "react": "^0.13.3", - "redux": "3.0.0", - "react-redux": "^3.0.0", + "redux": "3.0.2", + "react-redux": "^3.1.0", "redux-actions": "^0.8.0" }, "devDependencies": { "babel-core": "^5.8.25", "babel-loader": "^5.3.2", - "babel-plugin-react-transform": "^1.1.0", + "babel-plugin-react-transform": "^1.1.1", "css-loader": "^0.19.0", "express": "^4.13.3", "node-sass": "^3.3.3", - "react-transform-hmr": "^1.0.0", - "sass-loader": "^2.0.1", + "react-transform-hmr": "^1.0.1", + "sass-loader": "^3.0.0", "style-loader": "^0.12.4", "webpack": "^1.12.2", "webpack-dev-middleware": "^1.2.0", - "webpack-hot-middleware": "^2.2.0" + "webpack-hot-middleware": "^2.4.1" } }