UNPKG

@ozen-ui/data-grid

Version:

React DataGrid library

28 lines (27 loc) 1.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useEventBusEvents = void 0; var tslib_1 = require("tslib"); var react_1 = require("react"); var useStoredValue_1 = require("@ozen-ui/kit/useStoredValue"); var useEventBusEvents = function (eventBus, subscribes) { var clearSubscribes = (0, useStoredValue_1.useStoredValue)(function () { return function () { }; }); (0, react_1.useEffect)(function () { clearSubscribes.current(); var clearSubscribesCallbacks = []; Object.entries(subscribes).forEach(function (_a) { var _b = tslib_1.__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]); }; exports.useEventBusEvents = useEventBusEvents;