progress-smoother
TypeScript icon, indicating that this package has built-in type declarations

1.7.0 • Public • Published

progress-smoother

Smoothing Function for Progress Bars



Twitter URL

Installation

npm install progress-smoother

Usage

const { ProgressSmoother } = require("progress-smoother")

const progress = ProgressSmoother({
  // Required.
  maxValue: 12345,                  // Maximum value of your progress bar.
  valueIncreaseRatePerSecond: 5000, // Estimated minimum throughput for '.setValue()' calls.
  valueIncreaseDelta: 500,          // Estimated minimum delta between '.setValue()' calls.
  averageTimeBetweenValues: 5000,   // Estimated mean time between '.setValue()' calls in milliseconds.
  minDelayUntilFirstValue: 6000,    // Estimated minimum delay until the first '.setValue()' call is made.

  // Optional.
  teardownTime: 2000                // Latency your app introduces after 100% progress (the function incorporates it).
});

// Report progress events:
progress.setValue(1025);
progress.setValue(3201);
...
progress.setValue(12345);

// Get smoothed progress any time (e.g. on a fixed interval):
progress.smoothedFactor(); // Returns 0..1

Contribute

If you would like to contribute to progress-smoother:

  1. Add a GitHub Star to the project (if you're feeling generous!).
  2. Determine whether you're raising a bug, feature request or question.
  3. Raise your issue or PR. 🚀

License

MIT

Package Sidebar

Install

npm i progress-smoother

Weekly Downloads

14,100

Version

1.7.0

License

MIT

Unpacked Size

14.3 kB

Total Files

9

Last publish

Collaborators

  • upload-js
  • upload-io