Minimal Events for WebSockets.
ws-events
decorates a WebSocket instance. It works in node.js and in
the browser with browserify.
On the server side:
const wsEvents = require('ws-events')
const Server = require('ws').Server
const wss = new Server()
wss.on('connection', (ws) => {
const events = wsEvents(ws)
events.emit('hello', {
any: 'json'
})
events.on('world', (arg) => {
console.log(arg)
})
})
On the client side:
const wsEvents = require('ws-events')
const ws = wsEvents(new WebSocket('ws://localhost'))
ws.on('hello', (data) => {
// data.any === 'json'
ws.emit('world', 'Hello from a browser \\o')
})
Create a ws-events
emitter. The emitter wraps the passed-in socket, so all
native WebSocket methods can still be used.
socket
is a standard WebSocket instance.
const socket = wsEvents(new WebSocket(...))
socket.addEventListener('open', () => {
// Using a ws-events method.
socket.emit('ya ya')
// Using a native method.
socket.close()
})
Register an event handler.
Remove an event handler.
Remove all handlers for the given event.
Remove all handlers for all events.
Emit an event. When emitting on the server, the handlers on the client will fire. When emitting on the client, the handlers on the server will fire.
Check if there are any handlers for an event.
Return the listeners for an event.
MIT.