@supabase/realtime-js 2.1.0 → 2.3.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.
@@ -159,10 +159,17 @@ export default class RealtimeClient {
159
159
  }
160
160
  }
161
161
 
162
+ /**
163
+ * Returns all created channels
164
+ */
162
165
  getChannels(): RealtimeChannel[] {
163
166
  return this.channels
164
167
  }
165
168
 
169
+ /**
170
+ * Unsubscribes and removes a single channel
171
+ * @param channel A RealtimeChannel instance
172
+ */
166
173
  removeChannel(
167
174
  channel: RealtimeChannel
168
175
  ): Promise<RealtimeRemoveChannelResponse> {
@@ -174,6 +181,9 @@ export default class RealtimeClient {
174
181
  })
175
182
  }
176
183
 
184
+ /**
185
+ * Unsubscribes and removes all channels
186
+ */
177
187
  removeAllChannels(): Promise<RealtimeRemoveChannelResponse[]> {
178
188
  return Promise.all(
179
189
  this.channels.map((channel) => channel.unsubscribe())
@@ -186,7 +196,7 @@ export default class RealtimeClient {
186
196
  /**
187
197
  * Logs the message.
188
198
  *
189
- * For customized logging, `this.logger` can be overriden.
199
+ * For customized logging, `this.logger` can be overridden.
190
200
  */
191
201
  log(kind: string, msg: string, data?: any) {
192
202
  this.logger(kind, msg, data)
@@ -209,7 +219,7 @@ export default class RealtimeClient {
209
219
  }
210
220
 
211
221
  /**
212
- * Retuns `true` is the connection is open.
222
+ * Returns `true` is the connection is open.
213
223
  */
214
224
  isConnected(): boolean {
215
225
  return this.connectionState() === CONNECTION_STATE.Open
@@ -10,25 +10,24 @@ import {
10
10
  } from 'phoenix'
11
11
  import RealtimeChannel from './RealtimeChannel'
12
12
 
13
- type Presence = {
13
+ type Presence<T extends { [key: string]: any } = {}> = {
14
14
  presence_ref: string
15
- [key: string]: any
16
- }
15
+ } & T
17
16
 
18
17
  export type RealtimePresenceState = { [key: string]: Presence[] }
19
18
 
20
- export type RealtimePresenceJoinPayload = {
19
+ export type RealtimePresenceJoinPayload<T extends { [key: string]: any }> = {
21
20
  event: `${REALTIME_PRESENCE_LISTEN_EVENTS.JOIN}`
22
21
  key: string
23
- currentPresences: Presence[]
24
- newPresences: Presence[]
22
+ currentPresences: Presence<T>[]
23
+ newPresences: Presence<T>[]
25
24
  }
26
25
 
27
- export type RealtimePresenceLeavePayload = {
26
+ export type RealtimePresenceLeavePayload<T extends { [key: string]: any }> = {
28
27
  event: `${REALTIME_PRESENCE_LISTEN_EVENTS.LEAVE}`
29
28
  key: string
30
- currentPresences: Presence[]
31
- leftPresences: Presence[]
29
+ currentPresences: Presence<T>[]
30
+ leftPresences: Presence<T>[]
32
31
  }
33
32
 
34
33
  export enum REALTIME_PRESENCE_LISTEN_EVENTS {
@@ -1 +1 @@
1
- export const version = '2.1.0'
1
+ export const version = '2.3.0'