@supabase/supabase-js 1.36.0-next.11 → 1.36.0-next.14
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.
- package/dist/main/SupabaseClient.d.ts +2 -6
- package/dist/main/SupabaseClient.d.ts.map +1 -1
- package/dist/main/SupabaseClient.js +5 -44
- package/dist/main/SupabaseClient.js.map +1 -1
- package/dist/main/lib/{SupabaseRealtimeClient.d.ts → SupabaseRealtimeChannel.d.ts} +20 -5
- package/dist/main/lib/SupabaseRealtimeChannel.d.ts.map +1 -0
- package/dist/main/lib/{SupabaseRealtimeClient.js → SupabaseRealtimeChannel.js} +62 -18
- package/dist/main/lib/SupabaseRealtimeChannel.js.map +1 -0
- package/dist/main/lib/types.d.ts +0 -8
- package/dist/main/lib/types.d.ts.map +1 -1
- package/dist/main/lib/version.d.ts +1 -1
- package/dist/main/lib/version.js +1 -1
- package/dist/module/SupabaseClient.d.ts +2 -6
- package/dist/module/SupabaseClient.d.ts.map +1 -1
- package/dist/module/SupabaseClient.js +6 -45
- package/dist/module/SupabaseClient.js.map +1 -1
- package/dist/module/lib/{SupabaseRealtimeClient.d.ts → SupabaseRealtimeChannel.d.ts} +20 -5
- package/dist/module/lib/SupabaseRealtimeChannel.d.ts.map +1 -0
- package/dist/module/lib/{SupabaseRealtimeClient.js → SupabaseRealtimeChannel.js} +60 -16
- package/dist/module/lib/SupabaseRealtimeChannel.js.map +1 -0
- package/dist/module/lib/types.d.ts +0 -8
- package/dist/module/lib/types.d.ts.map +1 -1
- package/dist/module/lib/version.d.ts +1 -1
- package/dist/module/lib/version.js +1 -1
- package/dist/umd/supabase.js +1 -1
- package/package.json +4 -4
- package/src/SupabaseClient.ts +4 -44
- package/src/lib/{SupabaseRealtimeClient.ts → SupabaseRealtimeChannel.ts} +67 -20
- package/src/lib/types.ts +0 -8
- package/src/lib/version.ts +1 -1
- package/dist/main/lib/SupabaseRealtimeClient.d.ts.map +0 -1
- package/dist/main/lib/SupabaseRealtimeClient.js.map +0 -1
- package/dist/module/lib/SupabaseRealtimeClient.d.ts.map +0 -1
- package/dist/module/lib/SupabaseRealtimeClient.js.map +0 -1
|
@@ -3,7 +3,7 @@ import { PostgrestClient, PostgrestFilterBuilder, PostgrestQueryBuilder } from '
|
|
|
3
3
|
import { RealtimeChannel, RealtimeClient } from '@supabase/realtime-js';
|
|
4
4
|
import { SupabaseStorageClient } from '@supabase/storage-js';
|
|
5
5
|
import { SupabaseAuthClient } from './lib/SupabaseAuthClient';
|
|
6
|
-
import {
|
|
6
|
+
import { SupabaseRealtimeChannel } from './lib/SupabaseRealtimeChannel';
|
|
7
7
|
import { Fetch, GenericSchema, SupabaseClientOptions } from './lib/types';
|
|
8
8
|
/**
|
|
9
9
|
* Supabase Client.
|
|
@@ -23,11 +23,9 @@ export default class SupabaseClient<Database = any, SchemaName extends string &
|
|
|
23
23
|
protected functionsUrl: string;
|
|
24
24
|
protected realtime: RealtimeClient;
|
|
25
25
|
protected rest: PostgrestClient<Database, SchemaName>;
|
|
26
|
-
protected multiTab: boolean;
|
|
27
26
|
protected storageKey: string;
|
|
28
27
|
protected fetch?: Fetch;
|
|
29
28
|
protected changedAccessToken: string | undefined;
|
|
30
|
-
protected shouldThrowOnError: boolean;
|
|
31
29
|
protected headers: {
|
|
32
30
|
[key: string]: string;
|
|
33
31
|
};
|
|
@@ -41,7 +39,6 @@ export default class SupabaseClient<Database = any, SchemaName extends string &
|
|
|
41
39
|
* @param options.detectSessionInUrl Set to "true" if you want to automatically detects OAuth grants in the URL and signs in the user.
|
|
42
40
|
* @param options.headers Any additional headers to send with each network request.
|
|
43
41
|
* @param options.realtime Options passed along to realtime-js constructor.
|
|
44
|
-
* @param options.multiTab Set to "false" if you want to disable multi-tab/window events.
|
|
45
42
|
* @param options.fetch A custom fetch implementation.
|
|
46
43
|
*/
|
|
47
44
|
constructor(supabaseUrl: string, supabaseKey: string, options?: SupabaseClientOptions<SchemaName>);
|
|
@@ -77,7 +74,7 @@ export default class SupabaseClient<Database = any, SchemaName extends string &
|
|
|
77
74
|
*/
|
|
78
75
|
channel(name: string, opts?: {
|
|
79
76
|
[key: string]: any;
|
|
80
|
-
}):
|
|
77
|
+
}): SupabaseRealtimeChannel;
|
|
81
78
|
/**
|
|
82
79
|
* Closes and removes all channels and returns a list of removed
|
|
83
80
|
* channels and their errors.
|
|
@@ -108,7 +105,6 @@ export default class SupabaseClient<Database = any, SchemaName extends string &
|
|
|
108
105
|
getChannels(): RealtimeChannel[];
|
|
109
106
|
private _initSupabaseAuthClient;
|
|
110
107
|
private _initRealtimeClient;
|
|
111
|
-
private _listenForMultiTabEvents;
|
|
112
108
|
private _listenForAuthEvents;
|
|
113
109
|
private _handleTokenChanged;
|
|
114
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SupabaseClient.d.ts","sourceRoot":"","sources":["../../src/SupabaseClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,eAAe,EAAE,cAAc,EAAyB,MAAM,uBAAuB,CAAA;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAI5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SupabaseClient.d.ts","sourceRoot":"","sources":["../../src/SupabaseClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,13 +17,12 @@ const constants_1 = require("./lib/constants");
|
|
|
17
17
|
const fetch_1 = require("./lib/fetch");
|
|
18
18
|
const helpers_1 = require("./lib/helpers");
|
|
19
19
|
const SupabaseAuthClient_1 = require("./lib/SupabaseAuthClient");
|
|
20
|
-
const
|
|
20
|
+
const SupabaseRealtimeChannel_1 = require("./lib/SupabaseRealtimeChannel");
|
|
21
21
|
const DEFAULT_OPTIONS = {
|
|
22
22
|
schema: 'public',
|
|
23
23
|
autoRefreshToken: true,
|
|
24
24
|
persistSession: true,
|
|
25
25
|
detectSessionInUrl: true,
|
|
26
|
-
multiTab: true,
|
|
27
26
|
headers: constants_1.DEFAULT_HEADERS,
|
|
28
27
|
};
|
|
29
28
|
/**
|
|
@@ -42,11 +41,10 @@ class SupabaseClient {
|
|
|
42
41
|
* @param options.detectSessionInUrl Set to "true" if you want to automatically detects OAuth grants in the URL and signs in the user.
|
|
43
42
|
* @param options.headers Any additional headers to send with each network request.
|
|
44
43
|
* @param options.realtime Options passed along to realtime-js constructor.
|
|
45
|
-
* @param options.multiTab Set to "false" if you want to disable multi-tab/window events.
|
|
46
44
|
* @param options.fetch A custom fetch implementation.
|
|
47
45
|
*/
|
|
48
46
|
constructor(supabaseUrl, supabaseKey, options) {
|
|
49
|
-
var _a, _b, _c
|
|
47
|
+
var _a, _b, _c;
|
|
50
48
|
this.supabaseUrl = supabaseUrl;
|
|
51
49
|
this.supabaseKey = supabaseKey;
|
|
52
50
|
if (!supabaseUrl)
|
|
@@ -69,20 +67,16 @@ class SupabaseClient {
|
|
|
69
67
|
const defaultStorageKey = `sb-${new URL(this.authUrl).hostname.split('.')[0]}-auth-token`;
|
|
70
68
|
this.storageKey = (_b = (_a = options === null || options === void 0 ? void 0 : options.auth) === null || _a === void 0 ? void 0 : _a.storageKey) !== null && _b !== void 0 ? _b : defaultStorageKey;
|
|
71
69
|
const settings = Object.assign(Object.assign(Object.assign({}, DEFAULT_OPTIONS), options), { storageKey: this.storageKey });
|
|
72
|
-
this.multiTab = (_d = (_c = settings.auth) === null || _c === void 0 ? void 0 : _c.multiTab) !== null && _d !== void 0 ? _d : false;
|
|
73
70
|
this.headers = Object.assign(Object.assign({}, constants_1.DEFAULT_HEADERS), options === null || options === void 0 ? void 0 : options.headers);
|
|
74
|
-
this.shouldThrowOnError = settings.shouldThrowOnError || false;
|
|
75
71
|
this.auth = this._initSupabaseAuthClient(settings.auth || {}, this.headers, settings.fetch);
|
|
76
72
|
this.fetch = (0, fetch_1.fetchWithAuth)(supabaseKey, this._getAccessToken.bind(this), settings.fetch);
|
|
77
73
|
this.realtime = this._initRealtimeClient(Object.assign({ headers: this.headers }, settings.realtime));
|
|
78
74
|
this.rest = new postgrest_js_1.PostgrestClient(`${_supabaseUrl}/rest/v1`, {
|
|
79
75
|
headers: this.headers,
|
|
80
|
-
schema: (
|
|
76
|
+
schema: (_c = options === null || options === void 0 ? void 0 : options.db) === null || _c === void 0 ? void 0 : _c.schema,
|
|
81
77
|
fetch: this.fetch,
|
|
82
|
-
throwOnError: this.shouldThrowOnError,
|
|
83
78
|
});
|
|
84
79
|
this._listenForAuthEvents();
|
|
85
|
-
this._listenForMultiTabEvents();
|
|
86
80
|
// In the future we might allow the user to pass in a logger to receive these events.
|
|
87
81
|
// this.realtime.onOpen(() => console.log('OPEN'))
|
|
88
82
|
// this.realtime.onClose(() => console.log('CLOSED'))
|
|
@@ -130,7 +124,7 @@ class SupabaseClient {
|
|
|
130
124
|
if (!this.realtime.isConnected()) {
|
|
131
125
|
this.realtime.connect();
|
|
132
126
|
}
|
|
133
|
-
return new
|
|
127
|
+
return new SupabaseRealtimeChannel_1.SupabaseRealtimeChannel(name, opts, this.realtime);
|
|
134
128
|
}
|
|
135
129
|
/**
|
|
136
130
|
* Closes and removes all channels and returns a list of removed
|
|
@@ -197,7 +191,7 @@ class SupabaseClient {
|
|
|
197
191
|
getChannels() {
|
|
198
192
|
return this.realtime.channels;
|
|
199
193
|
}
|
|
200
|
-
_initSupabaseAuthClient({ autoRefreshToken, persistSession, detectSessionInUrl, localStorage, cookieOptions,
|
|
194
|
+
_initSupabaseAuthClient({ autoRefreshToken, persistSession, detectSessionInUrl, localStorage, cookieOptions, storageKey, }, headers, fetch) {
|
|
201
195
|
const authHeaders = {
|
|
202
196
|
Authorization: `Bearer ${this.supabaseKey}`,
|
|
203
197
|
apikey: `${this.supabaseKey}`,
|
|
@@ -212,40 +206,11 @@ class SupabaseClient {
|
|
|
212
206
|
localStorage,
|
|
213
207
|
fetch,
|
|
214
208
|
cookieOptions,
|
|
215
|
-
multiTab,
|
|
216
209
|
});
|
|
217
210
|
}
|
|
218
211
|
_initRealtimeClient(options) {
|
|
219
212
|
return new realtime_js_1.RealtimeClient(this.realtimeUrl, Object.assign(Object.assign({}, options), { params: Object.assign({ apikey: this.supabaseKey, vsndate: '2022' }, options === null || options === void 0 ? void 0 : options.params) }));
|
|
220
213
|
}
|
|
221
|
-
_listenForMultiTabEvents() {
|
|
222
|
-
if (!this.multiTab || !(0, helpers_1.isBrowser)() || !(window === null || window === void 0 ? void 0 : window.addEventListener)) {
|
|
223
|
-
return null;
|
|
224
|
-
}
|
|
225
|
-
try {
|
|
226
|
-
return window === null || window === void 0 ? void 0 : window.addEventListener('storage', (e) => {
|
|
227
|
-
var _a, _b, _c;
|
|
228
|
-
if (e.key === this.storageKey) {
|
|
229
|
-
const newSession = JSON.parse(String(e.newValue));
|
|
230
|
-
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;
|
|
231
|
-
const previousAccessToken = (_c = this.auth.session()) === null || _c === void 0 ? void 0 : _c.access_token;
|
|
232
|
-
if (!accessToken) {
|
|
233
|
-
this._handleTokenChanged('SIGNED_OUT', accessToken, 'STORAGE');
|
|
234
|
-
}
|
|
235
|
-
else if (!previousAccessToken && accessToken) {
|
|
236
|
-
this._handleTokenChanged('SIGNED_IN', accessToken, 'STORAGE');
|
|
237
|
-
}
|
|
238
|
-
else if (previousAccessToken !== accessToken) {
|
|
239
|
-
this._handleTokenChanged('TOKEN_REFRESHED', accessToken, 'STORAGE');
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
});
|
|
243
|
-
}
|
|
244
|
-
catch (error) {
|
|
245
|
-
console.error('_listenForMultiTabEvents', error);
|
|
246
|
-
return null;
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
214
|
_listenForAuthEvents() {
|
|
250
215
|
let data = this.auth.onAuthStateChange((event, session) => {
|
|
251
216
|
this._handleTokenChanged(event, session === null || session === void 0 ? void 0 : session.access_token, 'CLIENT');
|
|
@@ -257,10 +222,6 @@ class SupabaseClient {
|
|
|
257
222
|
this.changedAccessToken !== token) {
|
|
258
223
|
// Token has changed
|
|
259
224
|
this.realtime.setAuth(token);
|
|
260
|
-
// Ideally we should call this.auth.recoverSession() - need to make public
|
|
261
|
-
// to trigger a "SIGNED_IN" event on this client.
|
|
262
|
-
if (source == 'STORAGE')
|
|
263
|
-
this.auth.setAuth(token);
|
|
264
225
|
this.changedAccessToken = token;
|
|
265
226
|
}
|
|
266
227
|
else if (event === 'SIGNED_OUT' || event === 'USER_DELETED') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SupabaseClient.js","sourceRoot":"","sources":["../../src/SupabaseClient.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,yDAAwD;AAExD,yDAI+B;AAC/B,uDAA8F;AAC9F,qDAA4D;AAC5D,+CAAiD;AACjD,uCAA2C;AAC3C,
|
|
1
|
+
{"version":3,"file":"SupabaseClient.js","sourceRoot":"","sources":["../../src/SupabaseClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { RealtimeChannel, RealtimeClient } from '@supabase/realtime-js';
|
|
2
|
-
export declare class
|
|
2
|
+
export declare class SupabaseRealtimeChannel {
|
|
3
3
|
socket: RealtimeClient;
|
|
4
4
|
channel: RealtimeChannel;
|
|
5
|
-
constructor(
|
|
5
|
+
constructor(name: string, opts: {
|
|
6
6
|
[key: string]: any;
|
|
7
|
-
});
|
|
8
|
-
private getPayloadRecords;
|
|
7
|
+
} | undefined, socket: RealtimeClient);
|
|
9
8
|
/**
|
|
10
9
|
* The event you want to listen to.
|
|
11
10
|
*
|
|
@@ -18,5 +17,21 @@ export declare class SupabaseRealtimeClient {
|
|
|
18
17
|
* Enables the channel.
|
|
19
18
|
*/
|
|
20
19
|
subscribe(callback?: Function): RealtimeChannel;
|
|
20
|
+
presenceList(): any[];
|
|
21
|
+
send(payload: {
|
|
22
|
+
type: string;
|
|
23
|
+
[key: string]: any;
|
|
24
|
+
}, opts?: {
|
|
25
|
+
[key: string]: any;
|
|
26
|
+
}): Promise<['ok' | 'timeout', number]>;
|
|
27
|
+
track(payload: {
|
|
28
|
+
[key: string]: any;
|
|
29
|
+
}, opts?: {
|
|
30
|
+
[key: string]: any;
|
|
31
|
+
}): Promise<['ok' | 'timeout', number]>;
|
|
32
|
+
untrack(opts?: {
|
|
33
|
+
[key: string]: any;
|
|
34
|
+
}): Promise<['ok' | 'timeout', number]>;
|
|
35
|
+
private getPayloadRecords;
|
|
21
36
|
}
|
|
22
|
-
//# sourceMappingURL=
|
|
37
|
+
//# sourceMappingURL=SupabaseRealtimeChannel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SupabaseRealtimeChannel.d.ts","sourceRoot":"","sources":["../../../src/lib/SupabaseRealtimeChannel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAgB,MAAM,uBAAuB,CAAA;AAErF,qBAAa,uBAAuB;IAClC,MAAM,EAAE,cAAc,CAAA;IACtB,OAAO,EAAE,eAAe,CAAA;gBAEZ,IAAI,EAAE,MAAM,EAAE,IAAI;;iBAA6B,EAAE,MAAM,EAAE,cAAc;IAKnF;;;;;;OAMG;IACH,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI;IAwBpF;;OAEG;IACH,SAAS,CAAC,QAAQ,GAAE,QAAmB;IA4BvC,YAAY;IAIZ,IAAI,CACF,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAC7C,IAAI,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAO,GAChC,OAAO,CAAC,CAAC,IAAI,GAAG,SAAS,EAAE,MAAM,CAAC,CAAC;IAiBhC,KAAK,CACT,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAC/B,IAAI,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAO,GAChC,OAAO,CAAC,CAAC,IAAI,GAAG,SAAS,EAAE,MAAM,CAAC,CAAC;IAWhC,OAAO,CAAC,IAAI,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAO,GAAG,OAAO,CAAC,CAAC,IAAI,GAAG,SAAS,EAAE,MAAM,CAAC,CAAC;IAUrF,OAAO,CAAC,iBAAiB;CAgB1B"}
|
|
@@ -1,25 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
12
|
+
exports.SupabaseRealtimeChannel = void 0;
|
|
4
13
|
const realtime_js_1 = require("@supabase/realtime-js");
|
|
5
|
-
class
|
|
6
|
-
constructor(
|
|
14
|
+
class SupabaseRealtimeChannel {
|
|
15
|
+
constructor(name, opts = {}, socket) {
|
|
7
16
|
this.socket = socket;
|
|
8
17
|
this.channel = socket.channel(`realtime:${name}`, opts);
|
|
9
18
|
}
|
|
10
|
-
getPayloadRecords(payload) {
|
|
11
|
-
const records = {
|
|
12
|
-
new: {},
|
|
13
|
-
old: {},
|
|
14
|
-
};
|
|
15
|
-
if (payload.type === 'INSERT' || payload.type === 'UPDATE') {
|
|
16
|
-
records.new = realtime_js_1.Transformers.convertChangeData(payload.columns, payload.record);
|
|
17
|
-
}
|
|
18
|
-
if (payload.type === 'UPDATE' || payload.type === 'DELETE') {
|
|
19
|
-
records.old = realtime_js_1.Transformers.convertChangeData(payload.columns, payload.old_record);
|
|
20
|
-
}
|
|
21
|
-
return records;
|
|
22
|
-
}
|
|
23
19
|
/**
|
|
24
20
|
* The event you want to listen to.
|
|
25
21
|
*
|
|
@@ -74,6 +70,54 @@ class SupabaseRealtimeClient {
|
|
|
74
70
|
.receive('timeout', () => callback('RETRYING_AFTER_TIMEOUT'));
|
|
75
71
|
return this.channel;
|
|
76
72
|
}
|
|
73
|
+
presenceList() {
|
|
74
|
+
return this.channel.presence.list();
|
|
75
|
+
}
|
|
76
|
+
send(payload, opts = {}) {
|
|
77
|
+
return new Promise((resolve) => {
|
|
78
|
+
const now = performance.now();
|
|
79
|
+
const timeout = opts.timeout || this.channel.timeout;
|
|
80
|
+
this.channel
|
|
81
|
+
.push(payload.type, payload, timeout)
|
|
82
|
+
.receive('ok', () => {
|
|
83
|
+
const diff = performance.now() - now;
|
|
84
|
+
resolve(['ok', diff]);
|
|
85
|
+
})
|
|
86
|
+
.receive('timeout', () => {
|
|
87
|
+
resolve(['timeout', timeout]);
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
track(payload, opts = {}) {
|
|
92
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
93
|
+
return yield this.send({
|
|
94
|
+
type: 'presence',
|
|
95
|
+
event: 'track',
|
|
96
|
+
payload,
|
|
97
|
+
}, opts);
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
untrack(opts = {}) {
|
|
101
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
102
|
+
return yield this.send({
|
|
103
|
+
type: 'presence',
|
|
104
|
+
event: 'untrack',
|
|
105
|
+
}, opts);
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
getPayloadRecords(payload) {
|
|
109
|
+
const records = {
|
|
110
|
+
new: {},
|
|
111
|
+
old: {},
|
|
112
|
+
};
|
|
113
|
+
if (payload.type === 'INSERT' || payload.type === 'UPDATE') {
|
|
114
|
+
records.new = realtime_js_1.Transformers.convertChangeData(payload.columns, payload.record);
|
|
115
|
+
}
|
|
116
|
+
if (payload.type === 'UPDATE' || payload.type === 'DELETE') {
|
|
117
|
+
records.old = realtime_js_1.Transformers.convertChangeData(payload.columns, payload.old_record);
|
|
118
|
+
}
|
|
119
|
+
return records;
|
|
120
|
+
}
|
|
77
121
|
}
|
|
78
|
-
exports.
|
|
79
|
-
//# sourceMappingURL=
|
|
122
|
+
exports.SupabaseRealtimeChannel = SupabaseRealtimeChannel;
|
|
123
|
+
//# sourceMappingURL=SupabaseRealtimeChannel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SupabaseRealtimeChannel.js","sourceRoot":"","sources":["../../../src/lib/SupabaseRealtimeChannel.ts"],"names":[],"mappings":"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"}
|
package/dist/main/lib/types.d.ts
CHANGED
|
@@ -36,10 +36,6 @@ export declare type SupabaseClientOptions<SchemaName> = {
|
|
|
36
36
|
* Options passed to the gotrue-js instance
|
|
37
37
|
*/
|
|
38
38
|
cookieOptions?: SupabaseAuthClientOptions['cookieOptions'];
|
|
39
|
-
/**
|
|
40
|
-
* Allows to enable/disable multi-tab/window events
|
|
41
|
-
*/
|
|
42
|
-
multiTab?: boolean;
|
|
43
39
|
};
|
|
44
40
|
/**
|
|
45
41
|
* Options passed to the realtime-js instance
|
|
@@ -53,10 +49,6 @@ export declare type SupabaseClientOptions<SchemaName> = {
|
|
|
53
49
|
* Optional headers for initializing the client.
|
|
54
50
|
*/
|
|
55
51
|
headers?: Record<string, string>;
|
|
56
|
-
/**
|
|
57
|
-
* Throw errors, instead of returning them.
|
|
58
|
-
*/
|
|
59
|
-
shouldThrowOnError?: boolean;
|
|
60
52
|
};
|
|
61
53
|
export declare type SupabaseRealtimePayload<T> = {
|
|
62
54
|
commit_timestamp: string;
|
|
@@ -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,aAAK,mBAAmB,GAAG,qBAAqB,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;AAExE,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;CAAG;AAEzE,oBAAY,KAAK,GAAG,OAAO,KAAK,CAAA;AAEhC,oBAAY,qBAAqB,CAAC,UAAU,IAAI;IAC9C;;OAEG;IACH,EAAE,CAAC,EAAE;QACH,MAAM,CAAC,EAAE,UAAU,CAAA;KACpB,CAAA;IAED,IAAI,CAAC,EAAE;QACL;;WAEG;QACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;QAC1B;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB;;WAEG;QACH,cAAc,CAAC,EAAE,OAAO,CAAA;QACxB;;WAEG;QACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;QAC5B;;WAEG;QACH,YAAY,CAAC,EAAE,yBAAyB,CAAC,cAAc,CAAC,CAAA;QACxD;;WAEG;QACH,aAAa,CAAC,EAAE,yBAAyB,CAAC,eAAe,CAAC,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,aAAK,mBAAmB,GAAG,qBAAqB,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;AAExE,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;CAAG;AAEzE,oBAAY,KAAK,GAAG,OAAO,KAAK,CAAA;AAEhC,oBAAY,qBAAqB,CAAC,UAAU,IAAI;IAC9C;;OAEG;IACH,EAAE,CAAC,EAAE;QACH,MAAM,CAAC,EAAE,UAAU,CAAA;KACpB,CAAA;IAED,IAAI,CAAC,EAAE;QACL;;WAEG;QACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;QAC1B;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB;;WAEG;QACH,cAAc,CAAC,EAAE,OAAO,CAAA;QACxB;;WAEG;QACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;QAC5B;;WAEG;QACH,YAAY,CAAC,EAAE,yBAAyB,CAAC,cAAc,CAAC,CAAA;QACxD;;WAEG;QACH,aAAa,CAAC,EAAE,yBAAyB,CAAC,eAAe,CAAC,CAAA;KAC3D,CAAA;IACD;;OAEG;IACH,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAA;IACb;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC,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,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC,CAAA;AAED,oBAAY,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,oBAAY,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACpC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CAC3C,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "1.36.0-next.
|
|
1
|
+
export declare const version = "1.36.0-next.14";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/main/lib/version.js
CHANGED
|
@@ -3,7 +3,7 @@ import { PostgrestClient, PostgrestFilterBuilder, PostgrestQueryBuilder } from '
|
|
|
3
3
|
import { RealtimeChannel, RealtimeClient } from '@supabase/realtime-js';
|
|
4
4
|
import { SupabaseStorageClient } from '@supabase/storage-js';
|
|
5
5
|
import { SupabaseAuthClient } from './lib/SupabaseAuthClient';
|
|
6
|
-
import {
|
|
6
|
+
import { SupabaseRealtimeChannel } from './lib/SupabaseRealtimeChannel';
|
|
7
7
|
import { Fetch, GenericSchema, SupabaseClientOptions } from './lib/types';
|
|
8
8
|
/**
|
|
9
9
|
* Supabase Client.
|
|
@@ -23,11 +23,9 @@ export default class SupabaseClient<Database = any, SchemaName extends string &
|
|
|
23
23
|
protected functionsUrl: string;
|
|
24
24
|
protected realtime: RealtimeClient;
|
|
25
25
|
protected rest: PostgrestClient<Database, SchemaName>;
|
|
26
|
-
protected multiTab: boolean;
|
|
27
26
|
protected storageKey: string;
|
|
28
27
|
protected fetch?: Fetch;
|
|
29
28
|
protected changedAccessToken: string | undefined;
|
|
30
|
-
protected shouldThrowOnError: boolean;
|
|
31
29
|
protected headers: {
|
|
32
30
|
[key: string]: string;
|
|
33
31
|
};
|
|
@@ -41,7 +39,6 @@ export default class SupabaseClient<Database = any, SchemaName extends string &
|
|
|
41
39
|
* @param options.detectSessionInUrl Set to "true" if you want to automatically detects OAuth grants in the URL and signs in the user.
|
|
42
40
|
* @param options.headers Any additional headers to send with each network request.
|
|
43
41
|
* @param options.realtime Options passed along to realtime-js constructor.
|
|
44
|
-
* @param options.multiTab Set to "false" if you want to disable multi-tab/window events.
|
|
45
42
|
* @param options.fetch A custom fetch implementation.
|
|
46
43
|
*/
|
|
47
44
|
constructor(supabaseUrl: string, supabaseKey: string, options?: SupabaseClientOptions<SchemaName>);
|
|
@@ -77,7 +74,7 @@ export default class SupabaseClient<Database = any, SchemaName extends string &
|
|
|
77
74
|
*/
|
|
78
75
|
channel(name: string, opts?: {
|
|
79
76
|
[key: string]: any;
|
|
80
|
-
}):
|
|
77
|
+
}): SupabaseRealtimeChannel;
|
|
81
78
|
/**
|
|
82
79
|
* Closes and removes all channels and returns a list of removed
|
|
83
80
|
* channels and their errors.
|
|
@@ -108,7 +105,6 @@ export default class SupabaseClient<Database = any, SchemaName extends string &
|
|
|
108
105
|
getChannels(): RealtimeChannel[];
|
|
109
106
|
private _initSupabaseAuthClient;
|
|
110
107
|
private _initRealtimeClient;
|
|
111
|
-
private _listenForMultiTabEvents;
|
|
112
108
|
private _listenForAuthEvents;
|
|
113
109
|
private _handleTokenChanged;
|
|
114
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SupabaseClient.d.ts","sourceRoot":"","sources":["../../src/SupabaseClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,eAAe,EAAE,cAAc,EAAyB,MAAM,uBAAuB,CAAA;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAI5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SupabaseClient.d.ts","sourceRoot":"","sources":["../../src/SupabaseClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,15 +13,14 @@ import { RealtimeClient } from '@supabase/realtime-js';
|
|
|
13
13
|
import { SupabaseStorageClient } from '@supabase/storage-js';
|
|
14
14
|
import { DEFAULT_HEADERS } from './lib/constants';
|
|
15
15
|
import { fetchWithAuth } from './lib/fetch';
|
|
16
|
-
import {
|
|
16
|
+
import { stripTrailingSlash } from './lib/helpers';
|
|
17
17
|
import { SupabaseAuthClient } from './lib/SupabaseAuthClient';
|
|
18
|
-
import {
|
|
18
|
+
import { SupabaseRealtimeChannel } from './lib/SupabaseRealtimeChannel';
|
|
19
19
|
const DEFAULT_OPTIONS = {
|
|
20
20
|
schema: 'public',
|
|
21
21
|
autoRefreshToken: true,
|
|
22
22
|
persistSession: true,
|
|
23
23
|
detectSessionInUrl: true,
|
|
24
|
-
multiTab: true,
|
|
25
24
|
headers: DEFAULT_HEADERS,
|
|
26
25
|
};
|
|
27
26
|
/**
|
|
@@ -40,11 +39,10 @@ export default class SupabaseClient {
|
|
|
40
39
|
* @param options.detectSessionInUrl Set to "true" if you want to automatically detects OAuth grants in the URL and signs in the user.
|
|
41
40
|
* @param options.headers Any additional headers to send with each network request.
|
|
42
41
|
* @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.
|
|
44
42
|
* @param options.fetch A custom fetch implementation.
|
|
45
43
|
*/
|
|
46
44
|
constructor(supabaseUrl, supabaseKey, options) {
|
|
47
|
-
var _a, _b, _c
|
|
45
|
+
var _a, _b, _c;
|
|
48
46
|
this.supabaseUrl = supabaseUrl;
|
|
49
47
|
this.supabaseKey = supabaseKey;
|
|
50
48
|
if (!supabaseUrl)
|
|
@@ -67,20 +65,16 @@ export default class SupabaseClient {
|
|
|
67
65
|
const defaultStorageKey = `sb-${new URL(this.authUrl).hostname.split('.')[0]}-auth-token`;
|
|
68
66
|
this.storageKey = (_b = (_a = options === null || options === void 0 ? void 0 : options.auth) === null || _a === void 0 ? void 0 : _a.storageKey) !== null && _b !== void 0 ? _b : defaultStorageKey;
|
|
69
67
|
const settings = Object.assign(Object.assign(Object.assign({}, DEFAULT_OPTIONS), options), { storageKey: this.storageKey });
|
|
70
|
-
this.multiTab = (_d = (_c = settings.auth) === null || _c === void 0 ? void 0 : _c.multiTab) !== null && _d !== void 0 ? _d : false;
|
|
71
68
|
this.headers = Object.assign(Object.assign({}, DEFAULT_HEADERS), options === null || options === void 0 ? void 0 : options.headers);
|
|
72
|
-
this.shouldThrowOnError = settings.shouldThrowOnError || false;
|
|
73
69
|
this.auth = this._initSupabaseAuthClient(settings.auth || {}, this.headers, settings.fetch);
|
|
74
70
|
this.fetch = fetchWithAuth(supabaseKey, this._getAccessToken.bind(this), settings.fetch);
|
|
75
71
|
this.realtime = this._initRealtimeClient(Object.assign({ headers: this.headers }, settings.realtime));
|
|
76
72
|
this.rest = new PostgrestClient(`${_supabaseUrl}/rest/v1`, {
|
|
77
73
|
headers: this.headers,
|
|
78
|
-
schema: (
|
|
74
|
+
schema: (_c = options === null || options === void 0 ? void 0 : options.db) === null || _c === void 0 ? void 0 : _c.schema,
|
|
79
75
|
fetch: this.fetch,
|
|
80
|
-
throwOnError: this.shouldThrowOnError,
|
|
81
76
|
});
|
|
82
77
|
this._listenForAuthEvents();
|
|
83
|
-
this._listenForMultiTabEvents();
|
|
84
78
|
// In the future we might allow the user to pass in a logger to receive these events.
|
|
85
79
|
// this.realtime.onOpen(() => console.log('OPEN'))
|
|
86
80
|
// this.realtime.onClose(() => console.log('CLOSED'))
|
|
@@ -128,7 +122,7 @@ export default class SupabaseClient {
|
|
|
128
122
|
if (!this.realtime.isConnected()) {
|
|
129
123
|
this.realtime.connect();
|
|
130
124
|
}
|
|
131
|
-
return new
|
|
125
|
+
return new SupabaseRealtimeChannel(name, opts, this.realtime);
|
|
132
126
|
}
|
|
133
127
|
/**
|
|
134
128
|
* Closes and removes all channels and returns a list of removed
|
|
@@ -195,7 +189,7 @@ export default class SupabaseClient {
|
|
|
195
189
|
getChannels() {
|
|
196
190
|
return this.realtime.channels;
|
|
197
191
|
}
|
|
198
|
-
_initSupabaseAuthClient({ autoRefreshToken, persistSession, detectSessionInUrl, localStorage, cookieOptions,
|
|
192
|
+
_initSupabaseAuthClient({ autoRefreshToken, persistSession, detectSessionInUrl, localStorage, cookieOptions, storageKey, }, headers, fetch) {
|
|
199
193
|
const authHeaders = {
|
|
200
194
|
Authorization: `Bearer ${this.supabaseKey}`,
|
|
201
195
|
apikey: `${this.supabaseKey}`,
|
|
@@ -210,40 +204,11 @@ export default class SupabaseClient {
|
|
|
210
204
|
localStorage,
|
|
211
205
|
fetch,
|
|
212
206
|
cookieOptions,
|
|
213
|
-
multiTab,
|
|
214
207
|
});
|
|
215
208
|
}
|
|
216
209
|
_initRealtimeClient(options) {
|
|
217
210
|
return new RealtimeClient(this.realtimeUrl, Object.assign(Object.assign({}, options), { params: Object.assign({ apikey: this.supabaseKey, vsndate: '2022' }, options === null || options === void 0 ? void 0 : options.params) }));
|
|
218
211
|
}
|
|
219
|
-
_listenForMultiTabEvents() {
|
|
220
|
-
if (!this.multiTab || !isBrowser() || !(window === null || window === void 0 ? void 0 : window.addEventListener)) {
|
|
221
|
-
return null;
|
|
222
|
-
}
|
|
223
|
-
try {
|
|
224
|
-
return window === null || window === void 0 ? void 0 : window.addEventListener('storage', (e) => {
|
|
225
|
-
var _a, _b, _c;
|
|
226
|
-
if (e.key === this.storageKey) {
|
|
227
|
-
const newSession = JSON.parse(String(e.newValue));
|
|
228
|
-
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;
|
|
229
|
-
const previousAccessToken = (_c = this.auth.session()) === null || _c === void 0 ? void 0 : _c.access_token;
|
|
230
|
-
if (!accessToken) {
|
|
231
|
-
this._handleTokenChanged('SIGNED_OUT', accessToken, 'STORAGE');
|
|
232
|
-
}
|
|
233
|
-
else if (!previousAccessToken && accessToken) {
|
|
234
|
-
this._handleTokenChanged('SIGNED_IN', accessToken, 'STORAGE');
|
|
235
|
-
}
|
|
236
|
-
else if (previousAccessToken !== accessToken) {
|
|
237
|
-
this._handleTokenChanged('TOKEN_REFRESHED', accessToken, 'STORAGE');
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
});
|
|
241
|
-
}
|
|
242
|
-
catch (error) {
|
|
243
|
-
console.error('_listenForMultiTabEvents', error);
|
|
244
|
-
return null;
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
212
|
_listenForAuthEvents() {
|
|
248
213
|
let data = this.auth.onAuthStateChange((event, session) => {
|
|
249
214
|
this._handleTokenChanged(event, session === null || session === void 0 ? void 0 : session.access_token, 'CLIENT');
|
|
@@ -255,10 +220,6 @@ export default class SupabaseClient {
|
|
|
255
220
|
this.changedAccessToken !== token) {
|
|
256
221
|
// Token has changed
|
|
257
222
|
this.realtime.setAuth(token);
|
|
258
|
-
// Ideally we should call this.auth.recoverSession() - need to make public
|
|
259
|
-
// to trigger a "SIGNED_IN" event on this client.
|
|
260
|
-
if (source == 'STORAGE')
|
|
261
|
-
this.auth.setAuth(token);
|
|
262
223
|
this.changedAccessToken = token;
|
|
263
224
|
}
|
|
264
225
|
else if (event === 'SIGNED_OUT' || event === 'USER_DELETED') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SupabaseClient.js","sourceRoot":"","sources":["../../src/SupabaseClient.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,OAAO,EACL,eAAe,GAGhB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAmB,cAAc,EAAyB,MAAM,uBAAuB,CAAA;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SupabaseClient.js","sourceRoot":"","sources":["../../src/SupabaseClient.ts"],"names":[],"mappings":"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"}
|