@@ -74,8 +74,6 @@ function createWebSocketObservable() {
7474 return undefined
7575 }
7676
77- const stopListeners : Array < ( ) => void > = [ ]
78-
7977 const { stop : stopInstrumentingConstructor } = instrumentConstructor (
8078 globalObject ,
8179 'WebSocket' ,
@@ -91,7 +89,7 @@ function createWebSocketObservable() {
9189 ...( protocols !== undefined ? { protocols } : { } ) ,
9290 startClocks,
9391 } )
94- attachInstanceListeners ( instance , observable , stopListeners )
92+ attachInstanceListeners ( instance , observable )
9593 } )
9694 }
9795 )
@@ -117,25 +115,22 @@ function createWebSocketObservable() {
117115 return ( ) => {
118116 stopInstrumentingConstructor ( )
119117 stopInstrumentingSend ( )
120- stopListeners . forEach ( ( stop ) => stop ( ) )
121- stopListeners . length = 0
122118 }
123119 } )
124120}
125121
126- function attachInstanceListeners (
127- instance : WebSocket ,
128- observable : Observable < WebSocketContext > ,
129- stopListeners : Array < ( ) => void >
130- ) {
122+ function attachInstanceListeners ( instance : WebSocket , observable : Observable < WebSocketContext > ) {
131123 const { stop : stopOpen } = addEventListener ( instance , 'open' , ( ) => {
132124 observable . notify ( {
133125 state : 'open' ,
134126 instance,
135127 openClocks : clocksNow ( ) ,
136128 protocol : instance . protocol || '' ,
137129 } )
130+
131+ stopOpen ( )
138132 } )
133+
139134 const { stop : stopMessage } = addEventListener ( instance , 'message' , ( event ) => {
140135 observable . notify ( {
141136 state : 'message-in' ,
@@ -144,6 +139,7 @@ function attachInstanceListeners(
144139 at : clocksNow ( ) ,
145140 } )
146141 } )
142+
147143 const { stop : stopClose } = addEventListener ( instance , 'close' , ( event ) => {
148144 observable . notify ( {
149145 state : 'closed' ,
@@ -153,9 +149,10 @@ function attachInstanceListeners(
153149 wasClean : event . wasClean ,
154150 at : clocksNow ( ) ,
155151 } )
156- } )
157152
158- stopListeners . push ( stopOpen , stopMessage , stopClose )
153+ stopMessage ( )
154+ stopClose ( )
155+ } )
159156}
160157
161158function computePayloadSize ( data : unknown ) : number {
0 commit comments