Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/vitest-dev/vscode. VS Code extension for Vitest vitest.dev/vscode
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455import type { WorkerEvent, WorkerReadyMetadata } from 'vitest-vscode-shared'import type WebSocket from 'ws'
abstract class WorkerEventEmitter { abstract name: string
abstract send(event: any): void abstract on(event: string, listener: (...args: any[]) => void): void abstract off(event: string, listener: (...args: any[]) => void): void
ready(metadata: WorkerReadyMetadata, legacy: boolean, version: string | undefined) { this.sendWorkerEvent({ type: 'ready', metadata, legacy, version }) }
error(err: any) { this.sendWorkerEvent({ type: 'error', error: String(err.stack) }) }
debug(...args: string[]) { this.sendWorkerEvent({ type: 'debug', args }) }
protected sendWorkerEvent(event: WorkerEvent) { this.send(event) }}
export class WorkerWSEventEmitter extends WorkerEventEmitter { name = 'ws'
constructor(private ws: WebSocket) { super() }
protected override sendWorkerEvent(event: WorkerEvent): void { this.ws.send(JSON.stringify(event)) }
override send(event: any) { this.ws.send(event) }
override on(event: string, listener: (...args: any[]) => void) { this.ws.on(event, listener) }
override off(event: string, listener: (...args: any[]) => void) { this.ws.off(event, listener) }
close() { this.ws.close() }}