@rlanz/socket 0.0.1-4 → 0.0.1-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.
- package/README.md +430 -26
- package/build/chunk-B4Y3TNDI.js +159 -0
- package/build/chunk-B4Y3TNDI.js.map +1 -0
- package/build/{chunk-GKAD2UOA.js → chunk-D3HUBCBW.js} +1 -1
- package/build/chunk-D3HUBCBW.js.map +1 -0
- package/build/chunk-FVPY6HZW.js +136 -0
- package/build/chunk-FVPY6HZW.js.map +1 -0
- package/build/chunk-SFAY2ZA4.js +28 -0
- package/build/chunk-SFAY2ZA4.js.map +1 -0
- package/build/{chunk-XUDFDJME.js → chunk-SHH6U4CI.js} +12 -9
- package/build/chunk-SHH6U4CI.js.map +1 -0
- package/build/chunk-YAX5EHHB.js +453 -0
- package/build/chunk-YAX5EHHB.js.map +1 -0
- package/build/framework-DuW6zpPk.d.ts +14 -0
- package/build/index.d.ts +7 -13
- package/build/index.js +18 -10
- package/build/index.js.map +1 -1
- package/build/providers/socket_provider.d.ts +4 -3
- package/build/providers/socket_provider.js +1780 -57
- package/build/providers/socket_provider.js.map +1 -1
- package/build/services/socket.d.ts +4 -3
- package/build/socket_service-D3jKrleE.d.ts +105 -0
- package/build/src/assembler_hook.d.ts +15 -0
- package/build/src/assembler_hook.js +261 -0
- package/build/src/assembler_hook.js.map +1 -0
- package/build/src/client/index.d.ts +46 -12
- package/build/src/client/index.js +223 -76
- package/build/src/client/index.js.map +1 -1
- package/build/src/client/react.d.ts +27 -0
- package/build/src/client/react.js +69 -0
- package/build/src/client/react.js.map +1 -0
- package/build/src/client/svelte.d.ts +23 -0
- package/build/src/client/svelte.js +82 -0
- package/build/src/client/svelte.js.map +1 -0
- package/build/src/client/types.d.ts +69 -5
- package/build/src/client/vue.d.ts +26 -0
- package/build/src/client/vue.js +81 -0
- package/build/src/client/vue.js.map +1 -0
- package/build/src/decorators.d.ts +4 -4
- package/build/src/decorators.js +1 -1
- package/build/src/health_check.d.ts +4 -3
- package/build/src/otel.js +4 -5
- package/build/src/otel.js.map +1 -1
- package/build/src/testing.d.ts +54 -0
- package/build/src/testing.js +7 -0
- package/build/src/testing.js.map +1 -0
- package/build/src/types.d.ts +2 -2
- package/build/{types-BBLNfcWk.d.ts → types-DiYaFvgi.d.ts} +112 -63
- package/package.json +41 -6
- package/build/chunk-GKAD2UOA.js.map +0 -1
- package/build/chunk-ILDK672E.js +0 -1921
- package/build/chunk-ILDK672E.js.map +0 -1
- package/build/chunk-XUDFDJME.js.map +0 -1
- package/build/shared_types-Dw9AphfO.d.ts +0 -21
- package/build/socket_service-CRmPa74K.d.ts +0 -144
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { WebSocket } from 'ws';
|
|
2
2
|
import { IncomingMessage } from 'node:http';
|
|
3
3
|
import { MiddlewareAsClass } from '@adonisjs/core/types/http';
|
|
4
|
+
import { HttpContext } from '@adonisjs/core/http';
|
|
4
5
|
import { TransportFactory } from '@boringnode/bus/types/main';
|
|
5
|
-
import './shared_types-Dw9AphfO.js';
|
|
6
6
|
|
|
7
7
|
declare const PRESENCE_DATA_KEY = "__rlanzSocketPresence";
|
|
8
8
|
type PresenceSocketData = Record<string, unknown> & {
|
|
@@ -10,7 +10,6 @@ type PresenceSocketData = Record<string, unknown> & {
|
|
|
10
10
|
};
|
|
11
11
|
interface PresenceUser {
|
|
12
12
|
id: string;
|
|
13
|
-
name: string;
|
|
14
13
|
joinedAt: Date;
|
|
15
14
|
[key: string]: unknown;
|
|
16
15
|
}
|
|
@@ -33,11 +32,11 @@ declare class PresenceManager {
|
|
|
33
32
|
/**
|
|
34
33
|
* Sets the socket fetcher used to build distributed snapshots.
|
|
35
34
|
*/
|
|
36
|
-
setSocketFetcher(fetchSockets: (channel: string) => Promise<PresenceSocket[]>): void;
|
|
35
|
+
setSocketFetcher(fetchSockets: ((channel: string) => Promise<PresenceSocket[]>) | null): void;
|
|
37
36
|
/**
|
|
38
37
|
* Adds a user to a channel.
|
|
39
38
|
*/
|
|
40
|
-
join(channel: string, socket: PresenceSocket, member:
|
|
39
|
+
join(channel: string, socket: PresenceSocket, member: PresenceInfo): PresenceUser;
|
|
41
40
|
/**
|
|
42
41
|
* Removes a user from a channel.
|
|
43
42
|
*/
|
|
@@ -59,6 +58,10 @@ declare class PresenceManager {
|
|
|
59
58
|
* Checks whether a socket is locally present in a channel.
|
|
60
59
|
*/
|
|
61
60
|
hasLocal(channel: string, socketId: string): boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Gets the presence user retained for one local socket.
|
|
63
|
+
*/
|
|
64
|
+
getLocalUser(channel: string, socketId: string): PresenceUser | undefined;
|
|
62
65
|
/**
|
|
63
66
|
* Lists every local channel where a socket is present.
|
|
64
67
|
*/
|
|
@@ -77,6 +80,11 @@ interface ChannelBroadcaster {
|
|
|
77
80
|
};
|
|
78
81
|
};
|
|
79
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Error whose message may intentionally be returned to a socket client.
|
|
85
|
+
*/
|
|
86
|
+
declare class SocketResponseError extends Error {
|
|
87
|
+
}
|
|
80
88
|
/**
|
|
81
89
|
* Abstract class used to define a channel.
|
|
82
90
|
*
|
|
@@ -121,7 +129,9 @@ interface ChannelBroadcaster {
|
|
|
121
129
|
* }
|
|
122
130
|
* ```
|
|
123
131
|
*/
|
|
124
|
-
declare class BaseChannel<User = unknown,
|
|
132
|
+
declare class BaseChannel<User = unknown, ServerEvents = unknown> {
|
|
133
|
+
/** Type-only server event declarations consumed by generated browser client types. */
|
|
134
|
+
readonly $serverEvents: ServerEvents;
|
|
125
135
|
/**
|
|
126
136
|
* URL-like channel pattern, for example: 'chat/:roomId'.
|
|
127
137
|
*/
|
|
@@ -133,12 +143,12 @@ declare class BaseChannel<User = unknown, Events extends ChannelEventMap = Chann
|
|
|
133
143
|
/**
|
|
134
144
|
* Middlewares to run before subscription.
|
|
135
145
|
*/
|
|
136
|
-
static middlewares?: Middleware<any
|
|
146
|
+
static middlewares?: Middleware<any>[];
|
|
137
147
|
/**
|
|
138
148
|
* Event handler map.
|
|
139
149
|
* Ex: { 'chat:send': 'handleSend' }
|
|
140
150
|
*/
|
|
141
|
-
protected handlers: ChannelHandlerMap<User
|
|
151
|
+
protected handlers: ChannelHandlerMap<User>;
|
|
142
152
|
/**
|
|
143
153
|
* Injected socket service.
|
|
144
154
|
*/
|
|
@@ -162,58 +172,60 @@ declare class BaseChannel<User = unknown, Events extends ChannelEventMap = Chann
|
|
|
162
172
|
/**
|
|
163
173
|
* Emits to every channel member.
|
|
164
174
|
*/
|
|
165
|
-
protected broadcast(event:
|
|
175
|
+
protected broadcast<K extends unknown extends ServerEvents ? string : keyof ServerEvents & string>(event: K, data: unknown extends ServerEvents ? unknown : ServerEvents[K & keyof ServerEvents]): void;
|
|
166
176
|
/**
|
|
167
177
|
* Emits to every channel member except one socket.
|
|
168
178
|
*/
|
|
169
|
-
protected broadcastExcept(socketId: string, event:
|
|
179
|
+
protected broadcastExcept<K extends unknown extends ServerEvents ? string : keyof ServerEvents & string>(socketId: string, event: K, data: unknown extends ServerEvents ? unknown : ServerEvents[K & keyof ServerEvents]): void;
|
|
170
180
|
/**
|
|
171
181
|
* Runs the middleware chain.
|
|
172
182
|
*
|
|
173
183
|
* middleware[0] -> middleware[1] -> ... -> subscribe
|
|
174
184
|
*/
|
|
175
|
-
$runMiddlewares(ctx: MiddlewareContext<User
|
|
185
|
+
$runMiddlewares(ctx: MiddlewareContext<User>): Promise<void>;
|
|
176
186
|
/**
|
|
177
187
|
* Returns member information for presence.
|
|
178
188
|
* Implement when options.presence = true.
|
|
179
189
|
*/
|
|
180
|
-
getPresenceInfo?(socket: AuthenticatedSocket<User
|
|
190
|
+
getPresenceInfo?(socket: AuthenticatedSocket<User>): PresenceInfo;
|
|
181
191
|
/**
|
|
182
192
|
* Hook called when a socket joins the channel.
|
|
183
193
|
*/
|
|
184
|
-
onJoin?(socket: AuthenticatedSocket<User
|
|
194
|
+
onJoin?(socket: AuthenticatedSocket<User>, ...params: string[]): Promise<void>;
|
|
185
195
|
/**
|
|
186
196
|
* Hook called when a socket leaves the channel.
|
|
187
197
|
*/
|
|
188
|
-
onLeave?(socket: AuthenticatedSocket<User
|
|
198
|
+
onLeave?(socket: AuthenticatedSocket<User>, ...params: string[]): Promise<void>;
|
|
189
199
|
/**
|
|
190
200
|
* Hook called when a message is received on the channel.
|
|
191
201
|
* Used as fallback when no event handler matches.
|
|
192
202
|
*/
|
|
193
|
-
onMessage?(socket: AuthenticatedSocket<User
|
|
203
|
+
onMessage?(socket: AuthenticatedSocket<User>, event: string, data: unknown): Promise<void>;
|
|
194
204
|
/**
|
|
195
205
|
* Hook called when a member joins a presence channel.
|
|
196
206
|
*/
|
|
197
|
-
onMemberJoin?(socket: AuthenticatedSocket<User
|
|
207
|
+
onMemberJoin?(socket: AuthenticatedSocket<User>, member: PresenceMember, ...params: string[]): Promise<void>;
|
|
198
208
|
/**
|
|
199
209
|
* Hook called when a member leaves a presence channel.
|
|
200
210
|
*/
|
|
201
|
-
onMemberLeave?(socket: AuthenticatedSocket<User
|
|
211
|
+
onMemberLeave?(socket: AuthenticatedSocket<User>, member: PresenceMember, ...params: string[]): Promise<void>;
|
|
202
212
|
/**
|
|
203
213
|
* Dispatches a message to the matching handler.
|
|
204
214
|
* Called by SocketService. Do not override.
|
|
205
215
|
*/
|
|
206
|
-
$handleMessage(socket: AuthenticatedSocket<User
|
|
216
|
+
$handleMessage(socket: AuthenticatedSocket<User>, event: string, data: unknown): Promise<unknown>;
|
|
207
217
|
/**
|
|
208
218
|
* Runs the generic join hook. ChannelSubscriptions owns subscription lifecycle.
|
|
209
219
|
*/
|
|
210
|
-
$handleJoin(socket: AuthenticatedSocket<User
|
|
220
|
+
$handleJoin(socket: AuthenticatedSocket<User>, ...params: string[]): Promise<void>;
|
|
211
221
|
/**
|
|
212
222
|
* Runs the generic leave hook. ChannelSubscriptions owns subscription lifecycle.
|
|
213
223
|
*/
|
|
214
|
-
$handleLeave(socket: AuthenticatedSocket<User
|
|
215
|
-
$getPresenceInfo(socket: AuthenticatedSocket<User
|
|
224
|
+
$handleLeave(socket: AuthenticatedSocket<User>, ...params: string[]): Promise<void>;
|
|
225
|
+
$getPresenceInfo(socket: AuthenticatedSocket<User>): PresenceInfo;
|
|
216
226
|
}
|
|
227
|
+
/** Constructor for any BaseChannel specialization. */
|
|
228
|
+
type BaseChannelConstructor = typeof BaseChannel<any, any>;
|
|
217
229
|
|
|
218
230
|
/**
|
|
219
231
|
* Duration can be specified as milliseconds or as a human-readable string.
|
|
@@ -229,17 +241,37 @@ interface SocketTransportConfig {
|
|
|
229
241
|
presenceTimeout?: Duration;
|
|
230
242
|
}
|
|
231
243
|
|
|
232
|
-
|
|
244
|
+
/**
|
|
245
|
+
* Types shared between the server and the client.
|
|
246
|
+
*/
|
|
247
|
+
/**
|
|
248
|
+
* Message sent by the client to a channel.
|
|
249
|
+
*/
|
|
250
|
+
interface ChannelMessage {
|
|
251
|
+
channel: string;
|
|
252
|
+
event: string;
|
|
253
|
+
data?: unknown;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Channel handler acknowledgement response.
|
|
257
|
+
*/
|
|
258
|
+
interface ChannelAck<T = unknown> {
|
|
259
|
+
ok: boolean;
|
|
260
|
+
data?: T;
|
|
261
|
+
error?: string;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
interface RawSocket {
|
|
233
265
|
id: string;
|
|
234
266
|
data: Record<string, unknown>;
|
|
235
267
|
connection: WebSocket;
|
|
236
268
|
request: IncomingMessage;
|
|
237
|
-
httpContext
|
|
269
|
+
httpContext: HttpContext;
|
|
238
270
|
}
|
|
239
271
|
/**
|
|
240
272
|
* Socket exposed to channels after the HTTP upgrade.
|
|
241
273
|
*/
|
|
242
|
-
interface AuthenticatedSocket<User = unknown
|
|
274
|
+
interface AuthenticatedSocket<User = unknown> {
|
|
243
275
|
/**
|
|
244
276
|
* Unique socket ID.
|
|
245
277
|
*/
|
|
@@ -249,9 +281,9 @@ interface AuthenticatedSocket<User = unknown, HttpContext = unknown> {
|
|
|
249
281
|
*/
|
|
250
282
|
user: User | undefined;
|
|
251
283
|
/**
|
|
252
|
-
*
|
|
284
|
+
* Returns the authenticated user or throws a client-safe unauthorized error.
|
|
253
285
|
*/
|
|
254
|
-
|
|
286
|
+
getUserOrFail(): User;
|
|
255
287
|
/**
|
|
256
288
|
* Emits an event to this socket.
|
|
257
289
|
*/
|
|
@@ -271,14 +303,17 @@ interface AuthenticatedSocket<User = unknown, HttpContext = unknown> {
|
|
|
271
303
|
/**
|
|
272
304
|
* Raw WebSocket connection metadata.
|
|
273
305
|
*/
|
|
274
|
-
raw: RawSocket
|
|
306
|
+
raw: RawSocket;
|
|
275
307
|
}
|
|
276
|
-
|
|
277
|
-
|
|
308
|
+
/**
|
|
309
|
+
* Short-lived context for preparing and authenticating a WebSocket upgrade.
|
|
310
|
+
* Socket-lifetime mutable state belongs in AuthenticatedSocket.raw.data.
|
|
311
|
+
*/
|
|
312
|
+
interface SocketUpgradeContext {
|
|
313
|
+
httpContext: HttpContext;
|
|
278
314
|
}
|
|
279
315
|
type SocketAuthenticationResult<User = unknown> = User | false | null;
|
|
280
|
-
type SocketAuthenticationHandler<User = unknown
|
|
281
|
-
type SocketHttpContextFactory<HttpContext = unknown> = (request: IncomingMessage) => HttpContext | Promise<HttpContext>;
|
|
316
|
+
type SocketAuthenticationHandler<User = unknown> = (ctx: SocketUpgradeContext) => SocketAuthenticationResult<User> | Promise<SocketAuthenticationResult<User>>;
|
|
282
317
|
/**
|
|
283
318
|
* AdonisJS HTTP middleware executed for the WebSocket upgrade request.
|
|
284
319
|
*/
|
|
@@ -289,7 +324,7 @@ type SocketHttpMiddleware = (() => Promise<{
|
|
|
289
324
|
* Result of matching a channel.
|
|
290
325
|
*/
|
|
291
326
|
interface ChannelMatch {
|
|
292
|
-
channel:
|
|
327
|
+
channel: BaseChannelConstructor;
|
|
293
328
|
pattern: string;
|
|
294
329
|
params: Record<string, string>;
|
|
295
330
|
}
|
|
@@ -300,18 +335,25 @@ interface ChannelOptions {
|
|
|
300
335
|
presence?: boolean;
|
|
301
336
|
}
|
|
302
337
|
/**
|
|
303
|
-
*
|
|
338
|
+
* Identity and channel-specific data returned for a presence member.
|
|
339
|
+
*/
|
|
340
|
+
interface PresenceInfo {
|
|
341
|
+
id: string;
|
|
342
|
+
data?: Record<string, unknown>;
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Presence member exposed to snapshots and channel hooks.
|
|
304
346
|
*/
|
|
305
347
|
interface PresenceMember {
|
|
306
348
|
id: string;
|
|
307
|
-
|
|
349
|
+
joinedAt?: never;
|
|
308
350
|
[key: string]: unknown;
|
|
309
351
|
}
|
|
310
352
|
/**
|
|
311
353
|
* Context passed to middlewares.
|
|
312
354
|
*/
|
|
313
|
-
interface MiddlewareContext<User = unknown
|
|
314
|
-
socket: AuthenticatedSocket<User
|
|
355
|
+
interface MiddlewareContext<User = unknown> {
|
|
356
|
+
socket: AuthenticatedSocket<User>;
|
|
315
357
|
channel: string;
|
|
316
358
|
params: Record<string, string>;
|
|
317
359
|
presenceData?: Record<string, unknown> | PresenceData;
|
|
@@ -320,35 +362,34 @@ interface MiddlewareContext<User = unknown, HttpContext = unknown> {
|
|
|
320
362
|
/**
|
|
321
363
|
* Middleware function.
|
|
322
364
|
*/
|
|
323
|
-
type MiddlewareFn<User = unknown
|
|
365
|
+
type MiddlewareFn<User = unknown> = (ctx: MiddlewareContext<User>, next: () => Promise<void>) => Promise<void>;
|
|
324
366
|
/**
|
|
325
367
|
* Middleware class.
|
|
326
368
|
*/
|
|
327
|
-
interface MiddlewareClass<User = unknown
|
|
328
|
-
handle: MiddlewareFn<User
|
|
369
|
+
interface MiddlewareClass<User = unknown> {
|
|
370
|
+
handle: MiddlewareFn<User>;
|
|
329
371
|
}
|
|
330
372
|
/**
|
|
331
373
|
* Middleware, either a function or a class.
|
|
332
374
|
*/
|
|
333
|
-
type Middleware<User = unknown
|
|
334
|
-
/**
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
type ChannelHandlerFn<User = unknown
|
|
339
|
-
type ChannelHandlerMap<User = unknown
|
|
340
|
-
[K in keyof Events]?: ChannelHandlerFn<User, Events, HttpContext, K>;
|
|
341
|
-
};
|
|
375
|
+
type Middleware<User = unknown> = MiddlewareFn<User> | MiddlewareClass<User>;
|
|
376
|
+
/** Extracts the server-to-client event map declared by a channel instance. */
|
|
377
|
+
type ChannelServerEventsOf<T> = T extends {
|
|
378
|
+
readonly $serverEvents: infer Events;
|
|
379
|
+
} ? Events : unknown;
|
|
380
|
+
type ChannelHandlerFn<User = unknown> = (socket: AuthenticatedSocket<User>, data: any) => unknown | Promise<unknown>;
|
|
381
|
+
type ChannelHandlerMap<User = unknown> = Record<string, ChannelHandlerFn<User>>;
|
|
342
382
|
/**
|
|
343
383
|
* Package configuration.
|
|
344
384
|
*/
|
|
345
|
-
interface SocketConfig<User = unknown
|
|
346
|
-
channels?: {
|
|
347
|
-
patterns?: string[];
|
|
348
|
-
};
|
|
385
|
+
interface SocketConfig<User = unknown> {
|
|
349
386
|
websocket?: {
|
|
350
387
|
path?: string;
|
|
351
|
-
|
|
388
|
+
/**
|
|
389
|
+
* Additional browser origins allowed to open a WebSocket connection.
|
|
390
|
+
* Same-origin requests and clients without an Origin header are allowed by default.
|
|
391
|
+
*/
|
|
392
|
+
allowedOrigins?: string[];
|
|
352
393
|
/**
|
|
353
394
|
* HTTP middleware executed only for the WebSocket upgrade request.
|
|
354
395
|
*
|
|
@@ -356,11 +397,7 @@ interface SocketConfig<User = unknown, HttpContext = unknown> {
|
|
|
356
397
|
* websocket.authenticate. Channel middleware should be declared on channel classes.
|
|
357
398
|
*/
|
|
358
399
|
middleware?: SocketHttpMiddleware[];
|
|
359
|
-
|
|
360
|
-
* @internal
|
|
361
|
-
*/
|
|
362
|
-
createContextOnUpgrade?: boolean;
|
|
363
|
-
authenticate?: SocketAuthenticationHandler<User, HttpContext>;
|
|
400
|
+
authenticate?: SocketAuthenticationHandler<User>;
|
|
364
401
|
/**
|
|
365
402
|
* Sends a WebSocket ping every configured duration.
|
|
366
403
|
*
|
|
@@ -393,6 +430,18 @@ interface SocketConfig<User = unknown, HttpContext = unknown> {
|
|
|
393
430
|
* Maximum buffered outbound WebSocket bytes accepted before the service closes the socket.
|
|
394
431
|
*/
|
|
395
432
|
maxBufferedAmount?: number;
|
|
433
|
+
/**
|
|
434
|
+
* Maximum serialized size of one outbound WebSocket protocol message in bytes.
|
|
435
|
+
*/
|
|
436
|
+
maxOutboundPayload?: number;
|
|
437
|
+
/**
|
|
438
|
+
* Maximum number of active channel subscriptions retained by one socket.
|
|
439
|
+
*/
|
|
440
|
+
maxSubscriptionsPerSocket?: number;
|
|
441
|
+
/**
|
|
442
|
+
* Maximum accepted channel name length in characters.
|
|
443
|
+
*/
|
|
444
|
+
maxChannelNameLength?: number;
|
|
396
445
|
};
|
|
397
446
|
/**
|
|
398
447
|
* Optional transport used to synchronize broadcasts between SocketService instances.
|
|
@@ -410,22 +459,22 @@ interface SocketHealthSnapshot {
|
|
|
410
459
|
/**
|
|
411
460
|
* Events emitted by the service.
|
|
412
461
|
*/
|
|
413
|
-
interface SocketEvents<User = unknown
|
|
462
|
+
interface SocketEvents<User = unknown> {
|
|
414
463
|
connect: {
|
|
415
|
-
socket: AuthenticatedSocket<User
|
|
464
|
+
socket: AuthenticatedSocket<User>;
|
|
416
465
|
};
|
|
417
466
|
disconnect: {
|
|
418
|
-
socket: AuthenticatedSocket<User
|
|
467
|
+
socket: AuthenticatedSocket<User>;
|
|
419
468
|
reason: string;
|
|
420
469
|
};
|
|
421
470
|
subscribe: {
|
|
422
|
-
socket: AuthenticatedSocket<User
|
|
471
|
+
socket: AuthenticatedSocket<User>;
|
|
423
472
|
channel: string;
|
|
424
473
|
};
|
|
425
474
|
unsubscribe: {
|
|
426
|
-
socket: AuthenticatedSocket<User
|
|
475
|
+
socket: AuthenticatedSocket<User>;
|
|
427
476
|
channel: string;
|
|
428
477
|
};
|
|
429
478
|
}
|
|
430
479
|
|
|
431
|
-
export { type AuthenticatedSocket as A, BaseChannel as B, type
|
|
480
|
+
export { type AuthenticatedSocket as A, BaseChannel as B, type ChannelHandlerMap as C, type Duration as D, type Middleware as M, PresenceManager as P, type RawSocket as R, type SocketConfig as S, type ChannelServerEventsOf as a, type ChannelAck as b, type ChannelMessage as c, type SocketAuthenticationHandler as d, type BaseChannelConstructor as e, type ChannelHandlerFn as f, type ChannelMatch as g, type ChannelOptions as h, type MiddlewareClass as i, type MiddlewareContext as j, type MiddlewareFn as k, type PresenceInfo as l, type PresenceMember as m, type SocketAuthenticationResult as n, type SocketEvents as o, type SocketHealthSnapshot as p, type SocketHttpMiddleware as q, SocketResponseError as r, type SocketServiceStatus as s, type SocketUpgradeContext as t, type PresenceData as u };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rlanz/socket",
|
|
3
|
-
"version": "0.0.1-
|
|
3
|
+
"version": "0.0.1-6",
|
|
4
4
|
"description": "WebSocket integration for AdonisJS",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./build/index.js",
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"exports": {
|
|
16
16
|
".": "./build/index.js",
|
|
17
17
|
"./provider": "./build/providers/socket_provider.js",
|
|
18
|
+
"./assembler_hook": "./build/src/assembler_hook.js",
|
|
18
19
|
"./services/main": "./build/services/socket.js",
|
|
19
20
|
"./decorators": "./build/src/decorators.js",
|
|
20
21
|
"./health_check": "./build/src/health_check.js",
|
|
@@ -23,30 +24,35 @@
|
|
|
23
24
|
"./types": "./build/src/types.js",
|
|
24
25
|
"./types/tracing_channels": "./build/src/types/tracing_channels.js",
|
|
25
26
|
"./client": "./build/src/client/index.js",
|
|
26
|
-
"./client/types": "./build/src/client/types.js"
|
|
27
|
+
"./client/types": "./build/src/client/types.js",
|
|
28
|
+
"./client/react": "./build/src/client/react.js",
|
|
29
|
+
"./client/vue": "./build/src/client/vue.js",
|
|
30
|
+
"./client/svelte": "./build/src/client/svelte.js"
|
|
27
31
|
},
|
|
28
32
|
"scripts": {
|
|
29
33
|
"build": "npm run compile",
|
|
30
34
|
"clean": "del-cli build",
|
|
31
35
|
"compile": "npm run clean && tsup-node",
|
|
36
|
+
"check:package": "node --import=@poppinss/ts-exec bin/check_package.ts",
|
|
32
37
|
"lint": "oxlint",
|
|
33
38
|
"lint:fix": "oxlint --fix",
|
|
34
39
|
"format": "oxfmt --check .",
|
|
35
40
|
"format:fix": "oxfmt --write .",
|
|
36
|
-
"prepublishOnly": "npm run build",
|
|
41
|
+
"prepublishOnly": "npm run build && npm run check:package",
|
|
37
42
|
"release": "release-it",
|
|
38
43
|
"test": "node --import=@poppinss/ts-exec --enable-source-maps bin/test.ts",
|
|
39
44
|
"typecheck": "tsc --noEmit",
|
|
40
45
|
"version": "npm run build"
|
|
41
46
|
},
|
|
42
47
|
"dependencies": {
|
|
43
|
-
"@boringnode/bus": "^0.9.
|
|
48
|
+
"@boringnode/bus": "^0.9.1",
|
|
44
49
|
"@lukeed/ms": "^2.0.2",
|
|
45
50
|
"@poppinss/matchit": "^3.2.0",
|
|
46
51
|
"emittery": "^1.2.0",
|
|
47
52
|
"ws": "^8.21.0"
|
|
48
53
|
},
|
|
49
54
|
"devDependencies": {
|
|
55
|
+
"@adonisjs/assembler": "^8.0.0",
|
|
50
56
|
"@adonisjs/core": "^7.0.1",
|
|
51
57
|
"@adonisjs/tsconfig": "^2.0.0",
|
|
52
58
|
"@japa/assert": "^4.2.0",
|
|
@@ -58,21 +64,38 @@
|
|
|
58
64
|
"@opentelemetry/sdk-metrics": "^2.7.1",
|
|
59
65
|
"@opentelemetry/sdk-trace-base": "^2.7.1",
|
|
60
66
|
"@poppinss/ts-exec": "^1.4.4",
|
|
67
|
+
"@types/node": "^24.0.0",
|
|
68
|
+
"@types/react": "^19.1.9",
|
|
69
|
+
"@types/react-test-renderer": "^19.1.0",
|
|
70
|
+
"@types/scheduler": "^0",
|
|
61
71
|
"@types/ws": "^8.18.1",
|
|
62
72
|
"del-cli": "^7.0.0",
|
|
63
73
|
"oxfmt": "^0.38.0",
|
|
64
74
|
"oxlint": "^1.53.0",
|
|
75
|
+
"react": "^19.1.1",
|
|
76
|
+
"react-test-renderer": "^19.1.1",
|
|
65
77
|
"release-it": "^19.2.4",
|
|
78
|
+
"scheduler": "^0.27.0",
|
|
79
|
+
"svelte": "^5.38.0",
|
|
66
80
|
"tsup": "^8.5.1",
|
|
67
|
-
"typescript": "^5.9.3"
|
|
81
|
+
"typescript": "^5.9.3",
|
|
82
|
+
"vue": "^3.5.18"
|
|
68
83
|
},
|
|
69
84
|
"peerDependencies": {
|
|
85
|
+
"@adonisjs/assembler": "^8.0.0",
|
|
70
86
|
"@adonisjs/core": "^7.0.1",
|
|
71
87
|
"@opentelemetry/api": "^1.9.0",
|
|
72
88
|
"@opentelemetry/core": "^1.30.0 || ^2.0.0",
|
|
73
|
-
"@opentelemetry/instrumentation": "^0.200.0"
|
|
89
|
+
"@opentelemetry/instrumentation": "^0.200.0",
|
|
90
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
91
|
+
"svelte": "^4.0.0 || ^5.0.0",
|
|
92
|
+
"typescript": "^5.9.0 || ^6.0.0",
|
|
93
|
+
"vue": "^3.3.0"
|
|
74
94
|
},
|
|
75
95
|
"peerDependenciesMeta": {
|
|
96
|
+
"@adonisjs/assembler": {
|
|
97
|
+
"optional": true
|
|
98
|
+
},
|
|
76
99
|
"@opentelemetry/api": {
|
|
77
100
|
"optional": true
|
|
78
101
|
},
|
|
@@ -81,6 +104,18 @@
|
|
|
81
104
|
},
|
|
82
105
|
"@opentelemetry/instrumentation": {
|
|
83
106
|
"optional": true
|
|
107
|
+
},
|
|
108
|
+
"react": {
|
|
109
|
+
"optional": true
|
|
110
|
+
},
|
|
111
|
+
"svelte": {
|
|
112
|
+
"optional": true
|
|
113
|
+
},
|
|
114
|
+
"typescript": {
|
|
115
|
+
"optional": true
|
|
116
|
+
},
|
|
117
|
+
"vue": {
|
|
118
|
+
"optional": true
|
|
84
119
|
}
|
|
85
120
|
},
|
|
86
121
|
"keywords": [
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/tracing_channels.ts"],"sourcesContent":["import diagnostics_channel from 'node:diagnostics_channel'\nimport type {\n SocketBroadcastMessage,\n SocketChannelMessage,\n SocketConnectMessage,\n SocketDisconnectMessage,\n SocketSubscribeMessage,\n SocketUnsubscribeMessage,\n} from './types/tracing_channels.js'\n\nexport const connectChannel = diagnostics_channel.tracingChannel<\n 'rlanz.socket.connect',\n SocketConnectMessage\n>('rlanz.socket.connect')\n\nexport const disconnectChannel = diagnostics_channel.tracingChannel<\n 'rlanz.socket.disconnect',\n SocketDisconnectMessage\n>('rlanz.socket.disconnect')\n\nexport const subscribeChannel = diagnostics_channel.tracingChannel<\n 'rlanz.socket.subscribe',\n SocketSubscribeMessage\n>('rlanz.socket.subscribe')\n\nexport const unsubscribeChannel = diagnostics_channel.tracingChannel<\n 'rlanz.socket.unsubscribe',\n SocketUnsubscribeMessage\n>('rlanz.socket.unsubscribe')\n\nexport const channelMessageChannel = diagnostics_channel.tracingChannel<\n 'rlanz.socket.message',\n SocketChannelMessage\n>('rlanz.socket.message')\n\nexport const broadcastChannel = diagnostics_channel.tracingChannel<\n 'rlanz.socket.broadcast',\n SocketBroadcastMessage\n>('rlanz.socket.broadcast')\n"],"mappings":";AAAA,OAAO,yBAAyB;AAUzB,IAAM,iBAAiB,oBAAoB,eAGhD,sBAAsB;AAEjB,IAAM,oBAAoB,oBAAoB,eAGnD,yBAAyB;AAEpB,IAAM,mBAAmB,oBAAoB,eAGlD,wBAAwB;AAEnB,IAAM,qBAAqB,oBAAoB,eAGpD,0BAA0B;AAErB,IAAM,wBAAwB,oBAAoB,eAGvD,sBAAsB;AAEjB,IAAM,mBAAmB,oBAAoB,eAGlD,wBAAwB;","names":[]}
|