@supabase/supabase-js 1.36.0-next.22 → 1.36.0-next.25

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 (48) hide show
  1. package/dist/main/SupabaseClient.d.ts +24 -20
  2. package/dist/main/SupabaseClient.d.ts.map +1 -1
  3. package/dist/main/SupabaseClient.js +79 -38
  4. package/dist/main/SupabaseClient.js.map +1 -1
  5. package/dist/main/index.d.ts +1 -1
  6. package/dist/main/index.d.ts.map +1 -1
  7. package/dist/main/lib/SupabaseQueryBuilder.d.ts +25 -0
  8. package/dist/main/lib/SupabaseQueryBuilder.d.ts.map +1 -0
  9. package/dist/main/lib/SupabaseQueryBuilder.js +31 -0
  10. package/dist/main/lib/SupabaseQueryBuilder.js.map +1 -0
  11. package/dist/main/lib/SupabaseRealtimeClient.d.ts +19 -0
  12. package/dist/main/lib/SupabaseRealtimeClient.d.ts.map +1 -0
  13. package/dist/main/lib/SupabaseRealtimeClient.js +65 -0
  14. package/dist/main/lib/SupabaseRealtimeClient.js.map +1 -0
  15. package/dist/main/lib/fetch.d.ts +2 -2
  16. package/dist/main/lib/fetch.d.ts.map +1 -1
  17. package/dist/main/lib/types.d.ts +15 -4
  18. package/dist/main/lib/types.d.ts.map +1 -1
  19. package/dist/main/lib/version.d.ts +1 -1
  20. package/dist/main/lib/version.js +1 -1
  21. package/dist/module/SupabaseClient.d.ts +24 -20
  22. package/dist/module/SupabaseClient.d.ts.map +1 -1
  23. package/dist/module/SupabaseClient.js +79 -38
  24. package/dist/module/SupabaseClient.js.map +1 -1
  25. package/dist/module/index.d.ts +1 -1
  26. package/dist/module/index.d.ts.map +1 -1
  27. package/dist/module/lib/SupabaseQueryBuilder.d.ts +25 -0
  28. package/dist/module/lib/SupabaseQueryBuilder.d.ts.map +1 -0
  29. package/dist/module/lib/SupabaseQueryBuilder.js +27 -0
  30. package/dist/module/lib/SupabaseQueryBuilder.js.map +1 -0
  31. package/dist/module/lib/SupabaseRealtimeClient.d.ts +19 -0
  32. package/dist/module/lib/SupabaseRealtimeClient.d.ts.map +1 -0
  33. package/dist/module/lib/SupabaseRealtimeClient.js +61 -0
  34. package/dist/module/lib/SupabaseRealtimeClient.js.map +1 -0
  35. package/dist/module/lib/fetch.d.ts +2 -2
  36. package/dist/module/lib/fetch.d.ts.map +1 -1
  37. package/dist/module/lib/types.d.ts +15 -4
  38. package/dist/module/lib/types.d.ts.map +1 -1
  39. package/dist/module/lib/version.d.ts +1 -1
  40. package/dist/module/lib/version.js +1 -1
  41. package/dist/umd/supabase.js +1 -1
  42. package/package.json +7 -7
  43. package/src/SupabaseClient.ts +91 -39
  44. package/src/index.ts +1 -1
  45. package/src/lib/SupabaseQueryBuilder.ts +59 -0
  46. package/src/lib/SupabaseRealtimeClient.ts +74 -0
  47. package/src/lib/types.ts +16 -4
  48. package/src/lib/version.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  import { FunctionsClient } from '@supabase/functions-js';
2
2
  import { PostgrestClient, PostgrestFilterBuilder, PostgrestQueryBuilder } from '@supabase/postgrest-js';
3
- import { RealtimeChannel, RealtimeClient } from '@supabase/realtime-js';
3
+ import { RealtimeSubscription, RealtimeClient } from '@supabase/realtime-js';
4
4
  import { StorageClient as SupabaseStorageClient } from '@supabase/storage-js';
5
5
  import { SupabaseAuthClient } from './lib/SupabaseAuthClient';
6
6
  import { Fetch, GenericSchema, SupabaseClientOptions } from './lib/types';
@@ -20,11 +20,13 @@ export default class SupabaseClient<Database = any, SchemaName extends string &
20
20
  protected authUrl: string;
21
21
  protected storageUrl: string;
22
22
  protected functionsUrl: string;
23
+ protected restUrl: string;
23
24
  protected realtime: RealtimeClient;
24
25
  protected rest: PostgrestClient<Database, SchemaName>;
25
26
  protected storageKey: string;
26
27
  protected fetch?: Fetch;
27
28
  protected changedAccessToken: string | undefined;
29
+ protected settings: SupabaseClientOptions<SchemaName>;
28
30
  protected headers: {
29
31
  [key: string]: string;
30
32
  };
@@ -70,31 +72,33 @@ export default class SupabaseClient<Database = any, SchemaName extends string &
70
72
  count?: 'exact' | 'planned' | 'estimated';
71
73
  }): PostgrestFilterBuilder<Function_['Returns'] extends any[] ? Function_['Returns'][number] extends Record<string, unknown> ? Function_['Returns'][number] : never : never, Function_['Returns']>;
72
74
  /**
73
- * Creates a Realtime channel with Broadcast, Presence, and Postgres Changes.
74
- *
75
- * @param {string} name - The name of the Realtime channel.
76
- * @param {Object} opts - The options to pass to the Realtime channel.
77
- *
78
- */
79
- channel(name: string, opts?: {
80
- [key: string]: any;
81
- }): RealtimeChannel;
82
- /**
83
- * Returns all Realtime channels.
75
+ * Closes and removes all subscriptions and returns a list of removed
76
+ * subscriptions and their errors.
84
77
  */
85
- getChannels(): RealtimeChannel[];
78
+ removeAllSubscriptions(): Promise<{
79
+ data: {
80
+ subscription: RealtimeSubscription;
81
+ };
82
+ error: Error | null;
83
+ }[]>;
86
84
  /**
87
- * Unsubscribes and removes Realtime channel from Realtime client.
88
- *
89
- * @param {RealtimeChannel} channel - The name of the Realtime channel.
85
+ * Closes and removes a subscription and returns the number of open subscriptions.
90
86
  *
87
+ * @param subscription The subscription you want to close and remove.
91
88
  */
92
- removeChannel(channel: RealtimeChannel): Promise<'ok' | 'timed out' | 'error'>;
89
+ removeSubscription(subscription: RealtimeSubscription): Promise<{
90
+ data: {
91
+ openSubscriptions: number;
92
+ };
93
+ error: Error | null;
94
+ }>;
95
+ private _getAccessToken;
96
+ private _closeSubscription;
97
+ private _unsubscribeSubscription;
93
98
  /**
94
- * Unsubscribes and removes all Realtime channels from Realtime client.
99
+ * Returns an array of all your subscriptions.
95
100
  */
96
- removeAllChannels(): Promise<('ok' | 'timed out' | 'error')[]>;
97
- private _getAccessToken;
101
+ getSubscriptions(): RealtimeSubscription[];
98
102
  private _initSupabaseAuthClient;
99
103
  private _initRealtimeClient;
100
104
  private _listenForAuthEvents;
@@ -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,aAAa,IAAI,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAI7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAA6B,MAAM,aAAa,CAAA;AAkBpG;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc,CACjC,QAAQ,GAAG,GAAG,EACd,UAAU,SAAS,MAAM,GAAG,MAAM,QAAQ,GAAG,QAAQ,SAAS,MAAM,QAAQ,GACxE,QAAQ,GACR,MAAM,GAAG,MAAM,QAAQ,EAC3B,MAAM,SAAS,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,aAAa,GACrE,QAAQ,CAAC,UAAU,CAAC,GACpB,GAAG;IAkCL,SAAS,CAAC,WAAW,EAAE,MAAM;IAC7B,SAAS,CAAC,WAAW,EAAE,MAAM;IAjC/B;;OAEG;IACH,IAAI,EAAE,kBAAkB,CAAA;IAExB,SAAS,CAAC,WAAW,EAAE,MAAM,CAAA;IAC7B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAA;IAC5B,SAAS,CAAC,YAAY,EAAE,MAAM,CAAA;IAC9B,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAA;IAClC,SAAS,CAAC,IAAI,EAAE,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IACrD,SAAS,CAAC,UAAU,EAAE,MAAM,CAAA;IAC5B,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;IACvB,SAAS,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAA;IAEhD,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,CAAC,UAAU,CAAC;IAiD7C;;OAEG;IACH,IAAI,SAAS,oBAKZ;IAED;;OAEG;IACH,IAAI,OAAO,0BAEV;IAED;;;;OAIG;IACH,IAAI,CACF,SAAS,SAAS,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EACjD,KAAK,SAAS,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EACzC,KAAK,EAAE,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC;IACjD,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC;IAK/C;;;;;;;;OAQG;IACH,GAAG,CACD,YAAY,SAAS,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EACvD,SAAS,SAAS,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,EAEnD,EAAE,EAAE,YAAY,EAChB,IAAI,GAAE,SAAS,CAAC,MAAM,CAAM,EAC5B,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAAA;KAC1C,GACA,sBAAsB,CACvB,SAAS,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,GAC9B,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC1D,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAC5B,KAAK,GACP,KAAK,EACT,SAAS,CAAC,SAAS,CAAC,CACrB;IAID;;;;;;OAMG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAO,GAAG,eAAe;IAIzE;;OAEG;IACH,WAAW,IAAI,eAAe,EAAE;IAIhC;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,GAAG,WAAW,GAAG,OAAO,CAAC;IAI9E;;OAEG;IACH,iBAAiB,IAAI,OAAO,CAAC,CAAC,IAAI,GAAG,WAAW,GAAG,OAAO,CAAC,EAAE,CAAC;YAIhD,eAAe;IAM7B,OAAO,CAAC,uBAAuB;IA6B/B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,mBAAmB;CAmB5B"}
1
+ {"version":3,"file":"SupabaseClient.d.ts","sourceRoot":"","sources":["../../src/SupabaseClient.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ 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 SupabaseQueryBuilder_1 = require("./lib/SupabaseQueryBuilder");
20
21
  const DEFAULT_GLOBAL_OPTIONS = {
21
22
  headers: constants_1.DEFAULT_HEADERS,
22
23
  };
@@ -51,6 +52,7 @@ class SupabaseClient {
51
52
  var _a, _b, _c, _d, _e, _f, _g, _h;
52
53
  this.supabaseUrl = supabaseUrl;
53
54
  this.supabaseKey = supabaseKey;
55
+ this.settings = {};
54
56
  if (!supabaseUrl)
55
57
  throw new Error('supabaseUrl is required.');
56
58
  if (!supabaseKey)
@@ -59,6 +61,7 @@ class SupabaseClient {
59
61
  this.realtimeUrl = `${_supabaseUrl}/realtime/v1`.replace('http', 'ws');
60
62
  this.authUrl = `${_supabaseUrl}/auth/v1`;
61
63
  this.storageUrl = `${_supabaseUrl}/storage/v1`;
64
+ this.restUrl = `${_supabaseUrl}/rest/v1`;
62
65
  const isPlatform = _supabaseUrl.match(/(supabase\.co)|(supabase\.in)/);
63
66
  if (isPlatform) {
64
67
  const urlParts = _supabaseUrl.split('.');
@@ -75,15 +78,15 @@ class SupabaseClient {
75
78
  auth: Object.assign(Object.assign({}, DEFAULT_AUTH_OPTIONS), { storageKey: defaultStorageKey }),
76
79
  global: DEFAULT_GLOBAL_OPTIONS,
77
80
  };
78
- const settings = (0, helpers_1.applySettingDefaults)(options !== null && options !== void 0 ? options : {}, DEFAULTS);
79
- this.storageKey = (_b = (_a = settings.auth) === null || _a === void 0 ? void 0 : _a.storageKey) !== null && _b !== void 0 ? _b : '';
80
- this.headers = (_d = (_c = settings.global) === null || _c === void 0 ? void 0 : _c.headers) !== null && _d !== void 0 ? _d : {};
81
- this.auth = this._initSupabaseAuthClient((_e = settings.auth) !== null && _e !== void 0 ? _e : {}, this.headers, (_f = settings.global) === null || _f === void 0 ? void 0 : _f.fetch);
82
- this.fetch = (0, fetch_1.fetchWithAuth)(supabaseKey, this._getAccessToken.bind(this), (_g = settings.global) === null || _g === void 0 ? void 0 : _g.fetch);
83
- this.realtime = this._initRealtimeClient(Object.assign({ headers: this.headers }, settings.realtime));
84
- this.rest = new postgrest_js_1.PostgrestClient(`${_supabaseUrl}/rest/v1`, {
81
+ this.settings = (0, helpers_1.applySettingDefaults)(options !== null && options !== void 0 ? options : {}, DEFAULTS);
82
+ this.storageKey = (_b = (_a = this.settings.auth) === null || _a === void 0 ? void 0 : _a.storageKey) !== null && _b !== void 0 ? _b : '';
83
+ this.headers = (_d = (_c = this.settings.global) === null || _c === void 0 ? void 0 : _c.headers) !== null && _d !== void 0 ? _d : {};
84
+ this.auth = this._initSupabaseAuthClient((_e = this.settings.auth) !== null && _e !== void 0 ? _e : {}, this.headers, (_f = this.settings.global) === null || _f === void 0 ? void 0 : _f.fetch);
85
+ this.fetch = (0, fetch_1.fetchWithAuth)(supabaseKey, this._getAccessToken.bind(this), (_g = this.settings.global) === null || _g === void 0 ? void 0 : _g.fetch);
86
+ this.realtime = this._initRealtimeClient(Object.assign({ headers: this.headers }, this.settings.realtime));
87
+ this.rest = new postgrest_js_1.PostgrestClient(this.restUrl, {
85
88
  headers: this.headers,
86
- schema: (_h = settings.db) === null || _h === void 0 ? void 0 : _h.schema,
89
+ schema: (_h = this.settings.db) === null || _h === void 0 ? void 0 : _h.schema,
87
90
  fetch: this.fetch,
88
91
  });
89
92
  this._listenForAuthEvents();
@@ -104,7 +107,19 @@ class SupabaseClient {
104
107
  return new storage_js_1.StorageClient(this.storageUrl, this.headers, this.fetch);
105
108
  }
106
109
  from(table) {
107
- return this.rest.from(table);
110
+ var _a;
111
+ /*
112
+ This is temporary and will be swapped back for this.rest.from(table)
113
+ once realtime-js v2 migration is complete.
114
+ */
115
+ const url = new URL(`${this.restUrl}/${table}`);
116
+ return new SupabaseQueryBuilder_1.SupabaseQueryBuilder(url, {
117
+ headers: Object.assign({ Authorization: `Bearer ${this.supabaseKey}` }, this.headers),
118
+ fetch: this.fetch,
119
+ realtime: this.realtime,
120
+ schema: (_a = this.settings.db) === null || _a === void 0 ? void 0 : _a.schema,
121
+ table,
122
+ });
108
123
  }
109
124
  /**
110
125
  * Perform a function call.
@@ -119,44 +134,71 @@ class SupabaseClient {
119
134
  return this.rest.rpc(fn, args, options);
120
135
  }
121
136
  /**
122
- * Creates a Realtime channel with Broadcast, Presence, and Postgres Changes.
123
- *
124
- * @param {string} name - The name of the Realtime channel.
125
- * @param {Object} opts - The options to pass to the Realtime channel.
126
- *
137
+ * Closes and removes all subscriptions and returns a list of removed
138
+ * subscriptions and their errors.
127
139
  */
128
- channel(name, opts = {}) {
129
- return this.realtime.channel(name, opts);
130
- }
131
- /**
132
- * Returns all Realtime channels.
133
- */
134
- getChannels() {
135
- return this.realtime.getChannels();
140
+ removeAllSubscriptions() {
141
+ return __awaiter(this, void 0, void 0, function* () {
142
+ const allSubs = this.getSubscriptions().slice();
143
+ const allSubPromises = allSubs.map((sub) => this.removeSubscription(sub));
144
+ const allRemovedSubs = yield Promise.all(allSubPromises);
145
+ return allRemovedSubs.map(({ error }, i) => {
146
+ return {
147
+ data: { subscription: allSubs[i] },
148
+ error,
149
+ };
150
+ });
151
+ });
136
152
  }
137
153
  /**
138
- * Unsubscribes and removes Realtime channel from Realtime client.
139
- *
140
- * @param {RealtimeChannel} channel - The name of the Realtime channel.
154
+ * Closes and removes a subscription and returns the number of open subscriptions.
141
155
  *
156
+ * @param subscription The subscription you want to close and remove.
142
157
  */
143
- removeChannel(channel) {
144
- return this.realtime.removeChannel(channel);
145
- }
146
- /**
147
- * Unsubscribes and removes all Realtime channels from Realtime client.
148
- */
149
- removeAllChannels() {
150
- return this.realtime.removeAllChannels();
158
+ removeSubscription(subscription) {
159
+ return __awaiter(this, void 0, void 0, function* () {
160
+ const { error } = yield this._closeSubscription(subscription);
161
+ const allSubs = this.getSubscriptions();
162
+ const openSubCount = allSubs.filter((chan) => chan.isJoined()).length;
163
+ if (allSubs.length === 0)
164
+ yield this.realtime.disconnect();
165
+ return { data: { openSubscriptions: openSubCount }, error };
166
+ });
151
167
  }
152
168
  _getAccessToken() {
153
- var _a;
169
+ var _a, _b;
170
+ return __awaiter(this, void 0, void 0, function* () {
171
+ const { data } = yield this.auth.getSession();
172
+ return (_b = (_a = data.session) === null || _a === void 0 ? void 0 : _a.access_token) !== null && _b !== void 0 ? _b : null;
173
+ });
174
+ }
175
+ _closeSubscription(subscription) {
154
176
  return __awaiter(this, void 0, void 0, function* () {
155
- const { session } = yield this.auth.getSession();
156
- return (_a = session === null || session === void 0 ? void 0 : session.access_token) !== null && _a !== void 0 ? _a : null;
177
+ let error = null;
178
+ if (!subscription.isClosed()) {
179
+ const { error: unsubError } = yield this._unsubscribeSubscription(subscription);
180
+ error = unsubError;
181
+ }
182
+ this.realtime.remove(subscription);
183
+ return { error };
184
+ });
185
+ }
186
+ _unsubscribeSubscription(subscription) {
187
+ return new Promise((resolve) => {
188
+ subscription
189
+ .unsubscribe()
190
+ .receive('ok', () => resolve({ error: null }))
191
+ .receive('error', (error) => resolve({ error }))
192
+ .receive('timeout', () => resolve({ error: new Error('timed out') }));
157
193
  });
158
194
  }
159
- _initSupabaseAuthClient({ autoRefreshToken, persistSession, detectSessionInUrl, storage, cookieOptions, storageKey, }, headers, fetch) {
195
+ /**
196
+ * Returns an array of all your subscriptions.
197
+ */
198
+ getSubscriptions() {
199
+ return this.realtime.channels;
200
+ }
201
+ _initSupabaseAuthClient({ autoRefreshToken, persistSession, detectSessionInUrl, storage, storageKey, }, headers, fetch) {
160
202
  const authHeaders = {
161
203
  Authorization: `Bearer ${this.supabaseKey}`,
162
204
  apikey: `${this.supabaseKey}`,
@@ -170,7 +212,6 @@ class SupabaseClient {
170
212
  detectSessionInUrl,
171
213
  storage,
172
214
  fetch,
173
- cookieOptions,
174
215
  });
175
216
  }
176
217
  _initRealtimeClient(options) {
@@ -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,7 +5,7 @@ export type { User as AuthUser, Session as AuthSession } from '@supabase/gotrue-
5
5
  export type { PostgrestResponse, PostgrestSingleResponse, PostgrestMaybeSingleResponse, PostgrestError, } from '@supabase/postgrest-js';
6
6
  export * from '@supabase/realtime-js';
7
7
  export { default as SupabaseClient } from './SupabaseClient';
8
- export type { SupabaseClientOptions } from './lib/types';
8
+ export type { SupabaseClientOptions, SupabaseRealtimePayload } from './lib/types';
9
9
  /**
10
10
  * Creates a new Supabase Client.
11
11
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAEvE,cAAc,qBAAqB,CAAA;AACnC,YAAY,EAAE,IAAI,IAAI,QAAQ,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACnF,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,4BAA4B,EAC5B,cAAc,GACf,MAAM,wBAAwB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAC5D,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAExD;;GAEG;AACH,eAAO,MAAM,YAAY,2PASV,MAAM,eACN,MAAM,0GAIpB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAEvE,cAAc,qBAAqB,CAAA;AACnC,YAAY,EAAE,IAAI,IAAI,QAAQ,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACnF,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,4BAA4B,EAC5B,cAAc,GACf,MAAM,wBAAwB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAC5D,YAAY,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAEjF;;GAEG;AACH,eAAO,MAAM,YAAY,2PASV,MAAM,eACN,MAAM,0GAIpB,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { PostgrestQueryBuilder } from '@supabase/postgrest-js';
2
+ import { SupabaseRealtimeClient } from './SupabaseRealtimeClient';
3
+ import { RealtimeClient } from '@supabase/realtime-js';
4
+ import { Fetch, GenericTable, SupabaseEventTypes, SupabaseRealtimePayload } from './types';
5
+ export declare class SupabaseQueryBuilder<Table extends GenericTable> extends PostgrestQueryBuilder<Table> {
6
+ private _subscription;
7
+ private _realtime;
8
+ private _headers;
9
+ private _schema;
10
+ private _table;
11
+ constructor(url: URL, { headers, fetch, realtime, schema, table, }: {
12
+ headers: Record<string, string>;
13
+ realtime: RealtimeClient;
14
+ table: string;
15
+ schema?: string;
16
+ fetch?: Fetch;
17
+ });
18
+ /**
19
+ * Subscribe to realtime changes in your database.
20
+ * @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.
21
+ * @param callback A callback that will handle the payload that is sent whenever your database changes.
22
+ */
23
+ on(event: SupabaseEventTypes, callback: (payload: SupabaseRealtimePayload<any>) => void): SupabaseRealtimeClient;
24
+ }
25
+ //# sourceMappingURL=SupabaseQueryBuilder.d.ts.map
@@ -0,0 +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,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAE1F,qBAAa,oBAAoB,CAAC,KAAK,SAAS,YAAY,CAAE,SAAQ,qBAAqB,CAAC,KAAK,CAAC;IAChG,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,MAAM,CAAQ;gBAGpB,GAAG,EAAE,GAAG,EACR,EACE,OAAY,EACZ,KAAK,EACL,QAAQ,EACR,MAAM,EACN,KAAK,GACN,EAAE;QACD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/B,QAAQ,EAAE,cAAc,CAAA;QACxB,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,KAAK,CAAA;KACd;IAUH;;;;OAIG;IACH,EAAE,CACA,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,CAAC,OAAO,EAAE,uBAAuB,CAAC,GAAG,CAAC,KAAK,IAAI,GACxD,sBAAsB;CAc1B"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SupabaseQueryBuilder = void 0;
4
+ const postgrest_js_1 = require("@supabase/postgrest-js");
5
+ const SupabaseRealtimeClient_1 = require("./SupabaseRealtimeClient");
6
+ class SupabaseQueryBuilder extends postgrest_js_1.PostgrestQueryBuilder {
7
+ constructor(url, { headers = {}, fetch, realtime, schema, table, }) {
8
+ super(new URL(url), { headers, schema, fetch });
9
+ this._subscription = null;
10
+ this._realtime = realtime;
11
+ this._headers = headers;
12
+ this._schema = schema !== null && schema !== void 0 ? schema : 'public';
13
+ this._table = table;
14
+ }
15
+ /**
16
+ * Subscribe to realtime changes in your database.
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.
18
+ * @param callback A callback that will handle the payload that is sent whenever your database changes.
19
+ */
20
+ on(event, callback) {
21
+ if (!this._realtime.isConnected()) {
22
+ this._realtime.connect();
23
+ }
24
+ if (!this._subscription) {
25
+ this._subscription = new SupabaseRealtimeClient_1.SupabaseRealtimeClient(this._realtime, this._headers, this._schema, this._table);
26
+ }
27
+ return this._subscription.on(event, callback);
28
+ }
29
+ }
30
+ exports.SupabaseQueryBuilder = SupabaseQueryBuilder;
31
+ //# sourceMappingURL=SupabaseQueryBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SupabaseQueryBuilder.js","sourceRoot":"","sources":["../../../src/lib/SupabaseQueryBuilder.ts"],"names":[],"mappings":";;;AAAA,yDAA8D;AAC9D,qEAAiE;AAIjE,MAAa,oBAAiD,SAAQ,oCAA4B;IAOhG,YACE,GAAQ,EACR,EACE,OAAO,GAAG,EAAE,EACZ,KAAK,EACL,QAAQ,EACR,MAAM,EACN,KAAK,GAON;QAED,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QAtBzC,kBAAa,GAAkC,IAAI,CAAA;QAwBzD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,QAAQ,CAAA;QACjC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;IACrB,CAAC;IAED;;;;OAIG;IACH,EAAE,CACA,KAAyB,EACzB,QAAyD;QAEzD,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"}
@@ -0,0 +1,19 @@
1
+ import { RealtimeSubscription, RealtimeClient } from '@supabase/realtime-js';
2
+ import { GenericObject, SupabaseEventTypes, SupabaseRealtimePayload } from './types';
3
+ export declare class SupabaseRealtimeClient {
4
+ subscription: RealtimeSubscription;
5
+ constructor(socket: RealtimeClient, headers: GenericObject, schema: string, tableName: string);
6
+ private getPayloadRecords;
7
+ /**
8
+ * The event you want to listen to.
9
+ *
10
+ * @param event The event
11
+ * @param callback A callback function that is called whenever the event occurs.
12
+ */
13
+ on(event: SupabaseEventTypes, callback: (payload: SupabaseRealtimePayload<any>) => void): this;
14
+ /**
15
+ * Enables the subscription.
16
+ */
17
+ subscribe(callback?: Function): RealtimeSubscription;
18
+ }
19
+ //# sourceMappingURL=SupabaseRealtimeClient.d.ts.map
@@ -0,0 +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,aAAa,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAEpF,qBAAa,sBAAsB;IACjC,YAAY,EAAE,oBAAoB,CAAA;gBAEtB,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAY7F,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"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SupabaseRealtimeClient = void 0;
4
+ const realtime_js_1 = require("@supabase/realtime-js");
5
+ class SupabaseRealtimeClient {
6
+ constructor(socket, headers, schema, tableName) {
7
+ const chanParams = {};
8
+ const topic = tableName === '*' ? `realtime:${schema}` : `realtime:${schema}:${tableName}`;
9
+ const userToken = headers['Authorization'].split(' ')[1];
10
+ if (userToken) {
11
+ chanParams['user_token'] = userToken;
12
+ }
13
+ this.subscription = socket.channel(topic, chanParams);
14
+ }
15
+ getPayloadRecords(payload) {
16
+ const records = {
17
+ new: {},
18
+ old: {},
19
+ };
20
+ if (payload.type === 'INSERT' || payload.type === 'UPDATE') {
21
+ records.new = realtime_js_1.Transformers.convertChangeData(payload.columns, payload.record);
22
+ }
23
+ if (payload.type === 'UPDATE' || payload.type === 'DELETE') {
24
+ records.old = realtime_js_1.Transformers.convertChangeData(payload.columns, payload.old_record);
25
+ }
26
+ return records;
27
+ }
28
+ /**
29
+ * The event you want to listen to.
30
+ *
31
+ * @param event The event
32
+ * @param callback A callback function that is called whenever the event occurs.
33
+ */
34
+ on(event, callback) {
35
+ this.subscription.on(event, (payload) => {
36
+ let enrichedPayload = {
37
+ schema: payload.schema,
38
+ table: payload.table,
39
+ commit_timestamp: payload.commit_timestamp,
40
+ eventType: payload.type,
41
+ new: {},
42
+ old: {},
43
+ errors: payload.errors,
44
+ };
45
+ enrichedPayload = Object.assign(Object.assign({}, enrichedPayload), this.getPayloadRecords(payload));
46
+ callback(enrichedPayload);
47
+ });
48
+ return this;
49
+ }
50
+ /**
51
+ * Enables the subscription.
52
+ */
53
+ subscribe(callback = () => { }) {
54
+ this.subscription.onError((e) => callback('SUBSCRIPTION_ERROR', e));
55
+ this.subscription.onClose(() => callback('CLOSED'));
56
+ this.subscription
57
+ .subscribe()
58
+ .receive('ok', () => callback('SUBSCRIBED'))
59
+ .receive('error', (e) => callback('SUBSCRIPTION_ERROR', e))
60
+ .receive('timeout', () => callback('RETRYING_AFTER_TIMEOUT'));
61
+ return this.subscription;
62
+ }
63
+ }
64
+ exports.SupabaseRealtimeClient = SupabaseRealtimeClient;
65
+ //# sourceMappingURL=SupabaseRealtimeClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SupabaseRealtimeClient.js","sourceRoot":"","sources":["../../../src/lib/SupabaseRealtimeClient.ts"],"names":[],"mappings":";;;AAAA,uDAA0F;AAG1F,MAAa,sBAAsB;IAGjC,YAAY,MAAsB,EAAE,OAAsB,EAAE,MAAc,EAAE,SAAiB;QAC3F,MAAM,UAAU,GAAkB,EAAE,CAAA;QACpC,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,CAAyB,CAAA;IAC/E,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;AAtED,wDAsEC"}
@@ -1,9 +1,9 @@
1
1
  declare type Fetch = typeof fetch;
2
- export declare const resolveFetch: (customFetch?: typeof fetch | undefined) => Fetch;
2
+ export declare const resolveFetch: (customFetch?: Fetch) => Fetch;
3
3
  export declare const resolveHeadersConstructor: () => {
4
4
  new (init?: HeadersInit | undefined): Headers;
5
5
  prototype: Headers;
6
6
  };
7
- export declare const fetchWithAuth: (supabaseKey: string, getAccessToken: () => Promise<string | null>, customFetch?: typeof fetch | undefined) => Fetch;
7
+ export declare const fetchWithAuth: (supabaseKey: string, getAccessToken: () => Promise<string | null>, customFetch?: Fetch) => Fetch;
8
8
  export {};
9
9
  //# sourceMappingURL=fetch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/lib/fetch.ts"],"names":[],"mappings":"AAEA,aAAK,KAAK,GAAG,OAAO,KAAK,CAAA;AAEzB,eAAO,MAAM,YAAY,8CAA0B,KAUlD,CAAA;AAED,eAAO,MAAM,yBAAyB;;;CAMrC,CAAA;AAED,eAAO,MAAM,aAAa,gBACX,MAAM,kBACH,MAAM,QAAQ,MAAM,GAAG,IAAI,CAAC,6CAE3C,KAkBF,CAAA"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/lib/fetch.ts"],"names":[],"mappings":"AAEA,aAAK,KAAK,GAAG,OAAO,KAAK,CAAA;AAEzB,eAAO,MAAM,YAAY,iBAAkB,KAAK,KAAG,KAUlD,CAAA;AAED,eAAO,MAAM,yBAAyB;;;CAMrC,CAAA;AAED,eAAO,MAAM,aAAa,gBACX,MAAM,kBACH,MAAM,QAAQ,MAAM,GAAG,IAAI,CAAC,gBAC9B,KAAK,KAClB,KAkBF,CAAA"}
@@ -3,6 +3,9 @@ import { RealtimeClientOptions } from '@supabase/realtime-js';
3
3
  declare type GoTrueClientOptions = ConstructorParameters<typeof GoTrueClient>[0];
4
4
  export interface SupabaseAuthClientOptions extends GoTrueClientOptions {
5
5
  }
6
+ export declare type GenericObject = {
7
+ [key: string]: any;
8
+ };
6
9
  export declare type Fetch = typeof fetch;
7
10
  export declare type SupabaseClientOptions<SchemaName> = {
8
11
  /**
@@ -32,10 +35,6 @@ export declare type SupabaseClientOptions<SchemaName> = {
32
35
  * A storage provider. Used to store the logged in session.
33
36
  */
34
37
  storage?: SupabaseAuthClientOptions['storage'];
35
- /**
36
- * Options passed to the gotrue-js instance
37
- */
38
- cookieOptions?: SupabaseAuthClientOptions['cookieOptions'];
39
38
  };
40
39
  /**
41
40
  * Options passed to the realtime-js instance
@@ -65,5 +64,17 @@ export declare type GenericSchema = {
65
64
  Tables: Record<string, GenericTable>;
66
65
  Functions: Record<string, GenericFunction>;
67
66
  };
67
+ export declare type SupabaseRealtimePayload<T> = {
68
+ commit_timestamp: string;
69
+ eventType: 'INSERT' | 'UPDATE' | 'DELETE';
70
+ schema: string;
71
+ table: string;
72
+ /** The new record. Present for 'INSERT' and 'UPDATE' events. */
73
+ new: T;
74
+ /** The previous record. Present for 'UPDATE' and 'DELETE' events. */
75
+ old: T;
76
+ errors: string[] | null;
77
+ };
78
+ export declare type SupabaseEventTypes = 'INSERT' | 'UPDATE' | 'DELETE' | '*';
68
79
  export {};
69
80
  //# sourceMappingURL=types.d.ts.map
@@ -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,OAAO,CAAC,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAA;QAC9C;;WAEG;QACH,aAAa,CAAC,EAAE,yBAAyB,CAAC,eAAe,CAAC,CAAA;KAC3D,CAAA;IACD;;OAEG;IACH,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IAChC,MAAM,CAAC,EAAE;QACP;;WAEG;QACH,KAAK,CAAC,EAAE,KAAK,CAAA;QACb;;WAEG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACjC,CAAA;CACF,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
+ {"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,aAAa,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAA;AAElD,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,OAAO,CAAC,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAA;KAC/C,CAAA;IACD;;OAEG;IACH,QAAQ,CAAC,EAAE,qBAAqB,CAAA;IAChC,MAAM,CAAC,EAAE;QACP;;WAEG;QACH,KAAK,CAAC,EAAE,KAAK,CAAA;QACb;;WAEG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACjC,CAAA;CACF,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;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.36.0-next.22";
1
+ export declare const version = "1.36.0-next.25";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = '1.36.0-next.22';
4
+ exports.version = '1.36.0-next.25';
5
5
  //# sourceMappingURL=version.js.map