@motherbase/client 1.2.4 → 1.2.7

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 (46) hide show
  1. package/README.md +95 -42
  2. package/dist/admin.d.ts +81 -0
  3. package/dist/admin.d.ts.map +1 -0
  4. package/dist/admin.js +85 -0
  5. package/dist/admin.js.map +1 -0
  6. package/dist/auth.d.ts +35 -5
  7. package/dist/auth.d.ts.map +1 -1
  8. package/dist/auth.js +52 -17
  9. package/dist/auth.js.map +1 -1
  10. package/dist/channel.d.ts +15 -0
  11. package/dist/channel.d.ts.map +1 -1
  12. package/dist/channel.js +53 -19
  13. package/dist/channel.js.map +1 -1
  14. package/dist/cookie.d.ts +3 -1
  15. package/dist/cookie.d.ts.map +1 -1
  16. package/dist/cookie.js +14 -2
  17. package/dist/cookie.js.map +1 -1
  18. package/dist/database.d.ts +169 -0
  19. package/dist/database.d.ts.map +1 -0
  20. package/dist/database.js +2 -0
  21. package/dist/database.js.map +1 -0
  22. package/dist/http.d.ts +11 -0
  23. package/dist/http.d.ts.map +1 -1
  24. package/dist/http.js +10 -1
  25. package/dist/http.js.map +1 -1
  26. package/dist/index.d.ts +53 -6
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +68 -2
  29. package/dist/index.js.map +1 -1
  30. package/dist/mfa.d.ts +109 -0
  31. package/dist/mfa.d.ts.map +1 -0
  32. package/dist/mfa.js +134 -0
  33. package/dist/mfa.js.map +1 -0
  34. package/dist/postgrest.d.ts +207 -32
  35. package/dist/postgrest.d.ts.map +1 -1
  36. package/dist/postgrest.js +349 -54
  37. package/dist/postgrest.js.map +1 -1
  38. package/dist/realtime.d.ts +15 -3
  39. package/dist/realtime.d.ts.map +1 -1
  40. package/dist/realtime.js +24 -1
  41. package/dist/realtime.js.map +1 -1
  42. package/dist/storage.d.ts +33 -16
  43. package/dist/storage.d.ts.map +1 -1
  44. package/dist/storage.js +70 -21
  45. package/dist/storage.js.map +1 -1
  46. package/package.json +52 -51
package/dist/postgrest.js CHANGED
@@ -1,17 +1,89 @@
1
1
  import { toError } from './http.js';
2
2
  import { contractPath } from '@motherbase/contracts';
3
- function encodeValue(value) {
3
+ // ── value encoding ───────────────────────────────────────────────────────────
4
+ /**
5
+ * Characters that end a token in the PostgREST grammar (or in a Postgres array
6
+ * literal). A string value carrying any of them has to be quoted or the server
7
+ * reads a different filter than the caller wrote.
8
+ */
9
+ const NEEDS_QUOTING = /[,.:()"\\{}\s]/;
10
+ function quoteLiteral(value) {
11
+ return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`;
12
+ }
13
+ /** One scalar value: quoted only when it has to be. */
14
+ export function encodeLiteral(value) {
4
15
  if (value === null)
5
16
  return 'null';
6
- return String(value);
17
+ if (typeof value !== 'string')
18
+ return String(value);
19
+ if (value === '' || NEEDS_QUOTING.test(value))
20
+ return quoteLiteral(value);
21
+ return value;
7
22
  }
23
+ /** `in.(a,"b,c")` and the `(all)` / `(any)` modifier lists. */
8
24
  function encodeList(values) {
9
- return `(${values.map(encodeValue).join(',')})`;
25
+ return `(${values.map(encodeLiteral).join(',')})`;
26
+ }
27
+ /** A Postgres array literal: `{a,"b,c"}`. Used by `cs`, `cd`, `ov` and the like modifiers. */
28
+ function encodeArrayLiteral(values) {
29
+ return `{${values.map(encodeLiteral).join(',')}}`;
30
+ }
31
+ /**
32
+ * The operand of `cs` / `cd` / `ov`, which is polymorphic in PostgREST:
33
+ * an array column takes `{a,b}`, a range column takes its own literal
34
+ * (`[2000-01-01,2000-01-31]`) and a jsonb column takes JSON. A string is passed
35
+ * through untouched because it is already one of the last two.
36
+ */
37
+ function encodeArrayOperand(value) {
38
+ if (typeof value === 'string')
39
+ return value;
40
+ if (Array.isArray(value))
41
+ return encodeArrayLiteral(value);
42
+ return JSON.stringify(value);
43
+ }
44
+ /** Values handed to `not()` / `filter()`: strings verbatim, arrays as a list. */
45
+ function encodeRawOperand(value) {
46
+ if (Array.isArray(value))
47
+ return encodeList(value);
48
+ if (value === null)
49
+ return 'null';
50
+ return String(value);
51
+ }
52
+ function isValueOf(value) {
53
+ if (value === null)
54
+ return 'null';
55
+ if (value === true)
56
+ return 'true';
57
+ if (value === false)
58
+ return 'false';
59
+ if (value === 'null' || value === 'true' || value === 'false' || value === 'unknown')
60
+ return value;
61
+ // Programmer misuse, not an API error: fail loudly rather than emit a filter
62
+ // the server will reject with an opaque 400.
63
+ throw new TypeError(`is() accepts null, true, false or unknown, received ${JSON.stringify(value)}`);
10
64
  }
65
+ function referenced(options) {
66
+ return options?.referencedTable ?? options?.foreignTable ?? '';
67
+ }
68
+ function scopedKey(prefix, name) {
69
+ return prefix ? `${prefix}.${name}` : name;
70
+ }
71
+ /** `0-9/57` -> 57. An unknown total (a star after the slash) and a missing header both give null. */
72
+ function parseContentRange(header) {
73
+ if (!header)
74
+ return null;
75
+ const total = header.split('/')[1];
76
+ if (!total || total === '*')
77
+ return null;
78
+ const parsed = Number(total);
79
+ return Number.isFinite(parsed) ? parsed : null;
80
+ }
81
+ // ── the builder ──────────────────────────────────────────────────────────────
11
82
  /**
12
83
  * PostgREST-style, chainable, thenable query builder mapping onto the backend's
13
- * `/rest/v1/:model` query-param dialect. Awaiting it resolves to `{ data, error }`
14
- * and never rejects for expected API errors (only for programmer misuse).
84
+ * `/rest/v1/:model` query-param dialect. Awaiting it resolves to
85
+ * `{ data, error, count }` and never rejects for expected API errors (only for
86
+ * programmer misuse).
15
87
  */
16
88
  export class PostgrestQueryBuilder {
17
89
  constructor(http, model) {
@@ -19,94 +91,270 @@ export class PostgrestQueryBuilder {
19
91
  this.model = model;
20
92
  this.method = 'GET';
21
93
  this.columns = '*';
94
+ /**
95
+ * Repeated filters on one column must all survive: `?price=gt.10&price=lt.20`
96
+ * is two conditions ANDed together, which is why every filter is `append`ed
97
+ * and never `set`. Using `set` here (as this builder once did) silently
98
+ * dropped the first of the two.
99
+ */
22
100
  this.filters = new URLSearchParams();
23
- this.orderParts = [];
101
+ /** Reserved params that are replaced rather than repeated (`columns`, `on_conflict`). */
102
+ this.extras = new Map();
103
+ /** Keyed by referenced table (`''` for the base relation). */
104
+ this.orderParts = new Map();
105
+ this.limits = new Map();
106
+ this.offsets = new Map();
107
+ this.prefer = [];
108
+ this.responseKind = 'json';
109
+ this.headOnly = false;
24
110
  this.rowMode = 'many';
25
111
  }
26
112
  // --- verbs -------------------------------------------------------------
27
- select(columns = '*') {
28
- if (this.method === 'GET' && this.body === undefined)
29
- this.method = 'GET';
113
+ /**
114
+ * Choose the columns, and optionally ask for a row count.
115
+ *
116
+ * After a write, `.select()` is the supabase-js way of asking for the rows
117
+ * back, so it also sends `Prefer: return=representation`.
118
+ */
119
+ select(columns = '*', options = {}) {
30
120
  this.columns = columns;
121
+ if (this.method !== 'GET' && this.method !== 'HEAD')
122
+ this.prefer.push('return=representation');
123
+ if (options.count)
124
+ this.countOption = options.count;
125
+ if (options.head) {
126
+ this.headOnly = true;
127
+ if (this.method === 'GET')
128
+ this.method = 'HEAD';
129
+ }
31
130
  return this;
32
131
  }
33
- insert(values) {
132
+ insert(values, options = {}) {
34
133
  this.method = 'POST';
35
134
  this.body = values;
135
+ this.applyColumns(values);
136
+ if (options.count)
137
+ this.countOption = options.count;
138
+ if (options.defaultToNull === false)
139
+ this.prefer.push('missing=default');
36
140
  return this;
37
141
  }
38
142
  /**
39
- * Emulated upsert. The backend has no native upsert, so this issues an insert.
40
- * Documented as best-effort in the README compatibility matrix.
143
+ * `INSERT .. ON CONFLICT DO UPDATE`. The conflict target defaults to the
144
+ * primary key server side; `onConflict` names another unique constraint.
41
145
  */
42
- upsert(values) {
146
+ upsert(values, options = {}) {
43
147
  this.method = 'POST';
44
148
  this.body = values;
149
+ this.applyColumns(values);
150
+ this.prefer.push(`resolution=${options.ignoreDuplicates ? 'ignore' : 'merge'}-duplicates`);
151
+ if (options.onConflict !== undefined)
152
+ this.extras.set('on_conflict', options.onConflict);
153
+ if (options.count)
154
+ this.countOption = options.count;
155
+ if (options.defaultToNull === false)
156
+ this.prefer.push('missing=default');
45
157
  return this;
46
158
  }
47
- update(values) {
159
+ update(values, options = {}) {
48
160
  this.method = 'PATCH';
49
161
  this.body = values;
162
+ if (options.count)
163
+ this.countOption = options.count;
50
164
  return this;
51
165
  }
52
- delete() {
166
+ delete(options = {}) {
53
167
  this.method = 'DELETE';
168
+ if (options.count)
169
+ this.countOption = options.count;
54
170
  return this;
55
171
  }
172
+ /**
173
+ * A bulk write states its column set explicitly, so a key missing from one
174
+ * row is still written (as NULL, or as the column default under
175
+ * `missing=default`) instead of being inferred from the first row alone.
176
+ */
177
+ applyColumns(values) {
178
+ if (!Array.isArray(values))
179
+ return;
180
+ const seen = new Set();
181
+ for (const row of values) {
182
+ if (row && typeof row === 'object')
183
+ for (const key of Object.keys(row))
184
+ seen.add(key);
185
+ }
186
+ if (seen.size) {
187
+ this.extras.set('columns', Array.from(seen, column => `"${column}"`).join(','));
188
+ }
189
+ }
56
190
  // --- filters -----------------------------------------------------------
57
191
  eq(column, value) {
58
- this.filters.set(column, `eq.${encodeValue(value)}`);
59
- return this;
192
+ return this.push(column, `eq.${encodeLiteral(value)}`);
60
193
  }
61
194
  neq(column, value) {
62
- this.filters.set(column, `neq.${encodeValue(value)}`);
63
- return this;
195
+ return this.push(column, `neq.${encodeLiteral(value)}`);
64
196
  }
65
197
  gt(column, value) {
66
- this.filters.set(column, `gt.${encodeValue(value)}`);
67
- return this;
198
+ return this.push(column, `gt.${encodeLiteral(value)}`);
68
199
  }
69
200
  gte(column, value) {
70
- this.filters.set(column, `gte.${encodeValue(value)}`);
71
- return this;
201
+ return this.push(column, `gte.${encodeLiteral(value)}`);
72
202
  }
73
203
  lt(column, value) {
74
- this.filters.set(column, `lt.${encodeValue(value)}`);
75
- return this;
204
+ return this.push(column, `lt.${encodeLiteral(value)}`);
76
205
  }
77
206
  lte(column, value) {
78
- this.filters.set(column, `lte.${encodeValue(value)}`);
79
- return this;
207
+ return this.push(column, `lte.${encodeLiteral(value)}`);
80
208
  }
209
+ /** Case-sensitive LIKE. `*` is PostgREST's URL-friendly `%`. */
81
210
  like(column, pattern) {
82
- this.filters.set(column, `like.${pattern}`);
83
- return this;
211
+ return this.push(column, `like.${encodeLiteral(pattern)}`);
84
212
  }
85
213
  ilike(column, pattern) {
86
- this.filters.set(column, `ilike.${pattern}`);
87
- return this;
214
+ return this.push(column, `ilike.${encodeLiteral(pattern)}`);
215
+ }
216
+ likeAllOf(column, patterns) {
217
+ return this.push(column, `like(all).${encodeArrayLiteral(patterns)}`);
218
+ }
219
+ likeAnyOf(column, patterns) {
220
+ return this.push(column, `like(any).${encodeArrayLiteral(patterns)}`);
221
+ }
222
+ ilikeAllOf(column, patterns) {
223
+ return this.push(column, `ilike(all).${encodeArrayLiteral(patterns)}`);
224
+ }
225
+ ilikeAnyOf(column, patterns) {
226
+ return this.push(column, `ilike(any).${encodeArrayLiteral(patterns)}`);
88
227
  }
89
228
  in(column, values) {
90
- this.filters.set(column, `in.${encodeList(values)}`);
91
- return this;
229
+ return this.push(column, `in.${encodeList(values)}`);
92
230
  }
93
231
  is(column, value) {
94
- this.filters.set(column, `is.${value === null ? 'null' : String(value)}`);
232
+ return this.push(column, `is.${isValueOf(value)}`);
233
+ }
234
+ /** Every key equal to its value, ANDed together. */
235
+ match(query) {
236
+ for (const [column, value] of Object.entries(query))
237
+ this.eq(column, value);
238
+ return this;
239
+ }
240
+ /**
241
+ * Negate any operator: `not('status', 'eq', 'live')` emits
242
+ * `status=not.eq.live`. The value is passed through verbatim for a string, so
243
+ * composite operands (`not('id', 'in', '(1,2)')`) reach the server as written.
244
+ */
245
+ not(column, operator, value) {
246
+ return this.push(column, `not.${operator}.${encodeRawOperand(value)}`);
247
+ }
248
+ /**
249
+ * The escape hatch: any operator, including the ones with no dedicated method
250
+ * (`match`, `imatch`, `isdistinct`) and the modifier forms (`like(any)`).
251
+ */
252
+ filter(column, operator, value) {
253
+ return this.push(column, `${operator}.${encodeRawOperand(value)}`);
254
+ }
255
+ /**
256
+ * A disjunction, written in PostgREST's own syntax and nestable:
257
+ * `or('status.eq.live,and(price.gt.10,price.lt.20)')`.
258
+ */
259
+ or(filters, options = {}) {
260
+ return this.push(scopedKey(referenced(options), 'or'), `(${filters})`);
261
+ }
262
+ /** Full-text search. `type` picks the tsquery parser, `config` the dictionary. */
263
+ textSearch(column, query, options = {}) {
264
+ const prefix = options.type === 'plain'
265
+ ? 'pl'
266
+ : options.type === 'phrase'
267
+ ? 'ph'
268
+ : options.type === 'websearch'
269
+ ? 'w'
270
+ : '';
271
+ const config = options.config === undefined ? '' : `(${options.config})`;
272
+ return this.push(column, `${prefix}fts${config}.${encodeLiteral(query)}`);
273
+ }
274
+ /** `@>`: the column contains the operand (array, range or jsonb). */
275
+ contains(column, value) {
276
+ return this.push(column, `cs.${encodeArrayOperand(value)}`);
277
+ }
278
+ /** `<@`: the column is contained by the operand. */
279
+ containedBy(column, value) {
280
+ return this.push(column, `cd.${encodeArrayOperand(value)}`);
281
+ }
282
+ /** `&&`: the column and the operand have an element (or a point) in common. */
283
+ overlaps(column, value) {
284
+ return this.push(column, `ov.${encodeArrayOperand(value)}`);
285
+ }
286
+ /** `>>`: strictly right of the range. */
287
+ rangeGt(column, range) {
288
+ return this.push(column, `sr.${range}`);
289
+ }
290
+ /** `&>`: does not extend to the left of the range. */
291
+ rangeGte(column, range) {
292
+ return this.push(column, `nxl.${range}`);
293
+ }
294
+ /** `<<`: strictly left of the range. */
295
+ rangeLt(column, range) {
296
+ return this.push(column, `sl.${range}`);
297
+ }
298
+ /** `&<`: does not extend to the right of the range. */
299
+ rangeLte(column, range) {
300
+ return this.push(column, `nxr.${range}`);
301
+ }
302
+ /** `-|-`: adjacent to the range. */
303
+ rangeAdjacent(column, range) {
304
+ return this.push(column, `adj.${range}`);
305
+ }
306
+ push(key, value) {
307
+ this.filters.append(key, value);
95
308
  return this;
96
309
  }
97
310
  // --- modifiers ---------------------------------------------------------
98
311
  order(column, options = {}) {
99
- this.orderParts.push(`${column}.${options.ascending === false ? 'desc' : 'asc'}`);
312
+ const direction = options.ascending === false ? 'desc' : 'asc';
313
+ const nulls = options.nullsFirst === undefined ? '' : options.nullsFirst ? '.nullsfirst' : '.nullslast';
314
+ const prefix = referenced(options);
315
+ const parts = this.orderParts.get(prefix) ?? [];
316
+ parts.push(`${column}.${direction}${nulls}`);
317
+ this.orderParts.set(prefix, parts);
318
+ return this;
319
+ }
320
+ limit(count, options = {}) {
321
+ this.limits.set(referenced(options), count);
322
+ return this;
323
+ }
324
+ /** Inclusive range -> offset/limit. `range(0, 9)` fetches 10 rows from offset 0. */
325
+ range(from, to, options = {}) {
326
+ const prefix = referenced(options);
327
+ this.offsets.set(prefix, from);
328
+ this.limits.set(prefix, to - from + 1);
100
329
  return this;
101
330
  }
102
- limit(count) {
103
- this.limitValue = count;
331
+ /** Cancel the in-flight request when the signal aborts. */
332
+ abortSignal(signal) {
333
+ this.signal = signal;
104
334
  return this;
105
335
  }
106
- /** Inclusive range → offset/limit. `range(0, 9)` fetches 10 rows from offset 0. */
107
- range(from, to) {
108
- this.offsetValue = from;
109
- this.limitValue = to - from + 1;
336
+ /**
337
+ * Re-type the rows. Purely a compile-time cast, for cases the generated
338
+ * `Database` cannot express (a computed column, an embedded shape).
339
+ */
340
+ returns() {
341
+ return this;
342
+ }
343
+ /** Ask for `text/csv` instead of JSON. The result resolves to a string. */
344
+ csv() {
345
+ this.accept = 'text/csv';
346
+ this.responseKind = 'text';
347
+ return this;
348
+ }
349
+ /** Ask the server for the query plan. Admin-only, and off by default. */
350
+ explain(options = {}) {
351
+ const format = options.format ?? 'text';
352
+ const flags = ['analyze', 'verbose', 'settings', 'buffers', 'wal']
353
+ .filter(flag => options[flag])
354
+ .join('|');
355
+ const forMediatype = this.accept ?? 'application/json';
356
+ this.accept = `application/vnd.pgrst.plan+${format}; for="${forMediatype}"; options=${flags};`;
357
+ this.responseKind = format === 'json' ? 'text-json' : 'text';
110
358
  return this;
111
359
  }
112
360
  single() {
@@ -123,22 +371,61 @@ export class PostgrestQueryBuilder {
123
371
  const params = new URLSearchParams();
124
372
  if (this.columns && this.columns !== '*')
125
373
  params.set('select', this.columns);
126
- this.filters.forEach((value, key) => params.set(key, value));
127
- if (this.orderParts.length)
128
- params.set('order', this.orderParts.join(','));
129
- if (typeof this.limitValue === 'number')
130
- params.set('limit', String(this.limitValue));
131
- if (typeof this.offsetValue === 'number')
132
- params.set('offset', String(this.offsetValue));
374
+ for (const [key, value] of this.extras)
375
+ params.append(key, value);
376
+ // `append`, never `set`: two filters on one column are two conditions.
377
+ this.filters.forEach((value, key) => params.append(key, value));
378
+ for (const [prefix, parts] of this.orderParts) {
379
+ if (parts.length)
380
+ params.append(scopedKey(prefix, 'order'), parts.join(','));
381
+ }
382
+ for (const [prefix, value] of this.limits) {
383
+ params.append(scopedKey(prefix, 'limit'), String(value));
384
+ }
385
+ for (const [prefix, value] of this.offsets) {
386
+ params.append(scopedKey(prefix, 'offset'), String(value));
387
+ }
133
388
  const query = params.toString();
134
389
  return `${contractPath.rest(this.model)}${query ? `?${query}` : ''}`;
135
390
  }
391
+ /** The headers this builder sends. Exposed for tests alongside `toPath()`. */
392
+ toHeaders() {
393
+ const headers = {};
394
+ const prefer = [...this.prefer];
395
+ if (this.countOption)
396
+ prefer.push(`count=${this.countOption}`);
397
+ if (prefer.length)
398
+ headers['Prefer'] = prefer.join(',');
399
+ if (this.accept)
400
+ headers['Accept'] = this.accept;
401
+ return headers;
402
+ }
136
403
  async execute() {
404
+ const path = this.toPath();
405
+ const headers = this.toHeaders();
137
406
  try {
138
- const rows = await this.http.request(this.toPath(), {
407
+ if (this.responseKind !== 'json') {
408
+ const res = await this.http.requestRaw(path, {
409
+ method: this.method,
410
+ body: this.body,
411
+ headers,
412
+ signal: this.signal,
413
+ });
414
+ const text = await res.text();
415
+ const data = this.responseKind === 'text-json' ? safeJson(text) : text;
416
+ return { data, error: null, count: parseContentRange(res.headers.get('content-range')) };
417
+ }
418
+ const result = await this.http.requestWithHeaders(path, {
139
419
  method: this.method,
140
420
  body: this.body,
421
+ headers,
422
+ signal: this.signal,
141
423
  });
424
+ const count = parseContentRange(result.headers.get('content-range'));
425
+ // A HEAD request has no body by definition: the count is the whole answer.
426
+ if (this.headOnly)
427
+ return { data: null, error: null, count };
428
+ const rows = result.data;
142
429
  const list = Array.isArray(rows) ? rows : rows == null ? [] : [rows];
143
430
  if (this.rowMode === 'single') {
144
431
  if (list.length !== 1) {
@@ -146,21 +433,29 @@ export class PostgrestQueryBuilder {
146
433
  message: 'JSON object requested, multiple (or no) rows returned',
147
434
  code: 'PGRST116',
148
435
  };
149
- return { data: null, error };
436
+ return { data: null, error, count };
150
437
  }
151
- return { data: list[0], error: null };
438
+ return { data: list[0], error: null, count };
152
439
  }
153
440
  if (this.rowMode === 'maybeSingle') {
154
- return { data: list.length ? list[0] : null, error: null };
441
+ return { data: list.length ? list[0] : null, error: null, count };
155
442
  }
156
- return { data: list, error: null };
443
+ return { data: list, error: null, count };
157
444
  }
158
445
  catch (err) {
159
- return { data: null, error: toError(err) };
446
+ return { data: null, error: toError(err), count: null };
160
447
  }
161
448
  }
162
449
  then(onfulfilled, onrejected) {
163
450
  return this.execute().then(onfulfilled, onrejected);
164
451
  }
165
452
  }
453
+ function safeJson(text) {
454
+ try {
455
+ return JSON.parse(text);
456
+ }
457
+ catch {
458
+ return text;
459
+ }
460
+ }
166
461
  //# sourceMappingURL=postgrest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"postgrest.js","sourceRoot":"","sources":["../src/postgrest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgrest.js","sourceRoot":"","sources":["../src/postgrest.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,12 @@ export interface SocketLike {
30
30
  connected: boolean;
31
31
  }
32
32
  export type IoFactory = (url: string, opts: Record<string, unknown>) => SocketLike;
33
+ /** What RealtimeModule needs from a RealtimeChannel (avoids a circular import). */
34
+ export interface ChannelHandle {
35
+ _receive(envelope: RealtimeTopicEnvelope): void;
36
+ /** Called after a reconnect replayed (or failed to replay) this topic's join. */
37
+ _rejoined?(ok: boolean): void;
38
+ }
33
39
  /**
34
40
  * Lazy wrapper over socket.io-client. The dependency is optional: it is only
35
41
  * imported when `connect()` is called, so apps that never use realtime do not
@@ -48,6 +54,8 @@ export declare class RealtimeModule {
48
54
  private readonly tableSubscriptionRefs;
49
55
  private pollerSeq;
50
56
  private readonly channelsByTopic;
57
+ /** Topics joined on the current socket, replayed as-is after a reconnect. */
58
+ private readonly joinedTopics;
51
59
  private topicRouterBound;
52
60
  constructor(baseUrl: string, store: SessionStore, fetchImpl?: typeof fetch,
53
61
  /** Inject a socket factory (tests / custom transports). Falls back to socket.io-client. */
@@ -78,9 +86,7 @@ export declare class RealtimeModule {
78
86
  watchTable<T>(model: string, cb: (event: RealtimeWatchEvent<T>) => void, options?: RealtimeWatchOptions): () => void;
79
87
  disconnect(): void;
80
88
  /** Register a channel so incoming rt:msg envelopes for its topic are routed to it. */
81
- registerChannel(topic: string, channel: {
82
- _receive(env: RealtimeTopicEnvelope): void;
83
- }): void;
89
+ registerChannel(topic: string, channel: ChannelHandle): void;
84
90
  unregisterChannel(topic: string): void;
85
91
  /** Emit rt:join and resolve the server ack (or a timeout/error ack). */
86
92
  joinTopic(topic: string, config: RealtimeJoinConfig, timeoutMs?: number): Promise<RealtimeJoinAck>;
@@ -92,6 +98,12 @@ export declare class RealtimeModule {
92
98
  private retainTableSubscription;
93
99
  private releaseTableSubscription;
94
100
  private resubscribeTables;
101
+ /**
102
+ * Replay every joined topic on a fresh socket. The server keeps topic state on
103
+ * the socket, so without this a reconnected channel still reports SUBSCRIBED
104
+ * and receives nothing at all.
105
+ */
106
+ private rejoinTopics;
95
107
  private bindSocketStatus;
96
108
  private waitForConnect;
97
109
  private startPolling;
@@ -1 +1 @@
1
- {"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC9B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,YAAY,GACZ,WAAW,GACX,cAAc,GACd,SAAS,GACT,cAAc,GACd,OAAO,CAAC;AACZ,MAAM,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AAExF,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,6FAA6F;AAC7F,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAC5B;IAAE,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,CAAC,CAAA;CAAE,GACzE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,CAAC,EAAE,CAAA;CAAE,CAAC;AAEvD,+DAA+D;AAC/D,MAAM,WAAW,UAAU;IACzB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IAC1D,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IAC5D,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC9C,UAAU,IAAI,IAAI,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC;AAOnF;;;;GAIG;AACH,qBAAa,cAAc;IAWvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,2FAA2F;IAC3F,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAd7B,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IACrE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA6B;IACnE,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqE;IACrG,OAAO,CAAC,gBAAgB,CAAS;gBAGd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,YAAY,EACnB,SAAS,GAAE,OAAO,KAA0C;IAC7E,2FAA2F;IAC1E,SAAS,CAAC,EAAE,SAAS,YAAA;IAGxC,uCAAuC;IACvC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,SAAS,IAAI,cAAc;IAI3B,cAAc,CAAC,QAAQ,EAAE,sBAAsB,GAAG,MAAM,IAAI;IAMtD,OAAO,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAuClE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI;IAIzD,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI;IAI3D,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI7C;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,CAAC,EACV,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,IAAI,EAC1C,OAAO,GAAE,oBAAyB,GACjC,MAAM,IAAI;IAwBb,UAAU,IAAI,IAAI;IAQlB,sFAAsF;IACtF,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI;IAK7F,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAItC,wEAAwE;IACxE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,SAAS,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC;IAmBlG,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI/B,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAI/F,mFAAmF;IACnF,gBAAgB,CACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,wBAAwB,EAC9B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,EAChB,SAAS,SAAS,GACjB,OAAO,CAAC,IAAI,GAAG,WAAW,GAAG,OAAO,CAAC;IAmBxC,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,cAAc;IA0DtB,OAAO,CAAC,YAAY;IAiCpB,OAAO,CAAC,WAAW;YAQL,SAAS;IAUvB,OAAO,CAAC,SAAS;CAIlB"}
1
+ {"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"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"}