@supabase/supabase-js 1.28.3 → 1.29.0

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 (56) hide show
  1. package/README.md +5 -2
  2. package/dist/main/SupabaseClient.d.ts +10 -0
  3. package/dist/main/SupabaseClient.d.ts.map +1 -1
  4. package/dist/main/SupabaseClient.js +75 -5
  5. package/dist/main/SupabaseClient.js.map +1 -1
  6. package/dist/main/lib/SupabaseQueryBuilder.d.ts +4 -1
  7. package/dist/main/lib/SupabaseQueryBuilder.d.ts.map +1 -1
  8. package/dist/main/lib/SupabaseQueryBuilder.js +8 -2
  9. package/dist/main/lib/SupabaseQueryBuilder.js.map +1 -1
  10. package/dist/main/lib/SupabaseRealtimeClient.d.ts.map +1 -1
  11. package/dist/main/lib/SupabaseRealtimeClient.js +1 -0
  12. package/dist/main/lib/SupabaseRealtimeClient.js.map +1 -1
  13. package/dist/main/lib/constants.d.ts +1 -0
  14. package/dist/main/lib/constants.d.ts.map +1 -1
  15. package/dist/main/lib/constants.js +2 -1
  16. package/dist/main/lib/constants.js.map +1 -1
  17. package/dist/main/lib/helpers.d.ts +1 -0
  18. package/dist/main/lib/helpers.d.ts.map +1 -1
  19. package/dist/main/lib/helpers.js +3 -1
  20. package/dist/main/lib/helpers.js.map +1 -1
  21. package/dist/main/lib/types.d.ts +1 -0
  22. package/dist/main/lib/types.d.ts.map +1 -1
  23. package/dist/main/lib/version.d.ts +1 -1
  24. package/dist/main/lib/version.js +1 -1
  25. package/dist/module/SupabaseClient.d.ts +10 -0
  26. package/dist/module/SupabaseClient.d.ts.map +1 -1
  27. package/dist/module/SupabaseClient.js +76 -6
  28. package/dist/module/SupabaseClient.js.map +1 -1
  29. package/dist/module/lib/SupabaseQueryBuilder.d.ts +4 -1
  30. package/dist/module/lib/SupabaseQueryBuilder.d.ts.map +1 -1
  31. package/dist/module/lib/SupabaseQueryBuilder.js +8 -2
  32. package/dist/module/lib/SupabaseQueryBuilder.js.map +1 -1
  33. package/dist/module/lib/SupabaseRealtimeClient.d.ts.map +1 -1
  34. package/dist/module/lib/SupabaseRealtimeClient.js +1 -0
  35. package/dist/module/lib/SupabaseRealtimeClient.js.map +1 -1
  36. package/dist/module/lib/constants.d.ts +1 -0
  37. package/dist/module/lib/constants.d.ts.map +1 -1
  38. package/dist/module/lib/constants.js +1 -0
  39. package/dist/module/lib/constants.js.map +1 -1
  40. package/dist/module/lib/helpers.d.ts +1 -0
  41. package/dist/module/lib/helpers.d.ts.map +1 -1
  42. package/dist/module/lib/helpers.js +1 -0
  43. package/dist/module/lib/helpers.js.map +1 -1
  44. package/dist/module/lib/types.d.ts +1 -0
  45. package/dist/module/lib/types.d.ts.map +1 -1
  46. package/dist/module/lib/version.d.ts +1 -1
  47. package/dist/module/lib/version.js +1 -1
  48. package/dist/umd/supabase.js +1 -1
  49. package/package.json +4 -3
  50. package/src/SupabaseClient.ts +86 -6
  51. package/src/lib/SupabaseQueryBuilder.ts +16 -3
  52. package/src/lib/SupabaseRealtimeClient.ts +1 -0
  53. package/src/lib/constants.ts +1 -0
  54. package/src/lib/helpers.ts +2 -0
  55. package/src/lib/types.ts +1 -0
  56. package/src/lib/version.ts +1 -1
package/README.md CHANGED
@@ -28,6 +28,7 @@ You can now use plain `<script>`s to import supabase-js from CDNs, like:
28
28
  ```html
29
29
  <script src="https://cdn.jsdelivr.net/npm/@supabase/supabase-js"></script>
30
30
  ```
31
+
31
32
  or even:
32
33
 
33
34
  ```html
@@ -41,7 +42,7 @@ Then you can use it from a global `supabase` variable:
41
42
  const { createClient } = supabase
42
43
  const _supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key')
43
44
 
44
- console.log('Supabase Instance: ', _supabase);
45
+ console.log('Supabase Instance: ', _supabase)
45
46
  // ...
46
47
  </script>
47
48
  ```
@@ -54,7 +55,9 @@ Then you can use it from a global `supabase` variable:
54
55
  import { createClient } from '@supabase/supabase-js'
55
56
 
56
57
  // Provide a custom `fetch` implementation as an option
57
- const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key', { fetch: fetch })
58
+ const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key', {
59
+ fetch: (...args) => fetch(...args),
60
+ })
58
61
  ```
59
62
 
60
63
  ## Sponsors
@@ -21,7 +21,9 @@ export default class SupabaseClient {
21
21
  protected authUrl: string;
22
22
  protected storageUrl: string;
23
23
  protected realtime: RealtimeClient;
24
+ protected multiTab: boolean;
24
25
  protected fetch?: Fetch;
26
+ protected changedAccessToken: string | undefined;
25
27
  protected headers: {
26
28
  [key: string]: string;
27
29
  };
@@ -35,6 +37,7 @@ export default class SupabaseClient {
35
37
  * @param options.detectSessionInUrl Set to "true" if you want to automatically detects OAuth grants in the URL and signs in the user.
36
38
  * @param options.headers Any additional headers to send with each network request.
37
39
  * @param options.realtime Options passed along to realtime-js constructor.
40
+ * @param options.multiTab Set to "false" if you want to disable multi-tab/window events.
38
41
  * @param options.fetch A custom fetch implementation.
39
42
  */
40
43
  constructor(supabaseUrl: string, supabaseKey: string, options?: SupabaseClientOptions);
@@ -61,6 +64,10 @@ export default class SupabaseClient {
61
64
  head?: boolean;
62
65
  count?: null | 'exact' | 'planned' | 'estimated';
63
66
  }): import("@supabase/postgrest-js").PostgrestFilterBuilder<T>;
67
+ /**
68
+ * Remove all subscriptions.
69
+ */
70
+ removeAllSubscriptions(): Promise<PromiseSettledResult<unknown>[]>;
64
71
  /**
65
72
  * Removes an active subscription and returns the number of open connections.
66
73
  *
@@ -77,5 +84,8 @@ export default class SupabaseClient {
77
84
  private _initPostgRESTClient;
78
85
  private _getAuthHeaders;
79
86
  private _closeChannel;
87
+ private _listenForMultiTabEvents;
88
+ private _listenForAuthEvents;
89
+ private _handleTokenChanged;
80
90
  }
81
91
  //# sourceMappingURL=SupabaseClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SupabaseClient.d.ts","sourceRoot":"","sources":["../../src/SupabaseClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAE5D,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAyB,MAAM,uBAAuB,CAAA;AAUnG;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IA8B/B,SAAS,CAAC,WAAW,EAAE,MAAM;IAC7B,SAAS,CAAC,WAAW,EAAE,MAAM;IA9B/B;;OAEG;IACH,IAAI,EAAE,kBAAkB,CAAA;IAExB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,WAAW,EAAE,MAAM,CAAA;IAC7B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAA;IAC5B,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAA;IAClC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;IACvB,SAAS,CAAC,OAAO,EAAE;QACjB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACtB,CAAA;IAED;;;;;;;;;;;OAWG;gBAES,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EAC7B,OAAO,CAAC,EAAE,qBAAqB;IAyBjC;;OAEG;IACH,IAAI,OAAO,0BAEV;IAED;;;;OAIG;IACH,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAAC,CAAC,CAAC;IAWrD;;;;;;;;OAQG;IACH,GAAG,CAAC,CAAC,GAAG,GAAG,EACT,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,MAAM,EACf,EACE,IAAY,EACZ,KAAY,GACb,GAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,IAAI,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAA;KAAO;IAM9E;;;;OAIG;IACH,kBAAkB,CAAC,YAAY,EAAE,oBAAoB;YAiBvC,kBAAkB;IAMhC;;OAEG;IACH,gBAAgB,IAAI,oBAAoB,EAAE;IAI1C,OAAO,CAAC,uBAAuB;IAuB/B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,aAAa;CAWtB"}
1
+ {"version":3,"file":"SupabaseClient.d.ts","sourceRoot":"","sources":["../../src/SupabaseClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAG5D,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAyB,MAAM,uBAAuB,CAAA;AAWnG;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAiC/B,SAAS,CAAC,WAAW,EAAE,MAAM;IAC7B,SAAS,CAAC,WAAW,EAAE,MAAM;IAjC/B;;OAEG;IACH,IAAI,EAAE,kBAAkB,CAAA;IAExB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,WAAW,EAAE,MAAM,CAAA;IAC7B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAA;IAC5B,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAA;IAClC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC3B,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;IACvB,SAAS,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAA;IAChD,SAAS,CAAC,OAAO,EAAE;QACjB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACtB,CAAA;IAED;;;;;;;;;;;;OAYG;gBAES,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EAC7B,OAAO,CAAC,EAAE,qBAAqB;IA6BjC;;OAEG;IACH,IAAI,OAAO,0BAEV;IAED;;;;OAIG;IACH,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAAC,CAAC,CAAC;IAWrD;;;;;;;;OAQG;IACH,GAAG,CAAC,CAAC,GAAG,GAAG,EACT,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,MAAM,EACf,EACE,IAAY,EACZ,KAAY,GACb,GAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,IAAI,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAA;KAAO;IAM9E;;OAEG;IACG,sBAAsB;IAK5B;;;;OAIG;IACH,kBAAkB,CAAC,YAAY,EAAE,oBAAoB;YAmBvC,kBAAkB;IAWhC;;OAEG;IACH,gBAAgB,IAAI,oBAAoB,EAAE;IAI1C,OAAO,CAAC,uBAAuB;IAuB/B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,wBAAwB;IA2BhC,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,mBAAmB;CAsB5B"}
@@ -21,6 +21,7 @@ const DEFAULT_OPTIONS = {
21
21
  autoRefreshToken: true,
22
22
  persistSession: true,
23
23
  detectSessionInUrl: true,
24
+ multiTab: true,
24
25
  headers: constants_1.DEFAULT_HEADERS,
25
26
  };
26
27
  /**
@@ -39,6 +40,7 @@ class SupabaseClient {
39
40
  * @param options.detectSessionInUrl Set to "true" if you want to automatically detects OAuth grants in the URL and signs in the user.
40
41
  * @param options.headers Any additional headers to send with each network request.
41
42
  * @param options.realtime Options passed along to realtime-js constructor.
43
+ * @param options.multiTab Set to "false" if you want to disable multi-tab/window events.
42
44
  * @param options.fetch A custom fetch implementation.
43
45
  */
44
46
  constructor(supabaseUrl, supabaseKey, options) {
@@ -48,17 +50,20 @@ class SupabaseClient {
48
50
  throw new Error('supabaseUrl is required.');
49
51
  if (!supabaseKey)
50
52
  throw new Error('supabaseKey is required.');
51
- supabaseUrl = helpers_1.stripTrailingSlash(supabaseUrl);
53
+ supabaseUrl = (0, helpers_1.stripTrailingSlash)(supabaseUrl);
52
54
  const settings = Object.assign(Object.assign({}, DEFAULT_OPTIONS), options);
53
55
  this.restUrl = `${supabaseUrl}/rest/v1`;
54
56
  this.realtimeUrl = `${supabaseUrl}/realtime/v1`.replace('http', 'ws');
55
57
  this.authUrl = `${supabaseUrl}/auth/v1`;
56
58
  this.storageUrl = `${supabaseUrl}/storage/v1`;
57
59
  this.schema = settings.schema;
60
+ this.multiTab = settings.multiTab;
58
61
  this.fetch = settings.fetch;
59
62
  this.headers = Object.assign(Object.assign({}, constants_1.DEFAULT_HEADERS), options === null || options === void 0 ? void 0 : options.headers);
60
63
  this.auth = this._initSupabaseAuthClient(settings);
61
64
  this.realtime = this._initRealtimeClient(Object.assign({ headers: this.headers }, settings.realtime));
65
+ this._listenForAuthEvents();
66
+ this._listenForMultiTabEvents();
62
67
  // In the future we might allow the user to pass in a logger to receive these events.
63
68
  // this.realtime.onOpen(() => console.log('OPEN'))
64
69
  // this.realtime.onClose(() => console.log('CLOSED'))
@@ -98,6 +103,15 @@ class SupabaseClient {
98
103
  const rest = this._initPostgRESTClient();
99
104
  return rest.rpc(fn, params, { head, count });
100
105
  }
106
+ /**
107
+ * Remove all subscriptions.
108
+ */
109
+ removeAllSubscriptions() {
110
+ return __awaiter(this, void 0, void 0, function* () {
111
+ const subscriptions = this.realtime.channels.slice();
112
+ return yield Promise.allSettled(subscriptions.map((sub) => this.removeSubscription(sub)));
113
+ });
114
+ }
101
115
  /**
102
116
  * Removes an active subscription and returns the number of open connections.
103
117
  *
@@ -107,13 +121,14 @@ class SupabaseClient {
107
121
  return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
108
122
  try {
109
123
  yield this._closeSubscription(subscription);
110
- const openSubscriptions = this.getSubscriptions().length;
111
- if (!openSubscriptions) {
124
+ const allSubscriptions = this.getSubscriptions();
125
+ const openSubscriptionsCount = allSubscriptions.filter((chan) => chan.isJoined()).length;
126
+ if (!allSubscriptions.length) {
112
127
  const { error } = yield this.realtime.disconnect();
113
128
  if (error)
114
129
  return resolve({ error });
115
130
  }
116
- return resolve({ error: null, data: { openSubscriptions } });
131
+ return resolve({ error: null, data: { openSubscriptions: openSubscriptionsCount } });
117
132
  }
118
133
  catch (error) {
119
134
  return resolve({ error });
@@ -125,6 +140,10 @@ class SupabaseClient {
125
140
  if (!subscription.isClosed()) {
126
141
  yield this._closeChannel(subscription);
127
142
  }
143
+ return new Promise((resolve) => {
144
+ this.realtime.remove(subscription);
145
+ return resolve(true);
146
+ });
128
147
  });
129
148
  }
130
149
  /**
@@ -171,12 +190,63 @@ class SupabaseClient {
171
190
  subscription
172
191
  .unsubscribe()
173
192
  .receive('ok', () => {
174
- this.realtime.remove(subscription);
175
193
  return resolve(true);
176
194
  })
177
195
  .receive('error', (e) => reject(e));
178
196
  });
179
197
  }
198
+ _listenForMultiTabEvents() {
199
+ if (!this.multiTab || !(0, helpers_1.isBrowser)() || !(window === null || window === void 0 ? void 0 : window.addEventListener)) {
200
+ return null;
201
+ }
202
+ try {
203
+ return window === null || window === void 0 ? void 0 : window.addEventListener('storage', (e) => {
204
+ var _a, _b, _c;
205
+ if (e.key === constants_1.STORAGE_KEY) {
206
+ const newSession = JSON.parse(String(e.newValue));
207
+ const accessToken = (_b = (_a = newSession === null || newSession === void 0 ? void 0 : newSession.currentSession) === null || _a === void 0 ? void 0 : _a.access_token) !== null && _b !== void 0 ? _b : undefined;
208
+ const previousAccessToken = (_c = this.auth.session()) === null || _c === void 0 ? void 0 : _c.access_token;
209
+ if (!accessToken) {
210
+ this._handleTokenChanged('SIGNED_OUT', accessToken, 'STORAGE');
211
+ }
212
+ else if (!previousAccessToken && accessToken) {
213
+ this._handleTokenChanged('SIGNED_IN', accessToken, 'STORAGE');
214
+ }
215
+ else if (previousAccessToken !== accessToken) {
216
+ this._handleTokenChanged('TOKEN_REFRESHED', accessToken, 'STORAGE');
217
+ }
218
+ }
219
+ });
220
+ }
221
+ catch (error) {
222
+ console.error('_listenForMultiTabEvents', error);
223
+ return null;
224
+ }
225
+ }
226
+ _listenForAuthEvents() {
227
+ let { data } = this.auth.onAuthStateChange((event, session) => {
228
+ this._handleTokenChanged(event, session === null || session === void 0 ? void 0 : session.access_token, 'CLIENT');
229
+ });
230
+ return data;
231
+ }
232
+ _handleTokenChanged(event, token, source) {
233
+ if ((event === 'TOKEN_REFRESHED' || event === 'SIGNED_IN') &&
234
+ this.changedAccessToken !== token) {
235
+ // Token has changed
236
+ this.realtime.setAuth(token);
237
+ // Ideally we should call this.auth.recoverSession() - need to make public
238
+ // to trigger a "SIGNED_IN" event on this client.
239
+ if (source == 'STORAGE')
240
+ this.auth.setAuth(token);
241
+ this.changedAccessToken = token;
242
+ }
243
+ else if (event === 'SIGNED_OUT' || event === 'USER_DELETED') {
244
+ // Token is removed
245
+ this.removeAllSubscriptions();
246
+ if (source == 'STORAGE')
247
+ this.auth.signOut();
248
+ }
249
+ }
180
250
  }
181
251
  exports.default = SupabaseClient;
182
252
  //# sourceMappingURL=SupabaseClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SupabaseClient.js","sourceRoot":"","sources":["../../src/SupabaseClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SupabaseClient.js","sourceRoot":"","sources":["../../src/SupabaseClient.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,9 @@ import { Fetch, SupabaseEventTypes, SupabaseRealtimePayload } from './types';
5
5
  export declare class SupabaseQueryBuilder<T> extends PostgrestQueryBuilder<T> {
6
6
  private _subscription;
7
7
  private _realtime;
8
+ private _headers;
9
+ private _schema;
10
+ private _table;
8
11
  constructor(url: string, { headers, schema, realtime, table, fetch, }: {
9
12
  headers?: {
10
13
  [key: string]: string;
@@ -15,7 +18,7 @@ export declare class SupabaseQueryBuilder<T> extends PostgrestQueryBuilder<T> {
15
18
  fetch?: Fetch;
16
19
  });
17
20
  /**
18
- * Subscribe to realtime changes in your databse.
21
+ * Subscribe to realtime changes in your database.
19
22
  * @param event The database event which you would like to receive updates for, or you can use the special wildcard `*` to listen to all changes.
20
23
  * @param callback A callback that will handle the payload that is sent whenever your database changes.
21
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"SupabaseQueryBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/SupabaseQueryBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAE5E,qBAAa,oBAAoB,CAAC,CAAC,CAAE,SAAQ,qBAAqB,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,SAAS,CAAgB;gBAG/B,GAAG,EAAE,MAAM,EACX,EACE,OAAY,EACZ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,KAAK,GACN,EAAE;QACD,OAAO,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAA;QACnC,MAAM,EAAE,MAAM,CAAA;QACd,QAAQ,EAAE,cAAc,CAAA;QACxB,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,CAAC,EAAE,KAAK,CAAA;KACd;IAQH;;;;OAIG;IACH,EAAE,CACA,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,GACtD,sBAAsB;CAM1B"}
1
+ {"version":3,"file":"SupabaseQueryBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/SupabaseQueryBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAE5E,qBAAa,oBAAoB,CAAC,CAAC,CAAE,SAAQ,qBAAqB,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,MAAM,CAAQ;gBAGpB,GAAG,EAAE,MAAM,EACX,EACE,OAAY,EACZ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,KAAK,GACN,EAAE;QACD,OAAO,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAA;QACnC,MAAM,EAAE,MAAM,CAAA;QACd,QAAQ,EAAE,cAAc,CAAA;QACxB,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,CAAC,EAAE,KAAK,CAAA;KACd;IAUH;;;;OAIG;IACH,EAAE,CACA,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,GACtD,sBAAsB;CAc1B"}
@@ -6,11 +6,14 @@ const SupabaseRealtimeClient_1 = require("./SupabaseRealtimeClient");
6
6
  class SupabaseQueryBuilder extends postgrest_js_1.PostgrestQueryBuilder {
7
7
  constructor(url, { headers = {}, schema, realtime, table, fetch, }) {
8
8
  super(url, { headers, schema, fetch });
9
- this._subscription = new SupabaseRealtimeClient_1.SupabaseRealtimeClient(realtime, headers, schema, table);
9
+ this._subscription = null;
10
10
  this._realtime = realtime;
11
+ this._headers = headers;
12
+ this._schema = schema;
13
+ this._table = table;
11
14
  }
12
15
  /**
13
- * Subscribe to realtime changes in your databse.
16
+ * Subscribe to realtime changes in your database.
14
17
  * @param event The database event which you would like to receive updates for, or you can use the special wildcard `*` to listen to all changes.
15
18
  * @param callback A callback that will handle the payload that is sent whenever your database changes.
16
19
  */
@@ -18,6 +21,9 @@ class SupabaseQueryBuilder extends postgrest_js_1.PostgrestQueryBuilder {
18
21
  if (!this._realtime.isConnected()) {
19
22
  this._realtime.connect();
20
23
  }
24
+ if (!this._subscription) {
25
+ this._subscription = new SupabaseRealtimeClient_1.SupabaseRealtimeClient(this._realtime, this._headers, this._schema, this._table);
26
+ }
21
27
  return this._subscription.on(event, callback);
22
28
  }
23
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SupabaseQueryBuilder.js","sourceRoot":"","sources":["../../../src/lib/SupabaseQueryBuilder.ts"],"names":[],"mappings":";;;AAAA,yDAA8D;AAC9D,qEAAiE;AAIjE,MAAa,oBAAwB,SAAQ,oCAAwB;IAInE,YACE,GAAW,EACX,EACE,OAAO,GAAG,EAAE,EACZ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,KAAK,GAON;QAED,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QAEtC,IAAI,CAAC,aAAa,GAAG,IAAI,+CAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QACjF,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;IAC3B,CAAC;IAED;;;;OAIG;IACH,EAAE,CACA,KAAyB,EACzB,QAAuD;QAEvD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE;YACjC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;SACzB;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC/C,CAAC;CACF;AAxCD,oDAwCC"}
1
+ {"version":3,"file":"SupabaseQueryBuilder.js","sourceRoot":"","sources":["../../../src/lib/SupabaseQueryBuilder.ts"],"names":[],"mappings":";;;AAAA,yDAA8D;AAC9D,qEAAiE;AAIjE,MAAa,oBAAwB,SAAQ,oCAAwB;IAOnE,YACE,GAAW,EACX,EACE,OAAO,GAAG,EAAE,EACZ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,KAAK,GAON;QAED,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QAtBhC,kBAAa,GAAkC,IAAI,CAAA;QAwBzD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACrB,CAAC;IAED;;;;OAIG;IACH,EAAE,CACA,KAAyB,EACzB,QAAuD;QAEvD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE;YACjC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;SACzB;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG,IAAI,+CAAsB,CAC7C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,CACZ,CAAA;SACF;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC/C,CAAC;CACF;AArDD,oDAqDC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SupabaseRealtimeClient.d.ts","sourceRoot":"","sources":["../../../src/lib/SupabaseRealtimeClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAgB,MAAM,uBAAuB,CAAA;AAC1F,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAErE,qBAAa,sBAAsB;IACjC,YAAY,EAAE,oBAAoB,CAAA;gBAGhC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAClC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM;IAanB,OAAO,CAAC,iBAAiB;IAiBzB;;;;;OAKG;IACH,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,uBAAuB,CAAC,GAAG,CAAC,KAAK,IAAI;IAkBvF;;OAEG;IACH,SAAS,CAAC,QAAQ,GAAE,QAAmB;CAUxC"}
1
+ {"version":3,"file":"SupabaseRealtimeClient.d.ts","sourceRoot":"","sources":["../../../src/lib/SupabaseRealtimeClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAgB,MAAM,uBAAuB,CAAA;AAC1F,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAErE,qBAAa,sBAAsB;IACjC,YAAY,EAAE,oBAAoB,CAAA;gBAGhC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAClC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM;IAanB,OAAO,CAAC,iBAAiB;IAiBzB;;;;;OAKG;IACH,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,uBAAuB,CAAC,GAAG,CAAC,KAAK,IAAI;IAmBvF;;OAEG;IACH,SAAS,CAAC,QAAQ,GAAE,QAAmB;CAUxC"}
@@ -40,6 +40,7 @@ class SupabaseRealtimeClient {
40
40
  eventType: payload.type,
41
41
  new: {},
42
42
  old: {},
43
+ errors: payload.errors,
43
44
  };
44
45
  enrichedPayload = Object.assign(Object.assign({}, enrichedPayload), this.getPayloadRecords(payload));
45
46
  callback(enrichedPayload);
@@ -1 +1 @@
1
- {"version":3,"file":"SupabaseRealtimeClient.js","sourceRoot":"","sources":["../../../src/lib/SupabaseRealtimeClient.ts"],"names":[],"mappings":";;;AAAA,uDAA0F;AAG1F,MAAa,sBAAsB;IAGjC,YACE,MAAsB,EACtB,OAAkC,EAClC,MAAc,EACd,SAAiB;QAEjB,MAAM,UAAU,GAA8B,EAAE,CAAA;QAChD,MAAM,KAAK,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC,CAAC,YAAY,MAAM,IAAI,SAAS,EAAE,CAAA;QAC1F,MAAM,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAExD,IAAI,SAAS,EAAE;YACb,UAAU,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;SACrC;QAED,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;IACvD,CAAC;IAEO,iBAAiB,CAAC,OAAY;QACpC,MAAM,OAAO,GAAG;YACd,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;SACR,CAAA;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC1D,OAAO,CAAC,GAAG,GAAG,0BAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;SAC9E;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC1D,OAAO,CAAC,GAAG,GAAG,0BAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;SAClF;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;;;;OAKG;IACH,EAAE,CAAC,KAAyB,EAAE,QAAyD;QACrF,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,OAAY,EAAE,EAAE;YAC3C,IAAI,eAAe,GAAiC;gBAClD,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,SAAS,EAAE,OAAO,CAAC,IAAI;gBACvB,GAAG,EAAE,EAAE;gBACP,GAAG,EAAE,EAAE;aACR,CAAA;YAED,eAAe,mCAAQ,eAAe,GAAK,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAE,CAAA;YAE5E,QAAQ,CAAC,eAAe,CAAC,CAAA;QAC3B,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,WAAqB,GAAG,EAAE,GAAE,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAA;QAC1E,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;QACnD,IAAI,CAAC,YAAY;aACd,SAAS,EAAE;aACX,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;aAC3C,OAAO,CAAC,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;aACjE,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAA;QAC/D,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;CACF;AA1ED,wDA0EC"}
1
+ {"version":3,"file":"SupabaseRealtimeClient.js","sourceRoot":"","sources":["../../../src/lib/SupabaseRealtimeClient.ts"],"names":[],"mappings":";;;AAAA,uDAA0F;AAG1F,MAAa,sBAAsB;IAGjC,YACE,MAAsB,EACtB,OAAkC,EAClC,MAAc,EACd,SAAiB;QAEjB,MAAM,UAAU,GAA8B,EAAE,CAAA;QAChD,MAAM,KAAK,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC,CAAC,YAAY,MAAM,IAAI,SAAS,EAAE,CAAA;QAC1F,MAAM,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAExD,IAAI,SAAS,EAAE;YACb,UAAU,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;SACrC;QAED,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;IACvD,CAAC;IAEO,iBAAiB,CAAC,OAAY;QACpC,MAAM,OAAO,GAAG;YACd,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;SACR,CAAA;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC1D,OAAO,CAAC,GAAG,GAAG,0BAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;SAC9E;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC1D,OAAO,CAAC,GAAG,GAAG,0BAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;SAClF;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;;;;OAKG;IACH,EAAE,CAAC,KAAyB,EAAE,QAAyD;QACrF,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,OAAY,EAAE,EAAE;YAC3C,IAAI,eAAe,GAAiC;gBAClD,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,SAAS,EAAE,OAAO,CAAC,IAAI;gBACvB,GAAG,EAAE,EAAE;gBACP,GAAG,EAAE,EAAE;gBACP,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAA;YAED,eAAe,mCAAQ,eAAe,GAAK,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAE,CAAA;YAE5E,QAAQ,CAAC,eAAe,CAAC,CAAA;QAC3B,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,WAAqB,GAAG,EAAE,GAAE,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAA;QAC1E,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;QACnD,IAAI,CAAC,YAAY;aACd,SAAS,EAAE;aACX,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;aAC3C,OAAO,CAAC,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;aACjE,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAA;QAC/D,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;CACF;AA3ED,wDA2EC"}
@@ -1,4 +1,5 @@
1
1
  export declare const DEFAULT_HEADERS: {
2
2
  'X-Client-Info': string;
3
3
  };
4
+ export declare const STORAGE_KEY = "supabase.auth.token";
4
5
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe;;CAAgD,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe;;CAAgD,CAAA;AAC5E,eAAO,MAAM,WAAW,wBAAwB,CAAA"}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_HEADERS = void 0;
3
+ exports.STORAGE_KEY = exports.DEFAULT_HEADERS = void 0;
4
4
  // constants.ts
5
5
  const version_1 = require("./version");
6
6
  exports.DEFAULT_HEADERS = { 'X-Client-Info': `supabase-js/${version_1.version}` };
7
+ exports.STORAGE_KEY = 'supabase.auth.token';
7
8
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":";;;AAAA,eAAe;AACf,uCAAmC;AACtB,QAAA,eAAe,GAAG,EAAE,eAAe,EAAE,eAAe,iBAAO,EAAE,EAAE,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":";;;AAAA,eAAe;AACf,uCAAmC;AACtB,QAAA,eAAe,GAAG,EAAE,eAAe,EAAE,eAAe,iBAAO,EAAE,EAAE,CAAA;AAC/D,QAAA,WAAW,GAAG,qBAAqB,CAAA"}
@@ -1,3 +1,4 @@
1
1
  export declare function uuid(): string;
2
2
  export declare function stripTrailingSlash(url: string): string;
3
+ export declare const isBrowser: () => boolean;
3
4
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/lib/helpers.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,WAMnB;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,UAE7C"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/lib/helpers.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,WAMnB;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,UAE7C;AAED,eAAO,MAAM,SAAS,eAAsC,CAAA"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  // helpers.ts
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.stripTrailingSlash = exports.uuid = void 0;
4
+ exports.isBrowser = exports.stripTrailingSlash = exports.uuid = void 0;
5
5
  function uuid() {
6
6
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
7
7
  var r = (Math.random() * 16) | 0, v = c == 'x' ? r : (r & 0x3) | 0x8;
@@ -13,4 +13,6 @@ function stripTrailingSlash(url) {
13
13
  return url.replace(/\/$/, '');
14
14
  }
15
15
  exports.stripTrailingSlash = stripTrailingSlash;
16
+ const isBrowser = () => typeof window !== 'undefined';
17
+ exports.isBrowser = isBrowser;
16
18
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/lib/helpers.ts"],"names":[],"mappings":";AAAA,aAAa;;;AAEb,SAAgB,IAAI;IAClB,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;QACxE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAC9B,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAA;QACpC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACvB,CAAC,CAAC,CAAA;AACJ,CAAC;AAND,oBAMC;AAED,SAAgB,kBAAkB,CAAC,GAAW;IAC5C,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAC/B,CAAC;AAFD,gDAEC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/lib/helpers.ts"],"names":[],"mappings":";AAAA,aAAa;;;AAEb,SAAgB,IAAI;IAClB,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;QACxE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAC9B,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAA;QACpC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACvB,CAAC,CAAC,CAAA;AACJ,CAAC;AAND,oBAMC;AAED,SAAgB,kBAAkB,CAAC,GAAW;IAC5C,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAC/B,CAAC;AAFD,gDAEC;AAEM,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,OAAO,MAAM,KAAK,WAAW,CAAA;AAA/C,QAAA,SAAS,aAAsC"}
@@ -49,6 +49,7 @@ export declare type SupabaseRealtimePayload<T> = {
49
49
  new: T;
50
50
  /** The previous record. Present for 'UPDATE' and 'DELETE' events. */
51
51
  old: T;
52
+ errors: string[] | null;
52
53
  };
53
54
  export declare type SupabaseEventTypes = 'INSERT' | 'UPDATE' | 'DELETE' | '*';
54
55
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,oBAAY,KAAK,GAAG,OAAO,KAAK,CAAA;AAEhC,aAAK,mBAAmB,GAAG,qBAAqB,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;AAExE,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;CAAG;AAEzE,oBAAY,qBAAqB,GAAG;IAClC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IACnC;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;OAEG;IACH,YAAY,CAAC,EAAE,yBAAyB,CAAC,cAAc,CAAC,CAAA;IAExD;;OAEG;IACH,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IAEhC;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,oBAAY,uBAAuB,CAAC,CAAC,IAAI;IACvC,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACzC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,GAAG,EAAE,CAAC,CAAA;IACN,qEAAqE;IACrE,GAAG,EAAE,CAAC,CAAA;CACP,CAAA;AAED,oBAAY,kBAAkB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,GAAG,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,oBAAY,KAAK,GAAG,OAAO,KAAK,CAAA;AAEhC,aAAK,mBAAmB,GAAG,qBAAqB,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;AAExE,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;CAAG;AAEzE,oBAAY,qBAAqB,GAAG;IAClC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IACnC;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;OAEG;IACH,YAAY,CAAC,EAAE,yBAAyB,CAAC,cAAc,CAAC,CAAA;IAExD;;OAEG;IACH,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IAEhC;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,oBAAY,uBAAuB,CAAC,CAAC,IAAI;IACvC,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACzC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,GAAG,EAAE,CAAC,CAAA;IACN,qEAAqE;IACrE,GAAG,EAAE,CAAC,CAAA;IACN,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;CACxB,CAAA;AAED,oBAAY,kBAAkB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,GAAG,CAAA"}
@@ -1,2 +1,2 @@
1
- export declare const version = "1.28.3";
1
+ export declare const version = "1.29.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
4
  // generated by genversion
5
- exports.version = '1.28.3';
5
+ exports.version = '1.29.0';
6
6
  //# sourceMappingURL=version.js.map
@@ -21,7 +21,9 @@ export default class SupabaseClient {
21
21
  protected authUrl: string;
22
22
  protected storageUrl: string;
23
23
  protected realtime: RealtimeClient;
24
+ protected multiTab: boolean;
24
25
  protected fetch?: Fetch;
26
+ protected changedAccessToken: string | undefined;
25
27
  protected headers: {
26
28
  [key: string]: string;
27
29
  };
@@ -35,6 +37,7 @@ export default class SupabaseClient {
35
37
  * @param options.detectSessionInUrl Set to "true" if you want to automatically detects OAuth grants in the URL and signs in the user.
36
38
  * @param options.headers Any additional headers to send with each network request.
37
39
  * @param options.realtime Options passed along to realtime-js constructor.
40
+ * @param options.multiTab Set to "false" if you want to disable multi-tab/window events.
38
41
  * @param options.fetch A custom fetch implementation.
39
42
  */
40
43
  constructor(supabaseUrl: string, supabaseKey: string, options?: SupabaseClientOptions);
@@ -61,6 +64,10 @@ export default class SupabaseClient {
61
64
  head?: boolean;
62
65
  count?: null | 'exact' | 'planned' | 'estimated';
63
66
  }): import("@supabase/postgrest-js").PostgrestFilterBuilder<T>;
67
+ /**
68
+ * Remove all subscriptions.
69
+ */
70
+ removeAllSubscriptions(): Promise<PromiseSettledResult<unknown>[]>;
64
71
  /**
65
72
  * Removes an active subscription and returns the number of open connections.
66
73
  *
@@ -77,5 +84,8 @@ export default class SupabaseClient {
77
84
  private _initPostgRESTClient;
78
85
  private _getAuthHeaders;
79
86
  private _closeChannel;
87
+ private _listenForMultiTabEvents;
88
+ private _listenForAuthEvents;
89
+ private _handleTokenChanged;
80
90
  }
81
91
  //# sourceMappingURL=SupabaseClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SupabaseClient.d.ts","sourceRoot":"","sources":["../../src/SupabaseClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAE5D,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAyB,MAAM,uBAAuB,CAAA;AAUnG;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IA8B/B,SAAS,CAAC,WAAW,EAAE,MAAM;IAC7B,SAAS,CAAC,WAAW,EAAE,MAAM;IA9B/B;;OAEG;IACH,IAAI,EAAE,kBAAkB,CAAA;IAExB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,WAAW,EAAE,MAAM,CAAA;IAC7B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAA;IAC5B,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAA;IAClC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;IACvB,SAAS,CAAC,OAAO,EAAE;QACjB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACtB,CAAA;IAED;;;;;;;;;;;OAWG;gBAES,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EAC7B,OAAO,CAAC,EAAE,qBAAqB;IAyBjC;;OAEG;IACH,IAAI,OAAO,0BAEV;IAED;;;;OAIG;IACH,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAAC,CAAC,CAAC;IAWrD;;;;;;;;OAQG;IACH,GAAG,CAAC,CAAC,GAAG,GAAG,EACT,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,MAAM,EACf,EACE,IAAY,EACZ,KAAY,GACb,GAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,IAAI,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAA;KAAO;IAM9E;;;;OAIG;IACH,kBAAkB,CAAC,YAAY,EAAE,oBAAoB;YAiBvC,kBAAkB;IAMhC;;OAEG;IACH,gBAAgB,IAAI,oBAAoB,EAAE;IAI1C,OAAO,CAAC,uBAAuB;IAuB/B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,aAAa;CAWtB"}
1
+ {"version":3,"file":"SupabaseClient.d.ts","sourceRoot":"","sources":["../../src/SupabaseClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAG5D,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAyB,MAAM,uBAAuB,CAAA;AAWnG;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAiC/B,SAAS,CAAC,WAAW,EAAE,MAAM;IAC7B,SAAS,CAAC,WAAW,EAAE,MAAM;IAjC/B;;OAEG;IACH,IAAI,EAAE,kBAAkB,CAAA;IAExB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,WAAW,EAAE,MAAM,CAAA;IAC7B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAA;IAC5B,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAA;IAClC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC3B,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;IACvB,SAAS,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAA;IAChD,SAAS,CAAC,OAAO,EAAE;QACjB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACtB,CAAA;IAED;;;;;;;;;;;;OAYG;gBAES,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EAC7B,OAAO,CAAC,EAAE,qBAAqB;IA6BjC;;OAEG;IACH,IAAI,OAAO,0BAEV;IAED;;;;OAIG;IACH,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAAC,CAAC,CAAC;IAWrD;;;;;;;;OAQG;IACH,GAAG,CAAC,CAAC,GAAG,GAAG,EACT,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,MAAM,EACf,EACE,IAAY,EACZ,KAAY,GACb,GAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,IAAI,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAA;KAAO;IAM9E;;OAEG;IACG,sBAAsB;IAK5B;;;;OAIG;IACH,kBAAkB,CAAC,YAAY,EAAE,oBAAoB;YAmBvC,kBAAkB;IAWhC;;OAEG;IACH,gBAAgB,IAAI,oBAAoB,EAAE;IAI1C,OAAO,CAAC,uBAAuB;IAuB/B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,wBAAwB;IA2BhC,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,mBAAmB;CAsB5B"}
@@ -7,8 +7,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import { DEFAULT_HEADERS } from './lib/constants';
11
- import { stripTrailingSlash } from './lib/helpers';
10
+ import { DEFAULT_HEADERS, STORAGE_KEY } from './lib/constants';
11
+ import { stripTrailingSlash, isBrowser } from './lib/helpers';
12
12
  import { SupabaseAuthClient } from './lib/SupabaseAuthClient';
13
13
  import { SupabaseQueryBuilder } from './lib/SupabaseQueryBuilder';
14
14
  import { SupabaseStorageClient } from '@supabase/storage-js';
@@ -19,6 +19,7 @@ const DEFAULT_OPTIONS = {
19
19
  autoRefreshToken: true,
20
20
  persistSession: true,
21
21
  detectSessionInUrl: true,
22
+ multiTab: true,
22
23
  headers: DEFAULT_HEADERS,
23
24
  };
24
25
  /**
@@ -37,6 +38,7 @@ export default class SupabaseClient {
37
38
  * @param options.detectSessionInUrl Set to "true" if you want to automatically detects OAuth grants in the URL and signs in the user.
38
39
  * @param options.headers Any additional headers to send with each network request.
39
40
  * @param options.realtime Options passed along to realtime-js constructor.
41
+ * @param options.multiTab Set to "false" if you want to disable multi-tab/window events.
40
42
  * @param options.fetch A custom fetch implementation.
41
43
  */
42
44
  constructor(supabaseUrl, supabaseKey, options) {
@@ -53,10 +55,13 @@ export default class SupabaseClient {
53
55
  this.authUrl = `${supabaseUrl}/auth/v1`;
54
56
  this.storageUrl = `${supabaseUrl}/storage/v1`;
55
57
  this.schema = settings.schema;
58
+ this.multiTab = settings.multiTab;
56
59
  this.fetch = settings.fetch;
57
60
  this.headers = Object.assign(Object.assign({}, DEFAULT_HEADERS), options === null || options === void 0 ? void 0 : options.headers);
58
61
  this.auth = this._initSupabaseAuthClient(settings);
59
62
  this.realtime = this._initRealtimeClient(Object.assign({ headers: this.headers }, settings.realtime));
63
+ this._listenForAuthEvents();
64
+ this._listenForMultiTabEvents();
60
65
  // In the future we might allow the user to pass in a logger to receive these events.
61
66
  // this.realtime.onOpen(() => console.log('OPEN'))
62
67
  // this.realtime.onClose(() => console.log('CLOSED'))
@@ -96,6 +101,15 @@ export default class SupabaseClient {
96
101
  const rest = this._initPostgRESTClient();
97
102
  return rest.rpc(fn, params, { head, count });
98
103
  }
104
+ /**
105
+ * Remove all subscriptions.
106
+ */
107
+ removeAllSubscriptions() {
108
+ return __awaiter(this, void 0, void 0, function* () {
109
+ const subscriptions = this.realtime.channels.slice();
110
+ return yield Promise.allSettled(subscriptions.map((sub) => this.removeSubscription(sub)));
111
+ });
112
+ }
99
113
  /**
100
114
  * Removes an active subscription and returns the number of open connections.
101
115
  *
@@ -105,13 +119,14 @@ export default class SupabaseClient {
105
119
  return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
106
120
  try {
107
121
  yield this._closeSubscription(subscription);
108
- const openSubscriptions = this.getSubscriptions().length;
109
- if (!openSubscriptions) {
122
+ const allSubscriptions = this.getSubscriptions();
123
+ const openSubscriptionsCount = allSubscriptions.filter((chan) => chan.isJoined()).length;
124
+ if (!allSubscriptions.length) {
110
125
  const { error } = yield this.realtime.disconnect();
111
126
  if (error)
112
127
  return resolve({ error });
113
128
  }
114
- return resolve({ error: null, data: { openSubscriptions } });
129
+ return resolve({ error: null, data: { openSubscriptions: openSubscriptionsCount } });
115
130
  }
116
131
  catch (error) {
117
132
  return resolve({ error });
@@ -123,6 +138,10 @@ export default class SupabaseClient {
123
138
  if (!subscription.isClosed()) {
124
139
  yield this._closeChannel(subscription);
125
140
  }
141
+ return new Promise((resolve) => {
142
+ this.realtime.remove(subscription);
143
+ return resolve(true);
144
+ });
126
145
  });
127
146
  }
128
147
  /**
@@ -169,11 +188,62 @@ export default class SupabaseClient {
169
188
  subscription
170
189
  .unsubscribe()
171
190
  .receive('ok', () => {
172
- this.realtime.remove(subscription);
173
191
  return resolve(true);
174
192
  })
175
193
  .receive('error', (e) => reject(e));
176
194
  });
177
195
  }
196
+ _listenForMultiTabEvents() {
197
+ if (!this.multiTab || !isBrowser() || !(window === null || window === void 0 ? void 0 : window.addEventListener)) {
198
+ return null;
199
+ }
200
+ try {
201
+ return window === null || window === void 0 ? void 0 : window.addEventListener('storage', (e) => {
202
+ var _a, _b, _c;
203
+ if (e.key === STORAGE_KEY) {
204
+ const newSession = JSON.parse(String(e.newValue));
205
+ const accessToken = (_b = (_a = newSession === null || newSession === void 0 ? void 0 : newSession.currentSession) === null || _a === void 0 ? void 0 : _a.access_token) !== null && _b !== void 0 ? _b : undefined;
206
+ const previousAccessToken = (_c = this.auth.session()) === null || _c === void 0 ? void 0 : _c.access_token;
207
+ if (!accessToken) {
208
+ this._handleTokenChanged('SIGNED_OUT', accessToken, 'STORAGE');
209
+ }
210
+ else if (!previousAccessToken && accessToken) {
211
+ this._handleTokenChanged('SIGNED_IN', accessToken, 'STORAGE');
212
+ }
213
+ else if (previousAccessToken !== accessToken) {
214
+ this._handleTokenChanged('TOKEN_REFRESHED', accessToken, 'STORAGE');
215
+ }
216
+ }
217
+ });
218
+ }
219
+ catch (error) {
220
+ console.error('_listenForMultiTabEvents', error);
221
+ return null;
222
+ }
223
+ }
224
+ _listenForAuthEvents() {
225
+ let { data } = this.auth.onAuthStateChange((event, session) => {
226
+ this._handleTokenChanged(event, session === null || session === void 0 ? void 0 : session.access_token, 'CLIENT');
227
+ });
228
+ return data;
229
+ }
230
+ _handleTokenChanged(event, token, source) {
231
+ if ((event === 'TOKEN_REFRESHED' || event === 'SIGNED_IN') &&
232
+ this.changedAccessToken !== token) {
233
+ // Token has changed
234
+ this.realtime.setAuth(token);
235
+ // Ideally we should call this.auth.recoverSession() - need to make public
236
+ // to trigger a "SIGNED_IN" event on this client.
237
+ if (source == 'STORAGE')
238
+ this.auth.setAuth(token);
239
+ this.changedAccessToken = token;
240
+ }
241
+ else if (event === 'SIGNED_OUT' || event === 'USER_DELETED') {
242
+ // Token is removed
243
+ this.removeAllSubscriptions();
244
+ if (source == 'STORAGE')
245
+ this.auth.signOut();
246
+ }
247
+ }
178
248
  }
179
249
  //# sourceMappingURL=SupabaseClient.js.map