You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
unnecessarily casts to 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.
casts without checking, which seems to indicate that it should, but doing that takes more surgery on 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
The text was updated successfully, but these errors were encountered:
👋 Hi! Thank you for this contribution! Just to let you know, our GitHub SDK team does a round of issue and PR reviews twice a week, every Monday and Friday! We have a process in place for prioritizing and responding to your input. Because you are a part of this community please feel free to comment, add to, or pick up any issues/PRs that are labeled with Status: Up for grabs. You & others like you are the reason all of this works! So thank you & happy coding! 🚀
What happened?
I tried to call
verifyAndReceive
withname
=request.headers["x-github-event"]
, and got a type error because the header's type isstring
, butverifyAndReceive
expectsWebhookEventName
, which isn't even exported from the library. It turns out thatwebhooks.js/src/middleware/node/middleware.ts
Line 78 in 6531c97
webhooks.js/src/middleware/node/middleware.ts
Line 98 in 6531c97
any
on top of that), which indicates thatverifyAndReceive
should probably just take astring
.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 forname
andpayload
.webhooks.js/src/verify-and-receive.ts
Lines 41 to 45 in 6531c97
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
The text was updated successfully, but these errors were encountered: