Sha256: 0f9d8d9c86463609b524938ceb24bcd528afcdd7b8acb6f2753ae2393440dcad

Contents?: true

Size: 824 Bytes

Versions: 69

Compression:

Stored size: 824 Bytes

Contents

define(['../time/now'], function (now) {

    /**
     */
    function throttle(fn, delay){
        var context, timeout, result, args,
            diff, prevCall = 0;
        function delayed(){
            prevCall = now();
            timeout = null;
            result = fn.apply(context, args);
        }
        function throttled(){
            context = this;
            args = arguments;
            diff = delay - (now() - prevCall);
            if (diff <= 0) {
                clearTimeout(timeout);
                delayed();
            } else if (! timeout) {
                timeout = setTimeout(delayed, diff);
            }
            return result;
        }
        throttled.cancel = function(){
            clearTimeout(timeout);
        };
        return throttled;
    }

    return throttle;

});

Version data entries

69 entries across 69 versions & 2 rubygems

Version Path
trusty-festivity-extension-2.6.3 node_modules/bower/node_modules/mout/src/function/throttle.js
trusty-festivity-extension-2.6.2 node_modules/bower/node_modules/mout/src/function/throttle.js
trusty-festivity-extension-2.6.1 node_modules/bower/node_modules/mout/src/function/throttle.js
trusty-festivity-extension-2.6 node_modules/bower/node_modules/mout/src/function/throttle.js
trusty-festivity-extension-2.5.19 node_modules/bower/node_modules/mout/src/function/throttle.js
trusty-festivity-extension-2.5.18 node_modules/bower/node_modules/mout/src/function/throttle.js
trusty-festivity-extension-2.5.17 node_modules/bower/node_modules/mout/src/function/throttle.js
trusty-festivity-extension-2.5.16 node_modules/bower/node_modules/mout/src/function/throttle.js
trusty-festivity-extension-2.5.15 node_modules/bower/node_modules/mout/src/function/throttle.js
trusty-festivity-extension-2.5.14 node_modules/bower/node_modules/mout/src/function/throttle.js
trusty-festivity-extension-2.5.13 node_modules/bower/node_modules/mout/src/function/throttle.js
trusty-festivity-extension-2.5.12 node_modules/bower/node_modules/mout/src/function/throttle.js
trusty-festivity-extension-2.5.11 node_modules/bower/node_modules/mout/src/function/throttle.js
trusty-festivity-extension-2.5.10 node_modules/bower/node_modules/mout/src/function/throttle.js
trusty-festivity-extension-2.5.9 node_modules/bower/node_modules/mout/src/function/throttle.js
trusty-festivity-extension-2.5.8 node_modules/bower/node_modules/mout/src/function/throttle.js
trusty-festivity-extension-2.5.7 node_modules/bower/node_modules/mout/src/function/throttle.js
trusty-festivity-extension-2.5.6 node_modules/bower/node_modules/mout/src/function/throttle.js
trusty-festivity-extension-2.5.5 node_modules/bower/node_modules/mout/src/function/throttle.js
trusty-festivity-extension-2.5.4 node_modules/bower/node_modules/mout/src/function/throttle.js