@supabase/gotrue-js 1.22.21 → 1.23.0-next.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/main/GoTrueApi.d.ts +120 -60
  2. package/dist/main/GoTrueApi.d.ts.map +1 -1
  3. package/dist/main/GoTrueApi.js +153 -93
  4. package/dist/main/GoTrueApi.js.map +1 -1
  5. package/dist/main/GoTrueClient.d.ts +80 -73
  6. package/dist/main/GoTrueClient.d.ts.map +1 -1
  7. package/dist/main/GoTrueClient.js +263 -245
  8. package/dist/main/GoTrueClient.js.map +1 -1
  9. package/dist/main/index.js +5 -1
  10. package/dist/main/index.js.map +1 -1
  11. package/dist/main/lib/constants.d.ts +1 -1
  12. package/dist/main/lib/constants.d.ts.map +1 -1
  13. package/dist/main/lib/constants.js +2 -2
  14. package/dist/main/lib/constants.js.map +1 -1
  15. package/dist/main/lib/cookies.d.ts.map +1 -1
  16. package/dist/main/lib/cookies.js +2 -1
  17. package/dist/main/lib/cookies.js.map +1 -1
  18. package/dist/main/lib/errors.d.ts +41 -0
  19. package/dist/main/lib/errors.d.ts.map +1 -0
  20. package/dist/main/lib/errors.js +78 -0
  21. package/dist/main/lib/errors.js.map +1 -0
  22. package/dist/main/lib/fetch.d.ts +8 -5
  23. package/dist/main/lib/fetch.d.ts.map +1 -1
  24. package/dist/main/lib/fetch.js +25 -27
  25. package/dist/main/lib/fetch.js.map +1 -1
  26. package/dist/main/lib/helpers.d.ts +19 -2
  27. package/dist/main/lib/helpers.d.ts.map +1 -1
  28. package/dist/main/lib/helpers.js +32 -15
  29. package/dist/main/lib/helpers.js.map +1 -1
  30. package/dist/main/lib/types.d.ts +56 -6
  31. package/dist/main/lib/types.d.ts.map +1 -1
  32. package/dist/main/lib/version.d.ts +1 -1
  33. package/dist/main/lib/version.js +2 -2
  34. package/dist/main/lib/version.js.map +1 -1
  35. package/dist/module/GoTrueApi.d.ts +120 -60
  36. package/dist/module/GoTrueApi.d.ts.map +1 -1
  37. package/dist/module/GoTrueApi.js +153 -93
  38. package/dist/module/GoTrueApi.js.map +1 -1
  39. package/dist/module/GoTrueClient.d.ts +80 -73
  40. package/dist/module/GoTrueClient.d.ts.map +1 -1
  41. package/dist/module/GoTrueClient.js +265 -247
  42. package/dist/module/GoTrueClient.js.map +1 -1
  43. package/dist/module/lib/constants.d.ts +1 -1
  44. package/dist/module/lib/constants.d.ts.map +1 -1
  45. package/dist/module/lib/constants.js +1 -1
  46. package/dist/module/lib/constants.js.map +1 -1
  47. package/dist/module/lib/cookies.d.ts.map +1 -1
  48. package/dist/module/lib/cookies.js +2 -1
  49. package/dist/module/lib/cookies.js.map +1 -1
  50. package/dist/module/lib/errors.d.ts +41 -0
  51. package/dist/module/lib/errors.d.ts.map +1 -0
  52. package/dist/module/lib/errors.js +66 -0
  53. package/dist/module/lib/errors.js.map +1 -0
  54. package/dist/module/lib/fetch.d.ts +8 -5
  55. package/dist/module/lib/fetch.d.ts.map +1 -1
  56. package/dist/module/lib/fetch.js +25 -27
  57. package/dist/module/lib/fetch.js.map +1 -1
  58. package/dist/module/lib/helpers.d.ts +19 -2
  59. package/dist/module/lib/helpers.d.ts.map +1 -1
  60. package/dist/module/lib/helpers.js +24 -12
  61. package/dist/module/lib/helpers.js.map +1 -1
  62. package/dist/module/lib/types.d.ts +56 -6
  63. package/dist/module/lib/types.d.ts.map +1 -1
  64. package/dist/module/lib/version.d.ts +1 -1
  65. package/dist/module/lib/version.js +2 -2
  66. package/dist/module/lib/version.js.map +1 -1
  67. package/package.json +21 -19
  68. package/src/GoTrueApi.ts +347 -132
  69. package/src/GoTrueClient.ts +375 -302
  70. package/src/lib/constants.ts +1 -1
  71. package/src/lib/cookies.ts +6 -1
  72. package/src/lib/errors.ts +82 -0
  73. package/src/lib/fetch.ts +43 -28
  74. package/src/lib/helpers.ts +33 -12
  75. package/src/lib/types.ts +64 -6
  76. package/src/lib/version.ts +2 -2
@@ -1,6 +1,8 @@
1
1
  import GoTrueApi from './GoTrueApi';
2
+ import { Deferred } from './lib/helpers';
2
3
  import { Fetch } from './lib/fetch';
3
- import type { ApiError, Session, User, UserAttributes, Provider, Subscription, AuthChangeEvent, CookieOptions, UserCredentials, VerifyOTPParams, SupportedStorage } from './lib/types';
4
+ import { AuthError } from './lib/errors';
5
+ import type { Session, User, UserAttributes, Subscription, AuthChangeEvent, CookieOptions, UserCredentials, VerifyOTPParams, SupportedStorage, SignInWithPasswordCredentials, SignInWithOAuthCredentials, SignInWithPasswordlessCredentials, AuthResponse, OAuthResponse } from './lib/types';
4
6
  export default class GoTrueClient {
5
7
  /**
6
8
  * Namespace for the GoTrue API methods.
@@ -8,27 +10,32 @@ export default class GoTrueClient {
8
10
  */
9
11
  api: GoTrueApi;
10
12
  /**
11
- * The currently logged in user or null.
13
+ * The storage key used to identity the values saved in localStorage
12
14
  */
13
- protected currentUser: User | null;
15
+ protected storageKey: string;
14
16
  /**
15
17
  * The session object for the currently logged in user or null.
18
+ * Only used if persistSession is false.
16
19
  */
17
- protected currentSession: Session | null;
20
+ protected inMemorySession: Session | null;
18
21
  protected autoRefreshToken: boolean;
19
22
  protected persistSession: boolean;
20
23
  protected localStorage: SupportedStorage;
21
- protected multiTab: boolean;
22
24
  protected stateChangeEmitters: Map<string, Subscription>;
23
25
  protected refreshTokenTimer?: ReturnType<typeof setTimeout>;
24
26
  protected networkRetries: number;
27
+ protected refreshingDeferred: Deferred<{
28
+ session: Session;
29
+ error: null;
30
+ }> | null;
25
31
  /**
26
32
  * Create a new client for use in the browser.
27
33
  * @param options.url The URL of the GoTrue server.
28
34
  * @param options.headers Any additional headers to send to the GoTrue server.
35
+ * @param options.storageKey Optional key name used for storing tokens in local storage
29
36
  * @param options.detectSessionInUrl Set to "true" if you want to automatically detects OAuth grants in the URL and signs in the user.
30
37
  * @param options.autoRefreshToken Set to "true" if you want to automatically refresh the token before expiring.
31
- * @param options.persistSession Set to "true" if you want to automatically save the user session into local storage.
38
+ * @param options.persistSession Set to "true" if you want to automatically save the user session into local storage. If set to false, session will just be saved in memory.
32
39
  * @param options.localStorage Provide your own local storage implementation to use instead of the browser's local storage.
33
40
  * @param options.multiTab Set to "false" if you want to disable multi-tab/window events.
34
41
  * @param options.cookieOptions
@@ -39,6 +46,7 @@ export default class GoTrueClient {
39
46
  headers?: {
40
47
  [key: string]: string;
41
48
  };
49
+ storageKey?: string;
42
50
  detectSessionInUrl?: boolean;
43
51
  autoRefreshToken?: boolean;
44
52
  persistSession?: boolean;
@@ -60,38 +68,33 @@ export default class GoTrueClient {
60
68
  redirectTo?: string;
61
69
  data?: object;
62
70
  captchaToken?: string;
63
- }): Promise<{
64
- user: User | null;
65
- session: Session | null;
66
- error: ApiError | null;
67
- }>;
71
+ }): Promise<AuthResponse>;
68
72
  /**
69
73
  * Log in an existing user, or login via a third-party provider.
70
- * @type UserCredentials
74
+ * @type SignInWithPasswordCredentials
71
75
  * @param email The user's email address.
72
76
  * @param phone The user's phone number.
73
77
  * @param password The user's password.
74
- * @param refreshToken A valid refresh token that was returned on login.
78
+ * @param options Valid options for password sign-ins.
79
+ */
80
+ signInWithPassword(credentials: SignInWithPasswordCredentials): Promise<AuthResponse>;
81
+ /**
82
+ * Log in an existing user via a third-party provider.
83
+ * @type SignInWithOAuthCredentials
75
84
  * @param provider One of the providers supported by GoTrue.
76
85
  * @param redirectTo A URL to send the user to after they are confirmed (OAuth logins only).
77
- * @param shouldCreateUser A boolean flag to indicate whether to automatically create a user on magiclink / otp sign-ins if the user doesn't exist. Defaults to true.
78
86
  * @param scopes A space-separated list of scopes granted to the OAuth application.
87
+ * @param queryParams An object of query params
79
88
  */
80
- signIn({ email, phone, password, refreshToken, provider, oidc }: UserCredentials, options?: {
81
- redirectTo?: string;
82
- shouldCreateUser?: boolean;
83
- scopes?: string;
84
- captchaToken?: string;
85
- queryParams?: {
86
- [key: string]: string;
87
- };
88
- }): Promise<{
89
- session: Session | null;
90
- user: User | null;
91
- provider?: Provider;
92
- url?: string | null;
93
- error: ApiError | null;
94
- }>;
89
+ signInWithOAuth(credentials: SignInWithOAuthCredentials): Promise<OAuthResponse>;
90
+ /**
91
+ * Passwordless method for logging in an existing user.
92
+ * @type SignInWithPasswordlessCredentials
93
+ * @param email The user's email address.
94
+ * @param phone The user's phone number.
95
+ * @param options Valid options for passwordless sign-ins.
96
+ */
97
+ signInWithOtp(credentials: SignInWithPasswordlessCredentials): Promise<AuthResponse>;
95
98
  /**
96
99
  * Log in a user given a User supplied OTP received via mobile.
97
100
  * @param email The user's email address.
@@ -102,50 +105,57 @@ export default class GoTrueClient {
102
105
  */
103
106
  verifyOTP(params: VerifyOTPParams, options?: {
104
107
  redirectTo?: string;
105
- }): Promise<{
106
- user: User | null;
107
- session: Session | null;
108
- error: ApiError | null;
108
+ }): Promise<AuthResponse>;
109
+ /**
110
+ * Returns the session data, refreshing it if necessary.
111
+ */
112
+ getSession(): Promise<{
113
+ session: Session;
114
+ error: null;
115
+ } | {
116
+ session: null;
117
+ error: AuthError;
118
+ } | {
119
+ session: null;
120
+ error: null;
109
121
  }>;
110
122
  /**
111
- * Inside a browser context, `user()` will return the user data, if there is a logged in user.
112
- *
113
- * For server-side management, you can get a user through `auth.api.getUserByCookie()`
114
- */
115
- user(): User | null;
116
- /**
117
- * Returns the session data, if there is an active session.
118
- */
119
- session(): Session | null;
120
- /**
121
- * Force refreshes the session including the user data in case it was updated in a different session.
122
- */
123
- refreshSession(): Promise<{
124
- data: Session | null;
125
- user: User | null;
126
- error: ApiError | null;
123
+ * Returns the user data, refreshing the session if necessary.
124
+ */
125
+ getUser(): Promise<{
126
+ user: User;
127
+ error: null;
128
+ } | {
129
+ user: null;
130
+ error: AuthError;
131
+ } | {
132
+ user: null;
133
+ error: null;
127
134
  }>;
128
135
  /**
129
136
  * Updates user data, if there is a logged in user.
130
137
  */
131
138
  update(attributes: UserAttributes): Promise<{
132
- data: User | null;
133
- user: User | null;
134
- error: ApiError | null;
139
+ user: User;
140
+ error: null;
141
+ } | {
142
+ user: null;
143
+ error: AuthError;
135
144
  }>;
136
145
  /**
137
146
  * Sets the session data from refresh_token and returns current Session and Error
138
147
  * @param refresh_token a JWT token
139
148
  */
140
149
  setSession(refresh_token: string): Promise<{
141
- session: Session | null;
142
- error: ApiError | null;
150
+ session: Session;
151
+ error: null;
152
+ } | {
153
+ session: null;
154
+ error: null;
155
+ } | {
156
+ session: null;
157
+ error: AuthError;
143
158
  }>;
144
- /**
145
- * Overrides the JWT on the current client. The JWT will then be sent in all subsequent network requests.
146
- * @param access_token a jwt access token
147
- */
148
- setAuth(access_token: string): Session;
149
159
  /**
150
160
  * Gets the session data from a URL string
151
161
  * @param options.storeSession Optionally store the session in the browser
@@ -153,8 +163,11 @@ export default class GoTrueClient {
153
163
  getSessionFromUrl(options?: {
154
164
  storeSession?: boolean;
155
165
  }): Promise<{
156
- data: Session | null;
157
- error: ApiError | null;
166
+ session: Session;
167
+ error: null;
168
+ } | {
169
+ session: null;
170
+ error: AuthError;
158
171
  }>;
159
172
  /**
160
173
  * Inside a browser context, `signOut()` will remove the logged in user from the browser session
@@ -163,25 +176,23 @@ export default class GoTrueClient {
163
176
  * For server-side management, you can revoke all refresh tokens for a user by passing a user's JWT through to `auth.api.signOut(JWT: string)`. There is no way to revoke a user's session JWT before it automatically expires
164
177
  */
165
178
  signOut(): Promise<{
166
- error: ApiError | null;
179
+ error: AuthError | null;
167
180
  }>;
168
181
  /**
169
182
  * Receive a notification every time an auth event happens.
170
183
  * @returns {Subscription} A subscription object which can be used to unsubscribe itself.
171
184
  */
172
185
  onAuthStateChange(callback: (event: AuthChangeEvent, session: Session | null) => void): {
173
- data: Subscription | null;
174
- error: ApiError | null;
186
+ subscription: Subscription;
187
+ error: null;
188
+ } | {
189
+ subscription: null;
190
+ error: AuthError;
175
191
  };
176
192
  private _handleEmailSignIn;
177
193
  private _handlePhoneSignIn;
178
194
  private _handleProviderSignIn;
179
195
  private _handleOpenIDConnectSignIn;
180
- /**
181
- * Attempts to get the session from LocalStorage
182
- * Note: this should never be async (even for React Native), as we need it to return immediately in the constructor.
183
- */
184
- private _recoverSession;
185
196
  /**
186
197
  * Recovers the session from LocalStorage and refreshes
187
198
  * Note: this method is async to accommodate for AsyncStorage e.g. in React native.
@@ -201,10 +212,6 @@ export default class GoTrueClient {
201
212
  * @param value time intervals in milliseconds
202
213
  */
203
214
  private _startAutoRefreshToken;
204
- /**
205
- * Listens for changes to LocalStorage and updates the current session.
206
- */
207
- private _listenForMultiTabEvents;
208
215
  private _handleVisibilityChange;
209
216
  }
210
217
  //# sourceMappingURL=GoTrueClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GoTrueClient.d.ts","sourceRoot":"","sources":["../../src/GoTrueClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GoTrueClient.d.ts","sourceRoot":"","sources":["../../src/GoTrueClient.ts"],"names":[],"mappings":"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"}