@supabase/realtime-js 1.7.4 → 1.8.0-next.3

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 (55) hide show
  1. package/dist/main/{RealtimeSubscription.d.ts → RealtimeChannel.d.ts} +37 -6
  2. package/dist/main/RealtimeChannel.d.ts.map +1 -0
  3. package/dist/main/{RealtimeSubscription.js → RealtimeChannel.js} +101 -25
  4. package/dist/main/RealtimeChannel.js.map +1 -0
  5. package/dist/main/RealtimeClient.d.ts +4 -4
  6. package/dist/main/RealtimeClient.d.ts.map +1 -1
  7. package/dist/main/RealtimeClient.js +36 -2
  8. package/dist/main/RealtimeClient.js.map +1 -1
  9. package/dist/main/RealtimePresence.d.ts +97 -0
  10. package/dist/main/RealtimePresence.d.ts.map +1 -0
  11. package/dist/main/RealtimePresence.js +201 -0
  12. package/dist/main/RealtimePresence.js.map +1 -0
  13. package/dist/main/index.d.ts +3 -2
  14. package/dist/main/index.d.ts.map +1 -1
  15. package/dist/main/index.js +5 -3
  16. package/dist/main/index.js.map +1 -1
  17. package/dist/main/lib/push.d.ts +3 -3
  18. package/dist/main/lib/push.d.ts.map +1 -1
  19. package/dist/main/lib/push.js +2 -2
  20. package/dist/main/lib/push.js.map +1 -1
  21. package/dist/main/lib/version.d.ts +1 -1
  22. package/dist/main/lib/version.js +1 -1
  23. package/dist/module/{RealtimeSubscription.d.ts → RealtimeChannel.d.ts} +37 -6
  24. package/dist/module/RealtimeChannel.d.ts.map +1 -0
  25. package/dist/module/{RealtimeSubscription.js → RealtimeChannel.js} +100 -24
  26. package/dist/module/RealtimeChannel.js.map +1 -0
  27. package/dist/module/RealtimeClient.d.ts +4 -4
  28. package/dist/module/RealtimeClient.d.ts.map +1 -1
  29. package/dist/module/RealtimeClient.js +36 -2
  30. package/dist/module/RealtimeClient.js.map +1 -1
  31. package/dist/module/RealtimePresence.d.ts +97 -0
  32. package/dist/module/RealtimePresence.d.ts.map +1 -0
  33. package/dist/module/RealtimePresence.js +198 -0
  34. package/dist/module/RealtimePresence.js.map +1 -0
  35. package/dist/module/index.d.ts +3 -2
  36. package/dist/module/index.d.ts.map +1 -1
  37. package/dist/module/index.js +3 -2
  38. package/dist/module/index.js.map +1 -1
  39. package/dist/module/lib/push.d.ts +3 -3
  40. package/dist/module/lib/push.d.ts.map +1 -1
  41. package/dist/module/lib/push.js +2 -2
  42. package/dist/module/lib/push.js.map +1 -1
  43. package/dist/module/lib/version.d.ts +1 -1
  44. package/dist/module/lib/version.js +1 -1
  45. package/package.json +1 -1
  46. package/src/{RealtimeSubscription.ts → RealtimeChannel.ts} +129 -33
  47. package/src/RealtimeClient.ts +38 -9
  48. package/src/RealtimePresence.ts +326 -0
  49. package/src/index.ts +4 -2
  50. package/src/lib/push.ts +4 -4
  51. package/src/lib/version.ts +1 -1
  52. package/dist/main/RealtimeSubscription.d.ts.map +0 -1
  53. package/dist/main/RealtimeSubscription.js.map +0 -1
  54. package/dist/module/RealtimeSubscription.d.ts.map +0 -1
  55. package/dist/module/RealtimeSubscription.js.map +0 -1
@@ -2,7 +2,8 @@ import { CHANNEL_EVENTS, 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
- export default class RealtimeSubscription {
5
+ import RealtimePresence from './RealtimePresence';
6
+ export default class RealtimeChannel {
6
7
  topic: string;
7
8
  params: {
8
9
  [key: string]: unknown;
@@ -15,22 +16,45 @@ export default class RealtimeSubscription {
15
16
  joinPush: Push;
16
17
  rejoinTimer: Timer;
17
18
  pushBuffer: Push[];
19
+ presence: RealtimePresence;
18
20
  constructor(topic: string, params: {
19
21
  [key: string]: unknown;
20
22
  }, socket: RealtimeClient);
23
+ list(): any[];
24
+ track(payload: {
25
+ [key: string]: any;
26
+ }, opts?: {
27
+ [key: string]: any;
28
+ }): Promise<Push>;
29
+ untrack(opts?: {
30
+ [key: string]: any;
31
+ }): Promise<Push>;
21
32
  rejoinUntilConnected(): void;
22
33
  subscribe(timeout?: number): Push;
34
+ /**
35
+ * Registers a callback that will be executed when the channel closes.
36
+ */
23
37
  onClose(callback: Function): void;
38
+ /**
39
+ * Registers a callback that will be executed when the channel encounteres an error.
40
+ */
24
41
  onError(callback: Function): void;
25
- on(event: string, callback: Function): void;
26
- off(event: string): void;
42
+ on(type: string, filter?: {
43
+ [key: string]: string;
44
+ }, callback?: Function): this;
45
+ off(type: string, filter: {
46
+ [key: string]: any;
47
+ }): this;
48
+ /**
49
+ * Returns `true` if the socket is connected and the channel has been joined.
50
+ */
27
51
  canPush(): boolean;
28
52
  push(event: CHANNEL_EVENTS, payload: any, timeout?: number): Push;
29
53
  updateJoinPayload(payload: {
30
54
  [key: string]: unknown;
31
55
  }): void;
32
56
  /**
33
- * Leaves the channel
57
+ * Leaves the channel.
34
58
  *
35
59
  * Unsubscribes from server events, and instructs channel to terminate on server.
36
60
  * Triggers onClose() hooks.
@@ -49,12 +73,19 @@ export default class RealtimeSubscription {
49
73
  isMember(topic: string): boolean;
50
74
  joinRef(): string;
51
75
  rejoin(timeout?: number): void;
52
- trigger(event: string, payload?: any, ref?: string): void;
76
+ trigger(type: string, payload?: any, ref?: string): void;
77
+ send(payload: {
78
+ type: string;
79
+ [key: string]: any;
80
+ }, opts?: {
81
+ [key: string]: any;
82
+ }): Push;
53
83
  replyEventName(ref: string): string;
54
84
  isClosed(): boolean;
55
85
  isErrored(): boolean;
56
86
  isJoined(): boolean;
57
87
  isJoining(): boolean;
58
88
  isLeaving(): boolean;
89
+ private static isEqual;
59
90
  }
60
- //# sourceMappingURL=RealtimeSubscription.d.ts.map
91
+ //# sourceMappingURL=RealtimeChannel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RealtimeChannel.d.ts","sourceRoot":"","sources":["../../src/RealtimeChannel.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
13
  };
@@ -6,7 +15,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
15
  const constants_1 = require("./lib/constants");
7
16
  const push_1 = __importDefault(require("./lib/push"));
8
17
  const timer_1 = __importDefault(require("./lib/timer"));
9
- class RealtimeSubscription {
18
+ const RealtimePresence_1 = __importDefault(require("./RealtimePresence"));
19
+ class RealtimeChannel {
10
20
  constructor(topic, params = {}, socket) {
11
21
  this.topic = topic;
12
22
  this.params = params;
@@ -46,9 +56,30 @@ class RealtimeSubscription {
46
56
  this.state = constants_1.CHANNEL_STATES.errored;
47
57
  this.rejoinTimer.scheduleTimeout();
48
58
  });
49
- this.on(constants_1.CHANNEL_EVENTS.reply, (payload, ref) => {
59
+ this.on(constants_1.CHANNEL_EVENTS.reply, {}, (payload, ref) => {
50
60
  this.trigger(this.replyEventName(ref), payload);
51
61
  });
62
+ this.presence = new RealtimePresence_1.default(this);
63
+ }
64
+ list() {
65
+ return this.presence.list();
66
+ }
67
+ track(payload, opts = {}) {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ return yield this.send({
70
+ type: 'presence',
71
+ event: 'track',
72
+ payload,
73
+ }, opts);
74
+ });
75
+ }
76
+ untrack(opts = {}) {
77
+ return __awaiter(this, void 0, void 0, function* () {
78
+ return yield this.send({
79
+ type: 'presence',
80
+ event: 'untrack',
81
+ }, opts);
82
+ });
52
83
  }
53
84
  rejoinUntilConnected() {
54
85
  this.rejoinTimer.scheduleTimeout();
@@ -61,23 +92,56 @@ class RealtimeSubscription {
61
92
  throw `tried to subscribe multiple times. 'subscribe' can only be called a single time per channel instance`;
62
93
  }
63
94
  else {
95
+ const configs = this.bindings.reduce((acc, binding) => {
96
+ const { type } = binding;
97
+ if (![
98
+ 'phx_close',
99
+ 'phx_error',
100
+ 'phx_reply',
101
+ 'presence_diff',
102
+ 'presence_state',
103
+ ].includes(type)) {
104
+ acc[type] = binding;
105
+ }
106
+ return acc;
107
+ }, {});
108
+ if (Object.keys(configs).length) {
109
+ this.updateJoinPayload({ configs });
110
+ }
64
111
  this.joinedOnce = true;
65
112
  this.rejoin(timeout);
66
113
  return this.joinPush;
67
114
  }
68
115
  }
116
+ /**
117
+ * Registers a callback that will be executed when the channel closes.
118
+ */
69
119
  onClose(callback) {
70
- this.on(constants_1.CHANNEL_EVENTS.close, callback);
120
+ this.on(constants_1.CHANNEL_EVENTS.close, {}, callback);
71
121
  }
122
+ /**
123
+ * Registers a callback that will be executed when the channel encounteres an error.
124
+ */
72
125
  onError(callback) {
73
- this.on(constants_1.CHANNEL_EVENTS.error, (reason) => callback(reason));
126
+ this.on(constants_1.CHANNEL_EVENTS.error, {}, (reason) => callback(reason));
74
127
  }
75
- on(event, callback) {
76
- this.bindings.push({ event, callback });
128
+ on(type, filter, callback) {
129
+ this.bindings.push({
130
+ type,
131
+ filter: filter !== null && filter !== void 0 ? filter : {},
132
+ callback: callback !== null && callback !== void 0 ? callback : (() => { }),
133
+ });
134
+ return this;
77
135
  }
78
- off(event) {
79
- this.bindings = this.bindings.filter((bind) => bind.event !== event);
136
+ off(type, filter) {
137
+ this.bindings = this.bindings.filter((bind) => {
138
+ return !(bind.type === type && RealtimeChannel.isEqual(bind.filter, filter));
139
+ });
140
+ return this;
80
141
  }
142
+ /**
143
+ * Returns `true` if the socket is connected and the channel has been joined.
144
+ */
81
145
  canPush() {
82
146
  return this.socket.isConnected() && this.isJoined();
83
147
  }
@@ -99,7 +163,7 @@ class RealtimeSubscription {
99
163
  this.joinPush.updatePayload(payload);
100
164
  }
101
165
  /**
102
- * Leaves the channel
166
+ * Leaves the channel.
103
167
  *
104
168
  * Unsubscribes from server events, and instructs channel to terminate on server.
105
169
  * Triggers onClose() hooks.
@@ -109,13 +173,13 @@ class RealtimeSubscription {
109
173
  */
110
174
  unsubscribe(timeout = this.timeout) {
111
175
  this.state = constants_1.CHANNEL_STATES.leaving;
112
- let onClose = () => {
176
+ const onClose = () => {
113
177
  this.socket.log('channel', `leave ${this.topic}`);
114
178
  this.trigger(constants_1.CHANNEL_EVENTS.close, 'leave', this.joinRef());
115
179
  };
116
180
  // Destroy joinPush to avoid connection timeouts during unscription phase
117
181
  this.joinPush.destroy();
118
- let leavePush = new push_1.default(this, constants_1.CHANNEL_EVENTS.leave, {}, timeout);
182
+ const leavePush = new push_1.default(this, constants_1.CHANNEL_EVENTS.leave, {}, timeout);
119
183
  leavePush.receive('ok', () => onClose()).receive('timeout', () => onClose());
120
184
  leavePush.send();
121
185
  if (!this.canPush()) {
@@ -146,28 +210,29 @@ class RealtimeSubscription {
146
210
  this.state = constants_1.CHANNEL_STATES.joining;
147
211
  this.joinPush.resend(timeout);
148
212
  }
149
- trigger(event, payload, ref) {
150
- let { close, error, leave, join } = constants_1.CHANNEL_EVENTS;
151
- let events = [close, error, leave, join];
152
- if (ref && events.indexOf(event) >= 0 && ref !== this.joinRef()) {
213
+ trigger(type, payload, ref) {
214
+ const { close, error, leave, join } = constants_1.CHANNEL_EVENTS;
215
+ const events = [close, error, leave, join];
216
+ if (ref && events.indexOf(type) >= 0 && ref !== this.joinRef()) {
153
217
  return;
154
218
  }
155
- let handledPayload = this.onMessage(event, payload, ref);
219
+ const handledPayload = this.onMessage(type, payload, ref);
156
220
  if (payload && !handledPayload) {
157
221
  throw 'channel onMessage callbacks must return the payload, modified or unmodified';
158
222
  }
159
223
  this.bindings
160
224
  .filter((bind) => {
161
- // Bind all events if the user specifies a wildcard.
162
- if (bind.event === '*') {
163
- return event === (payload === null || payload === void 0 ? void 0 : payload.type);
164
- }
165
- else {
166
- return bind.event === event;
167
- }
225
+ var _a, _b;
226
+ return ((bind === null || bind === void 0 ? void 0 : bind.type) === type &&
227
+ (((_a = bind === null || bind === void 0 ? void 0 : bind.filter) === null || _a === void 0 ? void 0 : _a.event) === '*' ||
228
+ ((_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)));
168
229
  })
169
230
  .map((bind) => bind.callback(handledPayload, ref));
170
231
  }
232
+ send(payload, opts = {}) {
233
+ var _a;
234
+ return this.push(payload.type, payload, (_a = opts.timeout) !== null && _a !== void 0 ? _a : this.timeout);
235
+ }
171
236
  replyEventName(ref) {
172
237
  return `chan_reply_${ref}`;
173
238
  }
@@ -186,6 +251,17 @@ class RealtimeSubscription {
186
251
  isLeaving() {
187
252
  return this.state === constants_1.CHANNEL_STATES.leaving;
188
253
  }
254
+ static isEqual(obj1, obj2) {
255
+ if (Object.keys(obj1).length !== Object.keys(obj2).length) {
256
+ return false;
257
+ }
258
+ for (const k in obj1) {
259
+ if (obj1[k] !== obj2[k]) {
260
+ return false;
261
+ }
262
+ }
263
+ return true;
264
+ }
189
265
  }
190
- exports.default = RealtimeSubscription;
191
- //# sourceMappingURL=RealtimeSubscription.js.map
266
+ exports.default = RealtimeChannel;
267
+ //# sourceMappingURL=RealtimeChannel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RealtimeChannel.js","sourceRoot":"","sources":["../../src/RealtimeChannel.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { CONNECTION_STATE } from './lib/constants';
2
2
  import Timer from './lib/timer';
3
3
  import Serializer from './lib/serializer';
4
- import RealtimeSubscription from './RealtimeSubscription';
4
+ import RealtimeChannel from './RealtimeChannel';
5
5
  export declare type Options = {
6
6
  transport?: WebSocket;
7
7
  timeout?: number;
@@ -30,7 +30,7 @@ declare type ChannelParams = {
30
30
  };
31
31
  export default class RealtimeClient {
32
32
  accessToken: string | null;
33
- channels: RealtimeSubscription[];
33
+ channels: RealtimeChannel[];
34
34
  endPoint: string;
35
35
  headers?: {
36
36
  [key: string]: string;
@@ -144,8 +144,8 @@ export default class RealtimeClient {
144
144
  *
145
145
  * @param channel An open subscription.
146
146
  */
147
- remove(channel: RealtimeSubscription): void;
148
- channel(topic: string, chanParams?: ChannelParams): RealtimeSubscription;
147
+ remove(channel: RealtimeChannel): void;
148
+ channel(topic: string, chanParams?: ChannelParams): RealtimeChannel;
149
149
  /**
150
150
  * Push out a message if the socket is connected.
151
151
  *
@@ -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":"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"}
@@ -8,6 +8,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __rest = (this && this.__rest) || function (s, e) {
12
+ var t = {};
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
+ t[p] = s[p];
15
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
+ t[p[i]] = s[p[i]];
19
+ }
20
+ return t;
21
+ };
11
22
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
23
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
24
  };
@@ -16,7 +27,7 @@ const websocket_1 = require("websocket");
16
27
  const constants_1 = require("./lib/constants");
17
28
  const timer_1 = __importDefault(require("./lib/timer"));
18
29
  const serializer_1 = __importDefault(require("./lib/serializer"));
19
- const RealtimeSubscription_1 = __importDefault(require("./RealtimeSubscription"));
30
+ const RealtimeChannel_1 = __importDefault(require("./RealtimeChannel"));
20
31
  const noop = () => { };
21
32
  class RealtimeClient {
22
33
  /**
@@ -215,7 +226,30 @@ class RealtimeClient {
215
226
  this.channels = this.channels.filter((c) => c.joinRef() !== channel.joinRef());
216
227
  }
217
228
  channel(topic, chanParams = {}) {
218
- const chan = new RealtimeSubscription_1.default(topic, chanParams, this);
229
+ const { selfBroadcast } = chanParams, params = __rest(chanParams, ["selfBroadcast"]);
230
+ if (selfBroadcast) {
231
+ params.self_broadcast = selfBroadcast;
232
+ }
233
+ const chan = new RealtimeChannel_1.default(topic, params, this);
234
+ chan.presence.onJoin((key, currentPresences, newPresences) => {
235
+ chan.trigger('presence', {
236
+ event: 'join',
237
+ key,
238
+ currentPresences,
239
+ newPresences,
240
+ });
241
+ });
242
+ chan.presence.onLeave((key, currentPresences, leftPresences) => {
243
+ chan.trigger('presence', {
244
+ event: 'leave',
245
+ key,
246
+ currentPresences,
247
+ leftPresences,
248
+ });
249
+ });
250
+ chan.presence.onSync(() => {
251
+ chan.trigger('presence', { event: 'sync' });
252
+ });
219
253
  this.channels.push(chan);
220
254
  return chan;
221
255
  }
@@ -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,97 @@
1
+ import { PresenceOpts, PresenceOnJoinCallback, PresenceOnLeaveCallback } from 'phoenix';
2
+ import RealtimeChannel from './RealtimeChannel';
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: RealtimeChannel;
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
+ *
39
+ * @param channel - The RealtimeChannel
40
+ * @param opts - The options,
41
+ * for example `{events: {state: 'state', diff: 'diff'}}`
42
+ */
43
+ constructor(channel: RealtimeChannel, opts?: PresenceOpts);
44
+ /**
45
+ * Used to sync the list of presences on the server with the
46
+ * client's state.
47
+ *
48
+ * An optional `onJoin` and `onLeave` callback can be provided to
49
+ * react to changes in the client's local presences across
50
+ * disconnects and reconnects with the server.
51
+ */
52
+ static syncState(currentState: PresenceState, newState: RawPresenceState | PresenceState, onJoin: PresenceOnJoinCallback, onLeave: PresenceOnLeaveCallback): PresenceState;
53
+ /**
54
+ * Used to sync a diff of presence join and leave events from the
55
+ * server, as they happen.
56
+ *
57
+ * Like `syncState`, `syncDiff` accepts optional `onJoin` and
58
+ * `onLeave` callbacks to react to a user joining or leaving from a
59
+ * device.
60
+ */
61
+ static syncDiff(state: PresenceState, diff: RawPresenceDiff | PresenceDiff, onJoin: PresenceOnJoinCallback, onLeave: PresenceOnLeaveCallback): PresenceState;
62
+ /**
63
+ * Returns the array of presences, with selected metadata.
64
+ */
65
+ static list<T = any>(presences: PresenceState, chooser: PresenceChooser<T> | undefined): T[];
66
+ private static map;
67
+ /**
68
+ * Remove 'metas' key
69
+ * Change 'phx_ref' to 'presence_id'
70
+ * Remove 'phx_ref' and 'phx_ref_prev'
71
+ *
72
+ * @example
73
+ * // returns {
74
+ * abc123: [
75
+ * { presence_id: '2', user_id: 1 },
76
+ * { presence_id: '3', user_id: 2 }
77
+ * ]
78
+ * }
79
+ * RealtimePresence.transformState({
80
+ * abc123: {
81
+ * metas: [
82
+ * { phx_ref: '2', phx_ref_prev: '1' user_id: 1 },
83
+ * { phx_ref: '3', user_id: 2 }
84
+ * ]
85
+ * }
86
+ * })
87
+ */
88
+ private static transformState;
89
+ private static cloneDeep;
90
+ onJoin(callback: PresenceOnJoinCallback): void;
91
+ onLeave(callback: PresenceOnLeaveCallback): void;
92
+ onSync(callback: () => void): void;
93
+ list<T = any>(by?: PresenceChooser<T>): T[];
94
+ private inPendingSyncState;
95
+ }
96
+ export {};
97
+ //# sourceMappingURL=RealtimePresence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RealtimePresence.d.ts","sourceRoot":"","sources":["../../src/RealtimePresence.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,SAAS,CAAA;AAChB,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAE/C,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;IAqBhB,OAAO,EAAE,eAAe;IApB3C,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;;;;;;OAMG;gBACgB,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,YAAY;IAkDhE;;;;;;;OAOG;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;;;;;;;OAOG;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,OAAO,CAAC,MAAM,CAAC,SAAS;IAIxB,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"}