@mofer/resocket
v1.0.0
Published
A reconnectable WebSocket client for JS/TS
Maintainers
Readme
Resocket
A reconnectable WebSocket client for JavaScript and TypeScript.
Resocket is a lightweight wrapper around the native WebSocket API that adds:
- ✅ Automatic reconnection
- ✅ Event binding/unbinding
- ✅ TypeScript support out of the box
Perfect for browser and Node.js applications that need reliable WebSocket connections.
Installation
npm install resocketor with yarn:
yarn add resocketUsage
import Socket from "resocket";
const socket = new Socket("wss://example.com");
// listen for events
socket.bind("open", () => console.log("Connected!"));
socket.bind("message", (event) => console.log("Received:", event.data));
socket.bind("close", () => console.log("Connection closed."));
socket.bind("reconnect", () => console.log("Reconnecting..."));
// send a message
socket.send({ type: "hello", payload: "world" });
// close connection manually
//socket.close();
// permanently destroy (disable reconnects)
//socket.destroy();API
new Socket(server: string, autoReconnect = true, reconnectInterval = 2000)
Creates a new WebSocket connection.
server(string) – WebSocket server URL.autoReconnect(boolean, default: true) – whether to auto-reconnect on disconnect.reconnectInterval(number, default: 2000) – delay (ms) before attempting reconnection.
.bind(eventName, callback)
Register a callback for a specific event.
eventName– one of"open" | "close" | "error" | "message" | "reconnect".callback– function to execute when the event occurs.
.unbind(eventName, callback)
Remove a previously registered callback.
.send(payload)
Send a JSON-encoded message to the server.
payload(object) – any serializable object.- Throws if the socket is not open.
.close()
Closes the current WebSocket connection gracefully.
.destroy()
Permanently closes the connection and disables auto-reconnect.
Events
- open → Fired when the socket connects.
- close → Fired when the socket disconnects.
- error → Fired on connection errors.
- message → Fired when a message is received.
- reconnect → Fired right before attempting to reconnect.
License
MIT © MohammadFerdowsi
