@akala/json-rpc-ws
Version:
json-rpc websocket transport
31 lines • 824 B
JavaScript
import * as ws from 'ws';
import WsSocketAdapter from './ws-socket-adapter.js';
import { JsonRpcSocketAdapter } from '../shared-connection.js';
export class Adapter {
options;
server;
closed;
close() {
this.server?.close();
return this.closed;
}
onConnection(handler) {
this.server?.on('connection', function (socket) {
handler(new JsonRpcSocketAdapter(new WsSocketAdapter(socket)));
});
}
once(event, callback) {
this.server?.on(event, callback);
}
start() {
this.server = new ws.WebSocketServer(this.options);
this.closed = new Promise(resolve => this.server.once('close', resolve));
}
/**
*
*/
constructor(options) {
this.options = options;
}
}
//# sourceMappingURL=server.js.map