github-webhook-event-types
Converts the GitHub events on this page: https://developer.github.com/v3/activity/events/types/
Into TypeScript type interfaces, so you can use them anywhere.
Why would I use this?
If you're writing Dangerfiles for Peril, you'll want some safety in the types for event JSON metadata coming from GitHub. This gives you that.
How do I use this?
yarn add github-webhook-event-types
Then in your app:
// ^---- tsc compiler err
as any as Issues
?
Yeah, weird code right? Well in the case above we're taking a known type and saying "be something else". First you tell
the compiler "you can be any
thing", then you tell it "you are an Issue
".
Otherwise you will probably be able to say as Issue
from your typical JSON request.
How do I work on this?
You need Google Chrome Canary installed first.
git clone https://github.com/orta/github-webhook-event-types.gitcd github-webhook-event-typesyarn install # Open VS Code with `code .` # Run the script to generate them yarn ts-node scripts/generate_types.ts
What is this?
It uses a headless google chrome to download the events page and pull out each example JSON and their name. It's a bit messy, but it's a messy job. It's really just one script, so you can read that instead. It's about 100 LOC.