timers-ext

    0.1.7 • Public • Published

    Build status Windows status Transpilation status npm version

    timers-ext

    Timers extensions

    Installation

    $ npm install timers-ext
    

    To port it to Browser or any other (non CJS) environment, use your favorite CJS bundler. No favorite yet? Try: Browserify, Webmake or Webpack

    API

    MAX*TIMEOUT *(timers-ext/max-timeout)_

    Maximum possible timeout value in milliseconds. It equals to maximum positive value for 32bit signed integer, so 2³¹ (2147483647), which makes it around 24.9 days

    delay(fn[, timeout]) (timers-ext/delay)

    Returns function which when invoked will call fn function after specified timeout. If timeout is not provided nextTick propagation is used.

    once(fn[, timeout]) (timers-ext/once)

    Makes sure to execute fn function only once after a defined interval of time (debounce). If timeout is not provided nextTick propagation is used.

    var nextTick = require("next-tick");
    var logFoo = function() {
        console.log("foo");
    };
    var logFooOnce = require("timers-ext/once")(logFoo);
     
    logFooOnce();
    logFooOnce(); // ignored, logFoo will be logged only once
    logFooOnce(); // ignored
     
    nextTick(function() {
        logFooOnce(); // Invokes another log (as tick passed)
        logFooOnce(); // ignored
        logFooOnce(); // ignored
    });

    validTimeout(timeout) (timers-ext/valid-timeout)

    Validates timeout value.
    For NaN resolved timeout 0 is returned. If timeout resolves to a number:

    • for timeout < 0 0 is returned
    • for 0 >= timeout <= MAX_TIMEOUT, timeout value is returned
    • for timeout > MAX_TIMEOUT exception is thrown

    Tests

    $ npm test
    

    Install

    npm i timers-ext

    DownloadsWeekly Downloads

    3,529,742

    Version

    0.1.7

    License

    ISC

    Unpacked Size

    14.4 kB

    Total Files

    23

    Last publish

    Collaborators

    • medikoo