4.0.8 • Published 8 months ago
@jgtools/bunnyws v4.0.8
BunnyWS
Lightweight WebSocket library for Bun
Features
- :rabbit: Works with Bun
- :zap: Zero dependencies
- :gear: Assigns an ID to each client connection
- :blue_square: Written in TypeScript
Installation
Using bun
bun a @jgtools/bunnyws
import { BunnyWS } from "@jgtools/bunnyws";
// ...
Usage
import { BunnyMsg, BunnyWS, BunnyWSEvents, BunnyWSClient } from "@jgtools/bunnyws";
const events: BunnyWSEvents = {
open: (ws: BunnyWSClient) => {
console.log("Client has connected", ws.data.id);
},
message: (ws: BunnyWSClient, msg: BunnyMsg) => {
console.log("Received:", msg);
ws.send(msg); // send to client
ws.publish("global", msg); // send to all connected clients (excluding itself)
},
close: (ws: BunnyWSClient) => {
console.log("Client has disconnected:", ws.data.id);
}
}
const bws = new BunnyWS(8080, events);
setInterval(() => bws.publish("Published to all"), 3000);
Docs
BunnyWS
BunnyWS
is a WebSocket server.
Constructor parameters:
| Parameter | Type |
|-----------|------|
| port
| number
|
| events
| BunnyWSEvents
|
Methods:
| Method | Type |
|----------|------|
| publish
| (msg: string \| ArrayBufferView \| ArrayBuffer, compress?: boolean) => number
|
BunnyWSEvents
BunnyWSEvents
is an interface that defines the event handlers for a BunnyWS
server.
Property | Type |
---|---|
open | (ws: BunnyWSClient) => void |
message | (ws: BunnyWSClient, msg: BunnyMsg) => void |
close | (ws: BunnyWSClient) => void |
License
MIT
4.0.8
8 months ago
4.0.7
10 months ago
4.0.6
11 months ago
4.0.5
1 year ago
4.0.4
1 year ago
4.0.1
1 year ago
4.0.0
1 year ago
4.0.3
1 year ago
4.0.2
1 year ago
3.0.3
1 year ago
3.0.2
1 year ago
3.0.1
1 year ago
3.0.0
1 year ago
2.0.3
1 year ago
2.0.2
1 year ago
2.0.1
1 year ago
2.0.0
1 year ago
1.0.3
1 year ago
1.0.2
1 year ago
1.0.1
1 year ago
1.0.0
1 year ago