{"_id":"@as97/logger-r","_rev":"6-9dccb47c998f294a2b5c322bef528121","name":"@as97/logger-r","dist-tags":{"latest":"4.2.4"},"versions":{"4.1.0":{"name":"@as97/logger-r","version":"4.1.0","description":"An extension of redux-logger, including the specific state","main":"dist/redux-logger.js","module":"dist/redux-logger.es.js","jsnext:main":"dist/redux-logger.es.js","scripts":{"lint":"eslint src","test":"npm run spec","spec":"nyc --all --silent --require babel-core/register mocha --plugins transform-inline-environment-variables --recursive spec/*.spec.js","spec:watch":"npm run spec -- --watch","coverage":"nyc report","coverage:html":"nyc report --reporter=html && http-server -p 8077 ./coverage -o","coverage:production":"nyc report --reporter=text-lcov > coverage.lcov && codecov","clean":"rimraf dist","uglify":"uglifyjs dist/redux-logger.js -cm -o dist/redux-logger.js","build":"rollup -c && npm run uglify","precommit":"npm test","prepublish":"npm run clean && npm test && npm run build"},"eslintConfig":{"extends":"airbnb","rules":{"no-console":"off"},"env":{"browser":true,"mocha":true}},"nyc":{"exclude":["node_modules","spec","example","lib","dist","coverage","rollup.config.js"]},"repository":{"type":"git","url":"git+https://github.com/arbershabani97/logger-r.git"},"keywords":["redux","logger","redux-logger","middleware"],"author":{"name":"Arber Shabani","url":"https://github.com/arbershabani97"},"license":"MIT","bugs":{"url":"https://github.com/arbershabani97/logger-r/issues"},"homepage":"https://github.com/arbershabani97/logger-r#readme","devDependencies":{"babel-core":"^6.24.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-inline-environment-variables":"6.8.0","babel-preset-es2015":"^6.24.0","chai":"3.5.0","codecov":"1.0.1","eslint":"^3.19.0","eslint-config-airbnb":"^14.1.0","eslint-plugin-import":"^2.2.0","eslint-plugin-jsx-a11y":"^4.0.0","eslint-plugin-react":"^6.10.3","http-server":"0.9.0","husky":"^0.13.2","mocha":"3.1.2","nyc":"9.0.1","redux":"^3.6.0","rimraf":"^2.6.1","rollup":"^0.41.6","rollup-plugin-babel":"^2.7.1","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-node-resolve":"^3.0.0","sinon":"^1.17.7","uglify-js":"^3.0.8"},"dependencies":{"deep-diff":"^0.3.5"},"gitHead":"cffbd233f302025ef02763f6f07b41bdd31f7fa3","_id":"@as97/logger-r@4.1.0","_nodeVersion":"12.0.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-pePEgL/AG341bYKjFc29Luc/+jCG6ObTfbNzPuK81Aq1psTHygph5AtorB+5LsITOVZU1ug6XUH/TiOha5V/lA==","shasum":"4484176797e221b993dfa9632d5255e3f9c6fbcd","tarball":"https://registry.npmjs.org/@as97/logger-r/-/logger-r-4.1.0.tgz","fileCount":10,"unpackedSize":60506,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZMScCRA9TVsSAnZWagAAghIP/0ZwKwJBqOariGzy1tkx\nj0E1UNZXqg1rzBNx4Wio8SkIq89c1o+FRZKFQLtKT8XW1oLGuKLc/a6IDggZ\nWCt/7BH/M/+4P1oxrV3YXDqWANxjXEpPF80Qbv61Hd7WZC8cAENKsCQh7Wl3\nv6AEapvjBuwyuRGFtsFBr1hRQh+jLfiZBRi6thXkNQpKVPZbBfmFjza96pb8\nTsFCNu+FfdKQFbMs3+F/osZ6L1kZL7fIXfLuneHRT21+z5nHWz0QgkDgBc3B\ncFZu2JOUqqXe6lbrjdcYOjPM3GIbxeJ+zaPa2Uqrn1z2M4ZkFX4rKS++VybP\nSpGy31IoyYebFnhJF76AA0Sosy4txrUGYgKZ+vAHdAU03BkpFQ1EUG3Aun63\ntQzjlZ3zHPABFvXgb9T16/9EM9Qix2dFcsTD1HR+xSpHouubCC+RbdeZ5nsb\n8hJZ4XDzpJHvggri+mYsDvsL3AfOyO6/lUuQkfqsMB5S3YQScProbtrRgwww\nkRs4s7BgHGG8gi69sXZqzUGJzQhIw+RuPXA7CG3a3L7KnOqNCJb1QNA9dgu7\nF66lmoensv/5qVpV7SC91wqGMueydMNNSBxOxeBaHN6nxqsfoP/LPPUsYcFb\nxXRFCpblRDgJHnUT2S8LToXVbnLm+O6uhP6YV1Itu5makofOWfS+y4FQ7yqG\nlCte\r\n=k28x\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDFiq00eMlGUOquSpOz8AQMlqhnb5wpJxwRiVRoSUKXBAiB9ungP8UI+86fXOXDUr5ZmNspzVHgHaXAZl6rKrfWBow=="}]},"maintainers":[{"name":"as97","email":"arber.shabani@hotmail.com"}],"_npmUser":{"name":"as97","email":"arber.shabani@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/logger-r_4.1.0_1600439452390_0.20835953231818993"},"_hasShrinkwrap":false},"4.2.0":{"name":"@as97/logger-r","version":"4.2.0","description":"An extension of redux-logger, including the specific state","main":"dist/redux-logger.js","module":"dist/redux-logger.es.js","jsnext:main":"dist/redux-logger.es.js","scripts":{"lint":"eslint src","test":"npm run spec","spec":"nyc --all --silent --require babel-core/register mocha --plugins transform-inline-environment-variables --recursive spec/*.spec.js","spec:watch":"npm run spec -- --watch","coverage":"nyc report","coverage:html":"nyc report --reporter=html && http-server -p 8077 ./coverage -o","coverage:production":"nyc report --reporter=text-lcov > coverage.lcov && codecov","clean":"rimraf dist","uglify":"uglifyjs dist/redux-logger.js -cm -o dist/redux-logger.js","build":"rollup -c && npm run uglify","precommit":"npm test","prepublish":"npm run clean && npm test && npm run build"},"eslintConfig":{"extends":"airbnb","rules":{"no-console":"off"},"env":{"browser":true,"mocha":true}},"nyc":{"exclude":["node_modules","spec","example","lib","dist","coverage","rollup.config.js"]},"repository":{"type":"git","url":"git+https://github.com/arbershabani97/logger-r.git"},"keywords":["redux","logger","redux-logger","middleware"],"author":{"name":"Arber Shabani","url":"https://github.com/arbershabani97"},"license":"MIT","bugs":{"url":"https://github.com/arbershabani97/logger-r/issues"},"homepage":"https://github.com/arbershabani97/logger-r#readme","devDependencies":{"babel-core":"^6.24.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-inline-environment-variables":"6.8.0","babel-preset-es2015":"^6.24.0","chai":"3.5.0","codecov":"1.0.1","eslint":"^3.19.0","eslint-config-airbnb":"^14.1.0","eslint-plugin-import":"^2.2.0","eslint-plugin-jsx-a11y":"^4.0.0","eslint-plugin-react":"^6.10.3","http-server":"0.9.0","husky":"^0.13.2","mocha":"3.1.2","nyc":"9.0.1","redux":"^3.6.0","rimraf":"^2.6.1","rollup":"^0.41.6","rollup-plugin-babel":"^2.7.1","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-node-resolve":"^3.0.0","sinon":"^1.17.7","uglify-js":"^3.0.8"},"dependencies":{"deep-diff":"^0.3.5"},"gitHead":"588f5b73412eb9d2e18c4083a3b0fdf97a0a1eba","_id":"@as97/logger-r@4.2.0","_nodeVersion":"12.0.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-djVzUcBRP5E6bIt/NE9jKc1HEfEry6F6H5OHfrmqlaYwAUaszpd1nfrYpV/g0or09XkQGLOJAn4m9oSVfuYZYg==","shasum":"d6fad054509ef5a6c6121085ba4bf4a4a40e059a","tarball":"https://registry.npmjs.org/@as97/logger-r/-/logger-r-4.2.0.tgz","fileCount":10,"unpackedSize":60981,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZMfACRA9TVsSAnZWagAArjsP/1sEEkgUSex1Ljo9LyPZ\nk9t04wbU5oqPn12glyiehXqV5z7xjlawOn5ExoJoUUYDAla1IeBLYuN49OuL\np6CtGhOouE+yrVAjMbtsJbBynFsQXaSvPLsN+Jj0E0S89QgdB0IKi9Q2+UqH\n81L+Hkjz6Mt+vzcnUqkIUoaeJ3VsI8fPysLU0afqq6OPurNqlkc1pVY6lwCW\nJyzgMbvNFKiecFtdNh94wXkaeNLmkNBJxAI4oWEY6GNe1H9awbSIEImyfeMw\n76j5COHbcQkD7ZHvP2WYho05D66J7rN2uwOgkvIe0bxgm4we8pbZOwqes6Rk\nwqHUNIn+0mM5ZvO6afY445mZWd3MI3wMtRiEy904tLTHBiz8ghyheqtj6sLJ\n465Th2JJ44Gy9MB0pIEksl3E9PEzTodUMH/kwJpInJ7k9CevJI6BqEt9P0Kg\neXG3uoEyOlrnBf7QxoudjJcudg2v5MWocxacJlAvbTk43Am2wZ4kdxKjxRJX\nHVZtKnCfARFOlw0tLqFNllBh0v/7d5Y8nN4/RbMLXEPRLDv/Rk88vr9c7aqO\nmXM8HDyqBSzfnO6dfPni/dim9yb+klbPB8ReAqAlou6BKHvd0Mfmj7+HXAzg\nUUK00mDWZOvY/eIPmbocyZwficjX+pkrNObSqSF4pN5AeMAhrTdFSd/rnH21\nbTbW\r\n=T95Z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHm7Oso/LccGoZBKF1ueeSwmELrVGxXPcy+XwL5+BbilAiEAoqtbUOo+eBuVwsqyNNJBY26kyWTZFP2lw1IJCdymy9E="}]},"maintainers":[{"name":"as97","email":"arber.shabani@hotmail.com"}],"_npmUser":{"name":"as97","email":"arber.shabani@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/logger-r_4.2.0_1600440256457_0.07576317474187522"},"_hasShrinkwrap":false},"4.2.1":{"name":"@as97/logger-r","version":"4.2.1","description":"An extension of redux-logger, including the specific state","main":"dist/redux-logger.js","module":"dist/redux-logger.es.js","jsnext:main":"dist/redux-logger.es.js","scripts":{"lint":"eslint src","test":"npm run spec","spec":"nyc --all --silent --require babel-core/register mocha --plugins transform-inline-environment-variables --recursive spec/*.spec.js","spec:watch":"npm run spec -- --watch","coverage":"nyc report","coverage:html":"nyc report --reporter=html && http-server -p 8077 ./coverage -o","coverage:production":"nyc report --reporter=text-lcov > coverage.lcov && codecov","clean":"rimraf dist","uglify":"uglifyjs dist/redux-logger.js -cm -o dist/redux-logger.js","build":"rollup -c && npm run uglify","precommit":"npm test","prepublish":"npm run clean && npm test && npm run build"},"eslintConfig":{"extends":"airbnb","rules":{"no-console":"off"},"env":{"browser":true,"mocha":true}},"nyc":{"exclude":["node_modules","spec","example","lib","dist","coverage","rollup.config.js"]},"repository":{"type":"git","url":"git+https://github.com/arbershabani97/logger-r.git"},"keywords":["redux","logger","redux-logger","middleware"],"author":{"name":"Arber Shabani","url":"https://github.com/arbershabani97"},"license":"MIT","bugs":{"url":"https://github.com/arbershabani97/logger-r/issues"},"homepage":"https://github.com/arbershabani97/logger-r#readme","devDependencies":{"babel-core":"^6.24.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-inline-environment-variables":"6.8.0","babel-preset-es2015":"^6.24.0","chai":"3.5.0","codecov":"1.0.1","eslint":"^3.19.0","eslint-config-airbnb":"^14.1.0","eslint-plugin-import":"^2.2.0","eslint-plugin-jsx-a11y":"^4.0.0","eslint-plugin-react":"^6.10.3","http-server":"0.9.0","husky":"^0.13.2","mocha":"3.1.2","nyc":"9.0.1","redux":"^3.6.0","rimraf":"^2.6.1","rollup":"^0.41.6","rollup-plugin-babel":"^2.7.1","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-node-resolve":"^3.0.0","sinon":"^1.17.7","uglify-js":"^3.0.8"},"dependencies":{"deep-diff":"^0.3.5"},"gitHead":"e8842feb55d1c81ba4028d4510d08bf4f8349869","_id":"@as97/logger-r@4.2.1","_nodeVersion":"12.0.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-xnnZibhEeJDekxVFR1iwp15F4RqikjQxry8DaenE8w2wJpidKT/2nUUjrBQMOLi8Gi/8Jb70AG5ubTtxqoCI8g==","shasum":"ca41e4cc4c8c772df970d823a7148980219ca18a","tarball":"https://registry.npmjs.org/@as97/logger-r/-/logger-r-4.2.1.tgz","fileCount":10,"unpackedSize":61099,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaHUsCRA9TVsSAnZWagAAY4gP/i67RHfniBogmwhdZk+p\nnlLhqQYkt7tQJ2U89Q7IhupDgmIEsk1NnaNCsTM1DH1WRrbHmbAChouC+7ty\nuqaAqZUq9LQv9kdFCWAbHLOLnLS+vICU3Po3JMn6+EsTJiFqWr6v+mWdvHZs\n8zKdcCnw5LwqI+QxaiT0mn5mwS4Bm3QqJ08u5apXB1u0DYaPeChkpRelpF6l\nFn/vfXjRQPJrVTJdzROY4OGSOn58CZ6+2J0fKWHf10G2j4w6lniC9n5BGy5P\nNYdmSkbzSkoWALdbK6It2+Ww3GhluEKnuaG0KVpNJpnWQ7mFwb0OWdFTRDZM\nxi8ON8BwT1WLr5s4ffAYQJAMvIqKQyvQzr5sbQbRT/FGNcskArhZXHt6eB3H\nxZ27GdcYJi8wUqZ04M/XMWJlF/cv4jAhOOsV311gYNQIoRs0DN+4mKHqh9fg\nQcFv/99oUskzyRx3xEQ5cGvshh1ZwNzfSLJD/kL+J1iT+I1fj5UOz5fmUlqg\n8kpamZAfwoyKFMNkTkNvCRL1Qf0XBCtc4bKelrKKgcXC/VYql4muw+Og7lIH\nvodGM7T2cVA6aOjr4eENqBscQyjIyP62z+l2evKm6SWKkUCrNAWmsZl7BgLj\ndje9tNuEB8y4SnX3fOq4fpxemMw50bTagejy6MSsLsOTO5KanmFsMyqJfLIh\ne66b\r\n=AWJN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGRsW+2VMLh3cXnncOEbjWWL0SNQTINXJ+Ys89gS5oV/AiEAjwfpF2mpYXvNVPe3WXNXtW5TVEi2Q/oSK2Z7amplT+E="}]},"maintainers":[{"name":"as97","email":"arber.shabani@hotmail.com"}],"_npmUser":{"name":"as97","email":"arber.shabani@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/logger-r_4.2.1_1600681260304_0.0681118914733172"},"_hasShrinkwrap":false},"4.2.2":{"name":"@as97/logger-r","version":"4.2.2","description":"An extension of redux-logger, including the specific state","main":"dist/redux-logger.js","module":"dist/redux-logger.es.js","jsnext:main":"dist/redux-logger.es.js","scripts":{"lint":"eslint src","test":"npm run spec","spec":"nyc --all --silent --require babel-core/register mocha --plugins transform-inline-environment-variables --recursive spec/*.spec.js","spec:watch":"npm run spec -- --watch","coverage":"nyc report","coverage:html":"nyc report --reporter=html && http-server -p 8077 ./coverage -o","coverage:production":"nyc report --reporter=text-lcov > coverage.lcov && codecov","clean":"rimraf dist","uglify":"uglifyjs dist/redux-logger.js -cm -o dist/redux-logger.js","build":"rollup -c && npm run uglify","precommit":"npm test","prepublish":"npm run clean && npm test && npm run build"},"eslintConfig":{"extends":"airbnb","rules":{"no-console":"off"},"env":{"browser":true,"mocha":true}},"nyc":{"exclude":["node_modules","spec","example","lib","dist","coverage","rollup.config.js"]},"repository":{"type":"git","url":"git+https://github.com/arbershabani97/logger-r.git"},"keywords":["redux","logger","redux-logger","middleware"],"author":{"name":"Arber Shabani","url":"https://github.com/arbershabani97"},"license":"MIT","bugs":{"url":"https://github.com/arbershabani97/logger-r/issues"},"homepage":"https://github.com/arbershabani97/logger-r#readme","devDependencies":{"babel-core":"^6.24.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-inline-environment-variables":"6.8.0","babel-preset-es2015":"^6.24.0","chai":"3.5.0","codecov":"1.0.1","eslint":"^3.19.0","eslint-config-airbnb":"^14.1.0","eslint-plugin-import":"^2.2.0","eslint-plugin-jsx-a11y":"^4.0.0","eslint-plugin-react":"^6.10.3","http-server":"0.9.0","husky":"^0.13.2","mocha":"3.1.2","nyc":"9.0.1","redux":"^3.6.0","rimraf":"^2.6.1","rollup":"^0.41.6","rollup-plugin-babel":"^2.7.1","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-node-resolve":"^3.0.0","sinon":"^1.17.7","uglify-js":"^3.0.8"},"dependencies":{"deep-diff":"^0.3.5"},"gitHead":"2c849834f26a3b375f3c15f906d2ac2344f3226b","_id":"@as97/logger-r@4.2.2","_nodeVersion":"12.0.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-mxes5DDJdoMs1vGV0QwOYQm34kW08O6Tc40+3qbA1rLTk6uXwZH5TfVGKD5A//tz667ca63qyF+Vc5e+dMqA0g==","shasum":"286c588df15c593cb82fdc82ccfeec8a66936854","tarball":"https://registry.npmjs.org/@as97/logger-r/-/logger-r-4.2.2.tgz","fileCount":10,"unpackedSize":61785,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaJSaCRA9TVsSAnZWagAA/eIP/i4ssb5b2jTIoP1MPfJT\nLTwZhJT0+BipTWm9fi+IfVK6ULe676y+eN8f3M4gnUttHBZMWJ3mVETugIsp\n33owaKv2kAX0qEhYJqwg3kmOKPRqCMQjck7rI4WyTQlZHMlbV8xnq2TZe2lj\ngFDyfyt14ZSPLHqwHAybQEIMID5TMnMRyIDwiNXs/mHVD+FWJCOxPADuq3Ht\nUEBzHafLSXQHU2zfswESdKy4IiGNAlZ3NxShqapXGwDTFIj5qsjGlAcVRgru\nzsVxLPWzbZdzrFgpJBTPKIe2NFWm8pKUFznQz1cNJZeBnkTIFiJPYGuTE1vJ\nk5Qn514fJT6/z9ZUhs6+q2QhAX2b5s6O8gbXrncj5xPfOGgD7PHnAGNTgahx\nGnAHPg0G4G1aJmBgvUDj68nVFEjcsgK4kDAwK6lTh+2yEbNbmoXpdIEYmqGf\nFPHM9Qjt+/wZ5yinnHiKv0McnwoBIoiyQ1nSphpl/fYa5+Dhoi1sWoc4zoyw\nyDR9eHdtYqiR3VC4I9cbRKETIcW23avI/qbApub5r4kbB3Zelg58zC5tvCWV\nbRpXilXYqUUBBBukikCHUMwV/ltlAcGEHPoA73fcHLhvUQ8NZ49qS7K/i73r\nA7EQIxwI8Uml9KexztM2B45MqlKQ9Vmy1sgB3RQiHC1j4ycWUNaXroTM3cdy\nmBPO\r\n=5pKm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCiDMwUvRMfzuQ1A2J+5DaSifQLGlYZ7t1VCTa+JxU+wQIgStBnBYU5ytnY2e/Nn1vz7pUXQqwuR72D4nXtsX89CqU="}]},"maintainers":[{"name":"as97","email":"arber.shabani@hotmail.com"}],"_npmUser":{"name":"as97","email":"arber.shabani@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/logger-r_4.2.2_1600689305987_0.5514425615973753"},"_hasShrinkwrap":false},"4.2.3":{"name":"@as97/logger-r","version":"4.2.3","description":"An extension of redux-logger, including the specific state","main":"dist/redux-logger.js","module":"dist/redux-logger.es.js","jsnext:main":"dist/redux-logger.es.js","scripts":{"lint":"eslint src","test":"npm run spec","spec":"nyc --all --silent --require babel-core/register mocha --plugins transform-inline-environment-variables --recursive spec/*.spec.js","spec:watch":"npm run spec -- --watch","coverage":"nyc report","coverage:html":"nyc report --reporter=html && http-server -p 8077 ./coverage -o","coverage:production":"nyc report --reporter=text-lcov > coverage.lcov && codecov","clean":"rimraf dist","uglify":"uglifyjs dist/redux-logger.js -cm -o dist/redux-logger.js","build":"rollup -c && npm run uglify","precommit":"npm test","prepublish":"npm run clean && npm test && npm run build"},"eslintConfig":{"extends":"airbnb","rules":{"no-console":"off"},"env":{"browser":true,"mocha":true}},"nyc":{"exclude":["node_modules","spec","example","lib","dist","coverage","rollup.config.js"]},"repository":{"type":"git","url":"git+https://github.com/arbershabani97/logger-r.git"},"keywords":["redux","logger","redux-logger","middleware"],"author":{"name":"Arber Shabani","url":"https://github.com/arbershabani97"},"license":"MIT","bugs":{"url":"https://github.com/arbershabani97/logger-r/issues"},"homepage":"https://github.com/arbershabani97/logger-r#readme","devDependencies":{"babel-core":"^6.24.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-inline-environment-variables":"6.8.0","babel-preset-es2015":"^6.24.0","chai":"3.5.0","codecov":"1.0.1","eslint":"^3.19.0","eslint-config-airbnb":"^14.1.0","eslint-plugin-import":"^2.2.0","eslint-plugin-jsx-a11y":"^4.0.0","eslint-plugin-react":"^6.10.3","http-server":"0.9.0","husky":"^0.13.2","mocha":"3.1.2","nyc":"9.0.1","redux":"^3.6.0","rimraf":"^2.6.1","rollup":"^0.41.6","rollup-plugin-babel":"^2.7.1","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-node-resolve":"^3.0.0","sinon":"^1.17.7","uglify-js":"^3.0.8"},"dependencies":{"deep-diff":"^0.3.5"},"gitHead":"072dcf15632040ad1522244d08a742100c274209","_id":"@as97/logger-r@4.2.3","_nodeVersion":"12.0.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-0i13R4PsKJzE+N1SQgiOGPMjg5PzZAo/pwkIRUY4jj3ohWPN8bs6iTU6ZxrLfBrbvO5PfWE4r9ZW7mGipoMUWA==","shasum":"ba8849a073a8b941dab8e18869498e0e6ad29aa9","tarball":"https://registry.npmjs.org/@as97/logger-r/-/logger-r-4.2.3.tgz","fileCount":10,"unpackedSize":61887,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfab0dCRA9TVsSAnZWagAAedEP/jdAtiO29a37sL3Uorpv\n9ZLRy4iJJR2u2Pzi1ut32tsf6GamU3ss/bekOMjpAHNqWcXv6By3MdJrThEO\nLpRzkwSV/E0YgFLkMSNSv79rbWo4cCADOV5nI0dC3neVKLOWVWpvQLDcbA5L\n/kE16E1tl0TEcbRr/DgBpcQ82IOQ1eIKk2DQPiTcggdrZVG7jj0W8mpe/UQB\nGCzvAdbPuIrd+D8B+uAVfR4baLbMD3EPLDkNjnOrmSf0KQhjxStvhX0BhLLI\nusW42SjG4y6FG5qiFDc/dS27VMxknjVhBFcvlsPPnN+m79Gc3qx3TgP4HVoH\n2FqNn5ou07Lj8RkcV98LYgCfvq6KVnC6RnLJb1PWka1CO9ijCymLk2n8lsuK\nQtwKe+2zFUTLQM9Y4PM35JBgyidlCTUNsDZIzK3R/bwUOC+hJJuA1f2/t7ha\ncqfrXg7f9yy8o0WP+o5A6tm06h5TALA8h40pkpjXza78AqBKNpn7wPze4p5g\ngerZv4/2S5aY48WtHOL7RiC2Ek5d3Q/iAtbgiCxUvErIasH4lIXnhQwv1pD9\nY5+88tHEhFfQIG69mxcGIejcBg+NTXuoCbiQNhhuB+xgYUA1xiyOkDxnklbD\n5sTWvV9l/0mRbxud8nQwcBBpRwbKZK8iDCp76PV7ciQQi9L12Hj9wqQo3Wmj\nbkzH\r\n=wltf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAoCheEGu6zs8WO3C/CE0irzn6GV6azO5j1T/6FYwEOKAiEAwUQbB4da/eTOKyN3Vampa6H+ExLqVHXGNJgWJt69BZQ="}]},"maintainers":[{"name":"as97","email":"arber.shabani@hotmail.com"}],"_npmUser":{"name":"as97","email":"arber.shabani@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/logger-r_4.2.3_1600765213003_0.15853124808273322"},"_hasShrinkwrap":false},"4.2.4":{"name":"@as97/logger-r","version":"4.2.4","description":"An extension of redux-logger, including the specific state","main":"dist/redux-logger.js","module":"dist/redux-logger.es.js","jsnext:main":"dist/redux-logger.es.js","scripts":{"lint":"eslint src","test":"npm run spec","spec":"nyc --all --silent --require babel-core/register mocha --plugins transform-inline-environment-variables --recursive spec/*.spec.js","spec:watch":"npm run spec -- --watch","coverage":"nyc report","coverage:html":"nyc report --reporter=html && http-server -p 8077 ./coverage -o","coverage:production":"nyc report --reporter=text-lcov > coverage.lcov && codecov","clean":"rimraf dist","uglify":"uglifyjs dist/redux-logger.js -cm -o dist/redux-logger.js","build":"rollup -c && npm run uglify","precommit":"npm test","prepublish":"npm run clean && npm test && npm run build"},"eslintConfig":{"extends":"airbnb","rules":{"no-console":"off"},"env":{"browser":true,"mocha":true}},"nyc":{"exclude":["node_modules","spec","example","lib","dist","coverage","rollup.config.js"]},"repository":{"type":"git","url":"git+https://github.com/arbershabani97/logger-r.git"},"keywords":["redux","logger","redux-logger","middleware"],"author":{"name":"Arber Shabani","url":"https://github.com/arbershabani97"},"license":"MIT","bugs":{"url":"https://github.com/arbershabani97/logger-r/issues"},"homepage":"https://github.com/arbershabani97/logger-r#readme","devDependencies":{"babel-core":"^6.24.0","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-inline-environment-variables":"6.8.0","babel-preset-es2015":"^6.24.0","chai":"3.5.0","codecov":"1.0.1","eslint":"^3.19.0","eslint-config-airbnb":"^14.1.0","eslint-plugin-import":"^2.2.0","eslint-plugin-jsx-a11y":"^4.0.0","eslint-plugin-react":"^6.10.3","http-server":"0.9.0","husky":"^0.13.2","mocha":"3.1.2","nyc":"9.0.1","redux":"^3.6.0","rimraf":"^2.6.1","rollup":"^0.41.6","rollup-plugin-babel":"^2.7.1","rollup-plugin-commonjs":"^8.0.2","rollup-plugin-node-resolve":"^3.0.0","sinon":"^1.17.7","uglify-js":"^3.0.8"},"dependencies":{"deep-diff":"^0.3.5"},"gitHead":"b2a1de77ffb96328024a8419802c8adbdd7f194c","_id":"@as97/logger-r@4.2.4","_nodeVersion":"12.0.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-9r7xMyYYtNvAoF41TY9+Ac5bGQNUsFKn/Dq2eHVyDnhXGXBWdA2aCnAiEikVARhPFAFp21nu7l3lmIS0NsWi8w==","shasum":"76758e4aec565b7f5d11e7034502653b9cbf9fb6","tarball":"https://registry.npmjs.org/@as97/logger-r/-/logger-r-4.2.4.tgz","fileCount":10,"unpackedSize":62038,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaxYqCRA9TVsSAnZWagAAMAQP/3eAiDL7JyEaDqjOpd2f\niW27Z6HM3kFtpNifftCQDdqMQOigZQYi7xz6Zfaz9Sw38xoK9RLZBlHq68uZ\nAYM2Aoc8IWWR9bg7FX5yHAZwUpO5D9zn+FnPQxgY837Mczq2yvv8mddDykBz\ns+b8asV6LG66bjjiVbynR/4fmL5Htf0QH3KMOzyWfdxpHviaYk7PO90+sb4N\nPxLRnnxDOJTVw8i/OqU1wB3rBiLyMaSFIUfahqI/KZX198R8egzg64VMcms6\naU8VFkX5PShd3BP8Ub524/tkR9mynxJKwKaYOemtECe16YPdd40FEFMUkXBM\nYd+TYqY49uyvdy2o/iqgWL6I6hGnsYGwpbuytxpBxnvvgYCOEQgQ3IvCC8X5\nvmAdsqVMcDVYDhg5Yp0mcvgXpbYVv20dv1K85IsIuf+eQRErcnXzfgKJFmwe\n7Dmy1jWrqtVwBhWkuhSx+vjOr1O51uS+dTcqfzY0IfSnGuppwkILizD+EVe5\nR80WDSHpQSgJIIkmtgeHL3UCpOyF5Gx0KPF9jTcd5sqLKB2yUHhuNjKPQlBG\naKroIOHx+qjyXZ5C6UbXX707KE/RKZs1OpiVzXy9sVJu1G6lLOdYCeyYoUE7\njCOOdnqMsUtjzbLYGIE4PbvWYQM1PdDt/0Pse/s8SncgkvxAT+ZQPEBQqy+s\nWBTu\r\n=0Gay\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDuz0C0yjW+wR4Q9Hfrt9ReA3KTsVOSf89RkGyDU+iwCgIgJ6W7G3ftjrL9lZDBkoCV8RIfXx9RhsK94n2kep4KS+c="}]},"maintainers":[{"name":"as97","email":"arber.shabani@hotmail.com"}],"_npmUser":{"name":"as97","email":"arber.shabani@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/logger-r_4.2.4_1600853545720_0.850760254717825"},"_hasShrinkwrap":false}},"time":{"created":"2020-09-18T14:30:52.346Z","4.1.0":"2020-09-18T14:30:52.599Z","modified":"2022-04-04T15:42:14.428Z","4.2.0":"2020-09-18T14:44:16.577Z","4.2.1":"2020-09-21T09:41:00.550Z","4.2.2":"2020-09-21T11:55:06.136Z","4.2.3":"2020-09-22T09:00:13.202Z","4.2.4":"2020-09-23T09:32:25.831Z"},"maintainers":[{"name":"as97","email":"arber.shabani@hotmail.com"}],"description":"An extension of redux-logger, including the specific state","homepage":"https://github.com/arbershabani97/logger-r#readme","keywords":["redux","logger","redux-logger","middleware"],"repository":{"type":"git","url":"git+https://github.com/arbershabani97/logger-r.git"},"author":{"name":"Arber Shabani","url":"https://github.com/arbershabani97"},"bugs":{"url":"https://github.com/arbershabani97/logger-r/issues"},"license":"MIT","readme":"# Logger for Redux\r\n[![npm](https://img.shields.io/npm/v/logger-r.svg?maxAge=2592000?style=plastic)](https://www.npmjs.com/package/@as97/logger-r)\r\n[![npm](https://img.shields.io/npm/dm/logger-r.svg?maxAge=2592000?style=plastic)](https://www.npmjs.com/package/@as97/logger-r)\r\n[![Build Status](https://circleci.com/gh/arbershabani97/logger-r/tree/master.svg?style=svg)](https://circleci.com/gh/arbershabani97/@as97/logger-r/tree/master)\r\n\r\n![redux-logger](http://i.imgur.com/CgAuHlE.png)\r\n\r\n### An extension of redux-logger made from LogRocket, intending to solve the problem of showing only the necessary state needed\r\n\r\n> LogRocket is a production Redux logging tool that lets you replay problems as if they happened in your own browser. Instead of guessing why errors happen, or asking users for screenshots and log dumps, LogRocket lets you replay Redux actions + state, network requests, console logs, and see a video of what the user saw.\r\n\r\nFor more informatiom about the future of redux-logger, check out the [discussion here](https://github.com/LogRocket/redux-logger/issues/314).\r\n\r\n## Table of contents\r\n* [Install](#install)\r\n* [Usage](#usage)\r\n* [Options](#options)\r\n* [Recipes](#recipes)\r\n  * [Log only in development](#log-only-in-development)\r\n  * [Log everything except actions with certain type](#log-everything-except-actions-with-certain-type)\r\n  * [Collapse actions with certain type](#collapse-actions-with-certain-type)\r\n  * [Transform Immutable (without `combineReducers`)](#transform-immutable-without-combinereducers)\r\n  * [Transform Immutable (with `combineReducers`)](#transform-immutable-with-combinereducers)\r\n  * [Log batched actions](#log-batched-actions)\r\n* [To Do](#to-do)\r\n* [Known issues](#known-issues) (with `react-native` only at this moment)\r\n* [License](#license)\r\n\r\n## Install\r\n`npm i --save @as97/redux-logger`\r\n\r\n## Usage\r\n```javascript\r\nimport { applyMiddleware, createStore } from 'redux';\r\n\r\n// Logger with default options\r\nimport logger from 'redux-logger'\r\nconst store = createStore(\r\n  reducer,\r\n  applyMiddleware(logger)\r\n)\r\n\r\n// Note passing middleware as the third argument requires redux@>=3.1.0\r\n```\r\n\r\nOr you can create your own logger with custom [options](https://github.com/LogRocket/redux-logger#options):\r\n```javascript\r\nimport { applyMiddleware, createStore } from 'redux';\r\nimport { createLogger } from 'redux-logger'\r\n\r\nconst logger = createLogger({\r\n  // ...options\r\n});\r\n\r\nconst store = createStore(\r\n  reducer,\r\n  applyMiddleware(logger)\r\n);\r\n```\r\n\r\nNote: logger **must be** the last middleware in chain, otherwise it will log thunk and promise, not actual actions ([#20](https://github.com/LogRocket/redux-logger/issues/20)).\r\n\r\n## Options\r\n```javascript\r\n{\r\n  predicate, // if specified this function will be called before each action is processed with this middleware.\r\n  collapsed, // takes a Boolean or optionally a Function that receives `getState` function for accessing current store state and `action` object as parameters. Returns `true` if the log group should be collapsed, `false` otherwise.\r\n  duration = false: Boolean, // print the duration of each action?\r\n  timestamp = true: Boolean, // print the timestamp with each action?\r\n\r\n  level = 'log': 'log' | 'console' | 'warn' | 'error' | 'info', // console's level\r\n  colors: ColorsObject, // colors for title, prev state, action and next state: https://github.com/LogRocket/redux-logger/blob/master/src/defaults.js#L12-L18\r\n  titleFormatter, // Format the title used when logging actions.\r\n\r\n  stateTransformer, // Transform state before print. Eg. convert Immutable object to plain JSON.\r\n  actionTransformer, // Transform action before print. Eg. convert Immutable object to plain JSON.\r\n  errorTransformer, // Transform error before print. Eg. convert Immutable object to plain JSON.\r\n\r\n  logger = console: LoggerObject, // implementation of the `console` API.\r\n  logErrors = true: Boolean, // should the logger catch, log, and re-throw errors?\r\n\r\n  diff = false: Boolean, // (alpha) show diff between states?\r\n  diffPredicate // (alpha) filter function for showing states diff, similar to `predicate`\r\n}\r\n```\r\n\r\n### Options description\r\n\r\n#### __level (String | Function | Object)__\r\nLevel of `console`. `warn`, `error`, `info` or [else](https://developer.mozilla.org/en/docs/Web/API/console).\r\n\r\nIt can be a function `(action: Object) => level: String`.\r\n\r\nIt can be an object with level string for: `prevState`, `action`, `nextState`, `error`\r\n\r\nIt can be an object with getter functions: `prevState`, `action`, `nextState`, `error`. Useful if you want to print\r\nmessage based on specific state or action. Set any of them to `false` if you want to hide it.\r\n\r\n* `prevState(prevState: Object) => level: String`\r\n* `action(action: Object) => level: String`\r\n* `nextState(nextState: Object) => level: String`\r\n* `error(error: Any, prevState: Object) => level: String`\r\n\r\n*Default: `log`*\r\n\r\n#### __duration (Boolean)__\r\nPrint duration of each action?\r\n\r\n*Default: `false`*\r\n\r\n#### __timestamp (Boolean)__\r\nPrint timestamp with each action?\r\n\r\n*Default: `true`*\r\n\r\n#### __colors (Object)__\r\nObject with color getter functions: `title`, `prevState`, `action`, `nextState`, `error`. Useful if you want to paint\r\nmessage based on specific state or action. Set any of them to `false` if you want to show plain message without colors.\r\n\r\n* `title(action: Object) => color: String`\r\n* `prevState(prevState: Object) => color: String`\r\n* `action(action: Object) => color: String`\r\n* `nextState(nextState: Object) => color: String`\r\n* `error(error: Any, prevState: Object) => color: String`\r\n\r\n#### __logger (Object)__\r\nImplementation of the `console` API. Useful if you are using a custom, wrapped version of `console`.\r\n\r\n*Default: `console`*\r\n\r\n#### __logErrors (Boolean)__\r\nShould the logger catch, log, and re-throw errors? This makes it clear which action triggered the error but makes \"break\r\non error\" in dev tools harder to use, as it breaks on re-throw rather than the original throw location.\r\n\r\n*Default: `true`*\r\n\r\n#### __collapsed = (getState: Function, action: Object, logEntry: Object) => Boolean__\r\nTakes a boolean or optionally a function that receives `getState` function for accessing current store state and `action` object as parameters. Returns `true` if the log group should be collapsed, `false` otherwise.\r\n\r\n*Default: `false`*\r\n\r\n#### __predicate = (getState: Function, action: Object) => Boolean__\r\nIf specified this function will be called before each action is processed with this middleware.\r\nReceives `getState` function for  accessing current store state and `action` object as parameters. Returns `true` if action should be logged, `false` otherwise.\r\n\r\n*Default: `null` (always log)*\r\n\r\n#### __stateTransformer = (state: Object, action: Object) => state__\r\nTransform state before print. Eg. convert Immutable object to plain JSON.\r\n\r\n*Default: identity function*\r\n\r\n#### __actionTransformer = (action: Object) => action__\r\nTransform action before print. Eg. convert Immutable object to plain JSON.\r\n\r\n*Default: identity function*\r\n\r\n#### __errorTransformer = (error: Any) => error__\r\nTransform error before print.\r\n\r\n*Default: identity function*\r\n\r\n#### __titleFormatter = (action: Object, time: String?, took: Number?) => title__\r\nFormat the title used for each action.\r\n\r\n*Default: prints something like `action @ ${time} ${action.type} (in ${took.toFixed(2)} ms)`*\r\n\r\n#### __diff (Boolean)__\r\nShow states diff.\r\n\r\n*Default: `false`*\r\n\r\n#### __diffPredicate = (getState: Function, action: Object) => Boolean__\r\nFilter states diff for certain cases.\r\n\r\n*Default: `undefined`*\r\n\r\n## Recipes\r\n### Log only in development\r\n```javascript\r\nconst middlewares = [];\r\n\r\nif (process.env.NODE_ENV === `development`) {\r\n  const { logger } = require(`redux-logger`);\r\n\r\n  middlewares.push(logger);\r\n}\r\n\r\nconst store = compose(applyMiddleware(...middlewares))(createStore)(reducer);\r\n```\r\n\r\n### Log everything except actions with certain type\r\n```javascript\r\ncreateLogger({\r\n  predicate: (getState, action) => action.type !== AUTH_REMOVE_TOKEN\r\n});\r\n```\r\n\r\n### Collapse actions with certain type\r\n```javascript\r\ncreateLogger({\r\n  collapsed: (getState, action) => action.type === FORM_CHANGE\r\n});\r\n```\r\n\r\n### Collapse actions that don't have errors\r\n```javascript\r\ncreateLogger({\r\n  collapsed: (getState, action, logEntry) => !logEntry.error\r\n});\r\n```\r\n\r\n### Transform Immutable (without `combineReducers`)\r\n```javascript\r\nimport { Iterable } from 'immutable';\r\n\r\nconst stateTransformer = (state, action) => {\r\n  if (Iterable.isIterable(state)) return state.toJS();\r\n  else return state;\r\n};\r\n\r\nconst logger = createLogger({\r\n  stateTransformer,\r\n});\r\n```\r\n\r\n### Transform Immutable (with `combineReducers`)\r\n```javascript\r\nconst logger = createLogger({\r\n  stateTransformer: (state, action) => {\r\n    let newState = {};\r\n\r\n    for (var i of Object.keys(state)) {\r\n      if (Immutable.Iterable.isIterable(state[i])) {\r\n        newState[i] = state[i].toJS();\r\n      } else {\r\n        newState[i] = state[i];\r\n      }\r\n    };\r\n\r\n    return newState;\r\n  }\r\n});\r\n```\r\n\r\n### Log batched actions\r\nThanks to [@smashercosmo](https://github.com/smashercosmo)\r\n```javascript\r\nimport { createLogger } from 'redux-logger';\r\n\r\nconst actionTransformer = action => {\r\n  if (action.type === 'BATCHING_REDUCER.BATCH') {\r\n    action.payload.type = action.payload.map(next => next.type).join(' => ');\r\n    return action.payload;\r\n  }\r\n\r\n  return action;\r\n};\r\n\r\nconst level = 'info';\r\n\r\nconst logger = {};\r\n\r\nfor (const method in console) {\r\n  if (typeof console[method] === 'function') {\r\n    logger[method] = console[method].bind(console);\r\n  }\r\n}\r\n\r\nlogger[level] = function levelFn(...args) {\r\n  const lastArg = args.pop();\r\n\r\n  if (Array.isArray(lastArg)) {\r\n    return lastArg.forEach(item => {\r\n      console[level].apply(console, [...args, item]);\r\n    });\r\n  }\r\n\r\n  console[level].apply(console, arguments);\r\n};\r\n\r\nexport default createLogger({\r\n  level,\r\n  actionTransformer,\r\n  logger\r\n});\r\n```\r\n\r\n## To Do\r\n- [x] Update eslint config to [airbnb's](https://www.npmjs.com/package/eslint-config-airbnb)\r\n- [ ] Clean up code, because it's very messy, to be honest\r\n- [ ] Write tests\r\n- [ ] Node.js support\r\n- [ ] React-native support\r\n\r\nFeel free to create PR for any of those tasks!\r\n\r\n## Known issues\r\n* Performance issues in react-native ([#32](https://github.com/LogRocket/redux-logger/issues/32))\r\n\r\n## License\r\nMIT\r\n","readmeFilename":"README.md"}