@0xbeejs/requester
v0.0.2
Published
Promise based websocket client
Readme
To communicate with a WebSocket service like an RPC call, avoiding the need to manually match requests and responses in callbacks
Install
$ npm install @0xbeejs/requester
$ yarn add @0xbeejs/requesterUsage
import Requester from "@0xbeejs/requester"
const requeter = new Requester("ws://<YOUR_ENDPOINT>")
interface ReconnectState {
reconnectAttempts: number;
requestQueue: number;
responseQueue: number;
}
const pid = process.pid;
const requester = new Requester(`<endpoint>`, {
reconnect: {
auto: true,
delay: 1000,
onTimeout: true,
},
},
);
requester.currentProvider.on('connect', () => {
console.log('Connection Established');
});
requester.currentProvider.on('close', () => {
console.log('Connection Closed');
});
requester.currentProvider.on('reconnect', (data: ReconnectState) => {
console.log(`Connection reconnect`);
});
async function start() {
// Asynchronously send message through Websocket and asynchronously retrieve the result
// The library internally establishes the correspondence between requests and responses
const data = await requester.send({req: "tx.detail", arg: {txId: "<TX_ID>"}})
return data
}
start()