{"_id":"status-bar","_rev":"53-f88d7cf8c02ca69eced3fb7aae833204","name":"status-bar","description":"A status bar for file transfers","dist-tags":{"latest":"2.0.3"},"versions":{"0.0.1":{"name":"status-bar","version":"0.0.1","description":"A status bar for file transfers","keywords":["status","bar","file","transfer","speed","progress","stream"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-status-bar.git"},"engines":{"node":">=0.10"},"dependencies":{"progress-bar-formatter":"0.0.x"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-status-bar/issues"},"homepage":"https://github.com/gagle/node-status-bar","_id":"status-bar@0.0.1","dist":{"shasum":"cc358472b1d81ef54544fa5cc5c1db3893385162","tarball":"https://registry.npmjs.org/status-bar/-/status-bar-0.0.1.tgz","integrity":"sha512-eCShH4Vk5HHkJnFchfbPKNIyGhK+TO+kDGhGAlVJSCJh8XXBUvvVokD3/U8c6n6oI2C4d+J2/4XIqacmLWPcEw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCndPIDUvzmELlRb8B2EImZvQiwmxDCwaw94dj9h/DEwIhAMSGgi4EWFq+xR5K6gYyYh73XlbWaQCx8yZA7u7B9etL"}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"0.0.2":{"name":"status-bar","version":"0.0.2","description":"A status bar for file transfers","keywords":["status","bar","file","transfer","speed","progress","stream"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-status-bar.git"},"engines":{"node":">=0.10"},"dependencies":{"progress-bar-formatter":"0.0.x"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-status-bar/issues"},"homepage":"https://github.com/gagle/node-status-bar","_id":"status-bar@0.0.2","dist":{"shasum":"3b1e8afbe4c5e0745bb5f23ccd696f6ad5bde3c4","tarball":"https://registry.npmjs.org/status-bar/-/status-bar-0.0.2.tgz","integrity":"sha512-17b3NNzjD2PXaHjQ25ADPAmB7U88EQkvtYnICBEUHBOnvsM/I2UGmYgT0tBQXN/c/eHg2x1OOT9T9ov8O8TF5w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHNbls1vLMEmYxfd54k81keUl4KXu3hdEpBn6AJ9joQ/AiAJH5qRhUtVsEFVcR/+ZL0OyQDIHJDPVevue8CzxjJlSQ=="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"1.0.0":{"name":"status-bar","version":"1.0.0","description":"A status bar for file transfers","keywords":["status","bar","file","transfer","speed","progress","stream"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-status-bar.git"},"engines":{"node":">=0.10"},"dependencies":{"progress-bar-formatter":"0.0.x"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-status-bar/issues"},"homepage":"https://github.com/gagle/node-status-bar","_id":"status-bar@1.0.0","dist":{"shasum":"00051bf962b3046c91023610daf92007e5c82b8f","tarball":"https://registry.npmjs.org/status-bar/-/status-bar-1.0.0.tgz","integrity":"sha512-oI3IDXRgP3GNMTXW89Qkd/u0M1Y0AZBUHnKNY+2ZP5M64iuGQYi0OFlOg7wuV40CDH3/jB1nwKqEu3K9IEgw7g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxFHsBm4pD3u2EZrw0DyWdteqZBvEaKo6T2N8Y8gcMXAIgXtJ8Iq4sS/9L5wRVt3VbcP0WPCTpTaoDKXIMV3vIZ6g="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"1.1.0":{"name":"status-bar","version":"1.1.0","description":"A status bar for file transfers","keywords":["status","bar","file","transfer","speed","progress","stream"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-status-bar.git"},"engines":{"node":">=0.10"},"dependencies":{"progress-bar-formatter":"1.0.x"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-status-bar/issues"},"homepage":"https://github.com/gagle/node-status-bar","_id":"status-bar@1.1.0","dist":{"shasum":"4498628331444678452e0c113d0479c0d35e85ca","tarball":"https://registry.npmjs.org/status-bar/-/status-bar-1.1.0.tgz","integrity":"sha512-dWas0Tda942OUdvvQ+XxwVwxZz8XHC8jYIuGQhynYz7UtvQUT+bItVRukHlWGGy6T+VqPvzI9Zr0R6RDbEdNTA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdATOiva27zxgVuW1cqAYvGDV+scN8NPQhkR/Tpfoa4AIgCiPpQ5hSWsMwcVNKG9pfJXnAYYtQhJ494owF7hZnyrs="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}]},"1.1.1":{"name":"status-bar","version":"1.1.1","description":"A status bar for file transfers","keywords":["status","bar","file","transfer","speed","progress","stream"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-status-bar.git"},"engines":{"node":">=0.10"},"dependencies":{"progress-bar-formatter":"1.0.x"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-status-bar/issues"},"homepage":"https://github.com/gagle/node-status-bar","_id":"status-bar@1.1.1","dist":{"shasum":"6d0fcd21cd5b9461263c4f8644cd65b5207ebe67","tarball":"https://registry.npmjs.org/status-bar/-/status-bar-1.1.1.tgz","integrity":"sha512-wDiy1SfC3GcT0lJ9AKWdh+YczGWIwZNkjbZAdlccL4cgqOmvheBMMa5VhuIscKWcqrCA7dBWv0XjjFWih1TiPA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDU2zVuf95wIAv497PVTjQkOqrhcSn/A1YASdIP2W5jtwIhAI4eawpd1bqBHhOXy8dJr8t/t9r1OAeIqJ2jByAMlxLW"}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}]},"2.0.0":{"name":"status-bar","version":"2.0.0","description":"A status bar for file transfers","keywords":["status","bar","file","transfer","speed","progress","stream"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-status-bar.git"},"engines":{"node":">=0.10"},"dependencies":{"progress-bar-formatter":"1.0.x"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-status-bar/issues"},"homepage":"https://github.com/gagle/node-status-bar","_id":"status-bar@2.0.0","dist":{"shasum":"2239edb1a32acb70ca42c12ab490eab20b7e59dd","tarball":"https://registry.npmjs.org/status-bar/-/status-bar-2.0.0.tgz","integrity":"sha512-OlFzF51gsLOVnvPlxDUG/ad1r8pZWbhskgEuFUJuRSpGIp76TAmcSa9IjNefsXex4L6qoRPnyoirhceQiInoeA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEbvQg6zGOnDBsr5PdwpN3wOZoAM5R/KE5b+d4rPmu+sAiEAxnakWeQebl/ztLIppxJ0byJVzIxaG9aJpspG0uhI9QQ="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}]},"2.0.1":{"name":"status-bar","version":"2.0.1","description":"A status bar for file transfers","keywords":["status","bar","file","transfer","speed","progress","stream"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-status-bar.git"},"engines":{"node":">=0.10"},"dependencies":{"progress-bar-formatter":"1.0.x"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-status-bar/issues"},"homepage":"https://github.com/gagle/node-status-bar","_id":"status-bar@2.0.1","dist":{"shasum":"5db134f1e097cb60138511c3eff842178c1ccc47","tarball":"https://registry.npmjs.org/status-bar/-/status-bar-2.0.1.tgz","integrity":"sha512-Z97lNdGTWyLqcLagwU2e253wBlsyO5ZKNXsmZltaapUGN3LKCIOFKa0hQF0aq3VLabY3UBCzBZVMkJHz162PEw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDDr2YyeNbUUcvvM3UNCIfACaHyDah9IjS7iyBa9DLBOAiEAnUVVPv9MVcyBpYZDSvykRlBxVSz4JE2iMqNlb2ncJRE="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}]},"2.0.2":{"name":"status-bar","version":"2.0.2","description":"A status bar for file transfers","keywords":["status","bar","file","transfer","speed","progress","stream"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-status-bar.git"},"engines":{"node":">=0.10"},"dependencies":{"progress-bar-formatter":"1.0.x"},"license":"MIT","main":"lib","gitHead":"712def12e154ddfbf1f48bb6f2729fc87473dd44","bugs":{"url":"https://github.com/gagle/node-status-bar/issues"},"homepage":"https://github.com/gagle/node-status-bar","_id":"status-bar@2.0.2","scripts":{},"_shasum":"86be420edf5c2755f5f40bbc5ba4e1bbba3ceec5","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"dist":{"shasum":"86be420edf5c2755f5f40bbc5ba4e1bbba3ceec5","tarball":"https://registry.npmjs.org/status-bar/-/status-bar-2.0.2.tgz","integrity":"sha512-0AF2MB1eUiC6YmNl285W1DJ9Bz1zfO15s/FNFB33IQxX5Co7XT4b7stGVcpsCK93kjPEHUqvHKAUbEOAWdzdLA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbSAX5CC6YySy69oAvWc/elLK3QPLNgHuxMaKmI0jA4gIhAISEHtjZL5aW27cVTxC2WK1R7OVIOF7ZFEmf9LqVO8+v"}]}},"2.0.3":{"name":"status-bar","version":"2.0.3","description":"A status bar for file transfers","keywords":["status","bar","file","transfer","speed","progress","stream"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-status-bar.git"},"engines":{"node":">=0.10"},"dependencies":{"progress-bar-formatter":"^2.0.1"},"license":"MIT","main":"lib","gitHead":"e009c8d822e8f2264dd2c46f161a9ec255b2a85d","bugs":{"url":"https://github.com/gagle/node-status-bar/issues"},"homepage":"https://github.com/gagle/node-status-bar","_id":"status-bar@2.0.3","scripts":{},"_shasum":"0d2680222c457e12de37cebe1438dd49c4e06e14","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"dist":{"shasum":"0d2680222c457e12de37cebe1438dd49c4e06e14","tarball":"https://registry.npmjs.org/status-bar/-/status-bar-2.0.3.tgz","integrity":"sha512-OfZfcnCB+q/QrcgUfgMlarzfcQqdeiOLRjiL3OccOR1o4TSDYcwgocDZGzR4s6UtuACz/f4gbTCaovUMyyTLCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCux5UHQ8qUPW1X2bITQ4d8p1nzum2zPBJ4DD0nDicytwIhAI9IE+EAzTOxCjkLMbI8yAi2ulb/207KeNfHZldRoJ3k"}]}}},"readme":"status-bar\n==========\n\n#### A status bar for file transfers ####\n\n[![npm][npm-image]][npm-url]\n[![david][david-image]][david-url]\n\n#### Example ####\n\n```javascript\nvar path = require('path');\nvar http = require('http');\nvar statusBar = require('status-bar');\n\nvar url = 'http://nodejs.org/dist/latest/node.exe';\nvar bar;\n\nhttp.get(url, function (res) {\n  bar = statusBar.create({ total: res.headers['content-length'] })\n      .on('render', function (stats) {\n        process.stdout.write(\n            path.basename(url) + ' ' +\n            this.format.storage(stats.currentSize) + ' ' +\n            this.format.speed(stats.speed) + ' ' +\n            this.format.time(stats.elapsedTime) + ' ' +\n            this.format.time(stats.remainingTime) + ' [' +\n            this.format.progressBar(stats.percentage) + '] ' +\n            this.format.percentage(stats.percentage));\n        process.stdout.cursorTo(0);\n      });\n  \n  res.pipe(bar);\n}).on('error', function (err) {\n  if (bar) bar.cancel();\n  console.error(err);\n});\n\n/*\nIt will print something like this:\n\nnode.exe    2.8 MiB  617.5K/s 00:06 00:07 [############············]  51%\n*/\n```\n\n#### Why you should try this module ####\n\n- It doesn't print anything, it just calculates and returns raw data and provides default formatting functions.\n- The status bar can be displayed wherever you want, it is simply a string, so you can render it in the console, in HTML (probably with your own progress bar) via websockets or [NW.js][nwjs], etc.\n- You decide how to format and arrange the elements. The default formatting functions have a fixed length, so you can format the status bar very easily.\n- It is very easy to use. Just `pipe()` things to it!\n\n#### Render function examples ####\n\n- `pacman` from Arch Linux:\n  \n  ```\n  a-file                  21.8 MiB   67.9M/s 00:03 [#####···················]  22%\n  ```\n\n  ```javascript\n  var statusBar = require('status-bar');\n  \n  var formatFilename = function (filename) {\n    //80 - 59\n    var filenameMaxLength = 21;\n    if (filename.length > filenameMaxLength) {\n      filename = filename.slice(0, filenameMaxLength - 3) + '...';\n    } else {\n      var remaining = filenameMaxLength - filename.length;\n      while (remaining--) {\n        filename += ' ';\n      }\n    }\n    return filename;\n  };\n  \n  filename = formatFilename(filename);\n  \n  var bar = statusBar.create({ total: ... })\n      .on('render', function (stats) {\n        process.stdout.write(filename + ' ' + \n            this.format.storage(stats.currentSize) + ' ' +\n            this.format.speed(stats.speed) + ' ' +\n            this.format.time(stats.remainingTime) + ' [' +\n            this.format.progressBar(stats.percentage) + '] ' +\n            this.format.percentage(stats.percentage));\n        process.stdout.cursorTo(0);\n      });\n      \n  readableStream.pipe(bar);\n  ```\n\n- `git clone`:\n  \n  ```\n  Receiving objects: 18% (56655992/311833402), 54.0 MiB | 26.7M/s\n  ```\n\n  ```javascript\n  var statusBar = require('status-bar');\n  \n  var bar = statusBar.create({ total: ...})\n      .on('render', function (stats) {\n        process.stdout.write('Receiving objects: ' +\n            this.format.percentage(stats.percentage).trim() +\n            ' (' + stats.currentSize + '/' + stats.totalSize + '), ' +\n            this.format.storage(stats.currentSize).trim() + ' | ' +\n            this.format.speed(stats.speed).trim());\n        process.stdout.cursorTo(0);\n      });\n  \n  readableStream.pipe(bar);\n  ```\n\n#### Functions ####\n\n- [_module_.create(options) : StatusBar](#create)\n\n#### Objects ####\n\n- [StatusBar](#statusbar_object)\n\n---\n\n<a name=\"create\"></a>\n___module_.create(options) : StatusBar__\n\nReturns a new [StatusBar](#statusbar_object) instance.\n\nOptions:\n\n- __frequency__ - _Number_  \n  The rendering frequency in milliseconds. It must be a positive value. Default is 200.\n- __progressBarComplete__ - _String_  \n  The character that shows completion progress. Default is `#`.\n- __progressBarIncomplete__ - _String_  \n  The character that shows the remaining progress. Default is `·`.\n- __progressBarLength__ - _Number_  \n  The length of the progress bar. Default is 24.\n- __total__ - _Number_  \n  The total size of the file. This option is required.\n\n---\n\n<a name=\"statusbar_object\"></a>\n__StatusBar__\n\nThe `StatusBar` object inherits from a writable stream.\n\n__Events__\n\n- [finish](#event_finish)\n- [hangup](#event_hangup)\n- [render](#event_render)\n\n__Methods__\n\n- [StatusBar#cancel() : undefined](#statusbar_cancel)\n\n__Properties__\n\n- [StatusBar#format : Formatter](#statusbar_format)\n\n---\n\n<a name=\"event_finish\"></a>\n__finish__\n\nArguments: none.\n\nEmitted when the transfer finishes.\n\n<a name=\"event_hangup\"></a>\n__hangup__\n\nArguments: none.\n\nEmitted when the transfer hangs up (3 seconds without receiving data). Can be emitted multiple times.\n\n<a name=\"event_render\"></a>\n__render__\n\nArguments: `stats`.\n\nEmitted when the status bar needs to be rendered. All the properties of the `stats` object contain raw data so you need to format them. You can use the default formatting functions.\n\nStats:\n\n- __currentSize__ - _Number_  \nThe current size in bytes.\n- __remainingSize__ - _Number_  \nThe remaining size in bytes.\n- __totalSize__ - _Number_  \nThe total size in bytes.\n- __percentage__ - _Number_  \nThe progress percentage (current/total size). A number between 0 and 1.\n- __speed__ - _Number_  \nThe current speed in bytes per second.\n- __elapsedTime__ - _Number_  \nThe elapsed time in seconds.\n- __remainingTime__ - _Number_  \nThe estimated remaining time in seconds. If the remaining time cannot be estimated because the status bar needs at least 2 chunks of data or because the transfer it's hung up, it returns `undefined`.\n\n---\n\n<a name=\"statusbar_cancel\"></a>\n__StatusBar#cancel() : undefined__\n\nWhen you need to cancel the rendering of the status bar because the transfer has been aborted due to an error or any other reason, call to this function to clear the internal timers.\n\n---\n\n<a name=\"statusbar_format\"></a>\n__StatusBar#format : Formatter__\n\nReturns a [Formatter](#formatter) instance.\n\n---\n\n<a name=\"formatter\"></a>\n__Formatter__\n\n__Methods__\n\n- [Formatter#percentage(percentage) : String](#formatter-percentage)\n- [Formatter#progressBar(percentage) : String](#formatter-progressBar)\n- [Formatter#speed(bytesPerSecond) : String](#formatter-speed)\n- [Formatter#storage(bytes) : String](#formatter-storage)\n- [Formatter#time(seconds) : String](#formatter-time)\n\n---\n\n<a name=\"formatter-percentage\"></a>\n__Formatter#percentage(percentage) : String__\n\nThe percentage must be a number between 0 and 1. Result string length: 4.\n\n```javascript\nconsole.log(this.format.percentage(0.5));\n/*\n50%\n */\n```\n\n---\n\n<a name=\"formatter-progressbar\"></a>\n__Formatter#progressBar(percentage) : String__\n\nThe percentage must be a number between 0 and 1. Result string length: the length configured with the option `progressBarLength`.\n\n```javascript\nconsole.log(this.format.progressBar(0.06));\n/*\n#·······················\n */\n```\n\n---\n\n<a name=\"formatter-speed\"></a>\n__Formatter#speed(bytesPerSecond[, decimals]) : String__\n\nBy default it shows 1 decimal. Result string length: 8 + #decimals.\n\n```javascript\nconsole.log(this.format.speed(30098226));\n/*\n  30.1M/s\n */\n```\n\n---\n\n<a name=\"formatter-storage\"></a>\n__Formatter#storage(bytes[, decimals]) : String__\n\nBy default it shows 1 decimal. Result string length: 9 + #decimals.\n\n```javascript\nconsole.log(this.format.storage(38546744));\n/*\n  36.8 MiB\n */\n```\n\n---\n\n<a name=\"formatter-time\"></a>\n__Formatter#time(seconds) : String__\n\nResult string length: 5 (_min_:_sec_). If `seconds` is undefined it prints `--:--`.\n\n```javascript\nconsole.log(this.format.time(63));\n/*\n01:03\n */\n```\n\n[npm-image]: https://img.shields.io/npm/v/status-bar.svg?style=flat\n[npm-url]: https://npmjs.org/package/status-bar\n[david-image]: https://img.shields.io/david/gagle/node-status-bar.svg?style=flat\n[david-url]: https://david-dm.org/gagle/node-status-bar\n[nwjs]: https://github.com/nwjs/nw.js","maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"time":{"modified":"2022-06-27T00:09:27.651Z","created":"2013-12-06T21:24:25.679Z","0.0.1":"2013-12-06T21:24:30.451Z","0.0.2":"2013-12-07T09:47:23.833Z","1.0.0":"2013-12-23T11:01:12.689Z","1.1.0":"2014-01-02T15:26:16.769Z","1.1.1":"2014-01-02T20:27:28.780Z","2.0.0":"2014-02-20T14:17:03.706Z","2.0.1":"2014-02-27T20:27:41.543Z","2.0.2":"2014-10-30T18:28:23.268Z","2.0.3":"2015-03-21T11:24:27.609Z"},"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-status-bar.git"},"readmeFilename":"README.md","homepage":"https://github.com/gagle/node-status-bar","keywords":["status","bar","file","transfer","speed","progress","stream"],"bugs":{"url":"https://github.com/gagle/node-status-bar/issues"},"license":"MIT"}