Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

vscode-jsonrpc

Package Overview
Dependencies
Maintainers
9
Versions
130
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vscode-jsonrpc - npm Package Compare versions

Comparing version 2.0.0 to 2.1.0

20

lib/main.d.ts

@@ -14,7 +14,18 @@ import { RequestType, ResponseError, ErrorCodes, NotificationType } from './messages';

export interface Logger {
error(message: string): any;
warn(message: string): any;
info(message: string): any;
log(message: string): any;
error(message: string): void;
warn(message: string): void;
info(message: string): void;
log(message: string): void;
}
export declare enum Trace {
Off = 0,
Messages = 1,
Verbose = 2,
}
export declare namespace Trace {
function fromString(value: string): Trace;
}
export interface Tracer {
log(message: string): void;
}
export interface MessageConnection {

@@ -25,2 +36,3 @@ sendRequest<P, R, E>(type: RequestType<P, R, E>, params: P, token?: CancellationToken): Thenable<R>;

onNotification<P>(type: NotificationType<P>, handler: NotificationHandler<P>): void;
trace(value: Trace, tracer: Tracer): void;
listen(): any;

@@ -27,0 +39,0 @@ dispose(): void;

96

lib/main.js

@@ -26,2 +26,25 @@ /* --------------------------------------------------------------------------------------------

})(CancelNotification || (CancelNotification = {}));
(function (Trace) {
Trace[Trace["Off"] = 0] = "Off";
Trace[Trace["Messages"] = 1] = "Messages";
Trace[Trace["Verbose"] = 2] = "Verbose";
})(exports.Trace || (exports.Trace = {}));
var Trace = exports.Trace;
var Trace;
(function (Trace) {
function fromString(value) {
value = value.toLowerCase();
switch (value) {
case 'off':
return Trace.Off;
case 'messages':
return Trace.Messages;
case 'verbose':
return Trace.Verbose;
default:
return Trace.Off;
}
}
Trace.fromString = fromString;
})(Trace = exports.Trace || (exports.Trace = {}));
function createMessageConnection(messageReader, messageWriter, logger, client) {

@@ -35,2 +58,4 @@ if (client === void 0) { client = false; }

var requestTokens = Object.create(null);
var trace = Trace.Off;
var tracer;
function handleRequest(requestMessage) {

@@ -124,10 +149,13 @@ function reply(resultOrError) {

var key = String(responseMessage.id);
var responseHandler = responsePromises[key];
if (responseHandler) {
var responsePromise = responsePromises[key];
if (trace != Trace.Off && tracer) {
traceResponse(responseMessage, responsePromise);
}
if (responsePromise) {
try {
if (is.defined(responseMessage.error)) {
responseHandler.reject(responseMessage.error);
responsePromise.reject(responseMessage.error);
}
else if (is.defined(responseMessage.result)) {
responseHandler.resolve(responseMessage.result);
responsePromise.resolve(responseMessage.result);
}

@@ -141,6 +169,6 @@ else {

if (error.message) {
logger.error("Response handler '" + responseHandler.method + "' failed with message: " + error.message);
logger.error("Response handler '" + responsePromise.method + "' failed with message: " + error.message);
}
else {
logger.error("Response handler '" + responseHandler.method + "' failed unexpectedly.");
logger.error("Response handler '" + responsePromise.method + "' failed unexpectedly.");
}

@@ -194,2 +222,41 @@ }

}
function traceRequest(message) {
tracer.log("[" + (new Date().toLocaleTimeString()) + "] Sending request '" + message.method + " - (" + message.id + ")'.");
if (trace === Trace.Verbose && message.params) {
tracer.log("Params: " + JSON.stringify(message.params, null, 4) + "\n\n");
}
}
function traceNotification(message) {
tracer.log("[" + (new Date().toLocaleTimeString()) + "] Sending notification '" + message.method + "'.");
if (trace === Trace.Verbose) {
if (message.params) {
tracer.log("Params: " + JSON.stringify(message.params, null, 4) + "\n\n");
}
else {
tracer.log('No parameters provided.\n\n');
}
}
}
function traceResponse(message, responsePromise) {
if (responsePromise) {
var error = message.error ? " Request failed: " + message.error.message + " (" + message.error.code + ")." : '';
tracer.log("[" + (new Date().toLocaleTimeString()) + "] Recevied response '" + responsePromise.method + " - (" + message.id + ")' in " + (Date.now() - responsePromise.timerStart) + "ms." + error);
}
else {
tracer.log("[" + (new Date().toLocaleTimeString()) + "] Recevied response " + message.id + " without active response promise.");
}
if (trace === Trace.Verbose) {
if (message.error && message.error.data) {
tracer.log("Error data: " + JSON.stringify(message.error.data, null, 4) + "\n\n");
}
else {
if (message.result) {
tracer.log("Result: " + JSON.stringify(message.result, null, 4) + "\n\n");
}
else {
tracer.log('No result returned.\n\n');
}
}
}
}
var callback = function (message) {

@@ -216,2 +283,5 @@ if (messages_1.isRequestMessage(message)) {

};
if (trace != Trace.Off && tracer) {
traceNotification(notificatioMessage);
}
messageWriter.write(notificatioMessage);

@@ -231,3 +301,6 @@ },

};
responsePromises[String(id)] = { method: type.method, resolve: resolve, reject: reject };
responsePromises[String(id)] = { method: type.method, timerStart: Date.now(), resolve: resolve, reject: reject };
if (trace != Trace.Off && tracer) {
traceRequest(requestMessage);
}
messageWriter.write(requestMessage);

@@ -245,2 +318,11 @@ });

},
trace: function (_value, _tracer) {
trace = _value;
if (trace === Trace.Off) {
tracer = null;
}
else {
tracer = _tracer;
}
},
dispose: function () {

@@ -247,0 +329,0 @@ },

{
"name": "vscode-jsonrpc",
"description": "A json rpc implementation over streams",
"version": "2.0.0",
"version": "2.1.0",
"author": "Microsoft Corporation",

@@ -6,0 +6,0 @@ "license": "MIT",

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