@supabase/realtime-js 1.3.4 → 1.4.0
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.
- package/dist/main/RealtimeClient.d.ts +2 -2
- package/dist/main/RealtimeClient.d.ts.map +1 -1
- package/dist/main/RealtimeClient.js +14 -16
- package/dist/main/RealtimeClient.js.map +1 -1
- package/dist/main/RealtimePresence.d.ts +92 -0
- package/dist/main/RealtimePresence.d.ts.map +1 -0
- package/dist/main/RealtimePresence.js +198 -0
- package/dist/main/RealtimePresence.js.map +1 -0
- package/dist/main/RealtimeSubscription.d.ts +0 -1
- package/dist/main/RealtimeSubscription.d.ts.map +1 -1
- package/dist/main/RealtimeSubscription.js +3 -5
- package/dist/main/RealtimeSubscription.js.map +1 -1
- package/dist/main/index.d.ts +2 -1
- package/dist/main/index.d.ts.map +1 -1
- package/dist/main/index.js +3 -1
- package/dist/main/index.js.map +1 -1
- package/dist/main/lib/push.js.map +1 -1
- package/dist/main/lib/transformers.js +16 -24
- package/dist/main/lib/transformers.js.map +1 -1
- package/dist/main/lib/version.d.ts +1 -1
- package/dist/main/lib/version.js +1 -1
- package/dist/module/RealtimeClient.d.ts +2 -2
- package/dist/module/RealtimeClient.d.ts.map +1 -1
- package/dist/module/RealtimeClient.js +14 -16
- package/dist/module/RealtimeClient.js.map +1 -1
- package/dist/module/RealtimePresence.d.ts +92 -0
- package/dist/module/RealtimePresence.d.ts.map +1 -0
- package/dist/module/RealtimePresence.js +192 -0
- package/dist/module/RealtimePresence.js.map +1 -0
- package/dist/module/RealtimeSubscription.d.ts +0 -1
- package/dist/module/RealtimeSubscription.d.ts.map +1 -1
- package/dist/module/RealtimeSubscription.js +3 -5
- package/dist/module/RealtimeSubscription.js.map +1 -1
- package/dist/module/index.d.ts +2 -1
- package/dist/module/index.d.ts.map +1 -1
- package/dist/module/index.js +2 -1
- package/dist/module/index.js.map +1 -1
- package/dist/module/lib/push.js.map +1 -1
- package/dist/module/lib/transformers.js.map +1 -1
- package/dist/module/lib/version.d.ts +1 -1
- package/dist/module/lib/version.js +1 -1
- package/package.json +4 -1
- package/src/RealtimeClient.ts +20 -13
- package/src/RealtimePresence.ts +319 -0
- package/src/RealtimeSubscription.ts +3 -6
- package/src/index.ts +2 -0
- package/src/lib/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RealtimeSubscription.d.ts","sourceRoot":"","sources":["../../src/RealtimeSubscription.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,IAAI,MAAM,YAAY,CAAA;AAC7B,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,MAAM,aAAa,CAAA;AAE/B,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAU9B,KAAK,EAAE,MAAM;IACb,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;IAClC,MAAM,EAAE,cAAc;IAX/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;gBAGd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAO,EACvC,MAAM,EAAE,cAAc;IA8C/B,oBAAoB;IAOpB,SAAS,CAAC,OAAO,SAAe;IAUhC,OAAO,CAAC,QAAQ,EAAE,QAAQ;IAI1B,OAAO,CAAC,QAAQ,EAAE,QAAQ;IAI1B,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAIpC,GAAG,CAAC,KAAK,EAAE,MAAM;IAIjB,OAAO;IAIP,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,SAAe;IAehE,iBAAiB,CAAC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,IAAI;IAI5D;;;;;;;;OAQG;IACH,WAAW,CAAC,OAAO,SAAe;IAmBlC;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM;IAInD,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,OAAO;IAIP,
|
|
1
|
+
{"version":3,"file":"RealtimeSubscription.d.ts","sourceRoot":"","sources":["../../src/RealtimeSubscription.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,IAAI,MAAM,YAAY,CAAA;AAC7B,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,MAAM,aAAa,CAAA;AAE/B,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAU9B,KAAK,EAAE,MAAM;IACb,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;IAClC,MAAM,EAAE,cAAc;IAX/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;gBAGd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAO,EACvC,MAAM,EAAE,cAAc;IA8C/B,oBAAoB;IAOpB,SAAS,CAAC,OAAO,SAAe;IAUhC,OAAO,CAAC,QAAQ,EAAE,QAAQ;IAI1B,OAAO,CAAC,QAAQ,EAAE,QAAQ;IAI1B,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAIpC,GAAG,CAAC,KAAK,EAAE,MAAM;IAIjB,OAAO;IAIP,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,SAAe;IAehE,iBAAiB,CAAC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,IAAI;IAI5D;;;;;;;;OAQG;IACH,WAAW,CAAC,OAAO,SAAe;IAmBlC;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM;IAInD,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,OAAO;IAIP,MAAM,CAAC,OAAO,SAAe;IAS7B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM;IAuBlD,cAAc,CAAC,GAAG,EAAE,MAAM;IAI1B,QAAQ;IAGR,SAAS;IAGT,QAAQ;IAGR,SAAS;IAGT,SAAS;CAGV"}
|
|
@@ -133,15 +133,13 @@ export default class RealtimeSubscription {
|
|
|
133
133
|
joinRef() {
|
|
134
134
|
return this.joinPush.ref;
|
|
135
135
|
}
|
|
136
|
-
sendJoin(timeout) {
|
|
137
|
-
this.state = CHANNEL_STATES.joining;
|
|
138
|
-
this.joinPush.resend(timeout);
|
|
139
|
-
}
|
|
140
136
|
rejoin(timeout = this.timeout) {
|
|
141
137
|
if (this.isLeaving()) {
|
|
142
138
|
return;
|
|
143
139
|
}
|
|
144
|
-
this.
|
|
140
|
+
this.socket.leaveOpenTopic(this.topic);
|
|
141
|
+
this.state = CHANNEL_STATES.joining;
|
|
142
|
+
this.joinPush.resend(timeout);
|
|
145
143
|
}
|
|
146
144
|
trigger(event, payload, ref) {
|
|
147
145
|
let { close, error, leave, join } = CHANNEL_EVENTS;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RealtimeSubscription.js","sourceRoot":"","sources":["../../src/RealtimeSubscription.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"RealtimeSubscription.js","sourceRoot":"","sources":["../../src/RealtimeSubscription.ts"],"names":[],"mappings":"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"}
|
package/dist/module/index.d.ts
CHANGED
|
@@ -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
|
-
|
|
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;
|
|
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"}
|
package/dist/module/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as Transformers from './lib/transformers';
|
|
2
2
|
import RealtimeClient from './RealtimeClient';
|
|
3
3
|
import RealtimeSubscription from './RealtimeSubscription';
|
|
4
|
-
|
|
4
|
+
import RealtimePresence from './RealtimePresence';
|
|
5
|
+
export { RealtimeClient, RealtimeSubscription, RealtimePresence, Transformers, };
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
package/dist/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAClD,OAAO,cAEN,MAAM,kBAAkB,CAAA;AACzB,OAAO,oBAAoB,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAClD,OAAO,cAEN,MAAM,kBAAkB,CAAA;AACzB,OAAO,oBAAoB,MAAM,wBAAwB,CAAA;AACzD,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AAEjD,OAAO,EACL,cAAc,EAEd,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,GACb,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/lib/push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAGlD,MAAM,CAAC,OAAO,OAAO,IAAI;IAcvB;;;;;;;OAOG;IACH,YACS,OAA6B,EAC7B,KAAa,EACb,UAAsC,EAAE,EACxC,UAAkB,eAAe;QAHjC,YAAO,GAAP,OAAO,CAAsB;QAC7B,UAAK,GAAL,KAAK,CAAQ;QACb,YAAO,GAAP,OAAO,CAAiC;QACxC,YAAO,GAAP,OAAO,CAA0B;QAzB1C,SAAI,GAAY,KAAK,CAAA;QACrB,iBAAY,GAAuB,SAAS,CAAA;QAC5C,QAAG,GAAW,EAAE,CAAA;QAChB,iBAAY,GAGD,IAAI,CAAA;QACf,aAAQ,GAGF,EAAE,CAAA;QACR,aAAQ,GAAkB,IAAI,CAAA;IAe3B,CAAC;IAEJ,MAAM,CAAC,OAAe;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,eAAe,EAAE,CAAA;QACtB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;QACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QACxB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;QACjB,IAAI,CAAC,IAAI,EAAE,CAAA;IACb,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE;YAChC,OAAM;SACP;QACD,IAAI,CAAC,YAAY,EAAE,CAAA;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YACvB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAA;IACJ,CAAC;IAED,aAAa,CAAC,OAAmC;QAC/C,IAAI,CAAC,OAAO,mCAAQ,IAAI,CAAC,OAAO,GAAK,OAAO,CAAE,CAAA;IAChD,CAAC;IAED,OAAO,CAAC,MAAc,EAAE,QAAkB;;QACxC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;YAC7B,QAAQ,
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/lib/push.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformers.js","sourceRoot":"","sources":["../../../src/lib/transformers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,0EAA0E;AAC1E,yFAAyF;AAEzF,MAAM,CAAN,IAAY,aAyBX;AAzBD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,8BAAa,CAAA;IACb,8BAAa,CAAA;IACb,wCAAuB,CAAA;IACvB,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,8BAAa,CAAA;IACb,8BAAa,CAAA;IACb,wCAAuB,CAAA;IACvB,8BAAa,CAAA;IACb,wCAAuB,CAAA;IACvB,8BAAa,CAAA;IACb,gCAAe,CAAA;IACf,gCAAe,CAAA;IACf,oCAAmB,CAAA;IACnB,4BAAW,CAAA;IACX,oCAAmB,CAAA;IACnB,8BAAa,CAAA;IACb,8BAAa,CAAA;IACb,wCAAuB,CAAA;IACvB,4CAA2B,CAAA;IAC3B,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;IACnB,wCAAuB,CAAA;AACzB,CAAC,EAzBW,aAAa,KAAb,aAAa,QAyBxB;AAgBD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAgB,EAChB,MAAc,EACd,UAAoC,EAAE,EAC9B,EAAE;;IACV,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"transformers.js","sourceRoot":"","sources":["../../../src/lib/transformers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "1.
|
|
1
|
+
export declare const version = "1.4.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@supabase/realtime-js",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "Listen to realtime updates to your PostgreSQL database",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"realtime",
|
|
@@ -34,7 +34,10 @@
|
|
|
34
34
|
"docs:json": "typedoc --json docs/spec.json --mode modules --includeDeclarations --excludeExternals"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
+
"@types/lodash.clonedeep": "^4.5.6",
|
|
38
|
+
"@types/phoenix": "^1.5.4",
|
|
37
39
|
"@types/websocket": "^1.0.3",
|
|
40
|
+
"lodash.clonedeep": "^4.5.0",
|
|
38
41
|
"websocket": "^1.0.34"
|
|
39
42
|
},
|
|
40
43
|
"devDependencies": {
|
package/src/RealtimeClient.ts
CHANGED
|
@@ -272,10 +272,12 @@ export default class RealtimeClient {
|
|
|
272
272
|
onConnMessage(rawMessage: any) {
|
|
273
273
|
this.decode(rawMessage.data, (msg: Message) => {
|
|
274
274
|
let { topic, event, payload, ref } = msg
|
|
275
|
-
|
|
275
|
+
|
|
276
|
+
if (
|
|
277
|
+
(ref && ref === this.pendingHeartbeatRef) ||
|
|
278
|
+
event === payload?.type
|
|
279
|
+
) {
|
|
276
280
|
this.pendingHeartbeatRef = null
|
|
277
|
-
} else if (event === payload?.type) {
|
|
278
|
-
this._resetHeartbeat()
|
|
279
281
|
}
|
|
280
282
|
|
|
281
283
|
this.log(
|
|
@@ -339,11 +341,25 @@ export default class RealtimeClient {
|
|
|
339
341
|
}
|
|
340
342
|
}
|
|
341
343
|
|
|
344
|
+
leaveOpenTopic(topic: string): void {
|
|
345
|
+
let dupChannel = this.channels.find(
|
|
346
|
+
(c) => c.topic === topic && (c.isJoined() || c.isJoining())
|
|
347
|
+
)
|
|
348
|
+
if (dupChannel) {
|
|
349
|
+
this.log('transport', `leaving duplicate topic "${topic}"`)
|
|
350
|
+
dupChannel.unsubscribe()
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
|
|
342
354
|
private _onConnOpen() {
|
|
343
355
|
this.log('transport', `connected to ${this.endPointURL()}`)
|
|
344
356
|
this._flushSendBuffer()
|
|
345
357
|
this.reconnectTimer.reset()
|
|
346
|
-
this.
|
|
358
|
+
this.heartbeatTimer && clearInterval(this.heartbeatTimer)
|
|
359
|
+
this.heartbeatTimer = setInterval(
|
|
360
|
+
() => this._sendHeartbeat(),
|
|
361
|
+
this.heartbeatIntervalMs
|
|
362
|
+
)
|
|
347
363
|
this.stateChangeCallbacks.open.forEach((callback) => callback())!
|
|
348
364
|
}
|
|
349
365
|
|
|
@@ -384,15 +400,6 @@ export default class RealtimeClient {
|
|
|
384
400
|
}
|
|
385
401
|
}
|
|
386
402
|
|
|
387
|
-
private _resetHeartbeat() {
|
|
388
|
-
this.pendingHeartbeatRef = null
|
|
389
|
-
this.heartbeatTimer && clearInterval(this.heartbeatTimer)
|
|
390
|
-
this.heartbeatTimer = setInterval(
|
|
391
|
-
() => this._sendHeartbeat(),
|
|
392
|
-
this.heartbeatIntervalMs
|
|
393
|
-
)
|
|
394
|
-
}
|
|
395
|
-
|
|
396
403
|
private _sendHeartbeat() {
|
|
397
404
|
if (!this.isConnected()) {
|
|
398
405
|
return
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
/*
|
|
2
|
+
This file draws heavily from https://github.com/phoenixframework/phoenix/blob/d344ec0a732ab4ee204215b31de69cf4be72e3bf/assets/js/phoenix/presence.js
|
|
3
|
+
License: https://github.com/phoenixframework/phoenix/blob/d344ec0a732ab4ee204215b31de69cf4be72e3bf/LICENSE.md
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import cloneDeep from 'lodash.clonedeep'
|
|
7
|
+
import {
|
|
8
|
+
PresenceOpts,
|
|
9
|
+
PresenceOnJoinCallback,
|
|
10
|
+
PresenceOnLeaveCallback,
|
|
11
|
+
} from 'phoenix'
|
|
12
|
+
import RealtimeSubscription from './RealtimeSubscription'
|
|
13
|
+
|
|
14
|
+
type Presence = {
|
|
15
|
+
presence_id: string
|
|
16
|
+
[key: string]: any
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
type PresenceState = { [key: string]: Presence[] }
|
|
20
|
+
|
|
21
|
+
type PresenceDiff = {
|
|
22
|
+
joins: PresenceState
|
|
23
|
+
leaves: PresenceState
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
type RawPresenceState = {
|
|
27
|
+
[key: string]: Record<
|
|
28
|
+
'metas',
|
|
29
|
+
{
|
|
30
|
+
phx_ref?: string
|
|
31
|
+
phx_ref_prev?: string
|
|
32
|
+
[key: string]: any
|
|
33
|
+
}[]
|
|
34
|
+
>
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
type RawPresenceDiff = {
|
|
38
|
+
joins: RawPresenceState
|
|
39
|
+
leaves: RawPresenceState
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
type PresenceChooser<T> = (key: string, presences: any) => T
|
|
43
|
+
|
|
44
|
+
export default class RealtimePresence {
|
|
45
|
+
state: PresenceState = {}
|
|
46
|
+
pendingDiffs: RawPresenceDiff[] = []
|
|
47
|
+
joinRef: string | null = null
|
|
48
|
+
caller: {
|
|
49
|
+
onJoin: PresenceOnJoinCallback
|
|
50
|
+
onLeave: PresenceOnLeaveCallback
|
|
51
|
+
onSync: () => void
|
|
52
|
+
} = {
|
|
53
|
+
onJoin: () => {},
|
|
54
|
+
onLeave: () => {},
|
|
55
|
+
onSync: () => {},
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Initializes the Presence
|
|
60
|
+
* @param channel - The RealtimeSubscription
|
|
61
|
+
* @param opts - The options,
|
|
62
|
+
* for example `{events: {state: 'state', diff: 'diff'}}`
|
|
63
|
+
*/
|
|
64
|
+
constructor(public channel: RealtimeSubscription, opts?: PresenceOpts) {
|
|
65
|
+
const events = opts?.events || {
|
|
66
|
+
state: 'presence_state',
|
|
67
|
+
diff: 'presence_diff',
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
this.channel.on(events.state, (newState: RawPresenceState) => {
|
|
71
|
+
const { onJoin, onLeave, onSync } = this.caller
|
|
72
|
+
|
|
73
|
+
this.joinRef = this.channel.joinRef()
|
|
74
|
+
|
|
75
|
+
this.state = RealtimePresence.syncState(
|
|
76
|
+
this.state,
|
|
77
|
+
newState,
|
|
78
|
+
onJoin,
|
|
79
|
+
onLeave
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
this.pendingDiffs.forEach((diff) => {
|
|
83
|
+
this.state = RealtimePresence.syncDiff(
|
|
84
|
+
this.state,
|
|
85
|
+
diff,
|
|
86
|
+
onJoin,
|
|
87
|
+
onLeave
|
|
88
|
+
)
|
|
89
|
+
})
|
|
90
|
+
|
|
91
|
+
this.pendingDiffs = []
|
|
92
|
+
|
|
93
|
+
onSync()
|
|
94
|
+
})
|
|
95
|
+
|
|
96
|
+
this.channel.on(events.diff, (diff: RawPresenceDiff) => {
|
|
97
|
+
const { onJoin, onLeave, onSync } = this.caller
|
|
98
|
+
|
|
99
|
+
if (this.inPendingSyncState()) {
|
|
100
|
+
this.pendingDiffs.push(diff)
|
|
101
|
+
} else {
|
|
102
|
+
this.state = RealtimePresence.syncDiff(
|
|
103
|
+
this.state,
|
|
104
|
+
diff,
|
|
105
|
+
onJoin,
|
|
106
|
+
onLeave
|
|
107
|
+
)
|
|
108
|
+
|
|
109
|
+
onSync()
|
|
110
|
+
}
|
|
111
|
+
})
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Used to sync the list of presences on the server
|
|
116
|
+
* with the client's state. An optional `onJoin` and `onLeave` callback can
|
|
117
|
+
* be provided to react to changes in the client's local presences across
|
|
118
|
+
* disconnects and reconnects with the server.
|
|
119
|
+
*/
|
|
120
|
+
static syncState(
|
|
121
|
+
currentState: PresenceState,
|
|
122
|
+
newState: RawPresenceState | PresenceState,
|
|
123
|
+
onJoin: PresenceOnJoinCallback,
|
|
124
|
+
onLeave: PresenceOnLeaveCallback
|
|
125
|
+
): PresenceState {
|
|
126
|
+
const state = cloneDeep(currentState)
|
|
127
|
+
const transformedState = this.transformState(newState)
|
|
128
|
+
const joins: PresenceState = {}
|
|
129
|
+
const leaves: PresenceState = {}
|
|
130
|
+
|
|
131
|
+
this.map(state, (key: string, presences: Presence[]) => {
|
|
132
|
+
if (!transformedState[key]) {
|
|
133
|
+
leaves[key] = presences
|
|
134
|
+
}
|
|
135
|
+
})
|
|
136
|
+
|
|
137
|
+
this.map(transformedState, (key, newPresences: Presence[]) => {
|
|
138
|
+
const currentPresences: Presence[] = state[key]
|
|
139
|
+
|
|
140
|
+
if (currentPresences) {
|
|
141
|
+
const newPresenceIds = newPresences.map((m: Presence) => m.presence_id)
|
|
142
|
+
const curPresenceIds = currentPresences.map(
|
|
143
|
+
(m: Presence) => m.presence_id
|
|
144
|
+
)
|
|
145
|
+
const joinedPresences: Presence[] = newPresences.filter(
|
|
146
|
+
(m: Presence) => curPresenceIds.indexOf(m.presence_id) < 0
|
|
147
|
+
)
|
|
148
|
+
const leftPresences: Presence[] = currentPresences.filter(
|
|
149
|
+
(m: Presence) => newPresenceIds.indexOf(m.presence_id) < 0
|
|
150
|
+
)
|
|
151
|
+
|
|
152
|
+
if (joinedPresences.length > 0) {
|
|
153
|
+
joins[key] = joinedPresences
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
if (leftPresences.length > 0) {
|
|
157
|
+
leaves[key] = leftPresences
|
|
158
|
+
}
|
|
159
|
+
} else {
|
|
160
|
+
joins[key] = newPresences
|
|
161
|
+
}
|
|
162
|
+
})
|
|
163
|
+
|
|
164
|
+
return this.syncDiff(state, { joins, leaves }, onJoin, onLeave)
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
*
|
|
169
|
+
* Used to sync a diff of presence join and leave
|
|
170
|
+
* events from the server, as they happen. Like `syncState`, `syncDiff`
|
|
171
|
+
* accepts optional `onJoin` and `onLeave` callbacks to react to a user
|
|
172
|
+
* joining or leaving from a device.
|
|
173
|
+
*/
|
|
174
|
+
static syncDiff(
|
|
175
|
+
state: PresenceState,
|
|
176
|
+
diff: RawPresenceDiff | PresenceDiff,
|
|
177
|
+
onJoin: PresenceOnJoinCallback,
|
|
178
|
+
onLeave: PresenceOnLeaveCallback
|
|
179
|
+
): PresenceState {
|
|
180
|
+
const { joins, leaves } = {
|
|
181
|
+
joins: this.transformState(diff.joins),
|
|
182
|
+
leaves: this.transformState(diff.leaves),
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
if (!onJoin) {
|
|
186
|
+
onJoin = () => {}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
if (!onLeave) {
|
|
190
|
+
onLeave = () => {}
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
this.map(joins, (key, newPresences: Presence[]) => {
|
|
194
|
+
const currentPresences: Presence[] = state[key]
|
|
195
|
+
state[key] = cloneDeep(newPresences)
|
|
196
|
+
|
|
197
|
+
if (currentPresences) {
|
|
198
|
+
const joinedPresenceIds = state[key].map((m: Presence) => m.presence_id)
|
|
199
|
+
const curPresences: Presence[] = currentPresences.filter(
|
|
200
|
+
(m: Presence) => joinedPresenceIds.indexOf(m.presence_id) < 0
|
|
201
|
+
)
|
|
202
|
+
|
|
203
|
+
state[key].unshift(...curPresences)
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
onJoin(key, currentPresences, newPresences)
|
|
207
|
+
})
|
|
208
|
+
|
|
209
|
+
this.map(leaves, (key, leftPresences: Presence[]) => {
|
|
210
|
+
let currentPresences: Presence[] = state[key]
|
|
211
|
+
|
|
212
|
+
if (!currentPresences) return
|
|
213
|
+
|
|
214
|
+
const presenceIdsToRemove = leftPresences.map(
|
|
215
|
+
(m: Presence) => m.presence_id
|
|
216
|
+
)
|
|
217
|
+
currentPresences = currentPresences.filter(
|
|
218
|
+
(m: Presence) => presenceIdsToRemove.indexOf(m.presence_id) < 0
|
|
219
|
+
)
|
|
220
|
+
|
|
221
|
+
state[key] = currentPresences
|
|
222
|
+
|
|
223
|
+
onLeave(key, currentPresences, leftPresences)
|
|
224
|
+
|
|
225
|
+
if (currentPresences.length === 0) delete state[key]
|
|
226
|
+
})
|
|
227
|
+
|
|
228
|
+
return state
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* Returns the array of presences, with selected metadata.
|
|
233
|
+
*/
|
|
234
|
+
static list<T = any>(
|
|
235
|
+
presences: PresenceState,
|
|
236
|
+
chooser: PresenceChooser<T> | undefined
|
|
237
|
+
): T[] {
|
|
238
|
+
if (!chooser) {
|
|
239
|
+
chooser = (_key, pres) => pres
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
return this.map(presences, (key, presences: Presence[]) =>
|
|
243
|
+
chooser!(key, presences)
|
|
244
|
+
)
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
private static map<T = any>(
|
|
248
|
+
obj: PresenceState,
|
|
249
|
+
func: PresenceChooser<T>
|
|
250
|
+
): T[] {
|
|
251
|
+
return Object.getOwnPropertyNames(obj).map((key) => func(key, obj[key]))
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Remove 'metas' key
|
|
256
|
+
* Change 'phx_ref' to 'presence_id'
|
|
257
|
+
* Remove 'phx_ref' and 'phx_ref_prev'
|
|
258
|
+
*
|
|
259
|
+
* @example
|
|
260
|
+
* // returns {
|
|
261
|
+
* abc123: [
|
|
262
|
+
* { presence_id: '2', user_id: 1 },
|
|
263
|
+
* { presence_id: '3', user_id: 2 }
|
|
264
|
+
* ]
|
|
265
|
+
* }
|
|
266
|
+
* RealtimePresence.transformState({
|
|
267
|
+
* abc123: {
|
|
268
|
+
* metas: [
|
|
269
|
+
* { phx_ref: '2', phx_ref_prev: '1' user_id: 1 },
|
|
270
|
+
* { phx_ref: '3', user_id: 2 }
|
|
271
|
+
* ]
|
|
272
|
+
* }
|
|
273
|
+
* })
|
|
274
|
+
*/
|
|
275
|
+
private static transformState(
|
|
276
|
+
state: RawPresenceState | PresenceState
|
|
277
|
+
): PresenceState {
|
|
278
|
+
state = cloneDeep(state)
|
|
279
|
+
|
|
280
|
+
return Object.getOwnPropertyNames(state).reduce((newState, key) => {
|
|
281
|
+
const presences = state[key]
|
|
282
|
+
|
|
283
|
+
if ('metas' in presences) {
|
|
284
|
+
newState[key] = presences.metas.map((presence) => {
|
|
285
|
+
presence['presence_id'] = presence['phx_ref']
|
|
286
|
+
|
|
287
|
+
delete presence['phx_ref']
|
|
288
|
+
delete presence['phx_ref_prev']
|
|
289
|
+
|
|
290
|
+
return presence
|
|
291
|
+
}) as Presence[]
|
|
292
|
+
} else {
|
|
293
|
+
newState[key] = presences
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
return newState
|
|
297
|
+
}, {} as PresenceState)
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
onJoin(callback: PresenceOnJoinCallback): void {
|
|
301
|
+
this.caller.onJoin = callback
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
onLeave(callback: PresenceOnLeaveCallback): void {
|
|
305
|
+
this.caller.onLeave = callback
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
onSync(callback: () => void): void {
|
|
309
|
+
this.caller.onSync = callback
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
list<T = any>(by?: PresenceChooser<T>): T[] {
|
|
313
|
+
return RealtimePresence.list<T>(this.state, by)
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
private inPendingSyncState(): boolean {
|
|
317
|
+
return !this.joinRef || this.joinRef !== this.channel.joinRef()
|
|
318
|
+
}
|
|
319
|
+
}
|
|
@@ -163,16 +163,13 @@ export default class RealtimeSubscription {
|
|
|
163
163
|
return this.joinPush.ref
|
|
164
164
|
}
|
|
165
165
|
|
|
166
|
-
sendJoin(timeout: number) {
|
|
167
|
-
this.state = CHANNEL_STATES.joining
|
|
168
|
-
this.joinPush.resend(timeout)
|
|
169
|
-
}
|
|
170
|
-
|
|
171
166
|
rejoin(timeout = this.timeout) {
|
|
172
167
|
if (this.isLeaving()) {
|
|
173
168
|
return
|
|
174
169
|
}
|
|
175
|
-
this.
|
|
170
|
+
this.socket.leaveOpenTopic(this.topic)
|
|
171
|
+
this.state = CHANNEL_STATES.joining
|
|
172
|
+
this.joinPush.resend(timeout)
|
|
176
173
|
}
|
|
177
174
|
|
|
178
175
|
trigger(event: string, payload?: any, ref?: string) {
|
package/src/index.ts
CHANGED
|
@@ -3,10 +3,12 @@ import RealtimeClient, {
|
|
|
3
3
|
Options as RealtimeClientOptions,
|
|
4
4
|
} from './RealtimeClient'
|
|
5
5
|
import RealtimeSubscription from './RealtimeSubscription'
|
|
6
|
+
import RealtimePresence from './RealtimePresence'
|
|
6
7
|
|
|
7
8
|
export {
|
|
8
9
|
RealtimeClient,
|
|
9
10
|
RealtimeClientOptions,
|
|
10
11
|
RealtimeSubscription,
|
|
12
|
+
RealtimePresence,
|
|
11
13
|
Transformers,
|
|
12
14
|
}
|
package/src/lib/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// generated by genversion
|
|
2
|
-
export const version = '1.
|
|
2
|
+
export const version = '1.4.0'
|