MCPcopy
hub / github.com/audreyt/ethercalc / PendingSocket

Class PendingSocket

packages/oracle-harness/test/ws-transport.test.ts:92–113  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

90
91 it('waits for the open event when the socket is still connecting', async () => {
92 class PendingSocket implements WsLike {
93 readyState = 0;
94 private listeners = new Map<string, Array<(ev: WsEvent) => void>>();
95 send() {}
96 close() {}
97 addEventListener(type: 'message' | 'close' | 'error' | 'open', listener: (ev: WsEvent) => void) {
98 const bucket = this.listeners.get(type) ?? [];
99 bucket.push(listener);
100 this.listeners.set(type, bucket);
101 }
102 removeEventListener(type: 'message' | 'close' | 'error' | 'open', listener: (ev: WsEvent) => void) {
103 const bucket = this.listeners.get(type) ?? [];
104 this.listeners.set(
105 type,
106 bucket.filter((l) => l !== listener),
107 );
108 }
109 open() {
110 this.readyState = 1;
111 for (const fn of this.listeners.get('open') ?? []) fn({});
112 }
113 }
114 const sock = new PendingSocket();
115 const pending = openWsSession({
116 targetUrl: 'http://host.test',

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected