@supabase/realtime-js 1.8.0-next.13 → 1.8.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.
Files changed (40) hide show
  1. package/dist/main/RealtimeChannel.d.ts +32 -7
  2. package/dist/main/RealtimeChannel.d.ts.map +1 -1
  3. package/dist/main/RealtimeChannel.js +202 -51
  4. package/dist/main/RealtimeChannel.js.map +1 -1
  5. package/dist/main/RealtimeClient.d.ts +4 -7
  6. package/dist/main/RealtimeClient.d.ts.map +1 -1
  7. package/dist/main/RealtimeClient.js +39 -29
  8. package/dist/main/RealtimeClient.js.map +1 -1
  9. package/dist/main/RealtimePresence.d.ts +1 -1
  10. package/dist/main/RealtimePresence.d.ts.map +1 -1
  11. package/dist/main/RealtimePresence.js +19 -0
  12. package/dist/main/RealtimePresence.js.map +1 -1
  13. package/dist/main/index.js +5 -1
  14. package/dist/main/index.js.map +1 -1
  15. package/dist/main/lib/push.js.map +1 -1
  16. package/dist/main/lib/transformers.js +24 -16
  17. package/dist/main/lib/transformers.js.map +1 -1
  18. package/dist/main/lib/version.d.ts +1 -1
  19. package/dist/main/lib/version.js +1 -1
  20. package/dist/module/RealtimeChannel.d.ts +32 -7
  21. package/dist/module/RealtimeChannel.d.ts.map +1 -1
  22. package/dist/module/RealtimeChannel.js +179 -51
  23. package/dist/module/RealtimeChannel.js.map +1 -1
  24. package/dist/module/RealtimeClient.d.ts +4 -7
  25. package/dist/module/RealtimeClient.d.ts.map +1 -1
  26. package/dist/module/RealtimeClient.js +39 -29
  27. package/dist/module/RealtimeClient.js.map +1 -1
  28. package/dist/module/RealtimePresence.d.ts +1 -1
  29. package/dist/module/RealtimePresence.d.ts.map +1 -1
  30. package/dist/module/RealtimePresence.js +19 -0
  31. package/dist/module/RealtimePresence.js.map +1 -1
  32. package/dist/module/lib/push.js.map +1 -1
  33. package/dist/module/lib/transformers.js.map +1 -1
  34. package/dist/module/lib/version.d.ts +1 -1
  35. package/dist/module/lib/version.js +1 -1
  36. package/package.json +2 -2
  37. package/src/RealtimeChannel.ts +250 -54
  38. package/src/RealtimeClient.ts +42 -30
  39. package/src/RealtimePresence.ts +23 -1
  40. package/src/lib/version.ts +1 -1
@@ -2,14 +2,23 @@ import { CHANNEL_STATES } from './lib/constants';
2
2
  import Push from './lib/push';
3
3
  import RealtimeClient from './RealtimeClient';
4
4
  import Timer from './lib/timer';
5
- import RealtimePresence from './RealtimePresence';
5
+ import RealtimePresence, { PresenceState } from './RealtimePresence';
6
6
  export default class RealtimeChannel {
7
7
  topic: string;
8
8
  params: {
9
9
  [key: string]: any;
10
10
  };
11
11
  socket: RealtimeClient;
12
- bindings: any[];
12
+ bindings: {
13
+ [key: string]: {
14
+ type: string;
15
+ filter: {
16
+ [key: string]: any;
17
+ };
18
+ callback: Function;
19
+ id?: string;
20
+ }[];
21
+ };
13
22
  timeout: number;
14
23
  state: CHANNEL_STATES;
15
24
  joinedOnce: boolean;
@@ -21,7 +30,16 @@ export default class RealtimeChannel {
21
30
  [key: string]: any;
22
31
  }, socket: RealtimeClient);
23
32
  rejoinUntilConnected(): void;
24
- subscribe(timeout?: number): Push;
33
+ subscribe(callback?: Function, timeout?: number): void;
34
+ presenceState(): PresenceState;
35
+ track(payload: {
36
+ [key: string]: any;
37
+ }, opts?: {
38
+ [key: string]: any;
39
+ }): Promise<'ok' | 'timed out'>;
40
+ untrack(opts?: {
41
+ [key: string]: any;
42
+ }): Promise<'ok' | 'timed out'>;
25
43
  /**
26
44
  * Registers a callback that will be executed when the channel closes.
27
45
  */
@@ -30,9 +48,9 @@ export default class RealtimeChannel {
30
48
  * Registers a callback that will be executed when the channel encounteres an error.
31
49
  */
32
50
  onError(callback: Function): void;
33
- on(type: string, filter?: {
34
- [key: string]: string;
35
- }, callback?: Function): this;
51
+ on(type: string, filter: {
52
+ [key: string]: any;
53
+ }, callback: Function): this;
36
54
  off(type: string, filter: {
37
55
  [key: string]: any;
38
56
  }): this;
@@ -43,6 +61,12 @@ export default class RealtimeChannel {
43
61
  push(event: string, payload: {
44
62
  [key: string]: any;
45
63
  }, timeout?: number): Push;
64
+ send(payload: {
65
+ type: string;
66
+ [key: string]: any;
67
+ }, opts?: {
68
+ [key: string]: any;
69
+ }): Promise<'ok' | 'timed out'>;
46
70
  updateJoinPayload(payload: {
47
71
  [key: string]: any;
48
72
  }): void;
@@ -55,7 +79,7 @@ export default class RealtimeChannel {
55
79
  * To receive leave acknowledgements, use the a `receive` hook to bind to the server ack, ie:
56
80
  * channel.unsubscribe().receive("ok", () => alert("left!") )
57
81
  */
58
- unsubscribe(timeout?: number): Push;
82
+ unsubscribe(timeout?: number): Promise<'ok' | 'timed out' | 'error'>;
59
83
  /**
60
84
  * Overridable message hook
61
85
  *
@@ -74,5 +98,6 @@ export default class RealtimeChannel {
74
98
  isJoining(): boolean;
75
99
  isLeaving(): boolean;
76
100
  private static isEqual;
101
+ private getPayloadRecords;
77
102
  }
78
103
  //# sourceMappingURL=RealtimeChannel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RealtimeChannel.d.ts","sourceRoot":"","sources":["../../src/RealtimeChannel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,IAAI,MAAM,YAAY,CAAA;AAC7B,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,MAAM,aAAa,CAAA;AAC/B,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AAEjD,MAAM,CAAC,OAAO,OAAO,eAAe;IAWzB,KAAK,EAAE,MAAM;IACb,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;IAC9B,MAAM,EAAE,cAAc;IAZ/B,QAAQ,EAAE,GAAG,EAAE,CAAK;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,iBAAwB;IAC7B,UAAU,UAAQ;IAClB,QAAQ,EAAE,IAAI,CAAA;IACd,WAAW,EAAE,KAAK,CAAA;IAClB,UAAU,EAAE,IAAI,EAAE,CAAK;IACvB,QAAQ,EAAE,gBAAgB,CAAA;gBAGjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAO,EACnC,MAAM,EAAE,cAAc;IA0E/B,oBAAoB;IAOpB,SAAS,CAAC,OAAO,SAAe;IAwBhC;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,QAAQ;IAI1B;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,QAAQ;IAI1B,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,QAAQ,CAAC,EAAE,QAAQ;IASxE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;IAShD;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,OAAO,SAAe;IAe3E,iBAAiB,CAAC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI;IAIxD;;;;;;;;OAQG;IACH,WAAW,CAAC,OAAO,SAAe,GAAG,IAAI;IAmBzC;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM;IAInD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIhC,OAAO,IAAI,MAAM;IAIjB,MAAM,CAAC,OAAO,SAAe,GAAG,IAAI;IASpC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM;IAsBjD,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAInC,QAAQ,IAAI,OAAO;IAGnB,SAAS,IAAI,OAAO;IAGpB,QAAQ,IAAI,OAAO;IAGnB,SAAS,IAAI,OAAO;IAGpB,SAAS,IAAI,OAAO;IAIpB,OAAO,CAAC,MAAM,CAAC,OAAO;CAgBvB"}
1
+ {"version":3,"file":"RealtimeChannel.d.ts","sourceRoot":"","sources":["../../src/RealtimeChannel.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,36 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
2
34
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
35
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
36
  };
@@ -7,12 +39,13 @@ const constants_1 = require("./lib/constants");
7
39
  const push_1 = __importDefault(require("./lib/push"));
8
40
  const timer_1 = __importDefault(require("./lib/timer"));
9
41
  const RealtimePresence_1 = __importDefault(require("./RealtimePresence"));
42
+ const Transformers = __importStar(require("./lib/transformers"));
10
43
  class RealtimeChannel {
11
44
  constructor(topic, params = {}, socket) {
12
45
  this.topic = topic;
13
46
  this.params = params;
14
47
  this.socket = socket;
15
- this.bindings = [];
48
+ this.bindings = {};
16
49
  this.state = constants_1.CHANNEL_STATES.closed;
17
50
  this.joinedOnce = false;
18
51
  this.pushBuffer = [];
@@ -55,25 +88,6 @@ class RealtimeChannel {
55
88
  this.trigger(this.replyEventName(ref), payload);
56
89
  });
57
90
  this.presence = new RealtimePresence_1.default(this);
58
- this.presence.onJoin((key, currentPresences, newPresences) => {
59
- this.trigger('presence', {
60
- event: 'join',
61
- key,
62
- currentPresences,
63
- newPresences,
64
- });
65
- });
66
- this.presence.onLeave((key, currentPresences, leftPresences) => {
67
- this.trigger('presence', {
68
- event: 'leave',
69
- key,
70
- currentPresences,
71
- leftPresences,
72
- });
73
- });
74
- this.presence.onSync(() => {
75
- this.trigger('presence', { event: 'sync' });
76
- });
77
91
  }
78
92
  rejoinUntilConnected() {
79
93
  this.rejoinTimer.scheduleTimeout();
@@ -81,26 +95,88 @@ class RealtimeChannel {
81
95
  this.rejoin();
82
96
  }
83
97
  }
84
- subscribe(timeout = this.timeout) {
98
+ subscribe(callback, timeout = this.timeout) {
99
+ var _a, _b;
85
100
  if (this.joinedOnce) {
86
101
  throw `tried to subscribe multiple times. 'subscribe' can only be called a single time per channel instance`;
87
102
  }
88
103
  else {
89
104
  const { configs: { broadcast, presence }, } = this.params;
90
- const realtime = this.bindings
91
- .filter((b) => b.type === 'realtime')
92
- .map((b) => b.filter);
105
+ this.onError((e) => callback && callback('CHANNEL_ERROR', e));
106
+ this.onClose(() => callback && callback('CLOSED'));
107
+ const accessTokenPayload = {};
93
108
  const configs = {
94
109
  broadcast,
95
110
  presence,
96
- realtime,
111
+ postgres_changes: (_b = (_a = this.bindings.postgres_changes) === null || _a === void 0 ? void 0 : _a.map((r) => r.filter)) !== null && _b !== void 0 ? _b : [],
97
112
  };
98
- this.updateJoinPayload({ configs });
113
+ if (this.socket.accessToken) {
114
+ accessTokenPayload.access_token = this.socket.accessToken;
115
+ }
116
+ this.updateJoinPayload(Object.assign({ configs }, accessTokenPayload));
99
117
  this.joinedOnce = true;
100
118
  this.rejoin(timeout);
101
- return this.joinPush;
119
+ this.joinPush
120
+ .receive('ok', ({ postgres_changes: serverPostgresFilters, }) => {
121
+ var _a;
122
+ this.socket.accessToken &&
123
+ this.socket.setAuth(this.socket.accessToken);
124
+ const clientPostgresBindings = this.bindings.postgres_changes;
125
+ const bindingsLen = (_a = clientPostgresBindings === null || clientPostgresBindings === void 0 ? void 0 : clientPostgresBindings.length) !== null && _a !== void 0 ? _a : 0;
126
+ const newPostgresBindings = [];
127
+ for (let i = 0; i < bindingsLen; i++) {
128
+ const clientPostgresBinding = clientPostgresBindings[i];
129
+ const { filter: { event, schema, table, filter }, } = clientPostgresBinding;
130
+ const serverPostgresFilter = serverPostgresFilters[i];
131
+ if (serverPostgresFilter &&
132
+ serverPostgresFilter.event === event &&
133
+ serverPostgresFilter.schema === schema &&
134
+ serverPostgresFilter.table === table &&
135
+ serverPostgresFilter.filter === filter) {
136
+ newPostgresBindings.push(Object.assign(Object.assign({}, clientPostgresBinding), { id: serverPostgresFilter.id }));
137
+ }
138
+ else {
139
+ this.unsubscribe();
140
+ callback &&
141
+ callback('CHANNEL_ERROR', new Error('mismatch between server and client bindings for postgres changes'));
142
+ return;
143
+ }
144
+ }
145
+ this.bindings.postgres_changes = newPostgresBindings;
146
+ callback && callback('SUBSCRIBED');
147
+ return;
148
+ })
149
+ .receive('error', (error) => {
150
+ callback &&
151
+ callback('CHANNEL_ERROR', new Error(JSON.stringify(Object.values(error).join(', ') || 'error')));
152
+ return;
153
+ })
154
+ .receive('timeout', () => {
155
+ callback && callback('TIMED OUT');
156
+ return;
157
+ });
102
158
  }
103
159
  }
160
+ presenceState() {
161
+ return this.presence.state;
162
+ }
163
+ track(payload, opts = {}) {
164
+ return __awaiter(this, void 0, void 0, function* () {
165
+ return yield this.send({
166
+ type: 'presence',
167
+ event: 'track',
168
+ payload,
169
+ }, opts.timeout || this.timeout);
170
+ });
171
+ }
172
+ untrack(opts = {}) {
173
+ return __awaiter(this, void 0, void 0, function* () {
174
+ return yield this.send({
175
+ type: 'presence',
176
+ event: 'untrack',
177
+ }, opts);
178
+ });
179
+ }
104
180
  /**
105
181
  * Registers a callback that will be executed when the channel closes.
106
182
  */
@@ -114,16 +190,26 @@ class RealtimeChannel {
114
190
  this.on(constants_1.CHANNEL_EVENTS.error, {}, (reason) => callback(reason));
115
191
  }
116
192
  on(type, filter, callback) {
117
- this.bindings.push({
118
- type,
119
- filter: filter !== null && filter !== void 0 ? filter : {},
120
- callback: callback !== null && callback !== void 0 ? callback : (() => { }),
121
- });
193
+ const typeLower = type.toLocaleLowerCase();
194
+ const binding = {
195
+ type: typeLower,
196
+ filter: filter,
197
+ callback: callback,
198
+ };
199
+ if (this.bindings[typeLower]) {
200
+ this.bindings[typeLower].push(binding);
201
+ }
202
+ else {
203
+ this.bindings[typeLower] = [binding];
204
+ }
122
205
  return this;
123
206
  }
124
207
  off(type, filter) {
125
- this.bindings = this.bindings.filter((bind) => {
126
- return !(bind.type === type && RealtimeChannel.isEqual(bind.filter, filter));
208
+ const typeLower = type.toLocaleLowerCase();
209
+ this.bindings[typeLower] = this.bindings[typeLower].filter((bind) => {
210
+ var _a;
211
+ return !(((_a = bind.type) === null || _a === void 0 ? void 0 : _a.toLocaleLowerCase()) === typeLower &&
212
+ RealtimeChannel.isEqual(bind.filter, filter));
127
213
  });
128
214
  return this;
129
215
  }
@@ -147,6 +233,14 @@ class RealtimeChannel {
147
233
  }
148
234
  return pushEvent;
149
235
  }
236
+ send(payload, opts = {}) {
237
+ return new Promise((resolve) => {
238
+ const timeout = opts.timeout || this.timeout;
239
+ this.push(payload.type, payload, timeout)
240
+ .receive('ok', () => resolve('ok'))
241
+ .receive('timeout', () => resolve('timed out'));
242
+ });
243
+ }
150
244
  updateJoinPayload(payload) {
151
245
  this.joinPush.updatePayload(payload);
152
246
  }
@@ -167,13 +261,26 @@ class RealtimeChannel {
167
261
  };
168
262
  // Destroy joinPush to avoid connection timeouts during unscription phase
169
263
  this.joinPush.destroy();
170
- const leavePush = new push_1.default(this, constants_1.CHANNEL_EVENTS.leave, {}, timeout);
171
- leavePush.receive('ok', () => onClose()).receive('timeout', () => onClose());
172
- leavePush.send();
173
- if (!this.canPush()) {
174
- leavePush.trigger('ok', {});
175
- }
176
- return leavePush;
264
+ return new Promise((resolve) => {
265
+ const leavePush = new push_1.default(this, constants_1.CHANNEL_EVENTS.leave, {}, timeout);
266
+ leavePush
267
+ .receive('ok', () => {
268
+ onClose();
269
+ resolve('ok');
270
+ })
271
+ .receive('timeout', () => {
272
+ onClose();
273
+ resolve('timed out');
274
+ })
275
+ .receive('error', () => {
276
+ onClose();
277
+ resolve('error');
278
+ });
279
+ leavePush.send();
280
+ if (!this.canPush()) {
281
+ leavePush.trigger('ok', {});
282
+ }
283
+ });
177
284
  }
178
285
  /**
179
286
  * Overridable message hook
@@ -199,23 +306,54 @@ class RealtimeChannel {
199
306
  this.joinPush.resend(timeout);
200
307
  }
201
308
  trigger(type, payload, ref) {
309
+ var _a;
310
+ const typeLower = type.toLocaleLowerCase();
202
311
  const { close, error, leave, join } = constants_1.CHANNEL_EVENTS;
203
312
  const events = [close, error, leave, join];
204
- if (ref && events.indexOf(type) >= 0 && ref !== this.joinRef()) {
313
+ if (ref && events.indexOf(typeLower) >= 0 && ref !== this.joinRef()) {
205
314
  return;
206
315
  }
207
- const handledPayload = this.onMessage(type, payload, ref);
316
+ let handledPayload = this.onMessage(typeLower, payload, ref);
208
317
  if (payload && !handledPayload) {
209
318
  throw 'channel onMessage callbacks must return the payload, modified or unmodified';
210
319
  }
211
- this.bindings
212
- .filter((bind) => {
213
- var _a, _b;
214
- return ((bind === null || bind === void 0 ? void 0 : bind.type) === type &&
215
- (((_a = bind === null || bind === void 0 ? void 0 : bind.filter) === null || _a === void 0 ? void 0 : _a.event) === '*' ||
216
- ((_b = bind === null || bind === void 0 ? void 0 : bind.filter) === null || _b === void 0 ? void 0 : _b.event) === (payload === null || payload === void 0 ? void 0 : payload.event)));
217
- })
218
- .map((bind) => bind.callback(handledPayload, ref));
320
+ (_a = this.bindings[typeLower]) === null || _a === void 0 ? void 0 : _a.filter((bind) => {
321
+ var _a, _b, _c, _d, _e, _f;
322
+ if (['broadcast', 'presence', 'postgres_changes'].includes(typeLower)) {
323
+ if ('id' in bind) {
324
+ const bindId = bind.id;
325
+ const bindEvent = (_a = bind.filter) === null || _a === void 0 ? void 0 : _a.event;
326
+ return (bindId &&
327
+ ((_b = payload.ids) === null || _b === void 0 ? void 0 : _b.includes(bindId)) &&
328
+ (bindEvent === '*' ||
329
+ (bindEvent === null || bindEvent === void 0 ? void 0 : bindEvent.toLocaleLowerCase()) ===
330
+ ((_c = payload.data) === null || _c === void 0 ? void 0 : _c.type.toLocaleLowerCase())));
331
+ }
332
+ else {
333
+ const bindEvent = (_e = (_d = bind === null || bind === void 0 ? void 0 : bind.filter) === null || _d === void 0 ? void 0 : _d.event) === null || _e === void 0 ? void 0 : _e.toLocaleLowerCase();
334
+ return (bindEvent === '*' ||
335
+ bindEvent === ((_f = payload === null || payload === void 0 ? void 0 : payload.event) === null || _f === void 0 ? void 0 : _f.toLocaleLowerCase()));
336
+ }
337
+ }
338
+ else {
339
+ return bind.type.toLocaleLowerCase() === typeLower;
340
+ }
341
+ }).map((bind) => {
342
+ if (typeof handledPayload === 'object' && 'ids' in handledPayload) {
343
+ const { schema, table, commit_timestamp, type, errors } = handledPayload.data;
344
+ const enrichedPayload = {
345
+ schema: schema,
346
+ table: table,
347
+ commit_timestamp: commit_timestamp,
348
+ eventType: type,
349
+ new: {},
350
+ old: {},
351
+ errors: errors,
352
+ };
353
+ handledPayload = Object.assign(Object.assign({}, enrichedPayload), this.getPayloadRecords(payload));
354
+ }
355
+ bind.callback(handledPayload, ref);
356
+ });
219
357
  }
220
358
  replyEventName(ref) {
221
359
  return `chan_reply_${ref}`;
@@ -246,6 +384,19 @@ class RealtimeChannel {
246
384
  }
247
385
  return true;
248
386
  }
387
+ getPayloadRecords(payload) {
388
+ const records = {
389
+ new: {},
390
+ old: {},
391
+ };
392
+ if (payload.type === 'INSERT' || payload.type === 'UPDATE') {
393
+ records.new = Transformers.convertChangeData(payload.columns, payload.record);
394
+ }
395
+ if (payload.type === 'UPDATE' || payload.type === 'DELETE') {
396
+ records.old = Transformers.convertChangeData(payload.columns, payload.old_record);
397
+ }
398
+ return records;
399
+ }
249
400
  }
250
401
  exports.default = RealtimeChannel;
251
402
  //# sourceMappingURL=RealtimeChannel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RealtimeChannel.js","sourceRoot":"","sources":["../../src/RealtimeChannel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RealtimeChannel.js","sourceRoot":"","sources":["../../src/RealtimeChannel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgE;AAChE,sDAA6B;AAE7B,wDAA+B;AAC/B,0EAAoE;AACpE,iEAAkD;AAElD,MAAqB,eAAe;IAiBlC,YACS,KAAa,EACb,SAAiC,EAAE,EACnC,MAAsB;QAFtB,UAAK,GAAL,KAAK,CAAQ;QACb,WAAM,GAAN,MAAM,CAA6B;QACnC,WAAM,GAAN,MAAM,CAAgB;QAnB/B,aAAQ,GAOJ,EAAE,CAAA;QAEN,UAAK,GAAG,0BAAc,CAAC,MAAM,CAAA;QAC7B,eAAU,GAAG,KAAK,CAAA;QAGlB,eAAU,GAAW,EAAE,CAAA;QAQrB,IAAI,CAAC,MAAM,CAAC,OAAO,iBACd;YACD,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;YACtC,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;SACtB,EACE,MAAM,CAAC,OAAO,CAClB,CAAA;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAI,CACtB,IAAI,EACJ,0BAAc,CAAC,IAAI,EACnB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,CACb,CAAA;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,eAAK,CAC1B,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,EACjC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAC7B,CAAA;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;YAC/B,IAAI,CAAC,KAAK,GAAG,0BAAc,CAAC,MAAM,CAAA;YAClC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;YACxB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAe,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;YAC9D,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACtB,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;YACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;YACnE,IAAI,CAAC,KAAK,GAAG,0BAAc,CAAC,MAAM,CAAA;YAClC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,OAAO,CAAC,CAAC,MAAc,EAAE,EAAE;YAC9B,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;gBACvC,OAAM;aACP;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAA;YACzD,IAAI,CAAC,KAAK,GAAG,0BAAc,CAAC,OAAO,CAAA;YACnC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAA;QACpC,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;gBACrB,OAAM;aACP;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YAC1E,IAAI,CAAC,KAAK,GAAG,0BAAc,CAAC,OAAO,CAAA;YACnC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAA;QACpC,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,EAAE,CAAC,0BAAc,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,OAAY,EAAE,GAAW,EAAE,EAAE;YAC9D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,GAAG,IAAI,0BAAgB,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAA;QAClC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE;YAC7B,IAAI,CAAC,MAAM,EAAE,CAAA;SACd;IACH,CAAC;IAED,SAAS,CAAC,QAAmB,EAAE,OAAO,GAAG,IAAI,CAAC,OAAO;;QACnD,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,MAAM,sGAAsG,CAAA;SAC7G;aAAM;YACL,MAAM,EACJ,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,GACjC,GAAG,IAAI,CAAC,MAAM,CAAA;YACf,IAAI,CAAC,OAAO,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAA;YACpE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;YAElD,MAAM,kBAAkB,GAA8B,EAAE,CAAA;YACxD,MAAM,OAAO,GAAG;gBACd,SAAS;gBACT,QAAQ;gBACR,gBAAgB,EACd,MAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,gBAAgB,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,mCAAI,EAAE;aAC7D,CAAA;YAED,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;gBAC3B,kBAAkB,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAA;aAC1D;YAED,IAAI,CAAC,iBAAiB,eAAM,EAAE,OAAO,EAAE,EAAK,kBAAkB,EAAG,CAAA;YAEjE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;YACtB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAEpB,IAAI,CAAC,QAAQ;iBACV,OAAO,CACN,IAAI,EACJ,CAAC,EACC,gBAAgB,EAAE,qBAAqB,GASxC,EAAE,EAAE;;gBACH,IAAI,CAAC,MAAM,CAAC,WAAW;oBACrB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;gBAE9C,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAA;gBAC7D,MAAM,WAAW,GAAG,MAAA,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,MAAM,mCAAI,CAAC,CAAA;gBACvD,MAAM,mBAAmB,GAAG,EAAE,CAAA;gBAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;oBACpC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAA;oBACvD,MAAM,EACJ,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GACzC,GAAG,qBAAqB,CAAA;oBACzB,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA;oBAErD,IACE,oBAAoB;wBACpB,oBAAoB,CAAC,KAAK,KAAK,KAAK;wBACpC,oBAAoB,CAAC,MAAM,KAAK,MAAM;wBACtC,oBAAoB,CAAC,KAAK,KAAK,KAAK;wBACpC,oBAAoB,CAAC,MAAM,KAAK,MAAM,EACtC;wBACA,mBAAmB,CAAC,IAAI,iCACnB,qBAAqB,KACxB,EAAE,EAAE,oBAAoB,CAAC,EAAE,IAC3B,CAAA;qBACH;yBAAM;wBACL,IAAI,CAAC,WAAW,EAAE,CAAA;wBAClB,QAAQ;4BACN,QAAQ,CACN,eAAe,EACf,IAAI,KAAK,CACP,kEAAkE,CACnE,CACF,CAAA;wBACH,OAAM;qBACP;iBACF;gBAED,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,mBAAmB,CAAA;gBAEpD,QAAQ,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAA;gBAClC,OAAM;YACR,CAAC,CACF;iBACA,OAAO,CAAC,OAAO,EAAE,CAAC,KAA6B,EAAE,EAAE;gBAClD,QAAQ;oBACN,QAAQ,CACN,eAAe,EACf,IAAI,KAAK,CACP,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAC3D,CACF,CAAA;gBACH,OAAM;YACR,CAAC,CAAC;iBACD,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE;gBACvB,QAAQ,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAA;gBACjC,OAAM;YACR,CAAC,CAAC,CAAA;SACL;IACH,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAA;IAC5B,CAAC;IAEK,KAAK,CACT,OAA+B,EAC/B,OAA+B,EAAE;;YAEjC,OAAO,MAAM,IAAI,CAAC,IAAI,CACpB;gBACE,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,OAAO;gBACd,OAAO;aACR,EACD,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAC7B,CAAA;QACH,CAAC;KAAA;IAEK,OAAO,CACX,OAA+B,EAAE;;YAEjC,OAAO,MAAM,IAAI,CAAC,IAAI,CACpB;gBACE,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,SAAS;aACjB,EACD,IAAI,CACL,CAAA;QACH,CAAC;KAAA;IAED;;OAEG;IACH,OAAO,CAAC,QAAkB;QACxB,IAAI,CAAC,EAAE,CAAC,0BAAc,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;IAC7C,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,QAAkB;QACxB,IAAI,CAAC,EAAE,CAAC,0BAAc,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;IACzE,CAAC;IAED,EAAE,CAAC,IAAY,EAAE,MAA8B,EAAE,QAAkB;QACjE,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAE1C,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,QAAQ;SACnB,CAAA;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SACvC;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;SACrC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,GAAG,CAAC,IAAY,EAAE,MAA8B;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAE1C,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;;YAClE,OAAO,CAAC,CACN,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,iBAAiB,EAAE,MAAK,SAAS;gBAC5C,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAC7C,CAAA;QACH,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAA;IACrD,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,OAA+B,EAAE,OAAO,GAAG,IAAI,CAAC,OAAO;QACzE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,MAAM,kBAAkB,KAAK,SAAS,IAAI,CAAC,KAAK,iEAAiE,CAAA;SAClH;QACD,IAAI,SAAS,GAAG,IAAI,cAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QACvD,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YAClB,SAAS,CAAC,IAAI,EAAE,CAAA;SACjB;aAAM;YACL,SAAS,CAAC,YAAY,EAAE,CAAA;YACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;SAChC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,CACF,OAA6C,EAC7C,OAA+B,EAAE;QAEjC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAA;YAE5C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC;iBACtC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;iBAClC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;QACnD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,iBAAiB,CAAC,OAA+B;QAC/C,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC;IAED;;;;;;;;OAQG;IACH,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;QAChC,IAAI,CAAC,KAAK,GAAG,0BAAc,CAAC,OAAO,CAAA;QACnC,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;YACjD,IAAI,CAAC,OAAO,CAAC,0BAAc,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;QAC7D,CAAC,CAAA;QACD,yEAAyE;QACzE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA;QAEvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,SAAS,GAAG,IAAI,cAAI,CAAC,IAAI,EAAE,0BAAc,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;YAEnE,SAAS;iBACN,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBAClB,OAAO,EAAE,CAAA;gBACT,OAAO,CAAC,IAAI,CAAC,CAAA;YACf,CAAC,CAAC;iBACD,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE;gBACvB,OAAO,EAAE,CAAA;gBACT,OAAO,CAAC,WAAW,CAAC,CAAA;YACtB,CAAC,CAAC;iBACD,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE;gBACrB,OAAO,EAAE,CAAA;gBACT,OAAO,CAAC,OAAO,CAAC,CAAA;YAClB,CAAC,CAAC,CAAA;YAEJ,SAAS,CAAC,IAAI,EAAE,CAAA;YAEhB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;gBACnB,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;aAC5B;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,KAAa,EAAE,OAAY,EAAE,GAAY;QACjD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAA;IAC7B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAA;IAC1B,CAAC;IAED,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;QAC3B,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;YACpB,OAAM;SACP;QACD,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACtC,IAAI,CAAC,KAAK,GAAG,0BAAc,CAAC,OAAO,CAAA;QACnC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC;IAED,OAAO,CAAC,IAAY,EAAE,OAAa,EAAE,GAAY;;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAC1C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,0BAAc,CAAA;QACpD,MAAM,MAAM,GAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QACpD,IAAI,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC,OAAO,EAAE,EAAE;YACnE,OAAM;SACP;QACD,IAAI,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;QAC5D,IAAI,OAAO,IAAI,CAAC,cAAc,EAAE;YAC9B,MAAM,6EAA6E,CAAA;SACpF;QAED,MAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,0CACpB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;;YAChB,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACrE,IAAI,IAAI,IAAI,IAAI,EAAE;oBAChB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;oBACtB,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,CAAA;oBACpC,OAAO,CACL,MAAM;yBACN,MAAA,OAAO,CAAC,GAAG,0CAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;wBAC7B,CAAC,SAAS,KAAK,GAAG;4BAChB,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,iBAAiB,EAAE;iCAC5B,MAAA,OAAO,CAAC,IAAI,0CAAE,IAAI,CAAC,iBAAiB,EAAE,CAAA,CAAC,CAC5C,CAAA;iBACF;qBAAM;oBACL,MAAM,SAAS,GAAG,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,KAAK,0CAAE,iBAAiB,EAAE,CAAA;oBAC1D,OAAO,CACL,SAAS,KAAK,GAAG;wBACjB,SAAS,MAAK,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,0CAAE,iBAAiB,EAAE,CAAA,CAClD,CAAA;iBACF;aACF;iBAAM;gBACL,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,SAAS,CAAA;aACnD;QACH,CAAC,EACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,KAAK,IAAI,cAAc,EAAE;gBACjE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,GACrD,cAAc,CAAC,IAAI,CAAA;gBACrB,MAAM,eAAe,GAAG;oBACtB,MAAM,EAAE,MAAM;oBACd,KAAK,EAAE,KAAK;oBACZ,gBAAgB,EAAE,gBAAgB;oBAClC,SAAS,EAAE,IAAI;oBACf,GAAG,EAAE,EAAE;oBACP,GAAG,EAAE,EAAE;oBACP,MAAM,EAAE,MAAM;iBACf,CAAA;gBACD,cAAc,mCACT,eAAe,GACf,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CACnC,CAAA;aACF;YACD,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;IACN,CAAC;IAED,cAAc,CAAC,GAAW;QACxB,OAAO,cAAc,GAAG,EAAE,CAAA;IAC5B,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,KAAK,0BAAc,CAAC,MAAM,CAAA;IAC7C,CAAC;IACD,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,KAAK,0BAAc,CAAC,OAAO,CAAA;IAC9C,CAAC;IACD,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,KAAK,0BAAc,CAAC,MAAM,CAAA;IAC7C,CAAC;IACD,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,KAAK,0BAAc,CAAC,OAAO,CAAA;IAC9C,CAAC;IACD,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,KAAK,0BAAc,CAAC,OAAO,CAAA;IAC9C,CAAC;IAEO,MAAM,CAAC,OAAO,CACpB,IAA+B,EAC/B,IAA+B;QAE/B,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;YACzD,OAAO,KAAK,CAAA;SACb;QAED,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;YACpB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE;gBACvB,OAAO,KAAK,CAAA;aACb;SACF;QAED,OAAO,IAAI,CAAA;IACb,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,YAAY,CAAC,iBAAiB,CAC1C,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,MAAM,CACf,CAAA;SACF;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC1D,OAAO,CAAC,GAAG,GAAG,YAAY,CAAC,iBAAiB,CAC1C,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,UAAU,CACnB,CAAA;SACF;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;CACF;AApeD,kCAoeC"}
@@ -6,7 +6,6 @@ export declare type Options = {
6
6
  transport?: WebSocket;
7
7
  timeout?: number;
8
8
  heartbeatIntervalMs?: number;
9
- longpollerTimeout?: number;
10
9
  logger?: Function;
11
10
  encode?: Function;
12
11
  decode?: Function;
@@ -41,7 +40,6 @@ export default class RealtimeClient {
41
40
  timeout: number;
42
41
  transport: any;
43
42
  heartbeatIntervalMs: number;
44
- longpollerTimeout: number;
45
43
  heartbeatTimer: ReturnType<typeof setInterval> | undefined;
46
44
  pendingHeartbeatRef: string | null;
47
45
  ref: number;
@@ -71,7 +69,6 @@ export default class RealtimeClient {
71
69
  * @param options.logger The optional function for specialized logging, ie: logger: (kind, msg, data) => { console.log(`${kind}: ${msg}`, data) }
72
70
  * @param options.encode The function to encode outgoing messages. Defaults to JSON: (payload, callback) => callback(JSON.stringify(payload))
73
71
  * @param options.decode The function to decode incoming messages. Defaults to Serializer's decode.
74
- * @param options.longpollerTimeout The maximum timeout of a long poll AJAX request. Defaults to 20s (double the server long poll timer).
75
72
  * @param options.reconnectAfterMs he optional function that returns the millsec reconnect interval. Defaults to stepped backoff off.
76
73
  */
77
74
  constructor(endPoint: string, options?: Options);
@@ -85,10 +82,10 @@ export default class RealtimeClient {
85
82
  * @param code A numeric status code to send on disconnect.
86
83
  * @param reason A custom reason for the disconnect.
87
84
  */
88
- disconnect(code?: number, reason?: string): Promise<{
89
- error: Error | null;
90
- data: boolean;
91
- }>;
85
+ disconnect(code?: number, reason?: string): void;
86
+ getChannels(): RealtimeChannel[];
87
+ removeChannel(channel: RealtimeChannel): Promise<'ok' | 'timed out' | 'error'>;
88
+ removeAllChannels(): Promise<('ok' | 'timed out' | 'error')[]>;
92
89
  /**
93
90
  * Logs the message.
94
91
  *
@@ -1 +1 @@
1
- {"version":3,"file":"RealtimeClient.d.ts","sourceRoot":"","sources":["../../src/RealtimeClient.ts"],"names":[],"mappings":"AACA,OAAO,EAQL,gBAAgB,EACjB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,MAAM,aAAa,CAAA;AAC/B,OAAO,UAAU,MAAM,kBAAkB,CAAA;AACzC,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAE/C,oBAAY,OAAO,GAAG;IACpB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,MAAM,CAAC,EAAE,QAAQ,CAAA;IACjB,MAAM,CAAC,EAAE,QAAQ,CAAA;IACjB,MAAM,CAAC,EAAE,QAAQ,CAAA;IACjB,gBAAgB,CAAC,EAAE,QAAQ,CAAA;IAC3B,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IACnC,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACnC,CAAA;AACD,aAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,GAAG,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,aAAK,aAAa,GAAG;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB,CAAA;AAID,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAO;IACjC,QAAQ,EAAE,eAAe,EAAE,CAAK;IAChC,QAAQ,EAAE,MAAM,CAAK;IACrB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAkB;IACrD,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAK;IACvC,OAAO,EAAE,MAAM,CAAkB;IACjC,SAAS,EAAE,GAAG,CAAe;IAC7B,mBAAmB,EAAE,MAAM,CAAQ;IACnC,iBAAiB,EAAE,MAAM,CAAQ;IACjC,cAAc,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,SAAS,CAAY;IACtE,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAO;IACzC,GAAG,EAAE,MAAM,CAAI;IACf,cAAc,EAAE,KAAK,CAAA;IACrB,MAAM,EAAE,QAAQ,CAAO;IACvB,MAAM,EAAE,QAAQ,CAAA;IAChB,MAAM,EAAE,QAAQ,CAAA;IAChB,gBAAgB,EAAE,QAAQ,CAAA;IAC1B,IAAI,EAAE,SAAS,GAAG,IAAI,CAAO;IAC7B,UAAU,EAAE,QAAQ,EAAE,CAAK;IAC3B,UAAU,EAAE,UAAU,CAAmB;IACzC,oBAAoB,EAAE;QACpB,IAAI,EAAE,QAAQ,EAAE,CAAA;QAChB,KAAK,EAAE,QAAQ,EAAE,CAAA;QACjB,KAAK,EAAE,QAAQ,EAAE,CAAA;QACjB,OAAO,EAAE,QAAQ,EAAE,CAAA;KACpB,CAKA;IAED;;;;;;;;;;;;;;OAcG;gBACS,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;IAgC/C;;OAEG;IACH,OAAO,IAAI,IAAI;IAiBf;;;;;OAKG;IACH,UAAU,CACR,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IAsBlD;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;IAIzC;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,EAAE,QAAQ;IAIzB;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,EAAE,QAAQ;IAI1B;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,EAAE,QAAQ;IAI1B;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAI5B;;OAEG;IACH,eAAe,IAAI,gBAAgB;IAanC;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,eAAe;IAM/B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,aAAkB,GAAG,eAAe;IAMnE;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAezB,aAAa,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE;IA2BvC;;OAEG;IACH,WAAW,IAAI,MAAM;IAOrB;;OAEG;IACH,OAAO,IAAI,MAAM;IAWjB;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAY5B;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAUnC,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,cAAc;CAsBvB"}
1
+ {"version":3,"file":"RealtimeClient.d.ts","sourceRoot":"","sources":["../../src/RealtimeClient.ts"],"names":[],"mappings":"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"}