@rlanz/socket 0.0.1-4 → 0.0.1-5
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 +427 -22
- package/build/chunk-ANT2E3LT.js +136 -0
- package/build/chunk-ANT2E3LT.js.map +1 -0
- 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-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-CvxgHwbv.d.ts +12 -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 +1774 -57
- package/build/providers/socket_provider.js.map +1 -1
- package/build/services/socket.d.ts +4 -3
- package/build/socket_service-mybqv1hj.d.ts +105 -0
- package/build/src/assembler_hook.d.ts +13 -0
- package/build/src/assembler_hook.js +249 -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 +22 -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 +68 -5
- package/build/src/client/vue.d.ts +25 -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-C7Q36ryo.d.ts} +110 -65
- 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
|
*/
|
|
@@ -248,10 +280,6 @@ interface AuthenticatedSocket<User = unknown, HttpContext = unknown> {
|
|
|
248
280
|
* Authenticated user resolved during the HTTP upgrade.
|
|
249
281
|
*/
|
|
250
282
|
user: User | undefined;
|
|
251
|
-
/**
|
|
252
|
-
* Channels this socket is subscribed to.
|
|
253
|
-
*/
|
|
254
|
-
channels: Set<string>;
|
|
255
283
|
/**
|
|
256
284
|
* Emits an event to this socket.
|
|
257
285
|
*/
|
|
@@ -271,14 +299,17 @@ interface AuthenticatedSocket<User = unknown, HttpContext = unknown> {
|
|
|
271
299
|
/**
|
|
272
300
|
* Raw WebSocket connection metadata.
|
|
273
301
|
*/
|
|
274
|
-
raw: RawSocket
|
|
302
|
+
raw: RawSocket;
|
|
275
303
|
}
|
|
276
|
-
|
|
277
|
-
|
|
304
|
+
/**
|
|
305
|
+
* Short-lived context for preparing and authenticating a WebSocket upgrade.
|
|
306
|
+
* Socket-lifetime mutable state belongs in AuthenticatedSocket.raw.data.
|
|
307
|
+
*/
|
|
308
|
+
interface SocketUpgradeContext {
|
|
309
|
+
httpContext: HttpContext;
|
|
278
310
|
}
|
|
279
311
|
type SocketAuthenticationResult<User = unknown> = User | false | null;
|
|
280
|
-
type SocketAuthenticationHandler<User = unknown
|
|
281
|
-
type SocketHttpContextFactory<HttpContext = unknown> = (request: IncomingMessage) => HttpContext | Promise<HttpContext>;
|
|
312
|
+
type SocketAuthenticationHandler<User = unknown> = (ctx: SocketUpgradeContext) => SocketAuthenticationResult<User> | Promise<SocketAuthenticationResult<User>>;
|
|
282
313
|
/**
|
|
283
314
|
* AdonisJS HTTP middleware executed for the WebSocket upgrade request.
|
|
284
315
|
*/
|
|
@@ -289,7 +320,7 @@ type SocketHttpMiddleware = (() => Promise<{
|
|
|
289
320
|
* Result of matching a channel.
|
|
290
321
|
*/
|
|
291
322
|
interface ChannelMatch {
|
|
292
|
-
channel:
|
|
323
|
+
channel: BaseChannelConstructor;
|
|
293
324
|
pattern: string;
|
|
294
325
|
params: Record<string, string>;
|
|
295
326
|
}
|
|
@@ -300,18 +331,25 @@ interface ChannelOptions {
|
|
|
300
331
|
presence?: boolean;
|
|
301
332
|
}
|
|
302
333
|
/**
|
|
303
|
-
*
|
|
334
|
+
* Identity and channel-specific data returned for a presence member.
|
|
335
|
+
*/
|
|
336
|
+
interface PresenceInfo {
|
|
337
|
+
id: string;
|
|
338
|
+
data?: Record<string, unknown>;
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Presence member exposed to snapshots and channel hooks.
|
|
304
342
|
*/
|
|
305
343
|
interface PresenceMember {
|
|
306
344
|
id: string;
|
|
307
|
-
|
|
345
|
+
joinedAt?: never;
|
|
308
346
|
[key: string]: unknown;
|
|
309
347
|
}
|
|
310
348
|
/**
|
|
311
349
|
* Context passed to middlewares.
|
|
312
350
|
*/
|
|
313
|
-
interface MiddlewareContext<User = unknown
|
|
314
|
-
socket: AuthenticatedSocket<User
|
|
351
|
+
interface MiddlewareContext<User = unknown> {
|
|
352
|
+
socket: AuthenticatedSocket<User>;
|
|
315
353
|
channel: string;
|
|
316
354
|
params: Record<string, string>;
|
|
317
355
|
presenceData?: Record<string, unknown> | PresenceData;
|
|
@@ -320,35 +358,34 @@ interface MiddlewareContext<User = unknown, HttpContext = unknown> {
|
|
|
320
358
|
/**
|
|
321
359
|
* Middleware function.
|
|
322
360
|
*/
|
|
323
|
-
type MiddlewareFn<User = unknown
|
|
361
|
+
type MiddlewareFn<User = unknown> = (ctx: MiddlewareContext<User>, next: () => Promise<void>) => Promise<void>;
|
|
324
362
|
/**
|
|
325
363
|
* Middleware class.
|
|
326
364
|
*/
|
|
327
|
-
interface MiddlewareClass<User = unknown
|
|
328
|
-
handle: MiddlewareFn<User
|
|
365
|
+
interface MiddlewareClass<User = unknown> {
|
|
366
|
+
handle: MiddlewareFn<User>;
|
|
329
367
|
}
|
|
330
368
|
/**
|
|
331
369
|
* Middleware, either a function or a class.
|
|
332
370
|
*/
|
|
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
|
-
};
|
|
371
|
+
type Middleware<User = unknown> = MiddlewareFn<User> | MiddlewareClass<User>;
|
|
372
|
+
/** Extracts the server-to-client event map declared by a channel instance. */
|
|
373
|
+
type ChannelServerEventsOf<T> = T extends {
|
|
374
|
+
readonly $serverEvents: infer Events;
|
|
375
|
+
} ? Events : unknown;
|
|
376
|
+
type ChannelHandlerFn<User = unknown> = (socket: AuthenticatedSocket<User>, data: any) => unknown | Promise<unknown>;
|
|
377
|
+
type ChannelHandlerMap<User = unknown> = Record<string, ChannelHandlerFn<User>>;
|
|
342
378
|
/**
|
|
343
379
|
* Package configuration.
|
|
344
380
|
*/
|
|
345
|
-
interface SocketConfig<User = unknown
|
|
346
|
-
channels?: {
|
|
347
|
-
patterns?: string[];
|
|
348
|
-
};
|
|
381
|
+
interface SocketConfig<User = unknown> {
|
|
349
382
|
websocket?: {
|
|
350
383
|
path?: string;
|
|
351
|
-
|
|
384
|
+
/**
|
|
385
|
+
* Additional browser origins allowed to open a WebSocket connection.
|
|
386
|
+
* Same-origin requests and clients without an Origin header are allowed by default.
|
|
387
|
+
*/
|
|
388
|
+
allowedOrigins?: string[];
|
|
352
389
|
/**
|
|
353
390
|
* HTTP middleware executed only for the WebSocket upgrade request.
|
|
354
391
|
*
|
|
@@ -356,11 +393,7 @@ interface SocketConfig<User = unknown, HttpContext = unknown> {
|
|
|
356
393
|
* websocket.authenticate. Channel middleware should be declared on channel classes.
|
|
357
394
|
*/
|
|
358
395
|
middleware?: SocketHttpMiddleware[];
|
|
359
|
-
|
|
360
|
-
* @internal
|
|
361
|
-
*/
|
|
362
|
-
createContextOnUpgrade?: boolean;
|
|
363
|
-
authenticate?: SocketAuthenticationHandler<User, HttpContext>;
|
|
396
|
+
authenticate?: SocketAuthenticationHandler<User>;
|
|
364
397
|
/**
|
|
365
398
|
* Sends a WebSocket ping every configured duration.
|
|
366
399
|
*
|
|
@@ -393,6 +426,18 @@ interface SocketConfig<User = unknown, HttpContext = unknown> {
|
|
|
393
426
|
* Maximum buffered outbound WebSocket bytes accepted before the service closes the socket.
|
|
394
427
|
*/
|
|
395
428
|
maxBufferedAmount?: number;
|
|
429
|
+
/**
|
|
430
|
+
* Maximum serialized size of one outbound WebSocket protocol message in bytes.
|
|
431
|
+
*/
|
|
432
|
+
maxOutboundPayload?: number;
|
|
433
|
+
/**
|
|
434
|
+
* Maximum number of active channel subscriptions retained by one socket.
|
|
435
|
+
*/
|
|
436
|
+
maxSubscriptionsPerSocket?: number;
|
|
437
|
+
/**
|
|
438
|
+
* Maximum accepted channel name length in characters.
|
|
439
|
+
*/
|
|
440
|
+
maxChannelNameLength?: number;
|
|
396
441
|
};
|
|
397
442
|
/**
|
|
398
443
|
* Optional transport used to synchronize broadcasts between SocketService instances.
|
|
@@ -410,22 +455,22 @@ interface SocketHealthSnapshot {
|
|
|
410
455
|
/**
|
|
411
456
|
* Events emitted by the service.
|
|
412
457
|
*/
|
|
413
|
-
interface SocketEvents<User = unknown
|
|
458
|
+
interface SocketEvents<User = unknown> {
|
|
414
459
|
connect: {
|
|
415
|
-
socket: AuthenticatedSocket<User
|
|
460
|
+
socket: AuthenticatedSocket<User>;
|
|
416
461
|
};
|
|
417
462
|
disconnect: {
|
|
418
|
-
socket: AuthenticatedSocket<User
|
|
463
|
+
socket: AuthenticatedSocket<User>;
|
|
419
464
|
reason: string;
|
|
420
465
|
};
|
|
421
466
|
subscribe: {
|
|
422
|
-
socket: AuthenticatedSocket<User
|
|
467
|
+
socket: AuthenticatedSocket<User>;
|
|
423
468
|
channel: string;
|
|
424
469
|
};
|
|
425
470
|
unsubscribe: {
|
|
426
|
-
socket: AuthenticatedSocket<User
|
|
471
|
+
socket: AuthenticatedSocket<User>;
|
|
427
472
|
channel: string;
|
|
428
473
|
};
|
|
429
474
|
}
|
|
430
475
|
|
|
431
|
-
export { type AuthenticatedSocket as A, BaseChannel as B, type
|
|
476
|
+
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-5",
|
|
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":[]}
|