MCPcopy
hub / github.com/vitest-dev/vitest / registerWS

Function registerWS

packages/ws-client/src/index.ts:123–151  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

121 }
122
123 function registerWS() {
124 openPromise = new Promise((resolve, reject) => {
125 const timeout = setTimeout(() => {
126 reject(
127 new Error(
128 `Cannot connect to the server in ${connectTimeout / 1000} seconds`,
129 ),
130 )
131 }, connectTimeout)?.unref?.()
132 if (ctx.ws.OPEN === ctx.ws.readyState) {
133 resolve()
134 }
135 // still have a listener even if it's already open to update tries
136 ctx.ws.addEventListener('open', () => {
137 tries = reconnectTries
138 resolve()
139 clearTimeout(timeout)
140 })
141 })
142 ctx.ws.addEventListener('message', (v) => {
143 onMessage(v.data)
144 })
145 ctx.ws.addEventListener('close', () => {
146 tries -= 1
147 if (autoReconnect && tries > 0) {
148 setTimeout(reconnect, reconnectInterval)
149 }
150 })
151 }
152
153 registerWS()
154

Callers 2

reconnectFunction · 0.70
createClientFunction · 0.70

Calls 4

addEventListenerMethod · 0.80
rejectFunction · 0.50
resolveFunction · 0.50
onMessageFunction · 0.50

Tested by

no test coverage detected