Skip to content

Commit d83cb11

Browse files
committed
feat: refactor returns types to always return data
1 parent a49f4a3 commit d83cb11

File tree

2 files changed

+66
-50
lines changed

2 files changed

+66
-50
lines changed

packages/core/auth-js/src/GoTrueClient.ts

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -187,10 +187,10 @@ export default class GoTrueClient {
187187
user = data as User
188188
}
189189

190-
return { user, session, error: null }
190+
return { data: { user, session }, error: null }
191191
} catch (error) {
192192
if (isAuthError(error)) {
193-
return { user: null, session: null, error }
193+
return { data: { user: null, session: null }, error }
194194
}
195195

196196
throw error
@@ -227,7 +227,7 @@ export default class GoTrueClient {
227227
)
228228
} catch (error) {
229229
if (isAuthError(error)) {
230-
return { user: null, session: null, error }
230+
return { data: { user: null, session: null }, error }
231231
}
232232

233233
throw error
@@ -269,20 +269,20 @@ export default class GoTrueClient {
269269
shouldCreateUser: options?.shouldCreateUser,
270270
captchaToken: options?.captchaToken,
271271
})
272-
return { user: null, session: null, error }
272+
return { data: { user: null, session: null }, error }
273273
}
274274
if ('phone' in credentials) {
275275
const { phone, options } = credentials
276276
const { error } = await this.api.sendMobileOTP(phone, {
277277
shouldCreateUser: options?.shouldCreateUser,
278278
captchaToken: options?.captchaToken,
279279
})
280-
return { user: null, session: null, error }
280+
return { data: { user: null, session: null }, error }
281281
}
282282
throw new AuthInvalidCredentialsError('You must provide either an email or phone number.')
283283
} catch (error) {
284284
if (isAuthError(error)) {
285-
return { user: null, session: null, error }
285+
return { data: { user: null, session: null }, error }
286286
}
287287

288288
throw error
@@ -330,10 +330,10 @@ export default class GoTrueClient {
330330
user = data as User
331331
}
332332

333-
return { user, session, error: null }
333+
return { data: { user, session }, error: null }
334334
} catch (error) {
335335
if (isAuthError(error)) {
336-
return { user: null, session: null, error }
336+
return { data: { user: null, session: null }, error }
337337
}
338338

339339
throw error
@@ -623,17 +623,17 @@ export default class GoTrueClient {
623623
const { data, error } = await this.api.signInWithEmail(email, password, {
624624
captchaToken: options.captchaToken,
625625
})
626-
if (error || !data) return { user: null, session: null, error }
626+
if (error || !data) return { data: { user: null, session: null }, error }
627627

628628
if (data?.user?.confirmed_at || data?.user?.email_confirmed_at) {
629629
this._saveSession(data)
630630
this._notifyAllSubscribers('SIGNED_IN', data)
631631
}
632632

633-
return { user: data.user, session: data, error: null }
633+
return { data: { user: data.user, session: data }, error: null }
634634
} catch (error) {
635635
if (isAuthError(error)) {
636-
return { user: null, session: null, error }
636+
return { data: { user: null, session: null }, error }
637637
}
638638

639639
throw error
@@ -651,17 +651,17 @@ export default class GoTrueClient {
651651
const { session, error } = await this.api.signInWithPhone(phone, password, {
652652
captchaToken: options.captchaToken,
653653
})
654-
if (error || !session) return { session: null, user: null, error }
654+
if (error || !session) return { data: { session: null, user: null }, error }
655655

656656
if (session?.user?.phone_confirmed_at) {
657657
this._saveSession(session)
658658
this._notifyAllSubscribers('SIGNED_IN', session)
659659
}
660660

661-
return { session, user: session.user, error: null }
661+
return { data: { session, user: session.user }, error: null }
662662
} catch (error) {
663663
if (isAuthError(error)) {
664-
return { session: null, user: null, error }
664+
return { data: { session: null, user: null }, error }
665665
}
666666

667667
throw error
@@ -685,7 +685,7 @@ export default class GoTrueClient {
685685
if (isBrowser()) {
686686
window.location.href = url
687687
}
688-
return { provider, url, error: null }
688+
return { data: { provider, url }, error: null }
689689
}
690690

691691
private async _handleOpenIDConnectSignIn({

packages/core/auth-js/src/lib/types.ts

Lines changed: 51 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { AuthError } from "./errors"
1+
import { AuthError } from './errors'
22

33
export type Provider =
44
| 'apple'
@@ -26,25 +26,37 @@ export type AuthChangeEvent =
2626
| 'USER_UPDATED'
2727
| 'USER_DELETED'
2828

29-
export type AuthResponse = {
30-
user: User | null
31-
session: Session | null
32-
error: null
33-
} | {
34-
user: null
35-
session: null
36-
error: AuthError
37-
}
29+
export type AuthResponse =
30+
| {
31+
data: {
32+
user: User | null
33+
session: Session | null
34+
}
35+
error: null
36+
}
37+
| {
38+
data: {
39+
user: null
40+
session: null
41+
}
42+
error: AuthError
43+
}
3844

39-
export type OAuthResponse = {
40-
provider: Provider
41-
url: string
42-
error: null
43-
} | {
44-
provider: Provider
45-
url: null
46-
error: AuthError
47-
}
45+
export type OAuthResponse =
46+
| {
47+
data: {
48+
provider: Provider
49+
url: string
50+
}
51+
error: null
52+
}
53+
| {
54+
data: {
55+
provider: Provider
56+
url: null
57+
}
58+
error: AuthError
59+
}
4860
export interface Session {
4961
provider_token?: string | null
5062
access_token: string
@@ -203,25 +215,29 @@ export interface UserCredentials {
203215
provider?: Provider
204216
oidc?: OpenIDConnectCredentials
205217
}
206-
export type SignInWithPasswordCredentials = {
207-
email: string
208-
password: string
209-
options?: SignInWithPasswordOptions
210-
} | {
211-
phone: string
212-
password: string
213-
options?: SignInWithPasswordOptions
214-
}
218+
export type SignInWithPasswordCredentials =
219+
| {
220+
email: string
221+
password: string
222+
options?: SignInWithPasswordOptions
223+
}
224+
| {
225+
phone: string
226+
password: string
227+
options?: SignInWithPasswordOptions
228+
}
215229
export interface SignInWithPasswordOptions {
216230
captchaToken?: string
217231
}
218-
export type SignInWithPasswordlessCredentials = {
219-
email: string
220-
options?: SignInWithPasswordlessOptions
221-
} | {
222-
phone: string
223-
options?: SignInWithPasswordlessOptions
224-
}
232+
export type SignInWithPasswordlessCredentials =
233+
| {
234+
email: string
235+
options?: SignInWithPasswordlessOptions
236+
}
237+
| {
238+
phone: string
239+
options?: SignInWithPasswordlessOptions
240+
}
225241
export interface SignInWithPasswordlessOptions {
226242
// The redirect url embedded in the email link
227243
emailRedirectTo?: string

0 commit comments

Comments
 (0)