progress-estimator

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

  • Owner: bvaughn/progress-estimator
  • Platform:
  • License::
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

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

Installation

# use npm
npm install progress-estimator

# use yarn
yarn add progress-estimator

Usage example

const createLogger = require('progress-estimator');
const { join } = require('path');

// All configuration keys are optional, but it's recommended to specify a storage location.
// Learn more about configuration options below.
const logger = createLogger({
  storagePath: join(__dirname, '.progress-estimator'),
});

async function run() {
  await logger(promiseOne, "This is a promise");
  await logger(
    promiseTwo,
    "This is another promise. I think it will take about 1 second",
    {
      estimate: 1000
    }
  );
}

API

createLogger(optionalConfiguration)

This method is the default package export. It creates and configures a logger function (documented below). The following configuration options are supported. (They apply only to the logger instance that's returned.), name, type, Description, ---, ---, ---, logFunction, Function, Custom logging function. Defaults to log-update. Must define .done() and .clear() methods., 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., ### logger(promise, labelString, options)

This method logs a progress bar and estimated duration for a promise. It requires at least two parameters– a Promise and a label (e.g. "Running tests"). The label is SHA1 hashed in order to uniquely identify the promise.

An optional third parameter can be provided as well with the following keys:, name, type, Description, ---, ---, ---, estimate, Number, Estimated duration of promise. (This value is used initially, until a history of actual durations have been recorded.), id, String, Uniquely identifies the promise. This value is needed if the label string is not guaranteed to be unique.

Main metrics

Overview
Name With Ownerbvaughn/progress-estimator
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 2)
Platform
License:
所有者活动
Created At2018-11-24 21:01:38
Pushed At2023-04-17 19:08:07
Last Commit At2023-04-17 15:08:07
Release Count1
Last Release Name0.3.1 (Posted on 2023-04-17 15:07:02)
First Release Name0.3.1 (Posted on 2023-04-17 15:07:02)
用户参与
Stargazers Count2.1k
Watchers Count14
Fork Count49
Commits Count42
Has Issues Enabled
Issues Count11
Issue Open Count0
Pull Requests Count11
Pull Requests Open Count0
Pull Requests Close Count3
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private