@helenejs/react
Version:
Real-time Web Apps for Node.js
17 lines • 901 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.useThrottledEvents = useThrottledEvents;
const useCreation_1 = __importDefault(require("ahooks/lib/useCreation"));
const react_1 = require("react");
const utils_1 = require("@helenejs/utils");
function useThrottledEvents(emitter, events, callback, deps = [], throttleMs = 1000, throttleOptions) {
const _events = (0, useCreation_1.default)(() => events, events);
const _callback = (0, useCreation_1.default)(() => callback, deps);
(0, react_1.useEffect)(() => {
return (0, utils_1.onAllThrottled)(emitter, _events, _callback, throttleMs, throttleOptions);
}, [emitter, _events, _callback, throttleMs]);
}
//# sourceMappingURL=use-throttled-events.js.map