vscode-jsonrpc
Advanced tools
Comparing version 3.2.0-alpha.1 to 3.2.0
/// <reference path="thenable.d.ts" /> | ||
/// <reference types="node" /> | ||
import { Message, MessageType, RequestMessage, RequestType, RequestType0, RequestType1, RequestType2, RequestType3, RequestType4, RequestType5, RequestType6, RequestType7, RequestType8, RequestType9, ResponseError, ErrorCodes, NotificationMessage, NotificationType, NotificationType0, NotificationType1, NotificationType2, NotificationType3, NotificationType4, NotificationType5, NotificationType6, NotificationType7, NotificationType8, NotificationType9 } from './messages'; | ||
import { MessageReader, DataCallback, StreamMessageReader, IPCMessageReader } from './messageReader'; | ||
import { MessageWriter, StreamMessageWriter, IPCMessageWriter } from './messageWriter'; | ||
import { MessageReader, DataCallback, StreamMessageReader, IPCMessageReader, SocketMessageReader } from './messageReader'; | ||
import { MessageWriter, StreamMessageWriter, IPCMessageWriter, SocketMessageWriter } from './messageWriter'; | ||
import { Disposable, Event, Emitter } from './events'; | ||
import { CancellationTokenSource, CancellationToken } from './cancellation'; | ||
export { Message, MessageType, ErrorCodes, ResponseError, RequestMessage, RequestType, RequestType0, RequestType1, RequestType2, RequestType3, RequestType4, RequestType5, RequestType6, RequestType7, RequestType8, RequestType9, NotificationMessage, NotificationType, NotificationType0, NotificationType1, NotificationType2, NotificationType3, NotificationType4, NotificationType5, NotificationType6, NotificationType7, NotificationType8, NotificationType9, MessageReader, DataCallback, StreamMessageReader, IPCMessageReader, MessageWriter, StreamMessageWriter, IPCMessageWriter, CancellationTokenSource, CancellationToken, Disposable, Event, Emitter }; | ||
export { Message, MessageType, ErrorCodes, ResponseError, RequestMessage, RequestType, RequestType0, RequestType1, RequestType2, RequestType3, RequestType4, RequestType5, RequestType6, RequestType7, RequestType8, RequestType9, NotificationMessage, NotificationType, NotificationType0, NotificationType1, NotificationType2, NotificationType3, NotificationType4, NotificationType5, NotificationType6, NotificationType7, NotificationType8, NotificationType9, MessageReader, DataCallback, StreamMessageReader, IPCMessageReader, SocketMessageReader, MessageWriter, StreamMessageWriter, IPCMessageWriter, SocketMessageWriter, CancellationTokenSource, CancellationToken, Disposable, Event, Emitter }; | ||
export * from './pipeSupport'; | ||
@@ -10,0 +10,0 @@ export interface GenericRequestHandler<R, E> { |
@@ -44,5 +44,7 @@ /* -------------------------------------------------------------------------------------------- | ||
exports.IPCMessageReader = messageReader_1.IPCMessageReader; | ||
exports.SocketMessageReader = messageReader_1.SocketMessageReader; | ||
var messageWriter_1 = require("./messageWriter"); | ||
exports.StreamMessageWriter = messageWriter_1.StreamMessageWriter; | ||
exports.IPCMessageWriter = messageWriter_1.IPCMessageWriter; | ||
exports.SocketMessageWriter = messageWriter_1.SocketMessageWriter; | ||
var events_1 = require("./events"); | ||
@@ -287,25 +289,35 @@ exports.Disposable = events_1.Disposable; | ||
} | ||
var key = String(responseMessage.id); | ||
var responsePromise = responsePromises[key]; | ||
traceReceviedResponse(responseMessage, responsePromise); | ||
if (responsePromise) { | ||
delete responsePromises[key]; | ||
try { | ||
if (responseMessage.error) { | ||
var error = responseMessage.error; | ||
responsePromise.reject(new messages_1.ResponseError(error.code, error.message, error.data)); | ||
} | ||
else if (responseMessage.result !== void 0) { | ||
responsePromise.resolve(responseMessage.result); | ||
} | ||
else { | ||
throw new Error('Should never happen.'); | ||
} | ||
if (responseMessage.id === null) { | ||
if (responseMessage.error) { | ||
logger.error("Received response message without id: Error is: \n" + JSON.stringify(responseMessage.error, undefined, 4)); | ||
} | ||
catch (error) { | ||
if (error.message) { | ||
logger.error("Response handler '" + responsePromise.method + "' failed with message: " + error.message); | ||
else { | ||
logger.error("Received response message without id. No further error information provided."); | ||
} | ||
} | ||
else { | ||
var key = String(responseMessage.id); | ||
var responsePromise = responsePromises[key]; | ||
traceReceviedResponse(responseMessage, responsePromise); | ||
if (responsePromise) { | ||
delete responsePromises[key]; | ||
try { | ||
if (responseMessage.error) { | ||
var error = responseMessage.error; | ||
responsePromise.reject(new messages_1.ResponseError(error.code, error.message, error.data)); | ||
} | ||
else if (responseMessage.result !== void 0) { | ||
responsePromise.resolve(responseMessage.result); | ||
} | ||
else { | ||
throw new Error('Should never happen.'); | ||
} | ||
} | ||
else { | ||
logger.error("Response handler '" + responsePromise.method + "' failed unexpectedly."); | ||
catch (error) { | ||
if (error.message) { | ||
logger.error("Response handler '" + responsePromise.method + "' failed with message: " + error.message); | ||
} | ||
else { | ||
logger.error("Response handler '" + responsePromise.method + "' failed unexpectedly."); | ||
} | ||
} | ||
@@ -312,0 +324,0 @@ } |
@@ -37,2 +37,3 @@ /** | ||
const UnknownErrorCode: number; | ||
const RequestCancelled: number; | ||
const MessageWriteError: number; | ||
@@ -73,3 +74,3 @@ const MessageReadError: number; | ||
*/ | ||
id: number | string; | ||
id: number | string | null; | ||
/** | ||
@@ -76,0 +77,0 @@ * The result of a request. This can be omitted in |
@@ -27,3 +27,5 @@ /* -------------------------------------------------------------------------------------------- | ||
ErrorCodes.UnknownErrorCode = -32001; | ||
// Defined by VSCode. | ||
// Defined by the protocol. | ||
ErrorCodes.RequestCancelled = -32800; | ||
// Defined by VSCode library. | ||
ErrorCodes.MessageWriteError = 1; | ||
@@ -330,4 +332,4 @@ ErrorCodes.MessageReadError = 2; | ||
var candidate = message; | ||
return candidate && (candidate.result !== void 0 || !!candidate.error) && (is.string(candidate.id) || is.number(candidate.id)); | ||
return candidate && (candidate.result !== void 0 || !!candidate.error) && (is.string(candidate.id) || is.number(candidate.id) || candidate.id === null); | ||
} | ||
exports.isReponseMessage = isReponseMessage; |
{ | ||
"name": "vscode-jsonrpc", | ||
"description": "A json rpc implementation over streams", | ||
"version": "3.2.0-alpha.1", | ||
"version": "3.2.0", | ||
"author": "Microsoft Corporation", | ||
@@ -6,0 +6,0 @@ "license": "MIT", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
106572
2474
1