@@ -41,13 +41,38 @@ export namespace Pty {
4141
4242 const token = ( ws : Socket ) => {
4343 const data = ws . data
44- if ( ! data || typeof data !== "object" ) return
44+ if ( data === undefined ) return
45+ if ( data === null ) return
46+ if ( typeof data !== "object" ) return data
4547
46- const events = ( data as { events ?: unknown } ) . events
47- if ( events && typeof events === "object" ) return events
48+ const id = ( data as { connId ?: unknown } ) . connId
49+ if ( typeof id === "number" || typeof id === "string" ) return id
50+
51+ const href = ( data as { href ?: unknown } ) . href
52+ if ( typeof href === "string" ) return href
4853
4954 const url = ( data as { url ?: unknown } ) . url
50- if ( url && typeof url === "object" ) return url
55+ if ( typeof url === "string" ) return url
56+ if ( url && typeof url === "object" ) {
57+ const href = ( url as { href ?: unknown } ) . href
58+ if ( typeof href === "string" ) return href
59+ return url
60+ }
61+
62+ const events = ( data as { events ?: unknown } ) . events
63+ if ( typeof events === "number" || typeof events === "string" ) return events
64+ if ( events && typeof events === "object" ) {
65+ const id = ( events as { connId ?: unknown } ) . connId
66+ if ( typeof id === "number" || typeof id === "string" ) return id
67+
68+ const id2 = ( events as { connection ?: unknown } ) . connection
69+ if ( typeof id2 === "number" || typeof id2 === "string" ) return id2
70+
71+ const id3 = ( events as { id ?: unknown } ) . id
72+ if ( typeof id3 === "number" || typeof id3 === "string" ) return id3
73+
74+ return events
75+ }
5176
5277 return data
5378 }
@@ -210,7 +235,7 @@ export namespace Pty {
210235 continue
211236 }
212237
213- if ( sub . token !== undefined && token ( ws ) !== sub . token ) {
238+ if ( token ( ws ) !== sub . token ) {
214239 session . subscribers . delete ( ws )
215240 continue
216241 }
0 commit comments