-
Notifications
You must be signed in to change notification settings - Fork 81
Open
Labels
Type: BugSomething isn't working as documented, or is being fixedSomething isn't working as documented, or is being fixed
Description
What happened?
I tried to call verifyAndReceive
with name
=request.headers["x-github-event"]
, and got a type error because the header's type is string
, but verifyAndReceive
expects WebhookEventName
, which isn't even exported from the library. It turns out that
const eventName = request.headers["x-github-event"] as WebhookEventName; |
name: eventName as any, |
any
on top of that), which indicates that verifyAndReceive
should probably just take a string
.
Alternatively, the library could expose a function to validate the event name and maybe payload structure, but that seems like more work than just loosening up the types.
A secondary question is whether receive
should also take looser types for name
and payload
.
webhooks.js/src/verify-and-receive.ts
Lines 41 to 45 in 6531c97
return state.eventHandler.receive({ | |
id: event.id, | |
name: event.name, | |
payload, | |
} as EmitterWebhookEvent); |
BaseWebhookEvent
to make it correctly infer the payload type when the event name does happen to be constrained.
Versions
Typescript 5.6
Relevant log output
No response
Code of Conduct
- I agree to follow this project's Code of Conduct
Metadata
Metadata
Assignees
Labels
Type: BugSomething isn't working as documented, or is being fixedSomething isn't working as documented, or is being fixed
Type
Projects
Status
🔥 Backlog