@yandex/ui
Version:
Yandex UI components
25 lines (24 loc) • 694 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.throttle = void 0;
var throttle = function (callback) {
var rid = null;
var saveArgs;
var makeCallback = function (context) { return function () {
rid = null;
callback.apply(context, saveArgs);
}; };
var throttled = function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
saveArgs = args;
if (rid === null) {
// @ts-ignore this
rid = requestAnimationFrame(makeCallback(this));
}
};
return throttled;
};
exports.throttle = throttle;