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

/progress-smoother/

    Package Sidebar

    Install

    npm i progress-smoother

    Weekly Downloads

    14,234

    Version

    1.7.0

    License

    MIT

    Unpacked Size

    14.3 kB

    Total Files

    9

    Last publish

    Collaborators

    • upload-js
    • upload-io