@ozen-ui/data-grid
Version:
React DataGrid library
24 lines (23 loc) • 936 B
JavaScript
import { __read } from "tslib";
import { useEffect } from 'react';
import { useStoredValue } from "@ozen-ui/kit/useStoredValue";
export var useEventBusEvents = function (eventBus, subscribes) {
var clearSubscribes = useStoredValue(function () { return function () { }; });
useEffect(function () {
clearSubscribes.current();
var clearSubscribesCallbacks = [];
Object.entries(subscribes).forEach(function (_a) {
var _b = __read(_a, 2), event = _b[0], callback = _b[1];
var unsubscribe = eventBus.subscribe(event, callback);
clearSubscribesCallbacks.push(unsubscribe);
});
clearSubscribes.current = function () {
clearSubscribesCallbacks.forEach(function (unsubscribe) {
unsubscribe();
});
};
return function () {
clearSubscribes.current();
};
}, [eventBus, subscribes]);
};