Skip to content

Commit

Permalink
fix(types): mark type parameters as optional (#1101)
Browse files Browse the repository at this point in the history
Some types which end-users could be using, declare the type parameters as requried, when in fact they are entirely optional.

This arises when users try to use the event handler code on it's own
  • Loading branch information
wolfy1339 authored Feb 24, 2025
1 parent d0d5268 commit fead46f
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
4 changes: 2 additions & 2 deletions src/event-handler/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import {
import { receiverHandle as receive } from "./receive.js";
import { removeListener } from "./remove-listener.js";

export interface EventHandler<TTransformed> {
export interface EventHandler<TTransformed = unknown> {
on<E extends EmitterWebhookEventName>(
event: E | E[],
callback: HandlerFunction<E, TTransformed>,
Expand All @@ -38,7 +38,7 @@ export interface EventHandler<TTransformed> {
receive(event: EmitterWebhookEvent | WebhookError): Promise<void>;
}

export function createEventHandler<TTransformed>(
export function createEventHandler<TTransformed = unknown>(
options: Options<TTransformed>,
): EventHandler<TTransformed> {
const state: State = {
Expand Down
4 changes: 2 additions & 2 deletions src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,12 @@ type TransformMethod<T> = (event: EmitterWebhookEvent) => T | PromiseLike<T>;

export type HandlerFunction<
TName extends EmitterWebhookEventName,
TTransformed,
TTransformed = unknown,
> = (event: EmitterWebhookEvent<TName> & TTransformed) => any;

export type RemoveHandlerFunction<
TName extends EmitterWebhookEventName | "*",
TTransformed,
TTransformed = unknown,
> = (event: EmitterWebhookEvent<Exclude<TName, "*">> & TTransformed) => any;

type Hooks = {
Expand Down

0 comments on commit fead46f

Please sign in to comment.