A cancellable interval and timer library for JavaScript and TypeScript.
npm install @bemedev/interval2A 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.
``bash`Using npm
npm install @bemedev/interval2
`bash`Using bun
bun add @bemedev/interval2
`bash`Using pnpm
pnpm add @bemedev/interval2
`bash`Using yarn
yarn add @bemedev/interval2
`typescript
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();
`
`typescript
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();
``
- 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
MIT
View changes log
- Remove console.log
- ✨ 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
chlbri (bri_lvi@icloud.com)