diff --git a/src/use-event-listener/use-event-listener.ts b/src/use-event-listener/use-event-listener.ts index 1b89422..a72256a 100644 --- a/src/use-event-listener/use-event-listener.ts +++ b/src/use-event-listener/use-event-listener.ts @@ -16,7 +16,8 @@ interface EventListenerOptions { type EventLike = | { Connect(callback: T): ConnectionLike } | { connect(callback: T): ConnectionLike } - | { subscribe(callback: T): ConnectionLike }; + | { subscribe(callback: T): ConnectionLike } + | ((callback: T) => ConnectionLike); type ConnectionLike = { Disconnect(): void } | { disconnect(): void } | (() => void); @@ -32,6 +33,8 @@ const connect = (event: EventLike, callback: Callback): ConnectionLike => { } }); return connection; + } else if (typeIs(event, "function")) { + return event(callback); } else if ("Connect" in event) { return event.Connect(callback); } else if ("connect" in event) {