UNPKG

@6thquake/react-material

Version:

React components that implement Google's Material Design.

41 lines (32 loc) 1.03 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.throttle = exports.debounce = void 0; var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var _arguments = arguments; var debounce = function debounce(handler, wait) { var timeout = null; return function () { if (timeout !== null) clearTimeout(timeout); timeout = setTimeout(handler, wait); }; }; exports.debounce = debounce; var throttle = function throttle(handler, delay) { var timer = null; var startTime = Date.now(); return function () { var curTime = Date.now(); var remaining = delay - (curTime - startTime); clearTimeout(timer); if (remaining <= 0) { handler.apply(void 0, (0, _toConsumableArray2.default)(_arguments)); startTime = Date.now(); } else { timer = setTimeout(handler, remaining); } }; }; exports.throttle = throttle;