This commit is contained in:
+21
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* Composes event handlers into a single function that can be called with an event.
|
||||
* If the previous handler cancels the event using `event.preventDefault()`, the handlers
|
||||
* that follow will not be called.
|
||||
*/
|
||||
export function composeHandlers(...handlers) {
|
||||
return function (e) {
|
||||
for (const handler of handlers) {
|
||||
if (!handler)
|
||||
continue;
|
||||
if (e.defaultPrevented)
|
||||
return;
|
||||
if (typeof handler === "function") {
|
||||
handler.call(this, e);
|
||||
}
|
||||
else {
|
||||
handler.current?.call(this, e);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user