npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@yobuligo/stopwatch.typescript

v1.0.1

Published

Stopwatch TypeScript

Downloads

1

Readme

stopwatch.typescript

An implementation of a stopwatch for TypeScript.

Installation

Install the library via:

npm install --save @yobuligo/stopwatch.typescript

Usage

To use the stopwatch an instance of IStopwatch has to be created, which can be started, stopped and used in different classes and functions to add interim timestamps.

Create instance by createStopwatch

Method createStopwatch can be used to create multiple instances of the stopwatch.

Use singleton instance Stopwatch

The constants Stopwatch is a singleton instance which can be easily accessed at various code passages.

elapsed

Returns the difference in milliseconds between starting and stopping the stopwatch.

Returns the elapsed time in milliseconds, since starting the stopwatch, when it wasn't stopped.

Returns 0 if the stopwatch wasn't started yet.

const stopwatch = createStopwatch();
stopwatch.start();
stopwatch.stop();
// ...
stopwatch.elapsed;

intermediateTimes

Returns a list of intermediate times. An intermediate time is a pair of text and timestamp. These timestamps can be created via method takeIntermediateTime().

isNotRunning

Returns true if the stopwatch wasn't started or if it was stopped after starting it or if it was reset. Otherwise it returns false.

const stopwatch = createStopwatch();
if (stopwatch.isNotRunning) {
    // ...
}

isRunning

Returns true if the stopwatch was started but not stopped and not reset.

const stopwatch = createStopwatch();
if (stopwatch.isRunning) {
    // ...
}

reset

Resets the start time, stop time and taken intermediate times.

const stopwatch = createStopwatch();
stopwatch.start();
stopwatch.stop();
stopwatch.reset();

start

Starts the stopwatch, returns the timestamp and adds an intermediate time. The corresponding intermediate time text can be specified by passing in parameter text.

The method call has no effect if the stopwatch was already started, not even after it was stopped. To restart it call method reset() first.

const stopwatch = createStopwatch();
const startedAt = stopwatch.start();

startedAt

Returns the timestamp of the start time or null if not started.

const stopwatch = createStopwatch();
stopwatch.start();
// ...
stopwatch.startedAt?.getTime();

stop

Stops the stopwatch, returns the timestamp if stopped and adds an intermediate time. The corresponding intermediate time text can be specified by passing in parameter text.

The method call has no effect, if the stopwatch is not running.

const stopwatch = createStopwatch();
stopwatch.start();
const stoppedAt = stopwatch.stop();

stoppedAt

Returns the timestamp of the stop time of null if not started.

const stopwatch = createStopwatch();
stopwatch.start();
// ...
stopwatch.stop();
// ...
stopwatch.stoppedAt?.getTime();

takeIntermediateTime

Takes a current timestamp, combined with a text and adds it to a list of intermediate times. These timestamps can be retrieved via property intermediateTimes.

The method call has no effect, if the stopwatch is not running.

const stopwatch = createStopwatch();
stopwatch.start();
// ...
stopwatch.takeIntermediateTime("Calculation started");
// ...
stopwatch.takeIntermediateTime("Calculation completed");
// ...
stopwatch.stop();

console.log(stopwatch.elapsed);