https://github.com/ryinner/web-socket-manager
Simplе WebSocket wrapper.
https://github.com/ryinner/web-socket-manager
javascript typescript websocket websocket-client
Last synced: about 1 month ago
JSON representation
Simplе WebSocket wrapper.
- Host: GitHub
- URL: https://github.com/ryinner/web-socket-manager
- Owner: ryinner
- License: apache-2.0
- Created: 2023-05-31T07:22:41.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2023-06-13T07:45:09.000Z (about 3 years ago)
- Last Synced: 2025-01-12T19:27:20.822Z (over 1 year ago)
- Topics: javascript, typescript, websocket, websocket-client
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/@ryinner/web-socket-manager
- Size: 220 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# WebSocketManager
That a simple webSocket wrapper.
## Install
```bash
npm install @ryinner/web-socket-manager --save
```
## Usage
```typescript
//Only one ws
const ws = createWebSocket({ url: 'url' });
// add operation - interval server request
// if you add same operation, its handler will add to operation handlers.
ws.addOperation({
method: 'method',
request: () => {
const computed = 1;
return { myFieldToWebSocket: computed };
},
handlers: [
(answerFromServer) => {
// smth
}
]
});
// remove operation
ws.removeOperation('method');
//remove handler
ws.removeHandler('method', handler);
// start websocket
ws.open();
// close websocket
ws.close();
// also you can use it in multiply mode
const wsList = createWebSocket({ base: { url: 'url' }, interval: { url: 'url2', additionalQueryParams: { secret_key: 123 }, interval: 3000 } });
// get wsManager
wsList.getConnection('base');
const handler = (answerFromServer) => {
// smth
};
// push operation to base
wsList.addOperation('base', {
method: 'method',
request: () => {
const computed = 1;
return { myFieldToWebSocket: computed };
},
handlers: [
handler
]
});
// remove handler
wsList.removeHandler('test', 'method', handler);
// remove operation
wsList.removeOperation('test', 'method');
```
## Server answer
Manager expect this server answer format.
```json
{
"method": "methodName",
"data": {
"someDataField": 1
}
}
```