@flexis/ui
Version:
Styleless React Components
17 lines (16 loc) • 1.13 kB
JavaScript
import { debounce } from 'throttle-debounce';
import { Bind } from './Bind';
/**
* Decortor for debouncify class method.
* @param delay - Debounce delay in ms.
* @param atBegin - Call at begin.
* @return Method decorator.
*/
export function Debounce(delay) {
var atBegin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
return function (_, __, descriptor) {
descriptor.value = debounce(delay, atBegin, descriptor.value);
Bind()(_, __, descriptor);
};
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzL0RlYm91bmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFNBQ0MsUUFERCxRQUVPLG1CQUZQO0FBR0EsU0FDQyxJQURELFFBRU8sUUFGUDtBQUlBOzs7Ozs7O0FBTUEsT0FBTSxTQUFVLFFBQVYsQ0FBbUIsS0FBbkIsRUFBaUQ7QUFBQSxNQUFmLE9BQWUsdUVBQUwsS0FBSztBQUN0RCxTQUFPLFVBQUMsQ0FBRCxFQUFJLEVBQUosRUFBUSxVQUFSLEVBQTBDO0FBQ2hELElBQUEsVUFBVSxDQUFDLEtBQVgsR0FBbUIsUUFBUSxDQUFDLEtBQUQsRUFBUSxPQUFSLEVBQWlCLFVBQVUsQ0FBQyxLQUE1QixDQUEzQjtBQUNBLElBQUEsSUFBSSxHQUFHLENBQUgsRUFBTSxFQUFOLEVBQVUsVUFBVixDQUFKO0FBQ0EsR0FIRDtBQUlBIiwic291cmNlUm9vdCI6IiJ9