@zerotal/broadcasting 1.7.2 → 1.7.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.
- package/api-surface.md +19 -11
- package/package.json +2 -2
package/api-surface.md
CHANGED
|
@@ -16,7 +16,7 @@ class AnonymousBroadcast = {
|
|
|
16
16
|
|
|
17
17
|
class Broadcast = {
|
|
18
18
|
new (): Broadcast
|
|
19
|
-
static channel: (pattern: string, callback: ChannelCallback) => void
|
|
19
|
+
static channel: <User = unknown>(pattern: string, callback: ChannelCallback<User>) => void
|
|
20
20
|
static channels: () => { pattern: string; paramNames: string[];}[]
|
|
21
21
|
static fake: () => BroadcastFake
|
|
22
22
|
static getMembers: (channel: string) => PresenceMember[]
|
|
@@ -109,7 +109,7 @@ class ChannelRegistry = {
|
|
|
109
109
|
all: () => { pattern: string; paramNames: string[];}[]
|
|
110
110
|
authorize: (channelName: string, user: unknown) => Promise<AuthorizeResult>
|
|
111
111
|
clear: () => void
|
|
112
|
-
register: (pattern: string, callback: ChannelCallback) => void
|
|
112
|
+
register: <User = unknown>(pattern: string, callback: ChannelCallback<User>) => void
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
class MissingChannelParameterError = {
|
|
@@ -155,9 +155,9 @@ class RedisBroadcastDriver = {
|
|
|
155
155
|
boot: () => Promise<void>
|
|
156
156
|
connectionCount: () => number
|
|
157
157
|
getMembers: (channel: string) => PresenceMember[]
|
|
158
|
-
handleClose: (ws: ServerWebSocket<WsConnectionData>) => void
|
|
159
|
-
handleMessage: (ws: ServerWebSocket<WsConnectionData>, raw: string | Uint8Array) => Promise<void>
|
|
160
|
-
handleOpen: (ws: ServerWebSocket<WsConnectionData>) => void
|
|
158
|
+
handleClose: (ws: Bun.ServerWebSocket<WsConnectionData>) => void
|
|
159
|
+
handleMessage: (ws: Bun.ServerWebSocket<WsConnectionData>, raw: string | Uint8Array) => Promise<void>
|
|
160
|
+
handleOpen: (ws: Bun.ServerWebSocket<WsConnectionData>) => void
|
|
161
161
|
send: (event: BroadcastEvent, opts?: { exceptSocketId?: string;}) => void
|
|
162
162
|
setAuthSecret: (secret: string) => void
|
|
163
163
|
signAuth: (socketId: string, channel: string, channelData?: string) => string
|
|
@@ -167,7 +167,7 @@ class RedisBroadcastDriver = {
|
|
|
167
167
|
to: (channel: string, event: string, data?: unknown, opts?: { exceptSocketId?: string;}) => void
|
|
168
168
|
upgradeData: (req: Request) => Record<string, unknown>
|
|
169
169
|
verifyAuth: (socketId: string, channel: string, auth: string, channelData?: string) => boolean
|
|
170
|
-
wsHandlers: { open: (ws: ServerWebSocket<WsConnectionData>) => void; message: (ws: ServerWebSocket<WsConnectionData>, msg: string | Uint8Array) => undefined; close: (ws: ServerWebSocket<WsConnectionData>) => void;}
|
|
170
|
+
wsHandlers: { open: (ws: Bun.ServerWebSocket<WsConnectionData>) => void; message: (ws: Bun.ServerWebSocket<WsConnectionData>, msg: string | Uint8Array) => undefined; close: (ws: Bun.ServerWebSocket<WsConnectionData>) => void;}
|
|
171
171
|
}
|
|
172
172
|
|
|
173
173
|
class TypedBroadcastManager = {
|
|
@@ -176,9 +176,9 @@ class TypedBroadcastManager = {
|
|
|
176
176
|
authorizeWith: (fn: ChannelAuthFn) => void
|
|
177
177
|
connectionCount: () => number
|
|
178
178
|
getMembers: (channel: string) => PresenceMember[]
|
|
179
|
-
handleClose: (ws: ServerWebSocket<WsConnectionData>) => void
|
|
180
|
-
handleMessage: (ws: ServerWebSocket<WsConnectionData>, raw: string | Uint8Array) => Promise<void>
|
|
181
|
-
handleOpen: (ws: ServerWebSocket<WsConnectionData>) => void
|
|
179
|
+
handleClose: (ws: Bun.ServerWebSocket<WsConnectionData>) => void
|
|
180
|
+
handleMessage: (ws: Bun.ServerWebSocket<WsConnectionData>, raw: string | Uint8Array) => Promise<void>
|
|
181
|
+
handleOpen: (ws: Bun.ServerWebSocket<WsConnectionData>) => void
|
|
182
182
|
send: (event: TypedBroadcastEvent<Channels, keyof Channels & string> | BroadcastEvent) => void
|
|
183
183
|
setAuthSecret: (secret: string) => void
|
|
184
184
|
signAuth: (socketId: string, channel: string, channelData?: string) => string
|
|
@@ -188,7 +188,7 @@ class TypedBroadcastManager = {
|
|
|
188
188
|
toChannel: <Pattern extends ParameterizedChannels<Channels>, Ev extends EventsOf<Channels, Pattern>>(pattern: Pattern, params: ChannelParamRecord<Pattern>, event: Ev, data: PayloadOf<Channels, Pattern, Ev>) => void
|
|
189
189
|
upgradeData: (req: Request) => Record<string, unknown>
|
|
190
190
|
verifyAuth: (socketId: string, channel: string, auth: string, channelData?: string) => boolean
|
|
191
|
-
wsHandlers: { open: (ws: ServerWebSocket<WsConnectionData>) => void; message: (ws: ServerWebSocket<WsConnectionData>, msg: string | Uint8Array) => undefined; close: (ws: ServerWebSocket<WsConnectionData>) => void;}
|
|
191
|
+
wsHandlers: { open: (ws: Bun.ServerWebSocket<WsConnectionData>) => void; message: (ws: Bun.ServerWebSocket<WsConnectionData>, msg: string | Uint8Array) => undefined; close: (ws: Bun.ServerWebSocket<WsConnectionData>) => void;}
|
|
192
192
|
}
|
|
193
193
|
|
|
194
194
|
const channelRegistry = ChannelRegistry
|
|
@@ -211,6 +211,14 @@ function presenceChannel = (name: string) => string
|
|
|
211
211
|
|
|
212
212
|
function privateChannel = (name: string) => string
|
|
213
213
|
|
|
214
|
+
interface BroadcastConfigShape = {
|
|
215
|
+
channels?: string
|
|
216
|
+
driver: 'null' | 'ws' | 'redis' | 'pusher'
|
|
217
|
+
path: string
|
|
218
|
+
pusher?: { appKey: string; appSecret: string;}
|
|
219
|
+
redis?: { url: string;}
|
|
220
|
+
}
|
|
221
|
+
|
|
214
222
|
interface BroadcastEvent = {
|
|
215
223
|
broadcastAs?: () => string
|
|
216
224
|
broadcastOn: () => string | string[]
|
|
@@ -264,7 +272,7 @@ type BroadcastChannelMap = { [x: string]: Record<string, object>;}
|
|
|
264
272
|
|
|
265
273
|
type ChannelAuthFn = (channel: string, ws: ServerWebSocket<WsConnectionData>) => boolean | Promise<boolean>
|
|
266
274
|
|
|
267
|
-
type ChannelCallback = (user:
|
|
275
|
+
type ChannelCallback = (user: User, ...params: string[]) => boolean | PresenceMemberData | null | undefined | Promise<boolean | PresenceMemberData | null | undefined>
|
|
268
276
|
|
|
269
277
|
type ChannelParamRecord = [ChannelParams<Pattern>] extends [never] ? undefined : { [K in ChannelParams<Pattern>]: string | number; }
|
|
270
278
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zerotal/broadcasting",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"maturity": "stable",
|
|
6
6
|
"private": false,
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"typecheck": "tsc --noEmit"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@zerotal/core": "1.7.
|
|
33
|
+
"@zerotal/core": "1.7.3"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"typescript": "^5.8.0"
|