A zero-dependency package that helps to calculate various types of numerical averages.
npm install rolling-average
or pnpm install rolling-average
There are three average calculators that can be constructed with the RollingAverageFactory
class.
import { RollingAverageFactory } from "rolling-average";
const fixedWindow = RollingAverageFactory.fixedWindow(3);
fixedWindow.addSample(1);
fixedWindow.addSample(2);
fixedWindow.addSample(3);
fixedWindow.addSample(4);
console.log(fixedWindow.getAverage()); // Prints out 3
2. Time Window - Calculates the average of the samples added during a rolling time window specified in milliseconds.
import { RollingAverageFactory } from "rolling-average";
const fixedWindow = RollingAverageFactory.timeWindow(1000);
fixedWindow.addSample(1);
// Sleep for 200 ms
fixedWindow.addSample(2);
// Sleep for 200 ms
fixedWindow.addSample(3);
// Sleep for 200 ms
fixedWindow.addSample(4);
// Sleep for 600 ms
console.log(fixedWindow.getAverage()); // Prints out 3
import { RollingAverageFactory } from "rolling-average";
const regular = RollingAverageFactory.regular(3);
regular.addSample(1);
regular.addSample(2);
regular.addSample(3);
console.log(regular.getAverage()); // Prints out 2