$ cnpm install timer-node
A lightweight JavaScript library for measuring elapsed time in Node.js or the browser without using setInterval or setTimeout. It also has type definitions for TypeScript.
npm install timer-node
// JS
const { Timer } = require('timer-node');
// TS
import { Timer, TimerOptions, Time } from 'timer-node';
A timestamp-based timer that can be started, paused, resumed, and stopped. It calculates durations based on system time.
new Timer(options?: TimerOptions)
options: An optional configuration object with:
label?: string – A label for this timer.startTimestamp?: number – Start time (if you want to initialize from the past).endTimestamp?: number – End time (if already stopped).currentStartTimestamp?: number – Most recent resume time.pauseCount?: number – Number of times paused.accumulatedMs?: number – Accumulated milliseconds from previous runs.d, h, m, s, ms).ms() / time(), but for paused duration.%label, %d, %h, %m, %s, %ms).Timer.deserialize(serializedTimer: string): Timer
Re-creates a timer from a serialized string generated by .serialize().
Timer.benchmark(fn: () => any): Timer
Measures the synchronous execution time of fn. Returns a stopped Timer.
Any method returning an object breakdown of time uses the following shape:
interface Time {
d: number; // days
h: number; // hours
m: number; // minutes
s: number; // seconds
ms: number; // milliseconds
}
const { Timer } = require('timer-node');
const timer = new Timer({ label: 'demo' });
timer.start();
// ... some operations ...
timer.pause();
console.log('Paused at', timer.ms(), 'ms');
timer.resume();
// ... more operations ...
timer.stop();
console.log('Total elapsed:', timer.time());
// e.g. { d: 0, h: 0, m: 1, s: 12, ms: 345 }
This library is licensed under the MIT License. See LICENSE for details.
Copyright 2013 - present © cnpmjs.org | Home |