From 238b4e7085bb1da79195bd3cf884b85c0d23f728 Mon Sep 17 00:00:00 2001 From: wolfy1339 <webmaster@wolfy1339.com> Date: Sat, 4 Jan 2025 17:17:42 -0500 Subject: [PATCH 1/2] fix(types): derive `getUserOctokit` return type from `Octokit` option Fixes #262 --- src/index.ts | 11 +++++++++-- src/methods/get-user-octokit.ts | 3 ++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/index.ts b/src/index.ts index 286fc2a57..65a3990e1 100644 --- a/src/index.ts +++ b/src/index.ts @@ -144,7 +144,13 @@ export class OAuthApp< // @ts-expect-error TODO: figure this out this.octokit = octokit; - this.getUserOctokit = getUserOctokitWithState.bind(null, state); + this.getUserOctokit = getUserOctokitWithState.bind( + null, + state, + ) as GetUserOctokitWithStateInterface< + ClientTypeFromOptions<TOptions>, + OctokitTypeFromOptions<TOptions> + >; this.getWebFlowAuthorizationUrl = getWebFlowAuthorizationUrlWithState.bind( null, @@ -180,7 +186,8 @@ export class OAuthApp< on: AddEventHandler<TOptions>; octokit: OctokitTypeFromOptions<TOptions>; getUserOctokit: GetUserOctokitWithStateInterface< - ClientTypeFromOptions<TOptions> + ClientTypeFromOptions<TOptions>, + OctokitTypeFromOptions<TOptions> >; getWebFlowAuthorizationUrl: GetWebFlowAuthorizationUrlInterface< ClientTypeFromOptions<TOptions> diff --git a/src/methods/get-user-octokit.ts b/src/methods/get-user-octokit.ts index f1fe79256..946311904 100644 --- a/src/methods/get-user-octokit.ts +++ b/src/methods/get-user-octokit.ts @@ -62,10 +62,11 @@ export async function getUserOctokitWithState( export interface GetUserOctokitWithStateInterface< TClientType extends ClientType, + TOctokitInstance extends OctokitInstance > { ( options: TClientType extends "oauth-app" ? GetUserOctokitOAuthAppOptions : GetUserOctokitGitHubAppOptions, - ): Promise<OctokitInstance>; + ): Promise<TOctokitInstance>; } From 6ff98584e2f8dc9d12ad877b03cb36b678d4e69d Mon Sep 17 00:00:00 2001 From: wolfy1339 <webmaster@wolfy1339.com> Date: Sat, 4 Jan 2025 17:21:17 -0500 Subject: [PATCH 2/2] style: prettier --- src/methods/get-user-octokit.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/methods/get-user-octokit.ts b/src/methods/get-user-octokit.ts index 946311904..262968661 100644 --- a/src/methods/get-user-octokit.ts +++ b/src/methods/get-user-octokit.ts @@ -62,7 +62,7 @@ export async function getUserOctokitWithState( export interface GetUserOctokitWithStateInterface< TClientType extends ClientType, - TOctokitInstance extends OctokitInstance + TOctokitInstance extends OctokitInstance, > { ( options: TClientType extends "oauth-app"