rweilbacher / progress-estimator

Logs a progress bar and estimation for how long a Promise will take to complete

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

progress-estimator

Logs a progress bar and estimation for how long a Promise will take to complete. This library tracks previous durations in order to provide more accurate estimates over time.

Demo

Usage example

const {logProgress, configure} = require('progress-estimator');

// Configuration is optional, but it's recommended to specify a storage location.
// Learn more about configuration options below.
configure({
  storagePath: join(__dirname, '.progress-estimator'),
});

async function run() {
  await logProgress(promiseOne, "This promise has no initial estimate");
  await logProgress(
    promiseTwo,
    "This promise is initially estimated to take 1 second",
    1000
  );
}

Configuration

The following values are configurable via the named configure export. Note that all configuration is stored at the package level.

name type Description
spinner object Which spinner from the cli-spinners package to use. Defaults to dots.
storagePath string Where to record durations between runs. Defaults to os.tmpdir().
theme object Custom chalk theme. Look to the default theme for a list of required keys.

About

Logs a progress bar and estimation for how long a Promise will take to complete


Languages

Language:JavaScript 82.1%Language:TypeScript 17.9%