-
Notifications
You must be signed in to change notification settings - Fork 82
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