@flexis/ui
Version:
Styleless React Components
28 lines (22 loc) • 1.31 kB
JavaScript
;
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
_Object$defineProperty(exports, "__esModule", {
value: true
});
exports.Debounce = Debounce;
var _throttleDebounce = require("throttle-debounce");
var _Bind = require("./Bind");
/**
* Decortor for debouncify class method.
* @param delay - Debounce delay in ms.
* @param atBegin - Call at begin.
* @return Method decorator.
*/
function Debounce(delay) {
var atBegin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
return function (_, __, descriptor) {
descriptor.value = (0, _throttleDebounce.debounce)(delay, atBegin, descriptor.value);
(0, _Bind.Bind)()(_, __, descriptor);
};
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzL0RlYm91bmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQTs7QUFHQTs7QUFJQTs7Ozs7O0FBTU0sU0FBVSxRQUFWLENBQW1CLEtBQW5CLEVBQWlEO0FBQUEsTUFBZixPQUFlLHVFQUFMLEtBQUs7QUFDdEQsU0FBTyxVQUFDLENBQUQsRUFBSSxFQUFKLEVBQVEsVUFBUixFQUEwQztBQUNoRCxJQUFBLFVBQVUsQ0FBQyxLQUFYLEdBQW1CLGdDQUFTLEtBQVQsRUFBZ0IsT0FBaEIsRUFBeUIsVUFBVSxDQUFDLEtBQXBDLENBQW5CO0FBQ0Esc0JBQU8sQ0FBUCxFQUFVLEVBQVYsRUFBYyxVQUFkO0FBQ0EsR0FIRDtBQUlBIiwic291cmNlUm9vdCI6IiJ9