LogF-Progress ·
Simple terminal progress bar. Usable standalone or with other log-frame components.
Install
npm install logf-progress
Usage
This example produces the animation above. A CompositeLogView
and
RawLogView
from log-frame are used to add
a label to the progress bar. The same CompositeLogView
can be used to add spinners or other components.
const LogFrame CompositeLogView RawLogView = ;const ProgressBar = ; // create a container for the progress bar and label.const root = ; // attach the container to a frame for display.const frame = ;frameview = root; // create and add the bar and label to the container.const bar = ;const label = ;root;root; // update the label with a messagelabelcontent = ' - Downloading'; // simulating a downloadlet progress = 0;const interval = ;
API
new ProgressBar(theme, options)
theme (optional)
An object defining the theme to use:
startCap: '[' endCap: ']' complete: '#' remaining: '-' divider: '|' // [###|-------]
Defaults to the above with no divider. Can be referenced with ProgressBarStyle.simple
.
options (optional)
width: 30; // optional, define the initial width. defaults is 40
Properties
.width
(number)
.progress
(number, 0.0 - 1.0)
Animation
Width and progress are animatable using the following methods.
.setWidth(toValue, options, completion)
.setProgress(toValue, options, completion)
toValue (required)
The target value being animated to.
options (required)
// required, duration in milliseconds of the animation duration: 500 // optional, easing method taking a number, 0.0 - 1.0, and // returning an 'eased' number, 0.0 - 1.0. `linear` and // `easeInOut` are included under the `Easing` object. // Default is `Easing.easeInOut`. easing: EasingeaseInOut
completion (optional)
Called when the animation is completed.