@supabase/realtime-js 2.71.2-canary.3 → 2.71.2-canary.6

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 (89) hide show
  1. package/dist/main/RealtimeChannel.d.ts +235 -0
  2. package/dist/main/RealtimeChannel.d.ts.map +1 -0
  3. package/dist/main/RealtimeChannel.js +576 -0
  4. package/dist/main/RealtimeChannel.js.map +1 -0
  5. package/dist/main/RealtimeClient.d.ts +196 -0
  6. package/dist/main/RealtimeClient.d.ts.map +1 -0
  7. package/dist/main/RealtimeClient.js +736 -0
  8. package/dist/main/RealtimeClient.js.map +1 -0
  9. package/dist/main/RealtimePresence.d.ts +68 -0
  10. package/dist/main/RealtimePresence.d.ts.map +1 -0
  11. package/dist/main/RealtimePresence.js +229 -0
  12. package/dist/main/RealtimePresence.js.map +1 -0
  13. package/dist/main/index.d.ts +6 -0
  14. package/dist/main/index.d.ts.map +1 -0
  15. package/dist/main/index.js +53 -0
  16. package/dist/main/index.js.map +1 -0
  17. package/dist/main/lib/constants.d.ts +37 -0
  18. package/dist/main/lib/constants.d.ts.map +1 -0
  19. package/dist/main/lib/constants.js +46 -0
  20. package/dist/main/lib/constants.js.map +1 -0
  21. package/dist/main/lib/push.d.ts +48 -0
  22. package/dist/main/lib/push.d.ts.map +1 -0
  23. package/dist/main/lib/push.js +102 -0
  24. package/dist/main/lib/push.js.map +1 -0
  25. package/dist/main/lib/serializer.d.ts +7 -0
  26. package/dist/main/lib/serializer.d.ts.map +1 -0
  27. package/dist/main/lib/serializer.js +36 -0
  28. package/dist/main/lib/serializer.js.map +1 -0
  29. package/dist/main/lib/timer.d.ts +22 -0
  30. package/dist/main/lib/timer.d.ts.map +1 -0
  31. package/dist/main/lib/timer.js +39 -0
  32. package/dist/main/lib/timer.js.map +1 -0
  33. package/dist/main/lib/transformers.d.ts +109 -0
  34. package/dist/main/lib/transformers.d.ts.map +1 -0
  35. package/dist/main/lib/transformers.js +229 -0
  36. package/dist/main/lib/transformers.js.map +1 -0
  37. package/dist/main/lib/version.d.ts +2 -0
  38. package/dist/main/lib/version.d.ts.map +1 -0
  39. package/dist/main/lib/version.js +5 -0
  40. package/dist/main/lib/version.js.map +1 -0
  41. package/dist/main/lib/websocket-factory.d.ts +35 -0
  42. package/dist/main/lib/websocket-factory.d.ts.map +1 -0
  43. package/dist/main/lib/websocket-factory.js +90 -0
  44. package/dist/main/lib/websocket-factory.js.map +1 -0
  45. package/dist/module/RealtimeChannel.d.ts +235 -0
  46. package/dist/module/RealtimeChannel.d.ts.map +1 -0
  47. package/dist/module/RealtimeChannel.js +536 -0
  48. package/dist/module/RealtimeChannel.js.map +1 -0
  49. package/dist/module/RealtimeClient.d.ts +196 -0
  50. package/dist/module/RealtimeClient.d.ts.map +1 -0
  51. package/dist/module/RealtimeClient.js +698 -0
  52. package/dist/module/RealtimeClient.js.map +1 -0
  53. package/dist/module/RealtimePresence.d.ts +68 -0
  54. package/dist/module/RealtimePresence.d.ts.map +1 -0
  55. package/dist/module/RealtimePresence.js +225 -0
  56. package/dist/module/RealtimePresence.js.map +1 -0
  57. package/dist/module/index.d.ts +6 -0
  58. package/dist/module/index.d.ts.map +1 -0
  59. package/dist/module/index.js +6 -0
  60. package/dist/module/index.js.map +1 -0
  61. package/dist/module/lib/constants.d.ts +37 -0
  62. package/dist/module/lib/constants.d.ts.map +1 -0
  63. package/dist/module/lib/constants.js +43 -0
  64. package/dist/module/lib/constants.js.map +1 -0
  65. package/dist/module/lib/push.d.ts +48 -0
  66. package/dist/module/lib/push.d.ts.map +1 -0
  67. package/dist/module/lib/push.js +99 -0
  68. package/dist/module/lib/push.js.map +1 -0
  69. package/dist/module/lib/serializer.d.ts +7 -0
  70. package/dist/module/lib/serializer.d.ts.map +1 -0
  71. package/dist/module/lib/serializer.js +33 -0
  72. package/dist/module/lib/serializer.js.map +1 -0
  73. package/dist/module/lib/timer.d.ts +22 -0
  74. package/dist/module/lib/timer.d.ts.map +1 -0
  75. package/dist/module/lib/timer.js +36 -0
  76. package/dist/module/lib/timer.js.map +1 -0
  77. package/dist/module/lib/transformers.d.ts +109 -0
  78. package/dist/module/lib/transformers.d.ts.map +1 -0
  79. package/dist/module/lib/transformers.js +217 -0
  80. package/dist/module/lib/transformers.js.map +1 -0
  81. package/dist/module/lib/version.d.ts +2 -0
  82. package/dist/module/lib/version.d.ts.map +1 -0
  83. package/dist/module/lib/version.js +2 -0
  84. package/dist/module/lib/version.js.map +1 -0
  85. package/dist/module/lib/websocket-factory.d.ts +35 -0
  86. package/dist/module/lib/websocket-factory.d.ts.map +1 -0
  87. package/dist/module/lib/websocket-factory.js +86 -0
  88. package/dist/module/lib/websocket-factory.js.map +1 -0
  89. package/package.json +1 -1
@@ -0,0 +1,235 @@
1
+ import { CHANNEL_STATES } from './lib/constants';
2
+ import Push from './lib/push';
3
+ import type RealtimeClient from './RealtimeClient';
4
+ import Timer from './lib/timer';
5
+ import RealtimePresence, { REALTIME_PRESENCE_LISTEN_EVENTS } from './RealtimePresence';
6
+ import type { RealtimePresenceJoinPayload, RealtimePresenceLeavePayload, RealtimePresenceState } from './RealtimePresence';
7
+ export type RealtimeChannelOptions = {
8
+ config: {
9
+ /**
10
+ * self option enables client to receive message it broadcast
11
+ * ack option instructs server to acknowledge that broadcast message was received
12
+ */
13
+ broadcast?: {
14
+ self?: boolean;
15
+ ack?: boolean;
16
+ };
17
+ /**
18
+ * key option is used to track presence payload across clients
19
+ */
20
+ presence?: {
21
+ key?: string;
22
+ enabled?: boolean;
23
+ };
24
+ /**
25
+ * defines if the channel is private or not and if RLS policies will be used to check data
26
+ */
27
+ private?: boolean;
28
+ };
29
+ };
30
+ type RealtimePostgresChangesPayloadBase = {
31
+ schema: string;
32
+ table: string;
33
+ commit_timestamp: string;
34
+ errors: string[];
35
+ };
36
+ export type RealtimePostgresInsertPayload<T extends {
37
+ [key: string]: any;
38
+ }> = RealtimePostgresChangesPayloadBase & {
39
+ eventType: `${REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.INSERT}`;
40
+ new: T;
41
+ old: {};
42
+ };
43
+ export type RealtimePostgresUpdatePayload<T extends {
44
+ [key: string]: any;
45
+ }> = RealtimePostgresChangesPayloadBase & {
46
+ eventType: `${REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.UPDATE}`;
47
+ new: T;
48
+ old: Partial<T>;
49
+ };
50
+ export type RealtimePostgresDeletePayload<T extends {
51
+ [key: string]: any;
52
+ }> = RealtimePostgresChangesPayloadBase & {
53
+ eventType: `${REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.DELETE}`;
54
+ new: {};
55
+ old: Partial<T>;
56
+ };
57
+ export type RealtimePostgresChangesPayload<T extends {
58
+ [key: string]: any;
59
+ }> = RealtimePostgresInsertPayload<T> | RealtimePostgresUpdatePayload<T> | RealtimePostgresDeletePayload<T>;
60
+ export type RealtimePostgresChangesFilter<T extends `${REALTIME_POSTGRES_CHANGES_LISTEN_EVENT}`> = {
61
+ /**
62
+ * The type of database change to listen to.
63
+ */
64
+ event: T;
65
+ /**
66
+ * The database schema to listen to.
67
+ */
68
+ schema: string;
69
+ /**
70
+ * The database table to listen to.
71
+ */
72
+ table?: string;
73
+ /**
74
+ * Receive database changes when filter is matched.
75
+ */
76
+ filter?: string;
77
+ };
78
+ export type RealtimeChannelSendResponse = 'ok' | 'timed out' | 'error';
79
+ export declare enum REALTIME_POSTGRES_CHANGES_LISTEN_EVENT {
80
+ ALL = "*",
81
+ INSERT = "INSERT",
82
+ UPDATE = "UPDATE",
83
+ DELETE = "DELETE"
84
+ }
85
+ export declare enum REALTIME_LISTEN_TYPES {
86
+ BROADCAST = "broadcast",
87
+ PRESENCE = "presence",
88
+ POSTGRES_CHANGES = "postgres_changes",
89
+ SYSTEM = "system"
90
+ }
91
+ export declare enum REALTIME_SUBSCRIBE_STATES {
92
+ SUBSCRIBED = "SUBSCRIBED",
93
+ TIMED_OUT = "TIMED_OUT",
94
+ CLOSED = "CLOSED",
95
+ CHANNEL_ERROR = "CHANNEL_ERROR"
96
+ }
97
+ export declare const REALTIME_CHANNEL_STATES: typeof CHANNEL_STATES;
98
+ /** A channel is the basic building block of Realtime
99
+ * and narrows the scope of data flow to subscribed clients.
100
+ * You can think of a channel as a chatroom where participants are able to see who's online
101
+ * and send and receive messages.
102
+ */
103
+ export default class RealtimeChannel {
104
+ /** Topic name can be any string. */
105
+ topic: string;
106
+ params: RealtimeChannelOptions;
107
+ socket: RealtimeClient;
108
+ bindings: {
109
+ [key: string]: {
110
+ type: string;
111
+ filter: {
112
+ [key: string]: any;
113
+ };
114
+ callback: Function;
115
+ id?: string;
116
+ }[];
117
+ };
118
+ timeout: number;
119
+ state: CHANNEL_STATES;
120
+ joinedOnce: boolean;
121
+ joinPush: Push;
122
+ rejoinTimer: Timer;
123
+ pushBuffer: Push[];
124
+ presence: RealtimePresence;
125
+ broadcastEndpointURL: string;
126
+ subTopic: string;
127
+ private: boolean;
128
+ constructor(
129
+ /** Topic name can be any string. */
130
+ topic: string, params: RealtimeChannelOptions | undefined, socket: RealtimeClient);
131
+ /** Subscribe registers your client with the server */
132
+ subscribe(callback?: (status: REALTIME_SUBSCRIBE_STATES, err?: Error) => void, timeout?: number): RealtimeChannel;
133
+ presenceState<T extends {
134
+ [key: string]: any;
135
+ } = {}>(): RealtimePresenceState<T>;
136
+ track(payload: {
137
+ [key: string]: any;
138
+ }, opts?: {
139
+ [key: string]: any;
140
+ }): Promise<RealtimeChannelSendResponse>;
141
+ untrack(opts?: {
142
+ [key: string]: any;
143
+ }): Promise<RealtimeChannelSendResponse>;
144
+ /**
145
+ * Creates an event handler that listens to changes.
146
+ */
147
+ on(type: `${REALTIME_LISTEN_TYPES.PRESENCE}`, filter: {
148
+ event: `${REALTIME_PRESENCE_LISTEN_EVENTS.SYNC}`;
149
+ }, callback: () => void): RealtimeChannel;
150
+ on<T extends {
151
+ [key: string]: any;
152
+ }>(type: `${REALTIME_LISTEN_TYPES.PRESENCE}`, filter: {
153
+ event: `${REALTIME_PRESENCE_LISTEN_EVENTS.JOIN}`;
154
+ }, callback: (payload: RealtimePresenceJoinPayload<T>) => void): RealtimeChannel;
155
+ on<T extends {
156
+ [key: string]: any;
157
+ }>(type: `${REALTIME_LISTEN_TYPES.PRESENCE}`, filter: {
158
+ event: `${REALTIME_PRESENCE_LISTEN_EVENTS.LEAVE}`;
159
+ }, callback: (payload: RealtimePresenceLeavePayload<T>) => void): RealtimeChannel;
160
+ on<T extends {
161
+ [key: string]: any;
162
+ }>(type: `${REALTIME_LISTEN_TYPES.POSTGRES_CHANGES}`, filter: RealtimePostgresChangesFilter<`${REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.ALL}`>, callback: (payload: RealtimePostgresChangesPayload<T>) => void): RealtimeChannel;
163
+ on<T extends {
164
+ [key: string]: any;
165
+ }>(type: `${REALTIME_LISTEN_TYPES.POSTGRES_CHANGES}`, filter: RealtimePostgresChangesFilter<`${REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.INSERT}`>, callback: (payload: RealtimePostgresInsertPayload<T>) => void): RealtimeChannel;
166
+ on<T extends {
167
+ [key: string]: any;
168
+ }>(type: `${REALTIME_LISTEN_TYPES.POSTGRES_CHANGES}`, filter: RealtimePostgresChangesFilter<`${REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.UPDATE}`>, callback: (payload: RealtimePostgresUpdatePayload<T>) => void): RealtimeChannel;
169
+ on<T extends {
170
+ [key: string]: any;
171
+ }>(type: `${REALTIME_LISTEN_TYPES.POSTGRES_CHANGES}`, filter: RealtimePostgresChangesFilter<`${REALTIME_POSTGRES_CHANGES_LISTEN_EVENT.DELETE}`>, callback: (payload: RealtimePostgresDeletePayload<T>) => void): RealtimeChannel;
172
+ /**
173
+ * The following is placed here to display on supabase.com/docs/reference/javascript/subscribe.
174
+ * @param type One of "broadcast", "presence", or "postgres_changes".
175
+ * @param filter Custom object specific to the Realtime feature detailing which payloads to receive.
176
+ * @param callback Function to be invoked when event handler is triggered.
177
+ */
178
+ on(type: `${REALTIME_LISTEN_TYPES.BROADCAST}`, filter: {
179
+ event: string;
180
+ }, callback: (payload: {
181
+ type: `${REALTIME_LISTEN_TYPES.BROADCAST}`;
182
+ event: string;
183
+ [key: string]: any;
184
+ }) => void): RealtimeChannel;
185
+ on<T extends {
186
+ [key: string]: any;
187
+ }>(type: `${REALTIME_LISTEN_TYPES.BROADCAST}`, filter: {
188
+ event: string;
189
+ }, callback: (payload: {
190
+ type: `${REALTIME_LISTEN_TYPES.BROADCAST}`;
191
+ event: string;
192
+ payload: T;
193
+ }) => void): RealtimeChannel;
194
+ on<T extends {
195
+ [key: string]: any;
196
+ }>(type: `${REALTIME_LISTEN_TYPES.SYSTEM}`, filter: {}, callback: (payload: any) => void): RealtimeChannel;
197
+ /**
198
+ * Sends a message into the channel.
199
+ *
200
+ * @param args Arguments to send to channel
201
+ * @param args.type The type of event to send
202
+ * @param args.event The name of the event being sent
203
+ * @param args.payload Payload to be sent
204
+ * @param opts Options to be used during the send process
205
+ */
206
+ send(args: {
207
+ type: 'broadcast' | 'presence' | 'postgres_changes';
208
+ event: string;
209
+ payload?: any;
210
+ [key: string]: any;
211
+ }, opts?: {
212
+ [key: string]: any;
213
+ }): Promise<RealtimeChannelSendResponse>;
214
+ updateJoinPayload(payload: {
215
+ [key: string]: any;
216
+ }): void;
217
+ /**
218
+ * Leaves the channel.
219
+ *
220
+ * Unsubscribes from server events, and instructs channel to terminate on server.
221
+ * Triggers onClose() hooks.
222
+ *
223
+ * To receive leave acknowledgements, use the a `receive` hook to bind to the server ack, ie:
224
+ * channel.unsubscribe().receive("ok", () => alert("left!") )
225
+ */
226
+ unsubscribe(timeout?: number): Promise<'ok' | 'timed out' | 'error'>;
227
+ /**
228
+ * Teardown the channel.
229
+ *
230
+ * Destroys and stops related timers.
231
+ */
232
+ teardown(): void;
233
+ }
234
+ export {};
235
+ //# 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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"}