@@ -14,16 +14,24 @@ const doNotEditThisFileDisclaimer = `
1414// make edits in scripts/generate-types.js` ;
1515const eventPayloadsVariable = "EventPayloads" ;
1616
17- const generatePayloadType = ( typeName ) => ( {
18- rootTypeName : typeName ,
19- namedKeyPaths : {
17+ const generatePayloadType = ( typeName ) => {
18+ const namedKeyPaths = {
2019 [ `${ typeName } .repository` ] : "PayloadRepository" ,
2120 // This prevents a naming colision between the payload of a `installation_repositories` event
2221 // and the `repositories` attribute of a `installation` event
2322 "WebhookPayloadInstallation.repositories" :
2423 "WebhookPayloadInstallation_Repositories" ,
25- } ,
26- } ) ;
24+ } ;
25+
26+ if ( typeName !== "WebhookPayloadMarketplacePurchase" ) {
27+ namedKeyPaths [ `${ typeName } .sender` ] = "PayloadSender" ;
28+ }
29+
30+ return {
31+ rootTypeName : typeName ,
32+ namedKeyPaths,
33+ } ;
34+ } ;
2735
2836const generateEventNameType = ( name , actions ) => [
2937 name ,
@@ -57,6 +65,17 @@ webhooks.forEach(({ name, actions, examples }) => {
5765 } ) ;
5866} ) ;
5967
68+ tw . add (
69+ webhooks . flatMap ( ( { examples } ) =>
70+ examples
71+ . map ( ( example ) => example . sender )
72+ . filter ( ( sender ) => sender !== undefined )
73+ ) ,
74+ {
75+ rootTypeName : "PayloadSender" ,
76+ }
77+ ) ;
78+
6079const getWebhookPayloadTypeFromEvent = `
6180${ doNotEditThisFileDisclaimer }
6281
0 commit comments