1.0.0 • Published 7 years ago
ws-events v1.0.0
ws-events
Minimal Events for WebSockets.
Example
ws-events
decorates a WebSocket instance. It works both on the server and the
client side.
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')
})
API
events = wsEvents(socket)
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()
})
events.on(eventName, cb): this
Register an event handler.
events.off(eventName, cb): this
Remove an event handler.
events.off(eventName): this
Remove all handlers for the given event.
events.off(): this
Remove all handlers for all events.
events.emit(eventName, ...arguments): this
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.
events.hasListeners(eventName): bool
Check if there are any handlers for an event.
events.listeners(eventName): Array<function>
Return the listeners for an event.
License
MIT.
1.0.0
7 years ago