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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@bemedev/interval2

v0.1.3

Published

A cancellable interval and timer library for JavaScript and TypeScript.

Readme

Interval2 & Timeout2

A cancellable interval and timeout library for Node.js that allows you to create intervals and timeouts that can be easily started, paused, and renewed. This library provides enhanced control over timing execution, making it suitable for various timing-related tasks in your applications.

Installation

# Using npm
npm install @bemedev/interval2
# Using bun
bun add @bemedev/interval2
# Using pnpm
pnpm add @bemedev/interval2
# Using yarn
yarn add @bemedev/interval2

Usage

Interval2

import { createInterval } from '@bemedev/interval2';

const interval = createInterval({
  id: 'my-interval',
  interval: 1000,
  callback: () => {
    console.log('Interval executed');
  },
});

// Start the interval
interval.start();

// Pause the interval
interval.pause();

// Renew the interval with new settings
interval.renew({ interval: 2000 });

//dispose the interval
interval.dispose();

Timeout2

import { createTimeout } from '@bemedev/interval2';

const timeout = createTimeout({
  id: 'my-timeout',
  callback: () => {
    console.log('Timeout executed');
  },
  timeout: 2000, // 2 seconds
});

// Start the timeout
await timeout.start();

// Pause the timeout (preserves remaining time)
timeout.pause();

// Resume the timeout
await timeout.start();

// Stop the timeout completely
timeout.stop();

Features

  • Interval2: Repeating execution with start, pause, and dispose capabilities
  • Timeout2: Single execution with pause, resume, and stop capabilities
  • Start, pause and dispose intervals and timeouts
  • Renew intervals and timeouts with new settings
  • State management ('idle', 'active', 'paused', 'disposed')
  • Resource management with Symbol.dispose support
  • 100% test coverage
  • Integration with CI/CD pipeline
  • TypeScript support
  • Improved performance for timing execution

Licence

MIT

CHANGE_LOG

Version [0.1.1] --> 15:10

  • Remove console.log

Version [0.1.0] --> 15:00

  • ✨ First version of library
  • Added basic interval functionality
  • Implemented start and stop methods
  • Included error handling for invalid intervals
  • Provided documentation for usage
  • Added unit tests for core features
  • Integrated with CI/CD pipeline
  • Improved performance for interval execution
  • 100% coverage
  • Fixed bugs related to interval overlap
  • Enhanced logging for debugging purposes
  • Updated dependencies to latest versions

Author

chlbri ([email protected])

My github

Links