{"_id":"timer-node","_rev":"4171172","name":"timer-node","description":"A timestamp-based timer that enables recording elapsed time and formatting the result.","dist-tags":{"latest":"5.0.9"},"maintainers":[{"name":"eyas-ranjous","email":""}],"time":{"modified":"2026-03-01T21:17:30.000Z","created":"2018-10-05T04:10:13.879Z","5.0.9":"2025-01-26T09:17:39.034Z","5.0.8":"2025-01-25T23:20:32.684Z","5.0.7":"2022-12-11T14:54:20.280Z","5.0.6":"2022-06-20T06:50:21.263Z","5.0.5":"2021-06-14T10:02:11.177Z","5.0.4":"2021-05-03T18:56:56.118Z","5.0.3":"2021-04-17T08:54:42.286Z","5.0.2":"2021-03-25T19:18:53.561Z","5.0.1":"2021-03-24T20:06:16.721Z","5.0.0":"2021-03-23T22:30:13.784Z","4.1.0":"2021-03-13T12:39:18.218Z","4.0.0":"2021-02-26T05:06:39.812Z","3.1.0":"2021-02-06T15:25:52.075Z","3.0.0":"2020-07-07T20:34:13.573Z","2.0.0":"2020-04-14T06:33:49.945Z","1.0.4":"2018-10-08T01:11:18.694Z","1.0.3":"2018-10-06T18:29:34.722Z","1.0.1":"2018-10-06T18:03:31.481Z","0.0.0":"2018-10-05T04:10:13.879Z"},"users":{},"author":{"name":"Eyas Ranjous","email":"https://github.com/eyas-ranjous"},"repository":{"type":"git","url":"git+https://github.com/eyas-ranjous/timer-node.git"},"versions":{"5.0.9":{"name":"timer-node","version":"5.0.9","description":"A timestamp-based timer that enables recording elapsed time and formatting the result.","main":"index.js","scripts":{"test":"grunt test"},"repository":{"type":"git","url":"git+https://github.com/eyas-ranjous/timer-node.git"},"keywords":["timer","timer.js","node timer","js timer"],"author":{"name":"Eyas Ranjous","email":"https://github.com/eyas-ranjous"},"license":"MIT","bugs":{"url":"https://github.com/eyas-ranjous/timer-node/issues"},"homepage":"https://github.com/eyas-ranjous/timer-node#readme","devDependencies":{"chai":"^4.2.0","eslint":"^6.7.2","eslint-config-airbnb-base":"^14.0.0","eslint-plugin-import":"^2.19.1","grunt":"^1.0.4","grunt-eslint":"^22.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-mocha-test":"^0.13.3","istanbul":"^0.4.5","mocha":"^6.2.2","sinon":"^9.0.2"},"_id":"timer-node@5.0.9","gitHead":"739c1c030fb05a0f147d54cc514c7665f11b7452","types":"./index.d.ts","_nodeVersion":"20.18.0","_npmVersion":"10.8.2","dist":{"shasum":"b5e2781c6ce415a7e35053144265699668076267","size":5279,"noattachment":false,"key":"/timer-node/-/timer-node-5.0.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/timer-node/download/timer-node-5.0.9.tgz"},"_npmUser":{"name":"eyas-ranjous","email":"eyas.ranjous@gmail.com"},"directories":{},"maintainers":[{"name":"eyas-ranjous","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/timer-node_5.0.9_1737883058881_0.3562399955718887"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-01-26T09:17:39.034Z","publish_time":1737883059034,"_source_registry_name":"default","_cnpm_publish_time":1737883059034},"5.0.8":{"name":"timer-node","version":"5.0.8","description":"A timestamp-based timer that enables recording elapsed time and formatting the result.","main":"index.js","scripts":{"test":"grunt test"},"repository":{"type":"git","url":"git+https://github.com/eyas-ranjous/timer-node.git"},"keywords":["timer","timer.js","node timer","js timer"],"author":{"name":"Eyas Ranjous","email":"https://github.com/eyas-ranjous"},"license":"MIT","bugs":{"url":"https://github.com/eyas-ranjous/timer-node/issues"},"homepage":"https://github.com/eyas-ranjous/timer-node#readme","devDependencies":{"chai":"^4.2.0","eslint":"^6.7.2","eslint-config-airbnb-base":"^14.0.0","eslint-plugin-import":"^2.19.1","grunt":"^1.0.4","grunt-eslint":"^22.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-mocha-test":"^0.13.3","istanbul":"^0.4.5","mocha":"^6.2.2","sinon":"^9.0.2"},"_id":"timer-node@5.0.8","gitHead":"fea96a359d957ecd79a5012d7b999a08f6b2373c","types":"./index.d.ts","_nodeVersion":"20.18.0","_npmVersion":"10.8.2","dist":{"shasum":"1528b4696300477286ab1cc49f62e9bace616c17","size":5297,"noattachment":false,"key":"/timer-node/-/timer-node-5.0.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/timer-node/download/timer-node-5.0.8.tgz"},"_npmUser":{"name":"eyas-ranjous","email":"eyas.ranjous@gmail.com"},"directories":{},"maintainers":[{"name":"eyas-ranjous","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/timer-node_5.0.8_1737847232490_0.35597280276700305"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-01-25T23:20:32.684Z","publish_time":1737847232684,"_source_registry_name":"default","_cnpm_publish_time":1737847232684},"5.0.7":{"name":"timer-node","version":"5.0.7","description":"A timestamp-based timer that enables recording elapsed time and formatting the result.","main":"index.js","scripts":{"test":"grunt test"},"repository":{"type":"git","url":"git+https://github.com/eyas-ranjous/timer-node.git"},"keywords":["timer","timer.js","node timer","js timer"],"author":{"name":"Eyas Ranjous","email":"https://github.com/eyas-ranjous"},"license":"MIT","bugs":{"url":"https://github.com/eyas-ranjous/timer-node/issues"},"homepage":"https://github.com/eyas-ranjous/timer-node#readme","devDependencies":{"chai":"^4.2.0","eslint":"^6.7.2","eslint-config-airbnb-base":"^14.0.0","eslint-plugin-import":"^2.19.1","grunt":"^1.0.4","grunt-eslint":"^22.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-mocha-test":"^0.13.3","istanbul":"^0.4.5","mocha":"^6.2.2","sinon":"^9.0.2"},"gitHead":"0722a12c90625d48b060ffb1047f94e71e915ffc","_id":"timer-node@5.0.7","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"shasum":"69710fc660c46884bec57135272f86883453b839","size":5594,"noattachment":false,"key":"/timer-node/-/timer-node-5.0.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/timer-node/download/timer-node-5.0.7.tgz"},"_npmUser":{"name":"eyas-ranjous","email":"eyas.ranjous@gmail.com"},"directories":{},"maintainers":[{"name":"eyas-ranjous","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timer-node_5.0.7_1670770460095_0.05281814580362121"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-12-11T14:54:23.674Z","publish_time":1670770460280,"_cnpm_publish_time":1670770460280},"5.0.6":{"name":"timer-node","version":"5.0.6","description":"A timestamp-based timer that enables recording elapsed time and formatting the result.","main":"index.js","scripts":{"test":"grunt test"},"repository":{"type":"git","url":"git+https://github.com/eyas-ranjous/timer-node.git"},"keywords":["timer","timer.js","node timer","js timer"],"author":{"name":"Eyas Ranjous","email":"https://github.com/eyas-ranjous"},"license":"MIT","bugs":{"url":"https://github.com/eyas-ranjous/timer-node/issues"},"homepage":"https://github.com/eyas-ranjous/timer-node#readme","devDependencies":{"chai":"^4.2.0","eslint":"^6.7.2","eslint-config-airbnb-base":"^14.0.0","eslint-plugin-import":"^2.19.1","grunt":"^1.0.4","grunt-eslint":"^22.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-mocha-test":"^0.13.3","istanbul":"^0.4.5","mocha":"^6.2.2","sinon":"^9.0.2"},"gitHead":"209979d6a97be8a0e0a659de4c0b89a5e1b490a3","_id":"timer-node@5.0.6","_npmVersion":"6.1.0","_nodeVersion":"6.17.1","_npmUser":{"name":"eyas-ranjous","email":"eyas.ranjous@gmail.com"},"dist":{"shasum":"d286ffc5ee67c8699f9027d3bb0f93974ae43cd8","size":5500,"noattachment":false,"key":"/timer-node/-/timer-node-5.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/timer-node/download/timer-node-5.0.6.tgz"},"directories":{},"maintainers":[{"name":"eyas-ranjous","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timer-node_5.0.6_1655707821057_0.08920866712324416"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-06-20T06:50:49.477Z","publish_time":1655707821263,"_cnpm_publish_time":1655707821263},"5.0.5":{"name":"timer-node","version":"5.0.5","description":"A timestamp-based timer that enables recording elapsed time and formatting the result.","main":"index.js","scripts":{"test":"grunt test"},"repository":{"type":"git","url":"git+https://github.com/eyas-ranjous/timer-node.git"},"keywords":["timer","timer.js","node timer","js timer"],"author":{"name":"Eyas Ranjous","email":"https://github.com/eyas-ranjous"},"license":"MIT","bugs":{"url":"https://github.com/eyas-ranjous/timer-node/issues"},"homepage":"https://github.com/eyas-ranjous/timer-node#readme","devDependencies":{"chai":"^4.2.0","eslint":"^6.7.2","eslint-config-airbnb-base":"^14.0.0","eslint-plugin-import":"^2.19.1","grunt":"^1.0.4","grunt-eslint":"^22.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-mocha-test":"^0.13.3","istanbul":"^0.4.5","mocha":"^6.2.2","sinon":"^9.0.2"},"gitHead":"6d39e258700600a38f361d4ec514ddca53bd41d2","_id":"timer-node@5.0.5","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"shasum":"1b364c5a36f9259d432fa9cef77549d1556babe2","size":5867,"noattachment":false,"key":"/timer-node/-/timer-node-5.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/timer-node/download/timer-node-5.0.5.tgz"},"_npmUser":{"name":"eyas-ranjous","email":"eyas.ranjous@gmail.com"},"directories":{},"maintainers":[{"name":"eyas-ranjous","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timer-node_5.0.5_1623664931070_0.47776540697842096"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-21T22:34:47.545Z","publish_time":1623664931177,"_cnpm_publish_time":1623664931177},"5.0.4":{"name":"timer-node","version":"5.0.4","description":"A timestamp-based timer that enables recording elapsed time and formatting the result.","main":"index.js","scripts":{"test":"grunt test"},"repository":{"type":"git","url":"git+https://github.com/eyas-ranjous/timer-node.git"},"keywords":["timer","timer.js","node timer","js timer"],"author":{"name":"Eyas Ranjous","email":"https://github.com/eyas-ranjous"},"license":"MIT","bugs":{"url":"https://github.com/eyas-ranjous/timer-node/issues"},"homepage":"https://github.com/eyas-ranjous/timer-node#readme","devDependencies":{"chai":"^4.2.0","eslint":"^6.7.2","eslint-config-airbnb-base":"^14.0.0","eslint-plugin-import":"^2.19.1","grunt":"^1.0.4","grunt-eslint":"^22.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-mocha-test":"^0.13.3","istanbul":"^0.4.5","mocha":"^6.2.2","sinon":"^9.0.2"},"gitHead":"9a209f4bf1d4d7f2e2e7d9b15c2697920893c946","_id":"timer-node@5.0.4","_npmVersion":"6.1.0","_nodeVersion":"6.17.1","_npmUser":{"name":"eyas-ranjous","email":"eyas.ranjous@gmail.com"},"dist":{"shasum":"bcd522541f9ca97b8f57b9f983930b14f02cba70","size":5900,"noattachment":false,"key":"/timer-node/-/timer-node-5.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/timer-node/download/timer-node-5.0.4.tgz"},"directories":{},"maintainers":[{"name":"eyas-ranjous","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timer-node_5.0.4_1620068215943_0.5966748996897211"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-21T22:34:46.684Z","publish_time":1620068216118,"_cnpm_publish_time":1620068216118},"5.0.3":{"name":"timer-node","version":"5.0.3","description":"A timestamp-based timer that enables recording elapsed time and formatting the result.","main":"index.js","scripts":{"test":"grunt test"},"repository":{"type":"git","url":"git+https://github.com/eyas-ranjous/timer-node.git"},"keywords":["timer","timer.js","node timer","js timer"],"author":{"name":"Eyas Ranjous","email":"https://github.com/eyas-ranjous"},"license":"MIT","bugs":{"url":"https://github.com/eyas-ranjous/timer-node/issues"},"homepage":"https://github.com/eyas-ranjous/timer-node#readme","devDependencies":{"chai":"^4.2.0","eslint":"^6.7.2","eslint-config-airbnb-base":"^14.0.0","eslint-plugin-import":"^2.19.1","grunt":"^1.0.4","grunt-eslint":"^22.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-mocha-test":"^0.13.3","istanbul":"^0.4.5","mocha":"^6.2.2","sinon":"^9.0.2"},"gitHead":"f181afebf8cb0ced3179fabd973117bca8200f0a","_id":"timer-node@5.0.3","_npmVersion":"6.1.0","_nodeVersion":"6.17.1","_npmUser":{"name":"eyas-ranjous","email":"eyas.ranjous@gmail.com"},"dist":{"shasum":"749b3b0a4e9334aa6c7d2be841fec4b7153e5a81","size":5876,"noattachment":false,"key":"/timer-node/-/timer-node-5.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/timer-node/download/timer-node-5.0.3.tgz"},"directories":{},"maintainers":[{"name":"eyas-ranjous","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timer-node_5.0.3_1618649682082_0.996949468268447"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-21T22:34:45.828Z","publish_time":1618649682286,"_cnpm_publish_time":1618649682286},"5.0.2":{"name":"timer-node","version":"5.0.2","description":"a simple timer in nodejs","main":"index.js","scripts":{"test":"grunt test"},"repository":{"type":"git","url":"git+https://github.com/js-shelf/timer-node.git"},"keywords":["timer","timer.js","node timer","js timer"],"author":{"name":"Eyas Ranjous","email":"https://github.com/eyas-ranjous"},"license":"MIT","bugs":{"url":"https://github.com/js-shelf/timer-node/issues"},"homepage":"https://github.com/js-shelf/timer-node#readme","devDependencies":{"chai":"^4.2.0","eslint":"^6.7.2","eslint-config-airbnb-base":"^14.0.0","eslint-plugin-import":"^2.19.1","grunt":"^1.0.4","grunt-eslint":"^22.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-mocha-test":"^0.13.3","istanbul":"^0.4.5","mocha":"^6.2.2","sinon":"^9.0.2"},"gitHead":"cd6120aea39d8c51c2b2e1979fb8477ddc1c5f59","_id":"timer-node@5.0.2","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"shasum":"e02bae16ebae44c6e42c07418bcc27b39c51796a","size":5872,"noattachment":false,"key":"/timer-node/-/timer-node-5.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/timer-node/download/timer-node-5.0.2.tgz"},"_npmUser":{"name":"eyas-ranjous","email":"eyas.ranjous@gmail.com"},"directories":{},"maintainers":[{"name":"eyas-ranjous","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timer-node_5.0.2_1616699933405_0.6011062300290579"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-21T22:34:44.960Z","publish_time":1616699933561,"_cnpm_publish_time":1616699933561},"5.0.1":{"name":"timer-node","version":"5.0.1","description":"a simple timer in nodejs","main":"index.js","scripts":{"test":"grunt test"},"repository":{"type":"git","url":"git+https://github.com/js-shelf/timer-node.git"},"keywords":["timer","timer.js","node timer","js timer"],"author":{"name":"Eyas Ranjous","email":"https://github.com/eyas-ranjous"},"license":"MIT","bugs":{"url":"https://github.com/js-shelf/timer-node/issues"},"homepage":"https://github.com/js-shelf/timer-node#readme","devDependencies":{"chai":"^4.2.0","eslint":"^6.7.2","eslint-config-airbnb-base":"^14.0.0","eslint-plugin-import":"^2.19.1","grunt":"^1.0.4","grunt-eslint":"^22.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-mocha-test":"^0.13.3","istanbul":"^0.4.5","mocha":"^6.2.2","sinon":"^9.0.2"},"gitHead":"941ad3470af78ab03b2cf8242da409fb2fccb8bb","_id":"timer-node@5.0.1","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"shasum":"55a236fead86f8c635b08e80ad2ce66c5e17009a","size":6897,"noattachment":false,"key":"/timer-node/-/timer-node-5.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/timer-node/download/timer-node-5.0.1.tgz"},"_npmUser":{"name":"eyas-ranjous","email":"eyas.ranjous@gmail.com"},"directories":{},"maintainers":[{"name":"eyas-ranjous","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timer-node_5.0.1_1616616376567_0.11450703002332374"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-21T22:34:44.063Z","publish_time":1616616376721,"_cnpm_publish_time":1616616376721},"5.0.0":{"name":"timer-node","version":"5.0.0","description":"a simple timer in nodejs","main":"index.js","scripts":{"test":"grunt test"},"repository":{"type":"git","url":"git+https://github.com/js-shelf/timer-node.git"},"keywords":["timer","timer.js","node timer","js timer"],"author":{"name":"Eyas Ranjous","email":"https://github.com/eyas-ranjous"},"license":"MIT","bugs":{"url":"https://github.com/js-shelf/timer-node/issues"},"homepage":"https://github.com/js-shelf/timer-node#readme","devDependencies":{"chai":"^4.2.0","eslint":"^6.7.2","eslint-config-airbnb-base":"^14.0.0","eslint-plugin-import":"^2.19.1","grunt":"^1.0.4","grunt-eslint":"^22.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-mocha-test":"^0.13.3","istanbul":"^0.4.5","mocha":"^6.2.2","sinon":"^9.0.2"},"gitHead":"f9dbfe5ce2905a5fcfab44ec6b0b9e7e6699d7e7","_id":"timer-node@5.0.0","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"shasum":"47ce9413548be406d03ddb662a84f796c79ee570","size":6815,"noattachment":false,"key":"/timer-node/-/timer-node-5.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/timer-node/download/timer-node-5.0.0.tgz"},"_npmUser":{"name":"eyas-ranjous","email":"eyas.ranjous@gmail.com"},"directories":{},"maintainers":[{"name":"eyas-ranjous","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timer-node_5.0.0_1616538613599_0.48353356141389825"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-21T22:34:43.217Z","publish_time":1616538613784,"_cnpm_publish_time":1616538613784},"4.1.0":{"name":"timer-node","version":"4.1.0","description":"a simple timer in nodejs","main":"index.js","scripts":{"test":"grunt test"},"repository":{"type":"git","url":"git+https://github.com/js-shelf/timer-node.git"},"keywords":["timer","timer.js","node timer","js timer"],"author":{"name":"Eyas Ranjous","email":"https://github.com/eyas-ranjous"},"license":"MIT","bugs":{"url":"https://github.com/js-shelf/timer-node/issues"},"homepage":"https://github.com/js-shelf/timer-node#readme","devDependencies":{"chai":"^4.2.0","eslint":"^6.7.2","eslint-config-airbnb-base":"^14.0.0","eslint-plugin-import":"^2.19.1","grunt":"^1.0.4","grunt-eslint":"^22.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-mocha-test":"^0.13.3","istanbul":"^0.4.5","mocha":"^6.2.2","sinon":"^9.0.2"},"gitHead":"a7b3bcc272b07b1a9a9ab755ea255dbafa51d04d","_id":"timer-node@4.1.0","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"shasum":"112acf8bd87bca96000116a27a7fb41a873d6234","size":4275,"noattachment":false,"key":"/timer-node/-/timer-node-4.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/timer-node/download/timer-node-4.1.0.tgz"},"_npmUser":{"name":"eyas-ranjous","email":"eyas.ranjous@gmail.com"},"directories":{},"maintainers":[{"name":"eyas-ranjous","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timer-node_4.1.0_1615639158072_0.5691030659182936"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-21T22:34:42.350Z","publish_time":1615639158218,"_cnpm_publish_time":1615639158218},"4.0.0":{"name":"timer-node","version":"4.0.0","description":"a simple timer in nodejs","main":"index.js","scripts":{"test":"grunt test"},"repository":{"type":"git","url":"git+https://github.com/js-shelf/timer-node.git"},"keywords":["timer","timer.js","node timer","js timer"],"author":{"name":"Eyas Ranjous","email":"https://github.com/eyas-ranjous"},"license":"MIT","bugs":{"url":"https://github.com/js-shelf/timer-node/issues"},"homepage":"https://github.com/js-shelf/timer-node#readme","devDependencies":{"chai":"^4.2.0","eslint":"^6.7.2","eslint-config-airbnb-base":"^14.0.0","eslint-plugin-import":"^2.19.1","grunt":"^1.0.4","grunt-eslint":"^22.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-mocha-test":"^0.13.3","istanbul":"^0.4.5","mocha":"^6.2.2","sinon":"^9.0.2"},"gitHead":"53d357dab9af0b247ea8a28f466ab978094bc8ad","_id":"timer-node@4.0.0","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"shasum":"6c9eefb5fae5016eb3279384335722a988825fa8","size":3962,"noattachment":false,"key":"/timer-node/-/timer-node-4.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/timer-node/download/timer-node-4.0.0.tgz"},"_npmUser":{"name":"eyas-ranjous","email":"eyas.ranjous@gmail.com"},"directories":{},"maintainers":[{"name":"eyas-ranjous","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timer-node_4.0.0_1614315999620_0.12718595931682786"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-21T22:34:42.263Z","publish_time":1614315999812,"_cnpm_publish_time":1614315999812},"3.1.0":{"name":"timer-node","version":"3.1.0","description":"a simple timer in nodejs","main":"index.js","scripts":{"test":"grunt test"},"repository":{"type":"git","url":"git+https://github.com/js-shelf/timer-node.git"},"keywords":["timer","timer.js","node timer","js timer"],"author":{"name":"Eyas Ranjous","email":"https://github.com/eyas-ranjous"},"license":"MIT","bugs":{"url":"https://github.com/js-shelf/timer-node/issues"},"homepage":"https://github.com/js-shelf/timer-node#readme","devDependencies":{"chai":"^4.2.0","eslint":"^6.7.2","eslint-config-airbnb-base":"^14.0.0","eslint-plugin-import":"^2.19.1","grunt":"^1.0.4","grunt-eslint":"^22.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-mocha-test":"^0.13.3","istanbul":"^0.4.5","mocha":"^6.2.2","sinon":"^9.0.2"},"gitHead":"cebfefdf3d85e73bdad4dd0ff7b8ff5d2eea8f3d","_id":"timer-node@3.1.0","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"shasum":"c78deeac47c8cb546c072a71507f92032a687b7a","size":3252,"noattachment":false,"key":"/timer-node/-/timer-node-3.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/timer-node/download/timer-node-3.1.0.tgz"},"_npmUser":{"name":"eyas-ranjous","email":"eyas.ranjous@gmail.com"},"directories":{},"maintainers":[{"name":"eyas-ranjous","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timer-node_3.1.0_1612625151953_0.6858969412943019"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-21T22:34:41.389Z","publish_time":1612625152075,"_cnpm_publish_time":1612625152075},"3.0.0":{"name":"timer-node","version":"3.0.0","description":"a simple timer in nodejs","main":"index.js","scripts":{"test":"grunt test"},"repository":{"type":"git","url":"git+https://github.com/js-shelf/timer-node.git"},"keywords":["timer","timer.js","node timer","js timer"],"author":{"name":"Eyas Ranjous","email":"https://github.com/eyas-ranjous"},"license":"MIT","bugs":{"url":"https://github.com/js-shelf/timer-node/issues"},"homepage":"https://github.com/js-shelf/timer-node#readme","devDependencies":{"chai":"^4.2.0","eslint":"^6.7.2","eslint-config-airbnb-base":"^14.0.0","eslint-plugin-import":"^2.19.1","grunt":"^1.0.4","grunt-eslint":"^22.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-mocha-test":"^0.13.3","istanbul":"^0.4.5","mocha":"^6.2.2","sinon":"^9.0.2"},"gitHead":"4309615d4ee30fd257a81fd0280b3d0996d15172","_id":"timer-node@3.0.0","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"shasum":"c6fca6f17b329824ecb508854c7a8b2cf3827afc","size":2941,"noattachment":false,"key":"/timer-node/-/timer-node-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/timer-node/download/timer-node-3.0.0.tgz"},"maintainers":[{"name":"eyas-ranjous","email":""}],"_npmUser":{"name":"eyas-ranjous","email":"eyas.ranjous@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timer-node_3.0.0_1594154053452_0.8995476651199108"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-21T22:34:40.521Z","publish_time":1594154053573,"_cnpm_publish_time":1594154053573},"2.0.0":{"name":"timer-node","version":"2.0.0","description":"a simple timer in nodejs","main":"index.js","scripts":{"test":"grunt test"},"repository":{"type":"git","url":"git+https://github.com/js-shelf/timer-node.git"},"keywords":["timer","timer.js","node timer","js timer"],"author":{"name":"Eyas Ranjous","email":"https://github.com/eyas-ranjous"},"license":"MIT","bugs":{"url":"https://github.com/js-shelf/timer-node/issues"},"homepage":"https://github.com/js-shelf/timer-node#readme","devDependencies":{"chai":"^4.2.0","eslint":"^6.7.2","eslint-config-airbnb-base":"^14.0.0","eslint-plugin-import":"^2.19.1","grunt":"^1.0.4","grunt-eslint":"^22.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-mocha-test":"^0.13.3","istanbul":"^0.4.5","mocha":"^6.2.2","sinon":"^9.0.2"},"gitHead":"c46c7ebbb91e6562f1d1b6d21b262d63fa3ea50d","_id":"timer-node@2.0.0","_nodeVersion":"12.16.1","_npmVersion":"6.14.2","dist":{"shasum":"1a1fe1861291000abacf6079c80bf1edf88ad4e2","size":2847,"noattachment":false,"key":"/timer-node/-/timer-node-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/timer-node/download/timer-node-2.0.0.tgz"},"maintainers":[{"name":"eyas-ranjous","email":""}],"_npmUser":{"name":"eyas-ranjous","email":"eyas.ranjous@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timer-node_2.0.0_1586846029796_0.7129099821899814"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-21T22:34:39.647Z","publish_time":1586846029945,"_cnpm_publish_time":1586846029945},"1.0.4":{"name":"timer-node","version":"1.0.4","description":"a simple timer object in nodejs","main":"index.js","scripts":{"test":"grunt test"},"repository":{"type":"git","url":"git+https://github.com/js-shelf/timer-node.git"},"keywords":["timer","node timer","js timer"],"author":{"name":"Eyas Ranjous","email":"https://github.com/eyas-ranjous"},"license":"MIT","bugs":{"url":"https://github.com/js-shelf/timer-node/issues"},"homepage":"https://github.com/js-shelf/timer-node#readme","devDependencies":{"chai":"^4.2.0","eslint":"^5.6.1","eslint-config-airbnb-base":"^13.1.0","eslint-plugin-import":"^2.14.0","grunt":"^1.0.3","grunt-eslint":"^21.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-mocha-test":"^0.13.3","istanbul":"^0.4.5","mocha":"^5.2.0","sinon":"^6.3.5"},"gitHead":"0d1fb176c6ed35d0cd3a45bd32abb9e9ad85254b","_id":"timer-node@1.0.4","_npmVersion":"6.1.0","_nodeVersion":"10.4.1","_npmUser":{"name":"eyas-ranjous","email":"eyas.ranjous@gmail.com"},"dist":{"shasum":"73193e2f2a7dda21f5ccd0ac1b09056f6e10698e","size":3386,"noattachment":false,"key":"/timer-node/-/timer-node-1.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/timer-node/download/timer-node-1.0.4.tgz"},"maintainers":[{"name":"eyas-ranjous","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timer-node_1.0.4_1538961078503_0.5756789658933166"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-21T22:34:38.752Z","publish_time":1538961078694,"_cnpm_publish_time":1538961078694},"1.0.3":{"name":"timer-node","version":"1.0.3","description":"a simple timer object in nodejs","main":"index.js","scripts":{"test":"grunt test"},"repository":{"type":"git","url":"git+https://github.com/js-shelf/timer-node.git"},"keywords":["timer","node timer","js timer"],"author":{"name":"Eyas Ranjous","email":"https://github.com/eyas-ranjous"},"license":"MIT","bugs":{"url":"https://github.com/js-shelf/timer-node/issues"},"homepage":"https://github.com/js-shelf/timer-node#readme","devDependencies":{"chai":"^4.2.0","eslint":"^5.6.1","eslint-config-airbnb-base":"^13.1.0","eslint-plugin-import":"^2.14.0","grunt":"^1.0.3","grunt-eslint":"^21.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-mocha-test":"^0.13.3","istanbul":"^0.4.5","mocha":"^5.2.0","sinon":"^6.3.5"},"gitHead":"c03f2c3735b6ad9da7d526df41024206468bf56a","_id":"timer-node@1.0.3","_shasum":"3dbbf4cb039a238b73d793a7def51bd9dde44ff1","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"eyas-ranjous","email":"eyas.ranjous@gmail.com"},"dist":{"shasum":"3dbbf4cb039a238b73d793a7def51bd9dde44ff1","size":3462,"noattachment":false,"key":"/timer-node/-/timer-node-1.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/timer-node/download/timer-node-1.0.3.tgz"},"maintainers":[{"name":"eyas-ranjous","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timer-node_1.0.3_1538850574554_0.22125750734572192"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-21T22:34:37.877Z","publish_time":1538850574722,"_cnpm_publish_time":1538850574722},"1.0.1":{"name":"timer-node","version":"1.0.1","description":"a simple timer object in nodejs","main":"index.js","scripts":{"test":"grunt test"},"repository":{"type":"git","url":"git+https://github.com/js-shelf/timer-node.git"},"keywords":["timer","node timer","js timer"],"author":{"name":"Eyas Ranjous","email":"https://github.com/eyas-ranjous"},"license":"MIT","bugs":{"url":"https://github.com/js-shelf/timer-node/issues"},"homepage":"https://github.com/js-shelf/timer-node#readme","devDependencies":{"chai":"^4.2.0","eslint":"^5.6.1","eslint-config-airbnb-base":"^13.1.0","eslint-plugin-import":"^2.14.0","grunt":"^1.0.3","grunt-eslint":"^21.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-mocha-test":"^0.13.3","istanbul":"^0.4.5","mocha":"^5.2.0","sinon":"^6.3.5"},"gitHead":"e6e8c685c0a3c2b49861e7a69504a5f38cd65ebd","_id":"timer-node@1.0.1","_shasum":"1dbdcd9d6e14a3937872d2880b455916f6a7fbd2","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"eyas-ranjous","email":"eyas.ranjous@gmail.com"},"dist":{"shasum":"1dbdcd9d6e14a3937872d2880b455916f6a7fbd2","size":3457,"noattachment":false,"key":"/timer-node/-/timer-node-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/timer-node/download/timer-node-1.0.1.tgz"},"maintainers":[{"name":"eyas-ranjous","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timer-node_1.0.1_1538849011315_0.09196259763773607"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-21T22:34:36.991Z","publish_time":1538849011481,"_cnpm_publish_time":1538849011481},"0.0.0":{"name":"timer-node","version":"0.0.0","description":"a simple timer object in nodejs","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/js-shelf/timer-node.git"},"keywords":["timer","node","timer","js","timer"],"author":{"name":"Eyas Ranjous","email":"https://github.com/eyas-ranjous"},"license":"MIT","bugs":{"url":"https://github.com/js-shelf/timer-node/issues"},"homepage":"https://github.com/js-shelf/timer-node#readme","gitHead":"d4c89e72d03835b2059975f9a910d824009c7ac8","_id":"timer-node@0.0.0","_shasum":"47351dd6c008bbfe4b32fd23037ea0c92c3545d9","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"eyas-ranjous","email":"eyas.ranjous@gmail.com"},"dist":{"shasum":"47351dd6c008bbfe4b32fd23037ea0c92c3545d9","size":456,"noattachment":false,"key":"/timer-node/-/timer-node-0.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/timer-node/download/timer-node-0.0.0.tgz"},"maintainers":[{"name":"eyas-ranjous","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/timer-node_0.0.0_1538712613703_0.42969428333409443"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-21T22:34:36.086Z","publish_time":1538712613879,"_cnpm_publish_time":1538712613879}},"readme":"# timer-node\n\n[![npm](https://img.shields.io/npm/v/timer-node.svg)](https://www.npmjs.com/package/timer-node)\n[![npm](https://img.shields.io/npm/dm/timer-node.svg)](https://www.npmjs.com/package/timer-node)\n\nA **lightweight** JavaScript library for measuring elapsed time in Node.js or the browser without using `setInterval` or `setTimeout`. It also has type definitions for TypeScript.\n\n## Installation\n\n```bash\nnpm install timer-node\n```\n\n## API\n### Import\n\n```javascript\n// JS\nconst { Timer } = require('timer-node');\n\n// TS\nimport { Timer, TimerOptions, Time } from 'timer-node';\n```\n\n### Timer Class\n\nA timestamp-based timer that can be started, paused, resumed, and stopped. It calculates durations based on system time.\n\n#### Constructor\n\n```ts\nnew Timer(options?: TimerOptions)\n```\n\n- `options`: An optional configuration object with:\n  - `label?: string` – A label for this timer.\n  - `startTimestamp?: number` – Start time (if you want to initialize from the past).\n  - `endTimestamp?: number` – End time (if already stopped).\n  - `currentStartTimestamp?: number` – Most recent resume time.\n  - `pauseCount?: number` – Number of times paused.\n  - `accumulatedMs?: number` – Accumulated milliseconds from previous runs.\n\n#### Common Methods\n\n- **start()**: Starts (or restarts) the timer.\n- **pause()**: Pauses the timer (if running).\n- **resume()**: Resumes the timer (if paused).\n- **stop()**: Stops the timer.\n- **clear()**: Clears all timer data, resetting it to an unstarted state.\n- **isStarted() / isPaused() / isRunning() / isStopped()**: Check the timer state.\n- **ms()**: Returns the elapsed time in milliseconds.\n- **time()**: Returns an object of time fractions (`d`, `h`, `m`, `s`, `ms`).\n- **pauseMs() / pauseTime()**: Similar to `ms()` / `time()`, but for paused duration.\n- **pauseCount()**: Returns how many times the timer has been paused.\n- **format(template?: string)**: Formats the elapsed time using placeholders (`%label`, `%d`, `%h`, `%m`, `%s`, `%ms`).\n- **serialize()**: Returns a JSON string representing the timer state.\n\n#### Static Methods\n\n- **Timer.deserialize(serializedTimer: string): Timer**\\\n  Re-creates a timer from a serialized string generated by `.serialize()`.\n\n- **Timer.benchmark(fn: () => any): Timer**\\\n  Measures the synchronous execution time of `fn`. Returns a stopped `Timer`.\n\n---\n\n### Time Object\n\nAny method returning an object breakdown of time uses the following shape:\n\n```ts\ninterface Time {\n  d: number;  // days\n  h: number;  // hours\n  m: number;  // minutes\n  s: number;  // seconds\n  ms: number; // milliseconds\n}\n```\n\n## Example\n\n```js\nconst { Timer } = require('timer-node');\n\nconst timer = new Timer({ label: 'demo' });\ntimer.start();\n\n// ... some operations ...\n\ntimer.pause();\nconsole.log('Paused at', timer.ms(), 'ms');\ntimer.resume();\n\n// ... more operations ...\n\ntimer.stop();\nconsole.log('Total elapsed:', timer.time());\n// e.g. { d: 0, h: 0, m: 1, s: 12, ms: 345 }\n```\n\n## License\n\nThis library is licensed under the MIT License. See [LICENSE](https://github.com/eyas-ranjous/timer-node/blob/master/LICENSE) for details.\n\n","_attachments":{},"homepage":"https://github.com/eyas-ranjous/timer-node#readme","bugs":{"url":"https://github.com/eyas-ranjous/timer-node/issues"},"license":"MIT"}