typescript-event-emitter
Version:
Versatile and feature-rich TypeScript library for event management, providing a solid foundation for building event-driven applications in TypeScript.
20 lines (19 loc) • 681 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useBaseEventSource = useBaseEventSource;
const react_1 = require("react");
function useBaseEventSource(source, event, handler, options, deps = []) {
const handlerRef = (0, react_1.useRef)(handler);
handlerRef.current = handler;
(0, react_1.useEffect)(() => {
const listener = (eventName, payload) => {
if (eventName === event) {
handlerRef.current(payload);
}
};
source.on(event, listener, options);
return () => {
source.off(event, listener);
};
}, [source, event, options, ...deps]);
}