duration-util
v1.0.1
Published
A utility to streamline creating millisecond durations by allowing the use of human readable code
Downloads
3
Readme
duration-util
A comprehensive, flexible, and efficient duration manipulation utility for JavaScript.
Inspired by the Dart programming language's Duration class, duration-util offers a similar experience for JavaScript developers, providing a rich set of functionalities to handle time durations with ease.
Install
npm install duration-utilUsage
import { Duration, setDurationTimeout, setDurationInterval, sleep } from "duration-util";
const duration = new Duration({ hours: 1, minutes: 30 });
console.log(duration.toMinutes()); //=> 90
// Using utility functions
setDurationTimeout(() => {
console.log("Timeout after 2 minutes");
}, Duration.fromMinutes(2));
setDurationInterval(() => {
console.log("Interval every 10 seconds");
}, Duration.fromSeconds(10));
(async () => {
await sleep(Duration.fromSeconds(5));
console.log("Slept for 5 seconds");
})();API
Class: Duration
new Duration(options?)
options:DurationOptions|number- Duration options or milliseconds.- Returns:
Durationinstance.
Duration.fromMilliseconds(milliseconds), Duration.fromSeconds(seconds), etc.
- Static methods to create
Durationfrom different time units. milliseconds,seconds,minutes, etc.:number- Returns:
Durationinstance.
toMilliseconds(), toSeconds(), toMinutes(), etc.
- Conversion methods to get the duration in different time units.
- Returns:
number
add(other), subtract(other), multiply(factor), divide(divisor)
- Arithmetic methods to manipulate durations.
other:Duration,factor,divisor:number- Returns:
Durationinstance.
get days(), get hours(), get minutes(), etc.
- Getter methods for different time units.
- Returns:
number
format(template)
- Formats the duration according to a template string.
template:string- Returns:
string
toString()
- Returns a string representation of the duration.
- Returns:
string
Function: setDurationTimeout(callback, duration)
callback:() => void- Function to execute after timeout.duration:Duration- Duration to wait before executing the callback.
Function: setDurationInterval(callback, duration)
callback:() => void- Function to execute at each interval.duration:Duration- Interval duration.
Function: sleep(duration)
duration:Duration- Duration to sleep.- Returns:
Promise<void>
