New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

jsonrpc2-ws

Package Overview
Dependencies
Maintainers
1
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jsonrpc2-ws - npm Package Compare versions

Comparing version 1.0.0-beta20 to 1.0.0-beta21

22

lib/client.d.ts

@@ -29,14 +29,14 @@ /// <reference types="ws" />

export default interface Client {
on(event: "connecting", listener: (this: Client) => void): any;
on(event: "connected", listener: (this: Client) => void): any;
on(event: "disconnect", listener: (this: Client, code: number, reason: any) => void): any;
on(event: "reconnecting", listener: (this: Client, attemps: number) => void): any;
on(event: "reconnect_failed", listener: (this: Client) => void): any;
on(event: "reconnect_error", listener: (this: Client, err: any) => void): any;
on(event: "reconnected", listener: (this: Client, attemps: number) => void): any;
on(event: "error_response", listener: (this: Client, response: ErrorResponse) => void): any;
on(event: "notification_error", listener: (this: Client, error: RPCError) => void): any;
on(event: "connecting", listener: (this: Client) => void): this;
on(event: "connected", listener: (this: Client) => void): this;
on(event: "disconnect", listener: (this: Client, code: number, reason: any) => void): this;
on(event: "reconnecting", listener: (this: Client, attemps: number) => void): this;
on(event: "reconnect_failed", listener: (this: Client) => void): this;
on(event: "reconnect_error", listener: (this: Client, err: any) => void): this;
on(event: "reconnected", listener: (this: Client, attemps: number) => void): this;
on(event: "error_response", listener: (this: Client, response: ErrorResponse) => void): this;
on(event: "notification_error", listener: (this: Client, error: RPCError) => void): this;
on(event: "close", cb: (this: Client) => void): this;
on(event: "error", listener: (this: Client, error: any) => void): any;
on(event: "buffer_sending_error", listener: (this: Client, error: any) => void): any;
on(event: "error", listener: (this: Client, error: any) => void): this;
on(event: "buffer_sending_error", listener: (this: Client, error: any) => void): this;
}

@@ -43,0 +43,0 @@ /**

@@ -65,17 +65,44 @@ "use strict";

const ws = this._ws = new WebSocket(this.uri, this.config.protocols, this.config);
ws.on("error", error => this.emit("error", error));
ws.on("close", () => this.emit("close"));
ws.on("close", (code, reason) => this.emit("disconnect", code, reason));
ws.on("close", () => this._ws = null);
if (ws.addEventListener) {
ws.addEventListener("error", error => this.emit("error", error));
ws.addEventListener("close", ({ code, reason }) => {
this.emit("close");
this.emit("disconnect", code, reason);
this._ws = null;
});
ws.addEventListener("message", ({ data }) => this._messageHandler.handleMessage(this, data).catch(e => this.emit("error", e)));
}
else {
ws.on("error", error => this.emit("error", error));
ws.on("close", (code, reason) => {
this.emit("close");
this.emit("disconnect", code, reason);
this._ws = null;
});
ws.on("message", data => this._messageHandler.handleMessage(this, data).catch(e => this.emit("error", e)));
}
if (this.config.reconnection) {
this._skipReconnection = false;
ws.on("close", () => this.reconnect());
if (ws.addEventListener) {
ws.addEventListener("close", () => this.reconnect());
}
else {
ws.on("close", () => this.reconnect());
}
}
ws.on("message", data => this._messageHandler.handleMessage(this, data).catch(e => this.emit("error", e)));
await new Promise((resolve, reject) => {
ws.once("open", () => {
ws.off("error", reject);
resolve();
});
ws.once("error", reject);
if (ws.addEventListener) {
ws.addEventListener("open", () => {
ws.removeEventListener("error", reject);
resolve();
}, { once: true });
ws.addEventListener("error", reject, { once: true });
}
else {
ws.once("open", () => {
ws.off("error", reject);
resolve();
});
ws.once("error", reject);
}
});

@@ -108,3 +135,10 @@ await this._sendBufferedMessages();

if (ws.readyState === WebSocket.OPEN || ws.readyState === WebSocket.CONNECTING) {
promise = new Promise(resolve => ws.once("close", () => resolve()));
promise = new Promise(resolve => {
if (ws.addEventListener) {
ws.addEventListener("close", () => resolve(), { once: true });
}
else {
ws.once("close", () => resolve());
}
});
ws.close();

@@ -111,0 +145,0 @@ }

{
"name": "jsonrpc2-ws",
"version": "1.0.0-beta20",
"version": "1.0.0-beta21",
"description": "Simple, Fast, Robust Implementation of JSON-RPC 2.0 over WebSocket for Node.js w/ TypeScript",

@@ -5,0 +5,0 @@ "keywords": [

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc