@supabase/realtime-js 1.3.5 → 1.4.2

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 (38) hide show
  1. package/dist/main/RealtimeClient.d.ts +1 -2
  2. package/dist/main/RealtimeClient.d.ts.map +1 -1
  3. package/dist/main/RealtimeClient.js +7 -16
  4. package/dist/main/RealtimeClient.js.map +1 -1
  5. package/dist/main/RealtimePresence.d.ts +92 -0
  6. package/dist/main/RealtimePresence.d.ts.map +1 -0
  7. package/dist/main/RealtimePresence.js +198 -0
  8. package/dist/main/RealtimePresence.js.map +1 -0
  9. package/dist/main/index.d.ts +2 -1
  10. package/dist/main/index.d.ts.map +1 -1
  11. package/dist/main/index.js +3 -1
  12. package/dist/main/index.js.map +1 -1
  13. package/dist/main/lib/push.js.map +1 -1
  14. package/dist/main/lib/transformers.js +16 -24
  15. package/dist/main/lib/transformers.js.map +1 -1
  16. package/dist/main/lib/version.d.ts +1 -1
  17. package/dist/main/lib/version.js +1 -1
  18. package/dist/module/RealtimeClient.d.ts +1 -2
  19. package/dist/module/RealtimeClient.d.ts.map +1 -1
  20. package/dist/module/RealtimeClient.js +7 -16
  21. package/dist/module/RealtimeClient.js.map +1 -1
  22. package/dist/module/RealtimePresence.d.ts +92 -0
  23. package/dist/module/RealtimePresence.d.ts.map +1 -0
  24. package/dist/module/RealtimePresence.js +192 -0
  25. package/dist/module/RealtimePresence.js.map +1 -0
  26. package/dist/module/index.d.ts +2 -1
  27. package/dist/module/index.d.ts.map +1 -1
  28. package/dist/module/index.js +2 -1
  29. package/dist/module/index.js.map +1 -1
  30. package/dist/module/lib/push.js.map +1 -1
  31. package/dist/module/lib/transformers.js.map +1 -1
  32. package/dist/module/lib/version.d.ts +1 -1
  33. package/dist/module/lib/version.js +1 -1
  34. package/package.json +5 -2
  35. package/src/RealtimeClient.ts +10 -13
  36. package/src/RealtimePresence.ts +319 -0
  37. package/src/index.ts +2 -0
  38. package/src/lib/version.ts +1 -1
@@ -124,7 +124,7 @@ export default class RealtimeClient {
124
124
  /**
125
125
  * Returns the current state of the socket.
126
126
  */
127
- connectionState(): "closed" | "connecting" | "open" | "closing";
127
+ connectionState(): "closed" | "open" | "closing" | "connecting";
128
128
  /**
129
129
  * Retuns `true` is the connection is open.
130
130
  */
@@ -159,7 +159,6 @@ export default class RealtimeClient {
159
159
  private _triggerChanError;
160
160
  private _appendParams;
161
161
  private _flushSendBuffer;
162
- private _resetHeartbeat;
163
162
  private _sendHeartbeat;
164
163
  }
165
164
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"RealtimeClient.d.ts","sourceRoot":"","sources":["../../src/RealtimeClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RealtimeClient.d.ts","sourceRoot":"","sources":["../../src/RealtimeClient.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,MAAM,aAAa,CAAA;AAC/B,OAAO,oBAAoB,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,YAAY,IAAI,SAAS,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,UAAU,MAAM,kBAAkB,CAAA;AAEzC,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;AAID,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAO;IACjC,QAAQ,EAAE,oBAAoB,EAAE,CAAK;IACrC,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,CAAY;IAC1B,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;IAgBP;;;;;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;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;IAIzC;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,EAAE,QAAQ;IAIzB;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,EAAE,QAAQ;IAI1B;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,EAAE,QAAQ;IAI1B;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAI5B;;OAEG;IACH,eAAe;IAaf;;OAEG;IACH,WAAW;IAIX;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,oBAAoB;IAMpC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,KAAK;IAMtC,IAAI,CAAC,IAAI,EAAE,OAAO;IAelB,aAAa,CAAC,UAAU,EAAE,GAAG;IA2B7B;;OAEG;IACH,WAAW;IAOX;;OAEG;IACH,OAAO;IAWP;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAgB5B,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;IAUrB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,cAAc;CAsBvB"}
@@ -72,18 +72,15 @@ class RealtimeClient {
72
72
  this.heartbeatIntervalMs = options.heartbeatIntervalMs;
73
73
  if (options === null || options === void 0 ? void 0 : options.longpollerTimeout)
74
74
  this.longpollerTimeout = options.longpollerTimeout;
75
- this.reconnectAfterMs = (options === null || options === void 0 ? void 0 : options.reconnectAfterMs)
76
- ? options.reconnectAfterMs
75
+ this.reconnectAfterMs = (options === null || options === void 0 ? void 0 : options.reconnectAfterMs) ? options.reconnectAfterMs
77
76
  : (tries) => {
78
77
  return [1000, 2000, 5000, 10000][tries - 1] || 10000;
79
78
  };
80
- this.encode = (options === null || options === void 0 ? void 0 : options.encode)
81
- ? options.encode
79
+ this.encode = (options === null || options === void 0 ? void 0 : options.encode) ? options.encode
82
80
  : (payload, callback) => {
83
81
  return callback(JSON.stringify(payload));
84
82
  };
85
- this.decode = (options === null || options === void 0 ? void 0 : options.decode)
86
- ? options.decode
83
+ this.decode = (options === null || options === void 0 ? void 0 : options.decode) ? options.decode
87
84
  : this.serializer.decode.bind(this.serializer);
88
85
  this.reconnectTimer = new timer_1.default(() => __awaiter(this, void 0, void 0, function* () {
89
86
  yield this.disconnect();
@@ -235,12 +232,10 @@ class RealtimeClient {
235
232
  onConnMessage(rawMessage) {
236
233
  this.decode(rawMessage.data, (msg) => {
237
234
  let { topic, event, payload, ref } = msg;
238
- if (ref && ref === this.pendingHeartbeatRef) {
235
+ if ((ref && ref === this.pendingHeartbeatRef) ||
236
+ event === (payload === null || payload === void 0 ? void 0 : payload.type)) {
239
237
  this.pendingHeartbeatRef = null;
240
238
  }
241
- else if (event === (payload === null || payload === void 0 ? void 0 : payload.type)) {
242
- this._resetHeartbeat();
243
- }
244
239
  this.log('receive', `${payload.status || ''} ${topic} ${event} ${(ref && '(' + ref + ')') || ''}`, payload);
245
240
  this.channels
246
241
  .filter((channel) => channel.isMember(topic))
@@ -297,7 +292,8 @@ class RealtimeClient {
297
292
  this.log('transport', `connected to ${this.endPointURL()}`);
298
293
  this._flushSendBuffer();
299
294
  this.reconnectTimer.reset();
300
- this._resetHeartbeat();
295
+ this.heartbeatTimer && clearInterval(this.heartbeatTimer);
296
+ this.heartbeatTimer = setInterval(() => this._sendHeartbeat(), this.heartbeatIntervalMs);
301
297
  this.stateChangeCallbacks.open.forEach((callback) => callback());
302
298
  }
303
299
  _onConnClose(event) {
@@ -329,11 +325,6 @@ class RealtimeClient {
329
325
  this.sendBuffer = [];
330
326
  }
331
327
  }
332
- _resetHeartbeat() {
333
- this.pendingHeartbeatRef = null;
334
- this.heartbeatTimer && clearInterval(this.heartbeatTimer);
335
- this.heartbeatTimer = setInterval(() => this._sendHeartbeat(), this.heartbeatIntervalMs);
336
- }
337
328
  _sendHeartbeat() {
338
329
  var _a;
339
330
  if (!this.isConnected()) {
@@ -1 +1 @@
1
- {"version":3,"file":"RealtimeClient.js","sourceRoot":"","sources":["../../src/RealtimeClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RealtimeClient.js","sourceRoot":"","sources":["../../src/RealtimeClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ import { PresenceOpts, PresenceOnJoinCallback, PresenceOnLeaveCallback } from 'phoenix';
2
+ import RealtimeSubscription from './RealtimeSubscription';
3
+ declare type Presence = {
4
+ presence_id: string;
5
+ [key: string]: any;
6
+ };
7
+ declare type PresenceState = {
8
+ [key: string]: Presence[];
9
+ };
10
+ declare type PresenceDiff = {
11
+ joins: PresenceState;
12
+ leaves: PresenceState;
13
+ };
14
+ declare type RawPresenceState = {
15
+ [key: string]: Record<'metas', {
16
+ phx_ref?: string;
17
+ phx_ref_prev?: string;
18
+ [key: string]: any;
19
+ }[]>;
20
+ };
21
+ declare type RawPresenceDiff = {
22
+ joins: RawPresenceState;
23
+ leaves: RawPresenceState;
24
+ };
25
+ declare type PresenceChooser<T> = (key: string, presences: any) => T;
26
+ export default class RealtimePresence {
27
+ channel: RealtimeSubscription;
28
+ state: PresenceState;
29
+ pendingDiffs: RawPresenceDiff[];
30
+ joinRef: string | null;
31
+ caller: {
32
+ onJoin: PresenceOnJoinCallback;
33
+ onLeave: PresenceOnLeaveCallback;
34
+ onSync: () => void;
35
+ };
36
+ /**
37
+ * Initializes the Presence
38
+ * @param channel - The RealtimeSubscription
39
+ * @param opts - The options,
40
+ * for example `{events: {state: 'state', diff: 'diff'}}`
41
+ */
42
+ constructor(channel: RealtimeSubscription, opts?: PresenceOpts);
43
+ /**
44
+ * Used to sync the list of presences on the server
45
+ * with the client's state. An optional `onJoin` and `onLeave` callback can
46
+ * be provided to react to changes in the client's local presences across
47
+ * disconnects and reconnects with the server.
48
+ */
49
+ static syncState(currentState: PresenceState, newState: RawPresenceState | PresenceState, onJoin: PresenceOnJoinCallback, onLeave: PresenceOnLeaveCallback): PresenceState;
50
+ /**
51
+ *
52
+ * Used to sync a diff of presence join and leave
53
+ * events from the server, as they happen. Like `syncState`, `syncDiff`
54
+ * accepts optional `onJoin` and `onLeave` callbacks to react to a user
55
+ * joining or leaving from a device.
56
+ */
57
+ static syncDiff(state: PresenceState, diff: RawPresenceDiff | PresenceDiff, onJoin: PresenceOnJoinCallback, onLeave: PresenceOnLeaveCallback): PresenceState;
58
+ /**
59
+ * Returns the array of presences, with selected metadata.
60
+ */
61
+ static list<T = any>(presences: PresenceState, chooser: PresenceChooser<T> | undefined): T[];
62
+ private static map;
63
+ /**
64
+ * Remove 'metas' key
65
+ * Change 'phx_ref' to 'presence_id'
66
+ * Remove 'phx_ref' and 'phx_ref_prev'
67
+ *
68
+ * @example
69
+ * // returns {
70
+ * abc123: [
71
+ * { presence_id: '2', user_id: 1 },
72
+ * { presence_id: '3', user_id: 2 }
73
+ * ]
74
+ * }
75
+ * RealtimePresence.transformState({
76
+ * abc123: {
77
+ * metas: [
78
+ * { phx_ref: '2', phx_ref_prev: '1' user_id: 1 },
79
+ * { phx_ref: '3', user_id: 2 }
80
+ * ]
81
+ * }
82
+ * })
83
+ */
84
+ private static transformState;
85
+ onJoin(callback: PresenceOnJoinCallback): void;
86
+ onLeave(callback: PresenceOnLeaveCallback): void;
87
+ onSync(callback: () => void): void;
88
+ list<T = any>(by?: PresenceChooser<T>): T[];
89
+ private inPendingSyncState;
90
+ }
91
+ export {};
92
+ //# sourceMappingURL=RealtimePresence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RealtimePresence.d.ts","sourceRoot":"","sources":["../../src/RealtimePresence.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,SAAS,CAAA;AAChB,OAAO,oBAAoB,MAAM,wBAAwB,CAAA;AAEzD,aAAK,QAAQ,GAAG;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB,CAAA;AAED,aAAK,aAAa,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAA;CAAE,CAAA;AAElD,aAAK,YAAY,GAAG;IAClB,KAAK,EAAE,aAAa,CAAA;IACpB,MAAM,EAAE,aAAa,CAAA;CACtB,CAAA;AAED,aAAK,gBAAgB,GAAG;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CACnB,OAAO,EACP;QACE,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KACnB,EAAE,CACJ,CAAA;CACF,CAAA;AAED,aAAK,eAAe,GAAG;IACrB,KAAK,EAAE,gBAAgB,CAAA;IACvB,MAAM,EAAE,gBAAgB,CAAA;CACzB,CAAA;AAED,aAAK,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,CAAA;AAE5D,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAoBhB,OAAO,EAAE,oBAAoB;IAnBhD,KAAK,EAAE,aAAa,CAAK;IACzB,YAAY,EAAE,eAAe,EAAE,CAAK;IACpC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAO;IAC7B,MAAM,EAAE;QACN,MAAM,EAAE,sBAAsB,CAAA;QAC9B,OAAO,EAAE,uBAAuB,CAAA;QAChC,MAAM,EAAE,MAAM,IAAI,CAAA;KACnB,CAIA;IAED;;;;;OAKG;gBACgB,OAAO,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE,YAAY;IAkDrE;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CACd,YAAY,EAAE,aAAa,EAC3B,QAAQ,EAAE,gBAAgB,GAAG,aAAa,EAC1C,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,uBAAuB,GAC/B,aAAa;IA0ChB;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CACb,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,eAAe,GAAG,YAAY,EACpC,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,uBAAuB,GAC/B,aAAa;IAoDhB;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EACjB,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,GACtC,CAAC,EAAE;IAUN,OAAO,CAAC,MAAM,CAAC,GAAG;IAOlB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAyB7B,MAAM,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAI9C,OAAO,CAAC,QAAQ,EAAE,uBAAuB,GAAG,IAAI;IAIhD,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAIlC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;IAI3C,OAAO,CAAC,kBAAkB;CAG3B"}
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ /*
3
+ This file draws heavily from https://github.com/phoenixframework/phoenix/blob/d344ec0a732ab4ee204215b31de69cf4be72e3bf/assets/js/phoenix/presence.js
4
+ License: https://github.com/phoenixframework/phoenix/blob/d344ec0a732ab4ee204215b31de69cf4be72e3bf/LICENSE.md
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ const lodash_clonedeep_1 = __importDefault(require("lodash.clonedeep"));
11
+ class RealtimePresence {
12
+ /**
13
+ * Initializes the Presence
14
+ * @param channel - The RealtimeSubscription
15
+ * @param opts - The options,
16
+ * for example `{events: {state: 'state', diff: 'diff'}}`
17
+ */
18
+ constructor(channel, opts) {
19
+ this.channel = channel;
20
+ this.state = {};
21
+ this.pendingDiffs = [];
22
+ this.joinRef = null;
23
+ this.caller = {
24
+ onJoin: () => { },
25
+ onLeave: () => { },
26
+ onSync: () => { },
27
+ };
28
+ const events = (opts === null || opts === void 0 ? void 0 : opts.events) || {
29
+ state: 'presence_state',
30
+ diff: 'presence_diff',
31
+ };
32
+ this.channel.on(events.state, (newState) => {
33
+ const { onJoin, onLeave, onSync } = this.caller;
34
+ this.joinRef = this.channel.joinRef();
35
+ this.state = RealtimePresence.syncState(this.state, newState, onJoin, onLeave);
36
+ this.pendingDiffs.forEach((diff) => {
37
+ this.state = RealtimePresence.syncDiff(this.state, diff, onJoin, onLeave);
38
+ });
39
+ this.pendingDiffs = [];
40
+ onSync();
41
+ });
42
+ this.channel.on(events.diff, (diff) => {
43
+ const { onJoin, onLeave, onSync } = this.caller;
44
+ if (this.inPendingSyncState()) {
45
+ this.pendingDiffs.push(diff);
46
+ }
47
+ else {
48
+ this.state = RealtimePresence.syncDiff(this.state, diff, onJoin, onLeave);
49
+ onSync();
50
+ }
51
+ });
52
+ }
53
+ /**
54
+ * Used to sync the list of presences on the server
55
+ * with the client's state. An optional `onJoin` and `onLeave` callback can
56
+ * be provided to react to changes in the client's local presences across
57
+ * disconnects and reconnects with the server.
58
+ */
59
+ static syncState(currentState, newState, onJoin, onLeave) {
60
+ const state = lodash_clonedeep_1.default(currentState);
61
+ const transformedState = this.transformState(newState);
62
+ const joins = {};
63
+ const leaves = {};
64
+ this.map(state, (key, presences) => {
65
+ if (!transformedState[key]) {
66
+ leaves[key] = presences;
67
+ }
68
+ });
69
+ this.map(transformedState, (key, newPresences) => {
70
+ const currentPresences = state[key];
71
+ if (currentPresences) {
72
+ const newPresenceIds = newPresences.map((m) => m.presence_id);
73
+ const curPresenceIds = currentPresences.map((m) => m.presence_id);
74
+ const joinedPresences = newPresences.filter((m) => curPresenceIds.indexOf(m.presence_id) < 0);
75
+ const leftPresences = currentPresences.filter((m) => newPresenceIds.indexOf(m.presence_id) < 0);
76
+ if (joinedPresences.length > 0) {
77
+ joins[key] = joinedPresences;
78
+ }
79
+ if (leftPresences.length > 0) {
80
+ leaves[key] = leftPresences;
81
+ }
82
+ }
83
+ else {
84
+ joins[key] = newPresences;
85
+ }
86
+ });
87
+ return this.syncDiff(state, { joins, leaves }, onJoin, onLeave);
88
+ }
89
+ /**
90
+ *
91
+ * Used to sync a diff of presence join and leave
92
+ * events from the server, as they happen. Like `syncState`, `syncDiff`
93
+ * accepts optional `onJoin` and `onLeave` callbacks to react to a user
94
+ * joining or leaving from a device.
95
+ */
96
+ static syncDiff(state, diff, onJoin, onLeave) {
97
+ const { joins, leaves } = {
98
+ joins: this.transformState(diff.joins),
99
+ leaves: this.transformState(diff.leaves),
100
+ };
101
+ if (!onJoin) {
102
+ onJoin = () => { };
103
+ }
104
+ if (!onLeave) {
105
+ onLeave = () => { };
106
+ }
107
+ this.map(joins, (key, newPresences) => {
108
+ const currentPresences = state[key];
109
+ state[key] = lodash_clonedeep_1.default(newPresences);
110
+ if (currentPresences) {
111
+ const joinedPresenceIds = state[key].map((m) => m.presence_id);
112
+ const curPresences = currentPresences.filter((m) => joinedPresenceIds.indexOf(m.presence_id) < 0);
113
+ state[key].unshift(...curPresences);
114
+ }
115
+ onJoin(key, currentPresences, newPresences);
116
+ });
117
+ this.map(leaves, (key, leftPresences) => {
118
+ let currentPresences = state[key];
119
+ if (!currentPresences)
120
+ return;
121
+ const presenceIdsToRemove = leftPresences.map((m) => m.presence_id);
122
+ currentPresences = currentPresences.filter((m) => presenceIdsToRemove.indexOf(m.presence_id) < 0);
123
+ state[key] = currentPresences;
124
+ onLeave(key, currentPresences, leftPresences);
125
+ if (currentPresences.length === 0)
126
+ delete state[key];
127
+ });
128
+ return state;
129
+ }
130
+ /**
131
+ * Returns the array of presences, with selected metadata.
132
+ */
133
+ static list(presences, chooser) {
134
+ if (!chooser) {
135
+ chooser = (_key, pres) => pres;
136
+ }
137
+ return this.map(presences, (key, presences) => chooser(key, presences));
138
+ }
139
+ static map(obj, func) {
140
+ return Object.getOwnPropertyNames(obj).map((key) => func(key, obj[key]));
141
+ }
142
+ /**
143
+ * Remove 'metas' key
144
+ * Change 'phx_ref' to 'presence_id'
145
+ * Remove 'phx_ref' and 'phx_ref_prev'
146
+ *
147
+ * @example
148
+ * // returns {
149
+ * abc123: [
150
+ * { presence_id: '2', user_id: 1 },
151
+ * { presence_id: '3', user_id: 2 }
152
+ * ]
153
+ * }
154
+ * RealtimePresence.transformState({
155
+ * abc123: {
156
+ * metas: [
157
+ * { phx_ref: '2', phx_ref_prev: '1' user_id: 1 },
158
+ * { phx_ref: '3', user_id: 2 }
159
+ * ]
160
+ * }
161
+ * })
162
+ */
163
+ static transformState(state) {
164
+ state = lodash_clonedeep_1.default(state);
165
+ return Object.getOwnPropertyNames(state).reduce((newState, key) => {
166
+ const presences = state[key];
167
+ if ('metas' in presences) {
168
+ newState[key] = presences.metas.map((presence) => {
169
+ presence['presence_id'] = presence['phx_ref'];
170
+ delete presence['phx_ref'];
171
+ delete presence['phx_ref_prev'];
172
+ return presence;
173
+ });
174
+ }
175
+ else {
176
+ newState[key] = presences;
177
+ }
178
+ return newState;
179
+ }, {});
180
+ }
181
+ onJoin(callback) {
182
+ this.caller.onJoin = callback;
183
+ }
184
+ onLeave(callback) {
185
+ this.caller.onLeave = callback;
186
+ }
187
+ onSync(callback) {
188
+ this.caller.onSync = callback;
189
+ }
190
+ list(by) {
191
+ return RealtimePresence.list(this.state, by);
192
+ }
193
+ inPendingSyncState() {
194
+ return !this.joinRef || this.joinRef !== this.channel.joinRef();
195
+ }
196
+ }
197
+ exports.default = RealtimePresence;
198
+ //# sourceMappingURL=RealtimePresence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RealtimePresence.js","sourceRoot":"","sources":["../../src/RealtimePresence.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import * as Transformers from './lib/transformers';
2
2
  import RealtimeClient, { Options as RealtimeClientOptions } from './RealtimeClient';
3
3
  import RealtimeSubscription from './RealtimeSubscription';
4
- export { RealtimeClient, RealtimeClientOptions, RealtimeSubscription, Transformers, };
4
+ import RealtimePresence from './RealtimePresence';
5
+ export { RealtimeClient, RealtimeClientOptions, RealtimeSubscription, RealtimePresence, Transformers, };
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAClD,OAAO,cAAc,EAAE,EACrB,OAAO,IAAI,qBAAqB,EACjC,MAAM,kBAAkB,CAAA;AACzB,OAAO,oBAAoB,MAAM,wBAAwB,CAAA;AAEzD,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,GACb,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAClD,OAAO,cAAc,EAAE,EACrB,OAAO,IAAI,qBAAqB,EACjC,MAAM,kBAAkB,CAAA;AACzB,OAAO,oBAAoB,MAAM,wBAAwB,CAAA;AACzD,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AAEjD,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,GACb,CAAA"}
@@ -22,11 +22,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
22
22
  return (mod && mod.__esModule) ? mod : { "default": mod };
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.Transformers = exports.RealtimeSubscription = exports.RealtimeClient = void 0;
25
+ exports.Transformers = exports.RealtimePresence = exports.RealtimeSubscription = exports.RealtimeClient = void 0;
26
26
  const Transformers = __importStar(require("./lib/transformers"));
27
27
  exports.Transformers = Transformers;
28
28
  const RealtimeClient_1 = __importDefault(require("./RealtimeClient"));
29
29
  exports.RealtimeClient = RealtimeClient_1.default;
30
30
  const RealtimeSubscription_1 = __importDefault(require("./RealtimeSubscription"));
31
31
  exports.RealtimeSubscription = RealtimeSubscription_1.default;
32
+ const RealtimePresence_1 = __importDefault(require("./RealtimePresence"));
33
+ exports.RealtimePresence = RealtimePresence_1.default;
32
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAkD;AAUhD,oCAAY;AATd,sEAEyB;AAIvB,yBANK,wBAAc,CAML;AAHhB,kFAAyD;AAKvD,+BALK,8BAAoB,CAKL"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAkD;AAYhD,oCAAY;AAXd,sEAEyB;AAKvB,yBAPK,wBAAc,CAOL;AAJhB,kFAAyD;AAMvD,+BANK,8BAAoB,CAML;AALtB,0EAAiD;AAM/C,2BANK,0BAAgB,CAML"}
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/lib/push.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/lib/push.ts"],"names":[],"mappings":"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"}
@@ -45,15 +45,14 @@ var PostgresTypes;
45
45
  * @example convertChangeData([{name: 'first_name', type: 'text'}, {name: 'age', type: 'int4'}], {first_name: 'Paul', age:'33'}, {})
46
46
  * //=>{ first_name: 'Paul', age: 33 }
47
47
  */
48
- const convertChangeData = (columns, record, options = {}) => {
48
+ exports.convertChangeData = (columns, record, options = {}) => {
49
49
  var _a;
50
50
  const skipTypes = (_a = options.skipTypes) !== null && _a !== void 0 ? _a : [];
51
51
  return Object.keys(record).reduce((acc, rec_key) => {
52
- acc[rec_key] = (0, exports.convertColumn)(rec_key, columns, record, skipTypes);
52
+ acc[rec_key] = exports.convertColumn(rec_key, columns, record, skipTypes);
53
53
  return acc;
54
54
  }, {});
55
55
  };
56
- exports.convertChangeData = convertChangeData;
57
56
  /**
58
57
  * Converts the value of an individual column.
59
58
  *
@@ -68,16 +67,15 @@ exports.convertChangeData = convertChangeData;
68
67
  * @example convertColumn('age', [{name: 'first_name', type: 'text'}, {name: 'age', type: 'int4'}], {first_name: 'Paul', age: '33'}, ['int4'])
69
68
  * //=> "33"
70
69
  */
71
- const convertColumn = (columnName, columns, record, skipTypes) => {
70
+ exports.convertColumn = (columnName, columns, record, skipTypes) => {
72
71
  const column = columns.find((x) => x.name === columnName);
73
72
  const colType = column === null || column === void 0 ? void 0 : column.type;
74
73
  const value = record[columnName];
75
74
  if (colType && !skipTypes.includes(colType)) {
76
- return (0, exports.convertCell)(colType, value);
75
+ return exports.convertCell(colType, value);
77
76
  }
78
77
  return noop(value);
79
78
  };
80
- exports.convertColumn = convertColumn;
81
79
  /**
82
80
  * If the value of the cell is `null`, returns null.
83
81
  * Otherwise converts the string value to the correct type.
@@ -91,16 +89,16 @@ exports.convertColumn = convertColumn;
91
89
  * @example convertCell('_int4', '{1,2,3,4}')
92
90
  * //=> [1,2,3,4]
93
91
  */
94
- const convertCell = (type, value) => {
92
+ exports.convertCell = (type, value) => {
95
93
  // if data type is an array
96
94
  if (type.charAt(0) === '_') {
97
95
  const dataType = type.slice(1, type.length);
98
- return (0, exports.toArray)(value, dataType);
96
+ return exports.toArray(value, dataType);
99
97
  }
100
98
  // If not null, convert to correct type.
101
99
  switch (type) {
102
100
  case PostgresTypes.bool:
103
- return (0, exports.toBoolean)(value);
101
+ return exports.toBoolean(value);
104
102
  case PostgresTypes.float4:
105
103
  case PostgresTypes.float8:
106
104
  case PostgresTypes.int2:
@@ -108,12 +106,12 @@ const convertCell = (type, value) => {
108
106
  case PostgresTypes.int8:
109
107
  case PostgresTypes.numeric:
110
108
  case PostgresTypes.oid:
111
- return (0, exports.toNumber)(value);
109
+ return exports.toNumber(value);
112
110
  case PostgresTypes.json:
113
111
  case PostgresTypes.jsonb:
114
- return (0, exports.toJson)(value);
112
+ return exports.toJson(value);
115
113
  case PostgresTypes.timestamp:
116
- return (0, exports.toTimestampString)(value); // Format to be consistent with PostgREST
114
+ return exports.toTimestampString(value); // Format to be consistent with PostgREST
117
115
  case PostgresTypes.abstime: // To allow users to cast it based on Timezone
118
116
  case PostgresTypes.date: // To allow users to cast it based on Timezone
119
117
  case PostgresTypes.daterange:
@@ -133,11 +131,10 @@ const convertCell = (type, value) => {
133
131
  return noop(value);
134
132
  }
135
133
  };
136
- exports.convertCell = convertCell;
137
134
  const noop = (value) => {
138
135
  return value;
139
136
  };
140
- const toBoolean = (value) => {
137
+ exports.toBoolean = (value) => {
141
138
  switch (value) {
142
139
  case 't':
143
140
  return true;
@@ -147,8 +144,7 @@ const toBoolean = (value) => {
147
144
  return value;
148
145
  }
149
146
  };
150
- exports.toBoolean = toBoolean;
151
- const toNumber = (value) => {
147
+ exports.toNumber = (value) => {
152
148
  if (typeof value === 'string') {
153
149
  const parsedValue = parseFloat(value);
154
150
  if (!Number.isNaN(parsedValue)) {
@@ -157,8 +153,7 @@ const toNumber = (value) => {
157
153
  }
158
154
  return value;
159
155
  };
160
- exports.toNumber = toNumber;
161
- const toJson = (value) => {
156
+ exports.toJson = (value) => {
162
157
  if (typeof value === 'string') {
163
158
  try {
164
159
  return JSON.parse(value);
@@ -170,7 +165,6 @@ const toJson = (value) => {
170
165
  }
171
166
  return value;
172
167
  };
173
- exports.toJson = toJson;
174
168
  /**
175
169
  * Converts a Postgres Array into a native JS array
176
170
  *
@@ -181,7 +175,7 @@ exports.toJson = toJson;
181
175
  * @example toArray([1,2,3,4], 'int4')
182
176
  * //=> [1,2,3,4]
183
177
  */
184
- const toArray = (value, type) => {
178
+ exports.toArray = (value, type) => {
185
179
  if (typeof value !== 'string') {
186
180
  return value;
187
181
  }
@@ -200,11 +194,10 @@ const toArray = (value, type) => {
200
194
  // WARNING: splitting on comma does not cover all edge cases
201
195
  arr = valTrim ? valTrim.split(',') : [];
202
196
  }
203
- return arr.map((val) => (0, exports.convertCell)(type, val));
197
+ return arr.map((val) => exports.convertCell(type, val));
204
198
  }
205
199
  return value;
206
200
  };
207
- exports.toArray = toArray;
208
201
  /**
209
202
  * Fixes timestamp to be ISO-8601. Swaps the space between the date and time for a 'T'
210
203
  * See https://github.com/supabase/supabase/issues/18
@@ -212,11 +205,10 @@ exports.toArray = toArray;
212
205
  * @example toTimestampString('2019-09-10 00:00:00')
213
206
  * //=> '2019-09-10T00:00:00'
214
207
  */
215
- const toTimestampString = (value) => {
208
+ exports.toTimestampString = (value) => {
216
209
  if (typeof value === 'string') {
217
210
  return value.replace(' ', 'T');
218
211
  }
219
212
  return value;
220
213
  };
221
- exports.toTimestampString = toTimestampString;
222
214
  //# sourceMappingURL=transformers.js.map