node-multimeter

render multiple progress bars at once on the terminal

  • Owner: substack/node-multimeter
  • Platform:
  • License::
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

multimeter

Control multiple ANSI progress bars on the terminal.

multibar example output

multimeter

example

var multimeter = require('multimeter');
var multi = multimeter(process);

multi.drop(function (bar) {
    var iv = setInterval(function () {
        var p = bar.percent();
        bar.percent(p + 1);
        
        if (p >= 100) clearInterval(iv);
    }, 25);
});

methods

var multimeter = require('multimeter');

var multi = multimeter(stream, ...)

Create a new multimeter handle on the supplied stream/process objects, which
will be passed directly to charm.

If you pass in a charm object that will be used instead of creating a new one.

var bar = multi(x, y, params)

Create a new progress bar at (x,y) with params which default to:

  • width : 10
  • before : '['
  • after : '] '
  • solid : { background : 'blue', foreground : 'white', text : ', ' }
  • empty : { background : null, foreground : null, text : ' ' }

If y is negative or '-0' it will be treated as a relative coordinate.

var bar = multi.rel(x, y, params)

Create a new progress bar at an absolute x and relative y coordinate with
respect to the present multi.offset.

multi.drop(params, cb)

Create a new progress bar at the present cursor location. The bar object will
be passed to cb(bar) once the cursor location has been determined.

multi.on(...), multi.removeListener(...), multi.destroy(...), multi.write(...)

Call event emitter functions on the underlying charm object.

multi.offset

This getter/setter controls the positioning for relative progress bars.

Increment this value whenever you write a newline to the stream to prevent the
pending progress bars from drifting down from their original positions.

bar.percent(p, msg=p + ' %')

Update the progress bar to p percent, a value between 0 and 100, inclusive.

The text to the right of the progress bar will be set to msg.

bar.ratio(n, d, msg=n + ' / ' + d)

Update the progress bar with a ratio, n/d.

The text to the right of the progress bar will be set to msg.

attributes

multi.charm

The charm object used internally to
draw the progress bars.

install

With npm do:

npm install multimeter

Main metrics

Overview
Name With Ownersubstack/node-multimeter
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 1)
Platform
License:
所有者活动
Created At2011-08-15 06:18:05
Pushed At2015-07-23 15:04:43
Last Commit At2013-02-22 03:27:36
Release Count1
Last Release Name0.1.1 (Posted on 2013-02-22 03:27:36)
First Release Name0.1.1 (Posted on 2013-02-22 03:27:36)
用户参与
Stargazers Count336
Watchers Count8
Fork Count23
Commits Count24
Has Issues Enabled
Issues Count6
Issue Open Count5
Pull Requests Count2
Pull Requests Open Count4
Pull Requests Close Count1
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private