@bemedev/interval2
v0.1.3
Published
A cancellable interval and timer library for JavaScript and TypeScript.
Maintainers
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/interval2Usage
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])
