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