UNPKG

coincident

Version:

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

25 lines (23 loc) 611 B
import server from './server/server.js'; export default (options = {}) => { const { bun, wss } = options; if (bun) { const sockets = new WeakMap; return { open(ws) { sockets.set(ws, server(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 } = server(ws, options); ws.prependListener('close', onclose); ws.prependListener('message', onmessage); }); };