cli-meter

0.0.1 • Public • Published

cli-meter

meter = require 'cli-meter'

Creating a meter

# 100 steps by default 
= new Meter()
 
# optional total steps 
= new Meter(total: 500)
 
# optional starting value 
= new Meter(total: 500value: 120)
 
# optional display length in the terminal 
= new Meter(total: 500length: 30)

You can then manipulate it with

m.step(1)    # increment by 1 
m.step(-3)   # decrement by 3 
m.set(70)    # jump to 70 

And finally display it

console.log "Processing #{m}"
# Processing  [==============      ] 
 
console.log "#{m} #{m.value} dB"
# [==============      ] 30 dB 
 
console.log "#{m} #{m.value} / #{m.total}"
# [==============      ] 230 / 500 

Animations

If you use console.log, the meter will be printed to a different line each time:

# [============        ] 6 / 10 
# [================    ] 8 / 10 

If you have a TTY stream like process.stdout, you can show animations instead:

setInterval (->
 
  process.stdout.write "Meter 1 #{m1}\n"
  process.stdout.write "Meter 2 #{m2}\n"
  process.stdout.write "Meter 3 #{m3}\n"
 
  process.stdout.moveCursor 0-3
 
)100

example

Package Sidebar

Install

npm i cli-meter

Weekly Downloads

1

Version

0.0.1

License

MIT

Last publish

Collaborators

  • tabdigital