diff --git a/README.md b/README.md index 33bbee7..780d19c 100644 --- a/README.md +++ b/README.md @@ -5,10 +5,10 @@ [![npm](https://img.shields.io/npm/v/rocket.chat.realtime.api.rxjs.svg)](https://www.npmjs.com/package/rocket.chat.realtime.api.rxjs) [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release) - Abstraction for Utilizing [Rocket.Chat](https://rocket.chat/)'s [Realtime API](https://rocket.chat/docs/developer-guides/realtime-api) Methods with [RxJS](http://reactivex.io/rxjs/) ## Installation + ``` npm install --save rocket.chat.realtime.api.rxjs ``` @@ -22,7 +22,7 @@ import { RealTimeAPI } from "rocket.chat.realtime.api.rxjs"; const realTimeAPI = new RealTimeAPI("wss://demo.rocket.chat/websocket"); // Provide, URL to the Rocket.Chat's Realtime API. -realTimeAPI.keepAlive(); +realTimeAPI.keepAlive().subscribe(); // Responds "pong" to the "ping" message sent by the Realtime API. To keep the connection alive. const auth = realTimeApi.login(USERNAME, PASSWORD); @@ -43,22 +43,21 @@ const auth = realTimeApi.login(USERNAME, PASSWORD); ## Methods -| Methods | Functionality | -|------------------------------------------------------------ |----------------------------------------------------------------------------------------------- | -| connectToServer() | Initiates Connections to the Server to the RealTime API. Returns Observable with the server's response | -| keepAlive() | Responds "pong" to the "ping" message sent by the Realtime API. To keep the connection alive. | -| login(username, password) | Returns Observable to the Result/Response from the RealTime API. | -| loginWithAuthToken(authToken) | Returns Observable to the Result/Response from the RealTime API. | -| loginWithOAuth(credToken, credSecret) | Returns Observable to the Result/Response from the RealTime API. | -| callMethod(methodName, ...params) | Returns Observable to the Result of Method Call from Rocket.Chat Realtime API | -| sendMessage(jsonObject) | Sends the JSON Object to the API Server | -| onMessage( message => console.log(message) ) | Subscribes to the Messages sent from the server | -| onError( error => console.error(error) ) | Subscribes to the Errors. | -| onCompletion(() => console.info("Complete")) | Subscribes to Completion on the Websocket Connection | -| subscribe(messageHandler, errorHandler, completionHandler) | Subscribes to All three i.e - messages, errors and completion | -| getObservable() | Returns observable of the WebSocket Connection to the RealTime API | -| disconnect() | Disconnect the WebSocket Connection between client and RealTime API | -| | | - +| Methods | Functionality | +| ---------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| connectToServer() | Initiates Connections to the Server to the RealTime API. Returns Observable with the server's response | +| keepAlive() | Returns Observable to subscribe which Responds "pong" to the "ping" message sent by the Realtime API. To keep the connection alive. | +| login(username, password) | Returns Observable to the Result/Response from the RealTime API. | +| loginWithAuthToken(authToken) | Returns Observable to the Result/Response from the RealTime API. | +| loginWithOAuth(credToken, credSecret) | Returns Observable to the Result/Response from the RealTime API. | +| callMethod(methodName, ...params) | Returns Observable to the Result of Method Call from Rocket.Chat Realtime API | +| sendMessage(jsonObject) | Sends the JSON Object to the API Server | +| onMessage( message => console.log(message) ) | Subscribes to the Messages sent from the server | +| onError( error => console.error(error) ) | Subscribes to the Errors. | +| onCompletion(() => console.info("Complete")) | Subscribes to Completion on the Websocket Connection | +| subscribe(messageHandler, errorHandler, completionHandler) | Subscribes to All three i.e - messages, errors and completion | +| getObservable() | Returns observable of the WebSocket Connection to the RealTime API | +| disconnect() | Disconnect the WebSocket Connection between client and RealTime API | +| | | ### Checkout the Rocket.Chat's [RealTime API documentation](https://rocket.chat/docs/developer-guides/realtime-api) for further information on working of the RealTime API. diff --git a/lib/RealTimeAPI.d.ts b/lib/RealTimeAPI.d.ts index f14e113..345a92d 100644 --- a/lib/RealTimeAPI.d.ts +++ b/lib/RealTimeAPI.d.ts @@ -46,9 +46,9 @@ export declare class RealTimeAPI { */ connectToServer(): import("rxjs/internal/Observable").Observable; /** - * keepAlive, Ping and Pong to the Rocket.Chat Server to Keep the Connection Alive. + * Returns an Observable to subscribe to keepAlive, Ping and Pong to the Rocket.Chat Server to Keep the Connection Alive. */ - keepAlive(): void; + keepAlive(): import("rxjs/internal/Observable").Observable; /** * Login with Username and Password */ diff --git a/lib/RealTimeAPI.js b/lib/RealTimeAPI.js index 121ea3f..63ddb93 100644 --- a/lib/RealTimeAPI.js +++ b/lib/RealTimeAPI.js @@ -86,13 +86,11 @@ var RealTimeAPI = /** @class */ (function () { return this.getObservableFilteredByMessageType("connected"); }; /** - * keepAlive, Ping and Pong to the Rocket.Chat Server to Keep the Connection Alive. + * Returns an Observable to subscribe to keepAlive, Ping and Pong to the Rocket.Chat Server to Keep the Connection Alive. */ RealTimeAPI.prototype.keepAlive = function () { var _this = this; - this.getObservableFilteredByMessageType("ping").subscribe(function (message) { - return _this.sendMessage({ msg: "pong" }); - }); + return this.getObservableFilteredByMessageType("ping").pipe(operators_1.tap(function () { return _this.sendMessage({ msg: "pong" }); })); }; /** * Login with Username and Password diff --git a/lib/RealTimeAPI.js.map b/lib/RealTimeAPI.js.map index ae4a0a1..a244d09 100644 --- a/lib/RealTimeAPI.js.map +++ b/lib/RealTimeAPI.js.map @@ -1 +1 @@ -{"version":3,"file":"RealTimeAPI.js","sourceRoot":"","sources":["../src/RealTimeAPI.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"RealTimeAPI.js","sourceRoot":"","sources":["../src/RealTimeAPI.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/RealTimeAPI.ts b/src/RealTimeAPI.ts index fd7ee27..1e525f9 100644 --- a/src/RealTimeAPI.ts +++ b/src/RealTimeAPI.ts @@ -113,11 +113,11 @@ export class RealTimeAPI { } /** - * keepAlive, Ping and Pong to the Rocket.Chat Server to Keep the Connection Alive. + * Returns an Observable to subscribe to keepAlive, Ping and Pong to the Rocket.Chat Server to Keep the Connection Alive. */ - public keepAlive(): void { - this.getObservableFilteredByMessageType("ping").subscribe(message => - this.sendMessage({ msg: "pong" }) + public keepAlive() { + return this.getObservableFilteredByMessageType("ping").pipe( + tap(() => this.sendMessage({ msg: "pong" })) ); }