vscode-jsonrpc
Advanced tools
Comparing version 0.10.0-pre.4 to 0.10.0-pre.5
@@ -7,1 +7,2 @@ export declare function defined(value: any): boolean; | ||
export declare function number(value: any): value is number; | ||
export declare function error(value: any): value is Error; |
@@ -30,2 +30,5 @@ /*--------------------------------------------------------- | ||
exports.number = number; | ||
//# sourceMappingURL=is.js.map | ||
function error(value) { | ||
return toString.call(value) === '[object Error]'; | ||
} | ||
exports.error = error; |
@@ -1,5 +0,5 @@ | ||
import { RequestType, Response, ErrorCodes, NotificationType } from './messages'; | ||
export { Response, ErrorCodes, RequestType, NotificationType }; | ||
export interface IRequestHandler<P, R extends Response> { | ||
(params?: P): R | Thenable<R>; | ||
import { RequestType, Response, ErrorCodes, ErrorInfo, NotificationType } from './messages'; | ||
export { Response, ErrorCodes, ErrorInfo, RequestType, NotificationType }; | ||
export interface IRequestHandler<P, R, E> { | ||
(params?: P): Response<R, E> | Thenable<Response<R, E>>; | ||
} | ||
@@ -17,3 +17,3 @@ export interface INotificationHandler<P> { | ||
sendNotification<P>(type: NotificationType<P>, params?: P): void; | ||
onRequest<P, R extends Response>(type: RequestType<P, R>, handler: IRequestHandler<P, R>): void; | ||
onRequest<P, R, E>(type: RequestType<P, R, E>, handler: IRequestHandler<P, R, E>): void; | ||
onNotification<P>(type: NotificationType<P>, handler: INotificationHandler<P>): void; | ||
@@ -25,5 +25,5 @@ dispose(): void; | ||
export interface ClientMessageConnection extends MessageConnection { | ||
sendRequest<P, R extends Response>(type: RequestType<P, R>, params?: P): Thenable<R>; | ||
sendRequest<P, R, E>(type: RequestType<P, R, E>, params?: P): Thenable<R>; | ||
} | ||
export declare function createServerMessageConnection(inputStream: NodeJS.ReadableStream, outputStream: NodeJS.WritableStream, logger: ILogger): ServerMessageConnection; | ||
export declare function createClientMessageConnection(inputStream: NodeJS.ReadableStream, outputStream: NodeJS.WritableStream, logger: ILogger): ClientMessageConnection; |
@@ -46,3 +46,3 @@ /*--------------------------------------------------------- | ||
}; | ||
responseHandlers[String(id)] = { resolve: resolve, reject: reject }; | ||
responseHandlers[String(id)] = { method: type.method, resolve: resolve, reject: reject }; | ||
protocolWriter.write(requestMessage); | ||
@@ -118,4 +118,22 @@ }); | ||
if (responseHandler) { | ||
responseHandler.resolve(responseMessage); | ||
delete responseHandlers[String(responseMessage.id)]; | ||
try { | ||
if (responseMessage.error) { | ||
responseHandler.reject(responseMessage.error); | ||
} | ||
else if (responseMessage.result) { | ||
responseHandler.resolve(responseMessage.result); | ||
} | ||
else { | ||
responseHandler.resolve(undefined); | ||
} | ||
delete responseHandlers[key]; | ||
} | ||
catch (error) { | ||
if (error.message) { | ||
logger.error("Response handler '" + responseHandler.method + "' failed with message: " + error.message); | ||
} | ||
else { | ||
logger.error("Response handler '" + responseHandler.method + "' failed unexpectedly."); | ||
} | ||
} | ||
} | ||
@@ -171,2 +189,1 @@ } | ||
exports.createClientMessageConnection = createClientMessageConnection; | ||
//# sourceMappingURL=messageConnection.js.map |
@@ -129,2 +129,1 @@ /*--------------------------------------------------------- | ||
exports.MessageReader = MessageReader; | ||
//# sourceMappingURL=messageReader.js.map |
@@ -25,14 +25,5 @@ /** | ||
/** | ||
* A Json RPC request message | ||
*/ | ||
export interface Request { | ||
/** | ||
* The method's params | ||
*/ | ||
params?: any; | ||
} | ||
/** | ||
* Request message | ||
*/ | ||
export interface RequestMessage extends Message, Request { | ||
export interface RequestMessage extends Message { | ||
/** | ||
@@ -46,10 +37,8 @@ * The request id; | ||
method: string; | ||
/** | ||
* The method's params | ||
*/ | ||
params?: any; | ||
} | ||
/** | ||
* A interface to type the request parameter / response pair | ||
*/ | ||
export interface RequestType<P, R extends Response> { | ||
method: string; | ||
} | ||
/** | ||
* Predefined error codes. | ||
@@ -70,3 +59,3 @@ */ | ||
*/ | ||
export interface ErrorInfo { | ||
export interface ErrorInfo<D> { | ||
/** | ||
@@ -84,5 +73,5 @@ * A number indicating the error type that occured | ||
*/ | ||
data?: any; | ||
data?: D; | ||
} | ||
export interface Response { | ||
export interface Response<R, E> { | ||
/** | ||
@@ -92,7 +81,7 @@ * The result of a request. This can be omitted in | ||
*/ | ||
result?: any; | ||
result?: R; | ||
/** | ||
* The error object in case a request fails. | ||
*/ | ||
error?: ErrorInfo; | ||
error?: ErrorInfo<E>; | ||
} | ||
@@ -102,3 +91,3 @@ /** | ||
*/ | ||
export interface ResponseMessage extends Message, Response { | ||
export interface ResponseMessage extends Message { | ||
/** | ||
@@ -108,13 +97,22 @@ * The request id; | ||
id: number | string; | ||
} | ||
export interface Notification { | ||
/** | ||
* The notification's params | ||
* The result of a request. This can be omitted in | ||
* the case of an error | ||
*/ | ||
params?: any; | ||
result?: any; | ||
/** | ||
* The error object in case a request fails. | ||
*/ | ||
error?: ErrorInfo<any>; | ||
} | ||
/** | ||
* A interface to type the request parameter / response pair | ||
*/ | ||
export interface RequestType<P, R, E> { | ||
method: string; | ||
} | ||
/** | ||
* Notification Message | ||
*/ | ||
export interface NotificationMessage extends Message, Notification { | ||
export interface NotificationMessage extends Message { | ||
/** | ||
@@ -124,2 +122,6 @@ * The method to be invoked | ||
method: string; | ||
/** | ||
* The notification's params | ||
*/ | ||
params?: any; | ||
} | ||
@@ -141,4 +143,4 @@ export interface NotificationType<P> { | ||
export declare function isReponseMessage(message: Message): message is ResponseMessage; | ||
export declare function isResponse(value: any): value is Response; | ||
export declare function isFailedResponse(value: any): value is Response; | ||
export declare function isSuccessfulResponse(value: any): value is Response; | ||
export declare function isResponse(value: any): boolean; | ||
export declare function isFailedResponse(value: any): boolean; | ||
export declare function isSuccessfulResponse(value: any): boolean; |
@@ -76,2 +76,1 @@ /*--------------------------------------------------------- | ||
exports.isSuccessfulResponse = isSuccessfulResponse; | ||
//# sourceMappingURL=messages.js.map |
@@ -28,2 +28,1 @@ /*--------------------------------------------------------- | ||
exports.MessageWriter = MessageWriter; | ||
//# sourceMappingURL=messageWriter.js.map |
{ | ||
"name": "vscode-jsonrpc", | ||
"description": "A json rpc implementation over streams", | ||
"version": "0.10.0-pre.4", | ||
"version": "0.10.0-pre.5", | ||
"author": "Microsoft Corporation", | ||
@@ -6,0 +6,0 @@ "license": "MIT", |
@@ -1,4 +0,3 @@ | ||
# VSCode Language Worker for Node | ||
# VSCode JSON RPC | ||
This npm module provides the implementation of the VSCode language worker protocol for node.js. This allows writing | ||
language service extensions in node which are executed in a different process. | ||
This npm module provides the implementation of the VSCode json rpc protocol for node.js. |
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
23663
639
3