From 19cd334c0ee3d1291ad1d65805d20b73bfba09c9 Mon Sep 17 00:00:00 2001 From: Joabesv Date: Fri, 28 Jun 2024 20:46:12 -0300 Subject: [PATCH 1/3] feat: use generic on userinfo --- types/index.d.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/types/index.d.ts b/types/index.d.ts index f5084ac..69c3f23 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -183,13 +183,13 @@ declare namespace fastifyOauth2 { revokeAllToken(revokeToken: Token, httpOptions: Object | undefined): Promise; - userinfo(tokenSetOrToken: Token | string): Promise; + userinfo(tokenSetOrToken: Token | string): Promise; - userinfo(tokenSetOrToken: Token | string, userInfoExtraOptions: UserInfoExtraOptions | undefined): Promise; + userinfo(tokenSetOrToken: Token | string, userInfoExtraOptions: UserInfoExtraOptions | undefined): Promise; - userinfo(tokenSetOrToken: Token | string, callback: (err: any, userinfo: Object) => void): void; + userinfo(tokenSetOrToken: Token | string, callback: (err: any, userinfo: TUserInfo) => void): void; - userinfo(tokenSetOrToken: Token | string, userInfoExtraOptions: UserInfoExtraOptions | undefined, callback: (err: any, userinfo: Object) => void): void; + userinfo(tokenSetOrToken: Token | string, userInfoExtraOptions: UserInfoExtraOptions | undefined, callback: (err: any, userinfo: TUserInfo) => void): void; } export type UserInfoExtraOptions = { method?: 'GET' | 'POST', via?: 'header' | 'body', params?: object }; export const fastifyOauth2: FastifyOauth2 From 546c7d634ef643be38765b441b47d0b99b536f62 Mon Sep 17 00:00:00 2001 From: Aras Abbasi Date: Thu, 21 Nov 2024 12:04:40 +0100 Subject: [PATCH 2/3] add typing test --- types/index.test-d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/index.test-d.ts b/types/index.test-d.ts index 7fc67a5..c3b2260 100644 --- a/types/index.test-d.ts +++ b/types/index.test-d.ts @@ -283,6 +283,7 @@ server.get('/testOauth/callback', async (request, reply) => { expectType>(server.testOAuthName.userinfo(token.token)); expectType>(server.testOAuthName.userinfo(token.token.access_token)); expectType(await server.testOAuthName.userinfo(token.token.access_token)); + expectType<{a: string}>(await server.testOAuthName.userinfo<{a: string}>(token.token.access_token)); expectType(server.testOAuthName.userinfo(token.token.access_token, () => {})); expectType(server.testOAuthName.userinfo(token.token.access_token, undefined, () => {})); expectAssignable({ method: 'GET', params: {}, via: 'header' }); From 292ea970e3a90e849ee1e2030cef52ebf71623e8 Mon Sep 17 00:00:00 2001 From: Aras Abbasi Date: Thu, 21 Nov 2024 12:06:32 +0100 Subject: [PATCH 3/3] resolve pr comment --- types/index.d.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/types/index.d.ts b/types/index.d.ts index 69c3f23..01b9f89 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -183,13 +183,13 @@ declare namespace fastifyOauth2 { revokeAllToken(revokeToken: Token, httpOptions: Object | undefined): Promise; - userinfo(tokenSetOrToken: Token | string): Promise; + userinfo(tokenSetOrToken: Token | string): Promise; - userinfo(tokenSetOrToken: Token | string, userInfoExtraOptions: UserInfoExtraOptions | undefined): Promise; + userinfo(tokenSetOrToken: Token | string, userInfoExtraOptions: UserInfoExtraOptions | undefined): Promise; - userinfo(tokenSetOrToken: Token | string, callback: (err: any, userinfo: TUserInfo) => void): void; + userinfo(tokenSetOrToken: Token | string, callback: (err: any, userinfo: TUserInfo) => void): void; - userinfo(tokenSetOrToken: Token | string, userInfoExtraOptions: UserInfoExtraOptions | undefined, callback: (err: any, userinfo: TUserInfo) => void): void; + userinfo(tokenSetOrToken: Token | string, userInfoExtraOptions: UserInfoExtraOptions | undefined, callback: (err: any, userinfo: TUserInfo) => void): void; } export type UserInfoExtraOptions = { method?: 'GET' | 'POST', via?: 'header' | 'body', params?: object }; export const fastifyOauth2: FastifyOauth2