2024-01-29 09:26:07 +08:00

13 lines
429 B
JavaScript

export function mergeEventHandlers(handlers) {
const filteredHandlers = handlers.filter(handler => handler !== undefined);
if (filteredHandlers.length === 0) return undefined;
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
if (filteredHandlers.length === 1) return filteredHandlers[0];
return e => {
handlers.forEach(handler => {
if (handler) {
handler(e);
}
});
};
}