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"