Skip to content

Commit

Permalink
Relaxed callback definition
Browse files Browse the repository at this point in the history
  • Loading branch information
Noj Vek committed Jul 22, 2017
1 parent 6b3d7ab commit 56e7510
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 24 deletions.
1 change: 1 addition & 0 deletions lib/json-rpc2.js
@@ -1 +1,2 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
3 changes: 0 additions & 3 deletions lib/noice-json-rpc.d.ts
Expand Up @@ -6,12 +6,9 @@ export interface LikeSocket {
send(message: string): void;
on(event: string, cb: Function): any;
removeListener(event: string, cb: Function): any;
on(event: 'open', cb: (ws: LikeSocket) => void): any;
on(event: 'message', cb: (data: string) => void): any;
}
export interface LikeSocketServer {
on(event: string, cb: Function): any;
on(event: 'connection', cb: (ws: LikeSocket) => void): any;
clients?: LikeSocket[];
}
export interface LogOpts {
Expand Down
9 changes: 5 additions & 4 deletions lib/noice-json-rpc.js
@@ -1,5 +1,6 @@
"use strict";
const events_1 = require('events');
Object.defineProperty(exports, "__esModule", { value: true });
const events_1 = require("events");
/**
* Creates a RPC Client.
* It is intentional that Client does not create a WebSocket object since we prefer composability
Expand All @@ -24,7 +25,7 @@ class Client extends events_1.EventEmitter {
this._connected = true;
this._sendQueuedRequests();
});
socket.on('message', message => this.processMessage(message));
socket.on('message', (message) => this.processMessage(message));
}
processMessage(messageStr) {
this._logMessage(messageStr, 'receive');
Expand Down Expand Up @@ -162,8 +163,8 @@ class Server extends events_1.EventEmitter {
throw new TypeError('server cannot be undefined or null');
}
this._socketServer = server;
server.on('connection', socket => {
socket.on('message', message => this.processMessage(message, socket));
server.on('connection', (socket) => {
socket.on('message', (message) => this.processMessage(message, socket));
});
}
processMessage(messageStr, socket) {
Expand Down
2 changes: 1 addition & 1 deletion package.json
@@ -1,6 +1,6 @@
{
"name": "noice-json-rpc",
"version": "1.0.0",
"version": "1.0.2",
"description": "Noice Json RPC exposes a clean ES6 Proxy and Promise based interface for JSON-RPC2 Clients and Servers",
"main": "lib/noice-json-rpc.js",
"typings": "lib/noice-json-rpc.d.ts",
Expand Down
28 changes: 12 additions & 16 deletions src/noice-json-rpc.ts
Expand Up @@ -4,16 +4,12 @@ export {JsonRpc2}

export interface LikeSocket {
send(message: string): void
on(event: string, cb: Function): any;
removeListener(event: string, cb: Function): any;

on(event: 'open', cb: (ws: LikeSocket) => void ): any
on(event: 'message', cb: (data: string) => void): any;
on(event: string, cb: Function): any
removeListener(event: string, cb: Function): any
}

export interface LikeSocketServer {
on(event: string, cb: Function): any;
on(event: 'connection', cb: (ws: LikeSocket) => void ): any
on(event: string, cb: Function): any
clients?: LikeSocket[]
}

Expand Down Expand Up @@ -59,7 +55,7 @@ export class Client extends EventEmitter implements JsonRpc2.Client {
this._connected = true
this._sendQueuedRequests()
})
socket.on('message', message => this.processMessage(message))
socket.on('message', (message: string) => this.processMessage(message))
}

public processMessage(messageStr: string) {
Expand Down Expand Up @@ -130,7 +126,7 @@ export class Client extends EventEmitter implements JsonRpc2.Client {
}

call(method: string, params?: any): Promise<any> {
const id = ++this._nextMessageId;
const id = ++this._nextMessageId
const message: JsonRpc2.Request = {id, method, params}

return new Promise((resolve, reject) => {
Expand Down Expand Up @@ -192,8 +188,8 @@ export class Client extends EventEmitter implements JsonRpc2.Client {
export class Server extends EventEmitter implements JsonRpc2.Server {
private _socketServer: LikeSocketServer
private _exposedMethodsMap: Map<string, (params: any) => JsonRpc2.PromiseOrNot<any>> = new Map()
private _emitLog: boolean = false;
private _consoleLog: boolean = false;
private _emitLog: boolean = false
private _consoleLog: boolean = false

constructor (server: LikeSocketServer, opts?: ServerOpts) {
super()
Expand All @@ -204,8 +200,8 @@ export class Server extends EventEmitter implements JsonRpc2.Server {
}

this._socketServer = server
server.on('connection', socket => {
socket.on('message', message => this.processMessage(message, socket))
server.on('connection', (socket: LikeSocket) => {
socket.on('message', (message: string) => this.processMessage(message, socket))
})
}

Expand Down Expand Up @@ -234,14 +230,14 @@ export class Server extends EventEmitter implements JsonRpc2.Server {
result.then((actualResult: any) => {
this._send(socket, {id: request.id, result: actualResult || {}})
}).catch((error: Error) => {
this._sendError(socket, request, JsonRpc2.ErrorCode.InternalError, error);
this._sendError(socket, request, JsonRpc2.ErrorCode.InternalError, error)
})
} else {
// Result is not a promise so send immediately
this._send(socket, {id: request.id, result: result || {}})
}
} catch (error) {
this._sendError(socket, request, JsonRpc2.ErrorCode.InternalError, error);
this._sendError(socket, request, JsonRpc2.ErrorCode.InternalError, error)
}
} else {
this._sendError(socket, request, JsonRpc2.ErrorCode.MethodNotFound)
Expand Down Expand Up @@ -368,4 +364,4 @@ export class Server extends EventEmitter implements JsonRpc2.Server {
}
})
}
}
}

0 comments on commit 56e7510

Please sign in to comment.