0.0.4 • Published 30 days ago

@webkrafters/long-count v0.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
30 days ago

Long Count

Introduction

Long Count is a library of setInterval and setTimeout functions producing a LongCounter instance capable of handling superbly long delay times and surviving device sleep and wake cycles.

Name:

@webkrafters/long-count Alternate: long-count.js

Installation

npm install --save @webkrafters/long-count

Usage

Timeout

import type {
    Delay,
    Options,
    VoidFn
} from '@webkrafters/long-count';

import {
    clearTimeout,
    setTimeout
} from '@webkrafters/long-count';

const timeout = setTimeout(
    callback : VoidFn,
    delay? : Delay,
    options? : boolean | Partial<Options>,
    ...args : Array<any>
); // => LongCounter

clearTimeout( timeout );
// or clearTimeout( timeout.id );
// or clearTimeout( timeout.valueOf() );

Interval

import type {
    Delay,
    Options,
    VoidFn
} from '@webkrafters/long-count';

import {
    clearInterval,
    setInterval
} from '@webkrafters/long-count';

const interval = setInterval(
    callback : VoidFn,
    delay? : Delay,
    options? : boolean | Partial<Options>,
    ...args : Array<any>
); // => Interval (a child LongCounter)

clearInterval( interval );
// or clearInterval( interval.id );
// or clearInterval( interval.valueOf() );

Events

The LongCounter instance is an observable notifying observers of the events. See Event Types in the next section.

import type {
    EventType,
    VoidFn
} from '@webkrafters/long-count';

import { setTimeout } from '@webkrafters/long-count';

const timeout = setTimeout( ... ); // => LongCounter
timeout.addEventListener(
    eventType : EventType,
    listener : VoidFn
); // => void
timeout.dispatchEvent(
    eventType : EventType,
    ...args : Array<any>
); // => void
timeout.removeEventListener(
    eventType : EventType,
    listener : VoidFn
); // => void

License

MIT