countdown-lib
v3.0.0
Published
A lightweight JavaScript library for efficiently counting down the time from the present to a specified future date.
Downloads
5
Maintainers
Readme
Countdown Library
Features
- Written in TypeScript.
- Can be used with any JS library or framework.
- Uses (setInterval).
- Easy to use callback method.
- Return values include days, hours, minutes and seconds.
Example
import { Countdown, RemainingTimeType } from 'countdown-lib';
// Any JavaScript supported date format can be used as long as it is passed as a Date object.
const countdown = new Countdown(new Date(2023, 0, 1, 0, 0, 0));
countdown.startCounter((remainder: RemainingTimeType, isComplete: boolean) => {
// isComplete will return false when all values are zero.
if (!isComplete) {
console.log(remainder);
// Remainder should look something like this:
// { days: 45, hours: 5, minutes: 32, seconds: 12 }
}
});
API
// Starts a instance of setInterval that executes a callback every 1000ms with arguments
// for the remaining time and a truthy value that tells you when the countdown is complete.
countdown.startCounter(callback(remainder: RemainingTime, isComplete: boolean) => void): void;
countdown.stopCounter()
// Clears setInterval
countdown.stopCounter(): void
countdown.getRemainingTime()
// Optional method for retrieving remaining time outside of the .startCounter() callback.
// The return type can change depending on your configuration see "config" bellow.
countdown.getRemainingTime(): RemainingTime<number | string>
Config
// You can pass an optional configuration object as a second argument.
const countdown = new Countdown(new Date(2023, 0, 1, 0, 0), config);
addLeadingZeros: boolean
// Adds a left padding of 0 to all values less then 10
const countdown = new Countdown(new Date(2023, 0, 1, 0, 0), { addLeadingZeros: true });
// example: { days: 09, hours: 05, minutes: 02, seconds: 07 }