UNPKG

coincident

Version:

An Atomics based Proxy to simplify, and synchronize, Worker related tasks

25 lines (23 loc) 625 B
import proxyServer from './proxy/server.js'; export default (options = {}) => { const { bun, wss } = options; if (bun) { const sockets = new WeakMap; return { open(ws) { sockets.set(ws, proxyServer(ws, options)); }, close(ws, _, message) { sockets.get(ws).onclose(message); }, message(ws, message) { sockets.get(ws).onmessage(message); } }; } else if (wss) wss.on('connection', ws => { const { onclose, onmessage } = proxyServer(ws, options); ws.prependListener('close', onclose); ws.prependListener('message', onmessage); }); };