Skip to content

A simple stopwatch utility package for measuring execution times of code snippets or functions in Node.js applications.

License

Notifications You must be signed in to change notification settings

eichemberger/dr-strange

Repository files navigation

Dr Strange npm version

Dr Strange is a simple stopwatch utility package for measuring execution times of code snippets or functions in Node.js applications. It is designed for use during development to help you optimize and analyze the performance of your code.

Installation

Install Dr Strange as a development dependency:

npm install dr-strange

Usage

const Stopwatch = require("dr-strange");

const stopwatch = new Stopwatch();

stopwatch.start();

// Your code here...

stopwatch.stop();

// Get the duration as a Duration object
const duration = stopwatch.getDuration();
console.log(
  `Duration: ${duration.hours} h ${duration.minutes} min ${duration.seconds} s ${duration.milliseconds.toFixed(2)} ms`
);

// Print the formatted duration
stopwatch.printDuration();

// Reset the stopwatch
stopwatch.reset();

Stopwatch methods

  • start(): Starts the stopwatch.
  • stop(): Stops the stopwatch.
  • getDuration(): Returns a Duration object representing the elapsed time. The object contains the properties hours, minutes, seconds, and milliseconds.
  • printDuration(): Prints the formatted duration string, adjusting the format based on the elapsed time.
  • reset(): Resets the stopwatch, setting the start and end times to null.

TypeScript Support

This package includes TypeScript definitions for use in TypeScript projects.

import Stopwatch from "dr-strange";
import Duration from "dr-strange/duration";

const stopwatch: Stopwatch = new Stopwatch();

stopwatch.start();
stopwatch.stop();

const duration: Duration = stopwatch.getDuration();

console.log(
  `Duration: ${duration.hours}h ${duration.minutes}m ${duration.seconds}s ${duration.milliseconds}ms`
);

Testing

The package includes a suite of tests using the Jest testing framework. To run the tests, execute the following command:

npm test

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A simple stopwatch utility package for measuring execution times of code snippets or functions in Node.js applications.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published