{"_id":"j-counter","_rev":"13-4325a88ab238643a8e20cd1c945b61b4","name":"j-counter","dist-tags":{"latest":"0.1.18"},"versions":{"0.1.0":{"name":"j-counter","version":"0.1.0","description":"A good counter for javascript and typescript","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc","start":"tsc --watch","test":"jest","testwatch":"npm run test -- --watchAll","format":"prettier --write \"src/**/*.ts\"","lint":"tslint -p tsconfig.json","prepublishOnly":"npm test && npm run lint","prepare":"npm run build","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags"},"keywords":["counter, metering, javascript, node.js"],"author":{"name":"Jerry Gao","email":"jerry.job@163.com"},"license":"RocketSoftware Internal","devDependencies":{"@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/underscore":"^1.10.22","jest":"^26.4.2","prettier":"^2.1.1","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.0"},"dependencies":{"underscore":"^1.10.2"},"gitHead":"4350b7fefc1fbe7620c664068b518e815a059058","_id":"j-counter@0.1.0","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-kxZxo0J3vl45IPit6tQNSp3qlp13aGbHp3wMb3K/q7rTH+sqr9oCp4jpCW7DwF9V3WXIRG2fKF3ksl3m5lerVw==","shasum":"425be88c3d22595a683fe9f8c417525bdfcdbe90","tarball":"https://registry.npmjs.org/j-counter/-/j-counter-0.1.0.tgz","fileCount":20,"unpackedSize":67430,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfT0JkCRA9TVsSAnZWagAAT+8P/36jFNtU51UHXAC7i49L\n5CwVCZ4s4c9C/PajwpgVE/Rg/Ksqj2RjJeE0P1fgObrcVnmt48CgB9cD91or\n9ZJqWjAMnFdqj2T+WZhsL9J/Km287uI0JdCmSb3fIA8huJpvYznW9nhkYVJX\n85dbjj/x6Rrte9CTJNNxZv1NMBB/ny/1nfabbxC2dRMXjWHasqKLA7hxChw6\nSfTj97yFqoulD9b/nShCMzkWpWiAccsafPrEO5spYnL6XEKbuwb23EtolLM9\nXjiLORTFolpRuKU4uQCd8lGzzzXyRhJ+3DgZxpbkFwln3KbaGWfleNeaS9pW\nDTBAFGJp3K/r6tFH0kphtgil1mahujnsutDp9OwYqIzkyBav9vElPuuvQ44P\nM7uDH1Xr7gWew1OCls4uG9RcmdUZ9DqjqAYxuocFXl8QqrXOJJEzH95Vbac5\njCKqm51tc+dRunbOZta0DDzDvxN4nv3V1fZVqmq5xb5rSkMU42z7BPvXo5U3\nvcLaqsRuzB9snZp67GUDU3Ot+RBUjofDwrJcn7Mc+4KfBEdxsW+iBu5Q9DOM\nT3IKyAEybKbL1MQfbYXxPVH7L7sycXO73sRxln4otx/RU17OuHQsE/CKLd2s\nqaeuXu1Ij+BXOGNKp37rnrGyM/FRqh5XqIrx3AuaaA18zLSLbt8G3xH2vS5U\nzaU3\r\n=fKSA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+NI3ZcB0EKBXwAn2ZUQ50VynGJJJKJiMIpvZNxezHvQIgRE/oRNYssEm/PWYfcJUre1yvo67I2qgfJntEQMX9Pxc="}]},"maintainers":[{"name":"jiangao","email":"jerry.job@163.com"}],"_npmUser":{"name":"jiangao","email":"jerry.job@163.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/j-counter_0.1.0_1599029860209_0.5589352224823445"},"_hasShrinkwrap":false},"0.1.2":{"name":"j-counter","version":"0.1.2","description":"A good counter for javascript and typescript","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc","start":"tsc --watch","test":"jest","testwatch":"npm run test -- --watchAll","format":"prettier --write \"src/**/*.ts\"","lint":"tslint -p tsconfig.json","prepublishOnly":"npm test && npm run lint","prepare":"npm run build","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags"},"keywords":["counter, metering, javascript, node.js"],"author":{"name":"Jerry Gao","email":"jerry.job@163.com"},"license":"RocketSoftware Internal","devDependencies":{"@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/underscore":"^1.10.22","jest":"^26.4.2","prettier":"^2.1.1","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.0"},"dependencies":{"underscore":"^1.10.2"},"gitHead":"8839315a8287a83f43dabb0c52725f411d7935e1","_id":"j-counter@0.1.2","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-xGQrxBVkvTzNgTXMuGneQm8bsAt1BJsyM3QbfzldZGlSswZN7c5mANS4adkh5J987xX6GKE5lMEdAv6VlD9nlg==","shasum":"ce52605bb02ee4bc95fd0d4cb7c15f9fb7802f0c","tarball":"https://registry.npmjs.org/j-counter/-/j-counter-0.1.2.tgz","fileCount":20,"unpackedSize":70711,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfT1N9CRA9TVsSAnZWagAAdmUP/RII2Gb9TiROy27y9TqG\nsjkM0JsX4eotiS69EIgRWhzwSQ7nKEneBhsdmRjiUeQe8D/evYTQCnfDp+d6\n18ML8Ow+cyrvL8XEcub84tXmB16+XjBoBdxfjUnN74dh6Iwml2BWlPlfK4Bu\nBl3fVl/4xAMLyZ2iVXOJ9lS0jTOuTP4c9Nj8Jwm6jAmdVFpBYkPboTTjFAHr\n7II5T6sT4C+TjRcLIWzv2xdPGWujySn5ezuE/2E6n3sWH58K87HVkV2EjnFo\nEYhAD3vFIvD/h96yp69f4LTXKvGlniu9G3eOh18qA6fEHE/PJt8ME4a0whoT\nz69o/Nhr4zFtu5u9Ei0GCSupANS2dAbX+7HVR4jJNMvkYQD/07CAua+JaYex\nDshTheU+xjgZ7z6J7Fs/x2O1uSfJK8Hc+U6QhAonjeGtF4iuz7zUrKzK2QoF\nwGMp+8XwBmSbtIfCDsstKZca9uotsppy0ojBpVTeCJ7F3gLVyn73pKRGcecx\nGUR7BNdtqgUXrSd+mvsMqBaBFpU7NvVIKKo/p0UxUD3lmDoThkexdOGUDdKp\n9CtmzVp24cUBNNBUjTtDuWnJPJLoSl8WRhHc4pZ+Cbc8vHSjMwxXGG3QOUx+\npcFqRo/1WbJaS8uG4eASRhHlkR2EZpH0+Jlz7nsmJOwzwFQEFCSQrzYSM8v5\n+Jli\r\n=BlB6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHlJ3FWHpEoxDp3gokxTNeZpaRlRF6Cbw/iK/kBOgcdqAiAWte3r8DtZtMwVBzwy/VCGo2kSwpoeIr4K3MSsXNBYPQ=="}]},"maintainers":[{"name":"jiangao","email":"jerry.job@163.com"}],"_npmUser":{"name":"jiangao","email":"jerry.job@163.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/j-counter_0.1.2_1599034236675_0.4761359448290907"},"_hasShrinkwrap":false},"0.1.3":{"name":"j-counter","version":"0.1.3","description":"A good counter for javascript and typescript","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc","start":"tsc --watch","test":"jest","testwatch":"npm run test -- --watchAll","format":"prettier --write \"src/**/*.ts\"","lint":"tslint -p tsconfig.json","prepublishOnly":"npm test && npm run lint","prepare":"npm run build","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags"},"keywords":["counter, metering, javascript, node.js"],"author":{"name":"Jerry Gao","email":"jerry.job@163.com"},"license":"MIT","devDependencies":{"@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/underscore":"^1.10.22","jest":"^26.4.2","prettier":"^2.1.1","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.0"},"dependencies":{"underscore":"^1.10.2"},"gitHead":"b0f0fe49ebf87514a2469a9e76d13a5e93c3190d","_id":"j-counter@0.1.3","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Lci+Te/Ub/vb6GXmSg3snrtQkuHVY3ODSr047G7vpfoF7McZ+rI5cAeek/AQBENHJ8O1vC4gLxNqbBR2Qj0RWQ==","shasum":"bebb389e124b4077b748c374fd122a2249cd82a2","tarball":"https://registry.npmjs.org/j-counter/-/j-counter-0.1.3.tgz","fileCount":20,"unpackedSize":70180,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfT1ckCRA9TVsSAnZWagAAN90P/16cN5RjEWsRyhW2Hex5\nLX1NN6/S7rBXaa+/XSvnv6GqGNIzY39apFHHfNJ4ws7a/4kHmvYqZNTcaZCD\nT15Z7hLKi29yJ5XhoWgQoFU3BZRew3teoW/pdJguD8SpNbMd1cnF+r9PcWmk\n3NWE/xrKlsGdhtONrzo/5zTCXea0m0xtZEgjdZOU5FHGXvV9UXp5HP/kG7W+\nj3KU8OnN6qX2LNqXRzygO4vHBw6vRw1Bl3XCFKp1y5Y08WC3wJySGK+gE536\nCWpPkC9ogEa2BcvENvg2yqOJfwu1z3id/V8t+upT5QVz1eXuPD9lOM+YgCtb\ndSihjxT+fAhZtYHiHJlJ81GmnP87Ld+bHfg5eGrUiFRC1BUK54QYX1E5zr+w\ny7mOLiOzREp+An+s2Ybh3RlcP5/McBCUNpiLWMdZGC75Z2yQR1Qfc6sCUidw\nWQNJA0Oq5qOHwMDtLBFSJ2Sb7/XrBRyXnXnYLdZjk2aaoRZZtMXrAEGI6gkr\nof5lnESqbZ0xBsIRwSuBLF/4iGQjGpX7aVLyYRaq0c7ne3nIysS56UugNeI1\nRLAd0PE0VZNBh7rEjTaRDJNMXIbDk/OOP1MX+xYKeUqmkFxdirNBDFOyQ0Km\n2DbtS3bJq8qrBsP8LVxKTeFJzitu07DLUxRayu/8dF3AsRMsRJT7Y9lEB6Sb\n/WYE\r\n=f2Tf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMvykQGm4jASYDk0O2W6nVg7H0lMA+NRpqeRgakk7aKwIhAON8aynjlM7Jqaa8JPAGa5uF1QDskJIvnbaYZSsir5LT"}]},"maintainers":[{"name":"jiangao","email":"jerry.job@163.com"}],"_npmUser":{"name":"jiangao","email":"jerry.job@163.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/j-counter_0.1.3_1599035172468_0.95710244769006"},"_hasShrinkwrap":false},"0.1.4":{"name":"j-counter","version":"0.1.4","description":"A good counter for javascript and typescript","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc","start":"tsc --watch","test":"jest","testwatch":"npm run test -- --watchAll","format":"prettier --write \"src/**/*.ts\"","lint":"tslint -p tsconfig.json","prepublishOnly":"npm test && npm run lint","prepare":"npm run build","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags"},"keywords":["counter, metering, javascript, node.js, typescript"],"author":{"name":"Jerry Gao","email":"jerry.job@163.com"},"license":"MIT","devDependencies":{"@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/underscore":"^1.10.22","jest":"^26.4.2","prettier":"^2.1.1","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.0"},"dependencies":{"underscore":"^1.10.2"},"gitHead":"0b7ec76998e683dc39c2bc9cef0abca48f188719","_id":"j-counter@0.1.4","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-hQIkdvY9WNMkC4O/CUdEBvL6/VYGmzbk7RHnX4bBiqXmKbU4grkNr3aUYTzY6/7KULzKwMqQeOZi+rTl/2CuiA==","shasum":"ef6e0fe513d9d33e5a66f0f63e27eec527524c19","tarball":"https://registry.npmjs.org/j-counter/-/j-counter-0.1.4.tgz","fileCount":20,"unpackedSize":70171,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfT1lMCRA9TVsSAnZWagAAXZMP/0IlCcIeEEdiYcijpCHJ\nLFJNh2EFCc3WqMvSHAZyvEy0dlihcSSdh2iZIDUgM7RwWVwxq9gOdxaPfZ7F\nK0eAChdxwNyzS7P4vxSMUa/7ImlxNBWZroxfTfEzE6u7INFCTzT8fMagEjeA\n0l5rgD6ovMLFAUAAzrXCWO4oqUwtTo4JE0uJNTXTMeCyZtfbOw96Ic88Ac3o\nNvEJ+QU65H3fIPTqjT6JFC5T1pzU20PcNeXbNa0IWeDBFSovL+fAQEi64faL\nclK16UFsweXTFmnzMgUcxqD0931y+n+mpyVZh8J1vBAzwPJzl9/SzQ7wEQK4\nI/xsJV3sjX9r60M19zVS+te58wmX7sYj4KowwEZy0o6IYUtb6zhqWavIT61D\n7sSfOkH/XfcqlEe9NH+LwC2eg9PVYryDneddel5N8k16VnvCVF32HzposJFw\nN3GMSfbSnL8odt1gIVGyC0aaZkYJQSQA7b5SVP0BqJ6K8/SX2Xg0+bj6KfWy\n+UBK8S9PnlUBhVDMxiefeXNJ3Dg2Z7sBj41KrhpqRQ6Ptxjxojm3sGkkTuyF\ncnzkIjd3tl4S4p7wQ3e51NGGljgMiFrkOTIU6CWGmK1jW8kKUSvdVy+JOUbA\npVVCkBoZAAltXUuu1igaJf/vE7S2BkfsXVFUlHeMSIuTxi4Vh/kpTsqAEs9H\naRD8\r\n=arhh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC8oPoAeSt9EAiqYg5tLi/f5orFHKUh3jI9GrgyeeSMCgIhANNeAOS6q1PvUuutXCWABjKjXvtDhwOQzYqUTvJ11YY1"}]},"maintainers":[{"name":"jiangao","email":"jerry.job@163.com"}],"_npmUser":{"name":"jiangao","email":"jerry.job@163.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/j-counter_0.1.4_1599035724388_0.9495132446130836"},"_hasShrinkwrap":false},"0.1.5":{"name":"j-counter","version":"0.1.5","description":"A good counter for javascript and typescript","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc","start":"tsc --watch","test":"jest","testwatch":"npm run test -- --watchAll","format":"prettier --write \"src/**/*.ts\"","lint":"tslint -p tsconfig.json","prepublishOnly":"npm test && npm run lint","prepare":"npm run build","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags","npmpublish":"npm version patch && npm publish"},"keywords":["counter, metering, javascript, node.js, typescript"],"author":{"name":"Jerry Gao","email":"jerry.job@163.com"},"license":"MIT","devDependencies":{"@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/underscore":"^1.10.22","jest":"^26.4.2","prettier":"^2.1.1","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.0"},"dependencies":{"underscore":"^1.10.2"},"gitHead":"168ef708e5ffc68f75dcb84670addaac23e836dd","_id":"j-counter@0.1.5","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-StM9MN8QLTsIeczwviYTiGjZM8U4oyvt5rKOGKAFHnJgglEza7SYiYTPEiZwPpXPbsld55MrafDoIAYG71kzRg==","shasum":"39d2e2c16ad4a701721644c1cc14c8a65845e72b","tarball":"https://registry.npmjs.org/j-counter/-/j-counter-0.1.5.tgz","fileCount":20,"unpackedSize":69415,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfT10nCRA9TVsSAnZWagAAxoUQAI+7L2UmFlNkM+/OCL0y\nF+Qbdr6QGOaeQPN6BCbtftSMcvKry6zznfYqZTFg3pHwArJz7xiVM+4HngXi\nn8mgrtmnxX/BcEbUbkKI0pOelaP4DT+Gfo2mFi3uKEY5XAhAs3+DEVIGqg/T\nF3060uUPf95BKj/OrB2p0em8KTnRTYj74NVXDhdWtdgkx6P21zi9EpZEK4y/\nreThZ3b5oFk5L89EHdV4cHDopSJhXhu7+uSnFMupmrLmXHHnHiB3mrPBEwmb\n327Yd99877rBM4JrPfDyU08UBr1WqEauMnGT6wPWeYWQRo1UXjfAasxkELyw\n7hUX51W8gVV6JMQclxfCjvZyMT1jxoZfWeYFlhM3Qc5PYerB51hEM7X55fh0\nChkcgMcPqfMsrteIGzsZA85ZX1/4Ij3c5uiLJHnPBoku8BGJgBH2/AWwVjN4\nmWLyT0aakizsdy4a64/JHpOBov35InvpGFxMpIG88rAmi/ihaE/b66tCeaA1\nJLnjAfkz3VbaNP424uyAC091P5AAjDxctj4LOWsc9/C0quZYvkvAzpnF1bxT\nZVQKJtdBRyqDhrR8xwRDpvpMqF5CIqguvFOFPdY9eWHWcsr9hTsdrqGfBAlm\nY6mPsWtyip9TZjD3lT/C7B+vtxRRr5+PjI3kj5YByT7wOIFIMBRLZsHeoxtt\nBLzk\r\n=GK9F\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvsj7cMnRJ2L5OorxXK87SILZYGIpSbGiyqcEezMrS1AIgJO50P21YLgf4DidL6mnQ+2BaSDWG8WWnUDPTzUX/elU="}]},"maintainers":[{"name":"jiangao","email":"jerry.job@163.com"}],"_npmUser":{"name":"jiangao","email":"jerry.job@163.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/j-counter_0.1.5_1599036711269_0.41142809140980696"},"_hasShrinkwrap":false},"0.1.6":{"name":"j-counter","version":"0.1.6","description":"A good counter for javascript and typescript","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc","start":"tsc --watch","test":"jest","testwatch":"npm run test -- --watchAll","format":"prettier --write \"src/**/*.ts\"","lint":"tslint -p tsconfig.json","prepublishOnly":"npm test && npm run lint","prepare":"npm run build","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags","npmpublish":"npm version patch && npm publish"},"keywords":["counter, metering, javascript, node.js, typescript"],"author":{"name":"Jerry Gao","email":"jerry.job@163.com"},"license":"MIT","devDependencies":{"@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/underscore":"^1.10.22","jest":"^26.4.2","prettier":"^2.1.1","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.0"},"dependencies":{"underscore":"^1.10.2"},"gitHead":"8b5ca44faca037a50cb7883bd1aa6060998cda2b","_id":"j-counter@0.1.6","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-UCP6LxgMNPKhaMKUVwib35I5vfT6OofyoETvhOggeUWxpcbhqeeT9DG9DHXLA9QOYFPuEvADpRADqfYTjET3mA==","shasum":"24ab5cd76fd2c1e14b8375b16eb21525280978f0","tarball":"https://registry.npmjs.org/j-counter/-/j-counter-0.1.6.tgz","fileCount":20,"unpackedSize":69299,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfT18wCRA9TVsSAnZWagAAbKoP/1GowkTb/mtedVBw34Qh\nc+02FBikvvB3x4vr6Z3vzZ0Ap6GXQCh+CFHND8EMxLooY0Pb1UmLED3ON5xf\nHLHpYOB31EMA/gaJTHgcUTk8kX9eUJbEPGFp0t9NvnJ3jCbrYx+U+iqaQMED\n7xq33dkJ5QBuSOaK0Ji7hIAZQL/OHJvb/TsGzSRIiF60/FCrSTLIsFHyJhTq\ndBSm0QJjrkksuLEBLxj3c8jCvQhczNJ26ZYtsww5tTHZF0ycwMKNQKZnwbyA\nf9sk8nN2Ze3XrdTA56ABJkFSwQMPElD3Wa5aEPiE9cY4lP3aMGl+N7UNc4Td\nS/hZLzeN5/a4kSdog3dR4HtGg6E2lDfB8VS1OJs3vFIGyowu95bGjjIUNsu/\nCHMgUsFbsQIOH2RgRhdtjt6o70wQW+itIZZOPRsUI5KYtWCLwRAHQbDw7Vnc\nTt0knZFM8Mjj8VrLKptNoTViD7NFyKxiGRtjWCRwbLOSJppcTi6fxDRt7azH\n0l1I74Xur6XlnUV1TsaHIfkXw1hBSTna/e0MJ4/ET+pq1NvHHMFfPQS76Iuq\nWk7EKuDWXae7/9qJcKyoBdmXlGawGOGblavPv+4sg6hbU9gf4aYCR//zPwbE\nwEhnAdvo4W9yKZMZcHfGMgJDrZfw7S+XNwZBh3Qs9RNYPDnNKLJB0j5eGKNG\nXlol\r\n=K1tS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE+w9emL1XONyhjulJxvlP5pZ8Ev4pGtvViF1r93DFAeAiBlAGij/+50GSCvHu8uLQhZa/BOA8lkaLn7PYf5l7/sAg=="}]},"maintainers":[{"name":"jiangao","email":"jerry.job@163.com"}],"_npmUser":{"name":"jiangao","email":"jerry.job@163.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/j-counter_0.1.6_1599037231960_0.16614301718946423"},"_hasShrinkwrap":false},"0.1.7":{"name":"j-counter","version":"0.1.7","description":"A good counter for javascript and typescript","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc","start":"tsc --watch","test":"jest","testwatch":"npm run test -- --watchAll","format":"prettier --write \"src/**/*.ts\"","lint":"tslint -p tsconfig.json","prepublishOnly":"npm test && npm run lint","prepare":"npm run build","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags","npmpublish":"npm version patch && npm publish"},"keywords":["counter, metering, javascript, node.js, typescript"],"author":{"name":"Jerry Gao","email":"jerry.job@163.com"},"license":"MIT","devDependencies":{"@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/underscore":"^1.10.22","jest":"^26.4.2","prettier":"^2.1.1","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.0"},"dependencies":{"underscore":"^1.10.2"},"gitHead":"bbe484fe9939115ea57936735b5f3b12836cbdf3","_id":"j-counter@0.1.7","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-OamMfSWteN8rHmStXCU1+/lX4yFWeVONZ+cGhwOYmQAMZK2LZa/ukshxgu2eMTCa2ExYv+z5mKbKq1FImTlj0Q==","shasum":"89a3cc6aa2c450d1f367883fc0f1b76cef5c48e4","tarball":"https://registry.npmjs.org/j-counter/-/j-counter-0.1.7.tgz","fileCount":20,"unpackedSize":69647,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfT2S3CRA9TVsSAnZWagAAPD4P/0hQeGFffQu2RO8Hgua+\nUiLNqDv2fyPt5fITL/ZMDojzbYwEVLjSBk4hvBgsh0yuBSOUeEsmgU/cDs6e\noFfSebEDKmDOsQ2idvAbEaCj8IOa7rXl9b5SlXs8x49Fk4jHh8jnXdaNnhMx\nGkd357Bp3Eb+xk0AqCdY9/tyxrNSEAc4ghpSK19pRdGhJ+vu8mPVXFXBeFbz\nPDXegPOInWwsYNx00yfAKnvB7Vv/sieUr++/UoBXMbU/t6uAq6gnrIBxFv7E\nOQ11UsqyQsw7mUI57OF364hC6DSkVwBOFzijPoBRoMoIqFIxO2qc+T/Xpg73\nkENg/lDRx3OlokDAz9a2VqzhaG3xyT7Hxv9HQZCvPi59+3zcKQmg2u8LGHBL\nfXgJgIuDWy1GkHK/f3L8HmQpXOetyknuAgQoT2t+vfJ/dMNpiIIENuUjlHxk\nJn0PR6/ld0M5xRvAnA9etELL5q/eO1EtQPPbguAuZvI7q7qgSw9AwWzpduQZ\nSr5i/YGUbvtNUaQJQDr9pukAPD/8zwt4/9sbRqltnxl9gG3OodTMWVsgudQU\nNaUiHuEzdHzjAtwb3wtQa+OJn7DGM3w0eBLYzkUUoXqgAui9ty++O5UzsNQ6\nEYFO5cE0L4hGNDYBzMSu5dnlwwQKtgKK+YPWOEVT75+3x6xpVlv2lDe+O1gL\nAPgi\r\n=jeFe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCPsvqn7q1oq0XIiunmhTu/W3a03Aww2rY/D+3RfMbFKwIgda/nrcPdxMUxBtVwhfgZ2n9XkpK8u6nmH4dYDxHHj6Y="}]},"maintainers":[{"name":"jiangao","email":"jerry.job@163.com"}],"_npmUser":{"name":"jiangao","email":"jerry.job@163.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/j-counter_0.1.7_1599038646863_0.1119865202943311"},"_hasShrinkwrap":false},"0.1.10":{"name":"j-counter","version":"0.1.10","description":"A good counter for javascript and typescript","main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/janiago/j-counter.git"},"scripts":{"build":"tsc","start":"tsc --watch","test":"jest","testwatch":"npm run test -- --watchAll","format":"prettier --write \"src/**/*.ts\"","lint":"tslint -p tsconfig.json","prepublishOnly":"npm test && npm run lint","prepare":"npm run build","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags","npmpublish":"npm version patch && npm publish"},"keywords":["counter, metering, javascript, node.js, typescript"],"author":{"name":"Jerry Gao","email":"jerry.job@163.com"},"license":"MIT","devDependencies":{"@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/underscore":"^1.10.22","jest":"^26.4.2","prettier":"^2.1.1","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.0"},"dependencies":{"underscore":"^1.10.2"},"gitHead":"19be8752a4b2751022ffd800e601626da7c2407d","bugs":{"url":"https://github.com/janiago/j-counter/issues"},"homepage":"https://github.com/janiago/j-counter#readme","_id":"j-counter@0.1.10","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-4Q5Jnku8B7/NUwnKWal2JP4JPO7iEy6zB2brQ+1Jx1rHORGFy4U/zJRtMjGNWb8G5ZkGvzOSLG2Gn2PyRCk0Yg==","shasum":"9266ce2e8f05ab18afe2030d11a1d1a20839a8ee","tarball":"https://registry.npmjs.org/j-counter/-/j-counter-0.1.10.tgz","fileCount":20,"unpackedSize":69740,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUEhTCRA9TVsSAnZWagAAc64P/jo2IUeSW0we0JAtsjOD\nkzxE4KJuQcdSn1DcN4GOvpYicRvRC0mEdZq2bozR4cpiHELur24d0s6cRM8q\nDTBNhbPbKk4RNUnxM9AvxRxM2RC4bIf1LLhrO638rPfpW2AOKkfeYL77FhsK\no7NZIJOpVvxqtB6Hs21xf13k6TkHDFtgjJNgT1J4yH36CdYei21JNW6nnyxF\n1qkOFjbDfSWDn72bC7fEQPy2IV6Bw6xgmJec2WxVTbbdtaiG2fYxTEsZ/bk4\nWk2gSgyE/tCgjial55whNFtgt0L9iFcIPlmvUrpBeRAxdVK/ImC6wEo6/sd0\nHRbtaRwXawUmqQe0zR9eJYX45YhRSvF6k9skgUFviQSyEKTogCBjyuQaV5Vl\nVft1ER8/BScUumRhwUhMlCCSp+UJ61PF8PXq1X/o4kq0s3O6Cw/vwXzKUQ4o\nLaTBBLaosLcyw6ur0G1vC11IUG/+5XpPhyi2kOsxxPkvcRz8v5AmYHJuYPh8\nD0hQCeV4iLGU2ErujiydesWnvR12tr1W3Lq3p6Rwv7opZPVmYCxLnPd17Xa3\nGigvwaKAsfpBC9rveW6Ov0S5vWPh4BClYNHNBnqTr+XwBu+0C/1x2HvoSBqi\nbDWG1RCJHe2G5avtJPl6z0iTAIGGViwqWjGceWqh4GGlfOX0DYPzHy5dpenj\nWLpZ\r\n=EtBQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCNVMA+8mEYdlFWCUFMJDdrlqETvvWuQ/dDOqNAzkObUgIhAIbqz9PYj+QKEc78JFI9axST+SkqcE+s9Lj0SwTxcvVQ"}]},"maintainers":[{"name":"jiangao","email":"jerry.job@163.com"}],"_npmUser":{"name":"jiangao","email":"jerry.job@163.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/j-counter_0.1.10_1599096914308_0.9180399635741749"},"_hasShrinkwrap":false},"0.1.13":{"name":"j-counter","version":"0.1.13","description":"A good counter for javascript and typescript","main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/janiago/j-counter.git"},"scripts":{"build":"tsc","start":"tsc --watch","test":"jest","testwatch":"npm run test -- --watchAll","format":"prettier --write \"src/**/*.ts\"","lint":"tslint -p tsconfig.json","prepublishOnly":"npm test && npm run lint","prepare":"npm run build","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags","npmpublish":"npm version patch && npm publish"},"keywords":["counter, metering, javascript, node.js, typescript"],"author":{"name":"Jerry Gao","email":"jerry.job@163.com"},"license":"MIT","devDependencies":{"@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/underscore":"^1.10.22","jest":"^26.4.2","prettier":"^2.1.1","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.0"},"dependencies":{"underscore":"^1.10.2"},"gitHead":"082d4964ceeec1e420b23208ce463fb049b103d3","bugs":{"url":"https://github.com/janiago/j-counter/issues"},"homepage":"https://github.com/janiago/j-counter#readme","_id":"j-counter@0.1.13","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-iCCsf1MKKWe/7lYZqBzXnWCNKddgnwzix8hADxYDPXCoQNZG/jPrJbdbVKZvN/7AFOwVoJF3Y+02xiZWAvSinA==","shasum":"90b83405106bb1cf2c62962e7252e700979800bb","tarball":"https://registry.npmjs.org/j-counter/-/j-counter-0.1.13.tgz","fileCount":20,"unpackedSize":71010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUK99CRA9TVsSAnZWagAADlUP/3WqLMoP3zsDT517OV1J\n2zk46STvfiRt+c2B9JqLfY/uORIyXfYr2Vh5ie7ER/PgSDQyRl3G3lA6/D3x\nLAlR41OwYM8cT152sqqvfvuTow2V3mVQof02hbnNNJItLv3XACCSZoNA0MYf\nvhyuMeaSVYQR5ktaCcZe8W8SvyuX2K4o2ZIXs4L65EGOIHbuTUcS5A4aJBXA\n+2wojxZ0MPeq+flO9gc/XaApuXz8PR2gwLXA2lTjIvu1u9kO+Xp8sNGzbgSP\nl0sxh4FFcqKiO9KLSvcoee4m2c/QdkspHYXfIGqrqpjgh1MNCEwavqSTqvAP\nKLax487/mH/pbDqg05+xC/uZLNKKUBYmGbC3oSYosppwUAaRpLXhzG9dy2HJ\noksA3UVJM1KfhyzyUHcjk3ks9PtNYcJMoaZXTM2i0gfmZHZEdU8wQatuIlU5\nYjJbn1A+HUpPstcyyfOqD70X5fxLilMe3km2iXuqfK0DwDNNqcSkaeApkDUJ\noZiaHNnSHWklWnopUSMJGdO57O+MWva9Bt0Hk3sNdX2fnBmTiAEzPRwrj2hd\nVwcVDc1zv0tUL2NsBxv/zrt5HKLgrtuAJ1/+lODW1bVlV2CxbCgiJZ9CbAKO\nhn8QgvXkpm0uqfsq8/5KdvOS4c16ZxjfosyhZqCXDm6vY4BvTY9wAVNZRMYO\nRJVL\r\n=DKKb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGnby2gKI8CqveOcNY/s42ulcc8NuOpe1b7IhKYkkWNkAiAIyH6zWTw2fkkdrJqBhcpM888aMUDrvDSIuw/ILMhu1Q=="}]},"maintainers":[{"name":"jiangao","email":"jerry.job@163.com"}],"_npmUser":{"name":"jiangao","email":"jerry.job@163.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/j-counter_0.1.13_1599123325367_0.35237344654075464"},"_hasShrinkwrap":false},"0.1.14":{"name":"j-counter","version":"0.1.14","description":"A good counter for javascript and typescript","main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/janiago/j-counter.git"},"scripts":{"build":"tsc","start":"tsc --watch","test":"jest","testwatch":"npm run test -- --watchAll","format":"prettier --write \"src/**/*.ts\"","lint":"tslint -p tsconfig.json","prepublishOnly":"npm test && npm run lint","prepare":"npm run build","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags","npmpublish":"npm version patch && npm publish"},"keywords":["counter, metering, javascript, node.js, typescript"],"author":{"name":"Jerry Gao","email":"jerry.job@163.com"},"license":"MIT","devDependencies":{"@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/underscore":"^1.10.22","jest":"^26.4.2","prettier":"^2.1.1","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.0"},"dependencies":{"underscore":"^1.10.2"},"gitHead":"0d4f121c54346c9e34623f129999ac21d48ba04e","bugs":{"url":"https://github.com/janiago/j-counter/issues"},"homepage":"https://github.com/janiago/j-counter#readme","_id":"j-counter@0.1.14","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-o5+Op3ncGZtNfDS6BQPuQyI4Rj5V0tetWf7zv/rWKuogjw5rUrnz0gb6a2Ng0S9SJs3l0U856Ec1n2KbrrBNbw==","shasum":"c5c49ae2d5bb62d3c3d65924cf9762466e7462c3","tarball":"https://registry.npmjs.org/j-counter/-/j-counter-0.1.14.tgz","fileCount":20,"unpackedSize":71016,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfULKGCRA9TVsSAnZWagAAuCgP/ixob7OwL7f0p032Z0Z/\nNel6yucAGfkM/3tHbP5P9rUIG2/BmVk7YxFw5AzU27oqJVzlAcVwAdzjM9i9\nzuowvUmIiJ2ZNRACo7/3hpshlyTU0tlBLHKR9zjcg3ImKh0hmCktHxSO41gJ\na4GUvDurjC8m0V5ZLF4FuM6F+2+lJvpfE5R09UEij1OBl21TC1UdBpINiCLY\nbTXimGt9hwxIjUAZlogBX9BKAvCYe5vdiN7gic3HG2qsbGXoPmsQZ2iTuSsI\nwgXcK/a5YnSGhlmNTGDcEJebuI2JFLQBJMmobDQNUv5SATcwdMaTGUv8NjoK\nQAvHOUfGrZ9xrGncO2EkGn2vUa4dRcCvFRfEyHcnQZ7zc8oDDKxU2/ISnUPn\nD/ETvfmQAToHfLXT+UGIXluiFSEPrO/ImHIx+czpi4bdkJDicZGePEsCD9Ml\nSyy/G+2ptZzpz0hFBVyjCn1C0bNN7dFiuC6vbndkqgNRFOR4zQx6KlIOTHYO\nGeZ9JSlEYNSTVahoLwIk/qzR01g9CGzNGAmPCvbJP2ZpnteSCSAi+D2IDclm\ne7axP79hqefSzYr+RJ32tWSt0v0ofNKXP6R9PZiXexAwsId8VnDHJbDXstAP\n0dMg35e4sC5v2ULfUIIWgY0MywPBVK6duojRn3yJdqkrYUlNzFnl5H4GRpsJ\nKEif\r\n=ILOE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcAVTTca5quxJ8ULN66zb+S064CdoOaIoWiLcVaXD+swIhAISpox/phUVi94gzcCw/2lvU3T18X6d9yERSK/03hRfy"}]},"maintainers":[{"name":"jiangao","email":"jerry.job@163.com"}],"_npmUser":{"name":"jiangao","email":"jerry.job@163.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/j-counter_0.1.14_1599124102443_0.7278817071032693"},"_hasShrinkwrap":false},"0.1.15":{"name":"j-counter","version":"0.1.15","description":"A good counter for javascript and typescript","main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/janiago/j-counter.git"},"scripts":{"build":"tsc","start":"tsc --watch","test":"jest","testwatch":"npm run test -- --watchAll","format":"prettier --write \"src/**/*.ts\"","lint":"tslint -p tsconfig.json","prepublishOnly":"npm test && npm run lint","prepare":"npm run build","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags","npmpublish":"npm version patch && npm publish"},"keywords":["counter, metering, javascript, node.js, typescript"],"author":{"name":"Jerry Gao","email":"jerry.job@163.com"},"license":"MIT","devDependencies":{"@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/underscore":"^1.10.22","jest":"^26.4.2","prettier":"^2.1.1","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.0"},"dependencies":{"underscore":"^1.10.2"},"gitHead":"5d5a2924a453558f359c72b5e61fc985bb2f68dd","bugs":{"url":"https://github.com/janiago/j-counter/issues"},"homepage":"https://github.com/janiago/j-counter#readme","_id":"j-counter@0.1.15","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Jfea75kPVZS3END8bs1BtLfOLkmzrjZ2ZqtUJ7O8wS5qK4gqd1r45RWTLUlrm2dVDF8RywQ2rcYd7m1GXQnyMw==","shasum":"b4249deca822a158979b3dc0830348c43cad1059","tarball":"https://registry.npmjs.org/j-counter/-/j-counter-0.1.15.tgz","fileCount":20,"unpackedSize":71110,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfULYCCRA9TVsSAnZWagAA2lYP/ijlSpCZpHQwjiYSMjKq\nUNT7byajMrXN/SHoN9Prf+fJaw2FfWYXgx1Z9pLxZTK4CUkqTUjFKSuGn+aF\nMrjMfSANoEdSjWDd5sRD8gLYdMnjPcgrKSlBXPVqCdsRGoFclQI+m4qlPL7B\nxz8eTY20lQdji5jmq8Sa0j7HMOKazhUOOjBljr9eAu9ksCZWiQmbjAkesfpI\nsJGV8VvfHe6aZntE6OVp01AFxoyM6Qb4Hf7c5erv4F6ax9OyEfzay1Mmr2tu\ntRaM3ydsa7tNsMehTuQlnVYqfPs1/mjqkHrLv9TcTuClJmtEO8xhbYDGEqNi\nWGJo5qlQX+oT72Iz0dr0/Q5PSCFlmquHH25TwGLvj50Q7zZxE5Zy8+exshv4\nnQMgwVjpTfAAP3u/8noPs35s/ZrfpJW6gbhvAaxEN4fIy5a8uvQZjK8bJmDK\nv9iV5xtdu9ANwR6bn23dTo3lNGj+PnExK7ceR9aqwk10EheOko/ouUgkRZ8q\nTPF0h66Xeg16hy8KbqrYgykzFUaRuc6JBLRuY4dPhS3Bfi0b0GhW9pF9JviZ\nub/IgvPoNTrBVQw2aBz+/jyrE4PTfW/sTNNXDqtpDzpMXffsTDYzk5bHqxEi\nERZSAu4IL6LbVS1OuiTLiT627O3E/H7bTB3uhNdmE2+nn1LHVg1I4ccPiBUL\nNUG+\r\n=96QU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQqSxLUiTdlCb/kB5Iuwulb/UD4wiBHQLaPIcv/bGx7AIgaTlU53u/UO7bQMAnivUT+f64DcQWBCKlNZhcYdNPQbg="}]},"maintainers":[{"name":"jiangao","email":"jerry.job@163.com"}],"_npmUser":{"name":"jiangao","email":"jerry.job@163.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/j-counter_0.1.15_1599124994048_0.4020489160437579"},"_hasShrinkwrap":false},"0.1.16":{"name":"j-counter","version":"0.1.16","description":"A good counter for javascript and typescript","main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/janiago/j-counter.git"},"scripts":{"build":"tsc","start":"tsc --watch","test":"jest","testwatch":"npm run test -- --watchAll","format":"prettier --write \"src/**/*.ts\"","lint":"tslint -p tsconfig.json","prepublishOnly":"npm test && npm run lint","prepare":"npm run build","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags","npmpublish":"npm version patch && npm publish"},"keywords":["counter","counting","metering","concurrent-user","concurrent-usage","peak","average","javascript","typescript","node.js"],"author":{"name":"Jerry Gao","email":"jerry.job@163.com"},"license":"MIT","devDependencies":{"@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/underscore":"^1.10.22","jest":"^26.4.2","prettier":"^2.1.1","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.0"},"dependencies":{"underscore":"^1.10.2"},"gitHead":"f148bdc3ca7597c3282b316e44899e88299e75e5","bugs":{"url":"https://github.com/janiago/j-counter/issues"},"homepage":"https://github.com/janiago/j-counter#readme","_id":"j-counter@0.1.16","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-vB++XQkFLosg8C48VUK2PYf4tksg91HHc7O1LbNP8Dvq4hi67k3nZa134dh0euBvPyZlv5uM4RqVT7rTOqi50g==","shasum":"afdd416228196b3edb4e2100197e0f00797f1a57","tarball":"https://registry.npmjs.org/j-counter/-/j-counter-0.1.16.tgz","fileCount":20,"unpackedSize":71224,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUf0YCRA9TVsSAnZWagAAhYkP/jANUaG2KE3D7d432kpF\nUhW83Vkut8jsrY1tAuxqnpHWmEactB4CorXXc2z/qpZod6oERL1Lfgv/FFJG\nwxRupD3fU94sK59D5CQMu4R56UjvT0St1gbhbRpVY2769LHRd0SPTJhsJStp\nWAuBVDbDfEnqvD3J5sTWxnCn1lM5R3ZqsB43C0SEu1yRHUfjVvnvdSCKS0Sp\nfznXdOLuiaTesV05AKYRo/a5z/GbC59OLnmFzN2zlBw67rhMwS1/EZkmcCep\nFYQM4RbjEpukdWcsEPSVkrzzTaesL71Fl7077QO9oLVbU5MpdrsZ0CDqZXiJ\n99Zo+zNc1ySHz9Ivm0OHtCwZjpLZtdxNHsONDXZnbo7NJblHEXvyyRZXiwt8\n80EzGwAciLy/qUPvPq1k7qhoqvPVdIrIBCUTNpxY20Stry23fEbvdcpAZD/I\nSsvOwYj7Eong7AasQ0+A/4A7g6QNgVYgqkwUoInqqAa5BkkEI0PkTtovUUoC\nhw50M7w3L4FJ+/xCg887mRdDlRmYXK8x5sll0bmouTHX3qdomefvGpSywuFO\nVOoBZm6rjfkPQwzPy7FScqfFQIBFwAr/HdiBun6jjcc99ebsZ4AEksSOk/5+\nQqbIxU119913KnPdHMJbXWmgCDHiMpsa3CcPHUhK+eIJwwQ4FzcMR05KFcY0\nUWTj\r\n=1fHW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2kXh4dj37NpiyxPIdqtXU4dGHODYvVoOhtNDM7ZX0rgIhAKPV2em/a3Q9SEROqgFh9rEz2aAumAYsY/Rlh8SQpg8X"}]},"maintainers":[{"name":"jiangao","email":"jerry.job@163.com"}],"_npmUser":{"name":"jiangao","email":"jerry.job@163.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/j-counter_0.1.16_1599208727847_0.9499165849622337"},"_hasShrinkwrap":false},"0.1.18":{"name":"j-counter","version":"0.1.18","description":"A good counter for javascript and typescript","main":"lib/index.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/janiago/j-counter.git"},"scripts":{"build":"tsc","start":"tsc --watch","test":"jest","testwatch":"npm run test -- --watchAll","format":"prettier --write \"src/**/*.ts\"","lint":"tslint -p tsconfig.json","prepublishOnly":"npm test && npm run lint","prepare":"npm run build","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags","npmpublish":"npm version patch && npm publish"},"keywords":["counter","counting","metering","concurrent-user","concurrent-usage","peak","average","javascript","typescript","node.js"],"author":{"name":"Jerry Gao","email":"jerry.job@163.com"},"license":"MIT","devDependencies":{"@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/underscore":"^1.10.22","jest":"^26.4.2","prettier":"^2.1.1","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.0"},"dependencies":{"underscore":"^1.10.2"},"gitHead":"87359d19ce629bfa2a1c2bfd32c107656a2412b5","bugs":{"url":"https://github.com/janiago/j-counter/issues"},"homepage":"https://github.com/janiago/j-counter#readme","_id":"j-counter@0.1.18","_nodeVersion":"10.22.0","_npmVersion":"6.14.6","dist":{"integrity":"sha512-Aq8NCgFr7V8mJZq1eKnlokYkhiTbmMrNXMt0WJC45V8cIgme2R1rsajicZ19LSii7+gABR883GV2XvZgm9KJ7Q==","shasum":"7e5f214e12a4b6d4342d952bb9869f3309084d60","tarball":"https://registry.npmjs.org/j-counter/-/j-counter-0.1.18.tgz","fileCount":20,"unpackedSize":71298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfm7uPCRA9TVsSAnZWagAADIcP/2DtLFOAvU5wSaiHtklC\nKDmAVeYXmwQVnrd/DjjhydNhHSPt4aE4yZTPNTn5Eb+Y7Jhz/y8cmz13wcG4\nxh1VMISNjdIG01JeMkveJ+UYIb5swr4eaWMFzDs1FnM2jTDV4bioCD4EhH0b\nExLhzEV4Yf+SfyWiRUwJvyU5m17T6JOfZ0He/VZkihwuvUzx4aPJJpGw5l8z\n15jmhtKW1w5KQdIOXeRVhD1nrUJQcmQJCj0e3V6VwdY6raIkb0yAyugFTy1g\n+e97RG42atdu/0XsvLUZmEBzWoBWpQR5JTwW0XaU4E0O2e7qbtpU6mUhEUJz\nE9NaSXQj8qosIm6rN44v5tgkY2ogfAzCxENudexdAH6UzukWJvq/oolBK3Mu\nm9ML9CHDJX7AlbYHAY/98RndEmZ0g9zu9X0KW+aYgPicGPm5kgJFeX+quoWi\nfYTuEHnQHLxzJNqdU57JiRVmedbomCYMUh2DpFB62GNCmlpWQxqGmHApFlve\n9eu7MAMobwaQ/64qK4gPSSpBVQa2P+/PfDGju8oi4/fwvgz2HoLBM9Xbk8hV\nici9z36g1FKB3Xhl8xpfUhisTS5F1GcIh5WPCHnon1xdnZHZ6SGm/bp6SHNG\n9SVRz2tNb2ayQ6A/A9CShzoDRanwoPhGMX1mypZA6u/z6PtFKA9v+Sden8m0\nN3VW\r\n=HPWP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKiz0WgMvUpf+YBYjfJkHyapOPlyZqupsrCYN1i5YnFgIgLTnqXvC7r1DNTDztCaooWlhHoYVV+cZuYPaa8nT61bo="}]},"maintainers":[{"name":"jiangao","email":"jerry.job@163.com"}],"_npmUser":{"name":"jiangao","email":"jerry.job@163.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/j-counter_0.1.18_1604041614532_0.4026526111961999"},"_hasShrinkwrap":false}},"time":{"created":"2020-09-02T06:57:40.209Z","0.1.0":"2020-09-02T06:57:40.441Z","modified":"2022-05-06T08:58:43.262Z","0.1.2":"2020-09-02T08:10:36.872Z","0.1.3":"2020-09-02T08:26:12.610Z","0.1.4":"2020-09-02T08:35:24.556Z","0.1.5":"2020-09-02T08:51:51.453Z","0.1.6":"2020-09-02T09:00:32.121Z","0.1.7":"2020-09-02T09:24:07.019Z","0.1.10":"2020-09-03T01:35:14.444Z","0.1.13":"2020-09-03T08:55:25.526Z","0.1.14":"2020-09-03T09:08:22.588Z","0.1.15":"2020-09-03T09:23:14.221Z","0.1.16":"2020-09-04T08:38:47.947Z","0.1.18":"2020-10-30T07:06:54.666Z"},"maintainers":[{"name":"jiangao","email":"jerry.job@163.com"}],"description":"A good counter for javascript and typescript","keywords":["counter","counting","metering","concurrent-user","concurrent-usage","peak","average","javascript","typescript","node.js"],"author":{"name":"Jerry Gao","email":"jerry.job@163.com"},"license":"MIT","readme":"# j-counter\r\nI need a package to count the concurrent login users of my application, but I couldn't find one that meet my requirements well. So, I wrote one.\r\n\r\nj-counter can increase or decrease the count whenever you want. The recording is timestamp based. And it calculates the peak value and average value for you. \r\n\r\nIt also do summarize on minute level and hour level, and tell you the peak/avg value of each minute and hour. By default, it do summarize each 10 minutes, but you can customize the interval.\r\n\r\n## Installation\r\n```Javascript\r\nnpm i j-counter\r\n```\r\n## Invoke in javascript\r\n```Javascript\r\nconst { JCounter } = require('j-counter');\r\n```\r\n## Invoke in typescript\r\n```Javascript\r\nimport { JCounter } from 'j-counter';\r\n```\r\n## Usage - Increase / decrease counter\r\n```Javascript\r\nconst counter = new JCounter();\r\nlet count = 0;\r\ncounter.addOne();\r\ncount = counter.getLastCount(); // 1\r\ncounter.dropOne();\r\ncount = counter.getLastCount(); // 0\r\ncounter.add(5);\r\ncount = counter.getLastCount(); // 5\r\ncounter.drop(6);\r\ncount = counter.getLastCount(); // -1\r\n```\r\n## Usage - Multiple counters\r\n```Javascript\r\ncounter.createCounter('counter1');\r\ncounter.addOne('counter1');\r\nlet count1 = counter.getLastCount('counter1');\r\n```\r\n## Usage - Get peak and average counts\r\n```Javascript\r\nconst peak = counter.getPeak(); // 5\r\nconsole.log(`Peak count is: ${peak}`);\r\n\r\nconst avg = counter.getAvg();\r\nconsole.log(`Average count is: ${avg}`);\r\n\r\nconst now = Date.now();\r\nconsole.log(`The count at 1 second ago: ${counter.getCountAt(now - 1000)}`);\r\n\r\nconst peak10 = counter.getPeak(now - 10000, now); // Peak value of recent 10 seconds\r\nconsole.log(`Peak of recent 10 seconds is: ${peak10}`);\r\n\r\nconst avg10 = counter.getAvg(now - 10000, now);// Average value of recent 10 seconds\r\nconsole.log(`Average of recent 10 seconds is: ${avg10}`);\r\n\r\ncounter.cut(now); // Cuts all the records before now, and keep the count at now.\r\n```\r\n## Usage - Summarizing peak and average count by minute\r\n```Javascript\r\nconst minuteSummary = [];\r\nconst summarizer = counter.triggerSummarizer();\r\nsummarizer.on('minuteSummary', (summary) => {\r\n        console.log(summary);\r\n        /**\r\n         * The summary object is like this: \r\n         * {\r\n         *      hour: number, // the timestamp value of the hour (minute, second and millisecond are 0)\r\n         *      minute: number, // 0 - 59, stands for the minute\r\n         *      peak: number, // the peak count during the minute\r\n         *      avg: number, // the average count during the minute\r\n         * }\r\n         */\r\n        minuteSummary.push(summary); // you can store the count into database if need.\r\n});\r\n```\r\n## Usage - Summarizing peak and average count by hour\r\n```Javascript\r\nconst hourSummary = [];\r\nconst summarizer = counter.triggerSummarizer();\r\nsummarizer.on('hourSummary', (summary) => {\r\n        console.log(summary);\r\n        /**\r\n         * The summary object is like this: \r\n         * {\r\n         *      hour: number, // the timestamp value of the hour (minute, second and millisecond are 0)\r\n         *      peak: number, // the peak count during the hour\r\n         *      avg: number, // the average count during the hour\r\n         * }\r\n         */\r\n        hourSummary.push(summary); // you can store the count into database if need.\r\n});\r\n```\r\n## Usage - Summarizing interval\r\nThe minuteSummary event is triggered every 10 minutes by default. The interval can be changed with parameter:\r\n```Javascript\r\nconst summarizer = counter.triggerSummarizer(1000 * 60 * 5); // 5 minutes\r\n```\r\nBut the minimum interval is 1 minute, even if you set the value to smaller number. This is because the calculation is based on minute.\r\n## Data in memory\r\nThe counter stores the count data in memory. It's like: \r\n\r\nkey: [1599116412345, 1599116412348, 1599116412352, ...] // timestamp when count changes\r\n\r\nvalue: [1,2,3,...] // the count\r\n\r\nTo avoid the accumulating data from filling out the memory, summarizer automatically cut the records before the previous hour. \r\nE.g. when summarizer is calculating the data at \"2020-09-03 15:30:01:0012\", it cuts all the data before \"2020-09-03 14:00:00:0000\".\r\nIf this is still risky, you can execute cut function on minuteSummary event like below. But make sure keep enough data for the calculation.\r\n\r\n```Javascript\r\nconst minuteSummary = [];\r\nconst summarizer = counter.triggerSummarizer(1000*);\r\nsummarizer.on('minuteSummary', (summary) => {\r\n        minuteSummary.push(summary);\r\n        counter.cut(Date.now() - (1000 * 60 * 30)); // only keep the records of recent 30 minutes.\r\n});\r\n```\r\n## Calculation formula\r\npeak = max(counts)\r\n\r\navg = (Σ (count * duration)) / (Σ durations)\r\n","readmeFilename":"README.md","homepage":"https://github.com/janiago/j-counter#readme","repository":{"type":"git","url":"git+https://github.com/janiago/j-counter.git"},"bugs":{"url":"https://github.com/janiago/j-counter/issues"}}