@leancodepl/rx-pipe-client
Version:
RxJS-based client for real-time data streaming using @leancodepl/pipe
23 lines (21 loc) • 689 B
JavaScript
/**
* Creates RxJS-based topic functions for real-time data subscriptions using "@leancodepl/pipe".
*
* @param pipe - Pipe instance from "@leancodepl/pipe"
* @returns Object containing `createTopic` method for creating typed observables
* @example
* ```typescript
* const pipe = createPipe({ url: 'wss://api.example.com/pipe' });
* const pipeClient = mkPipeClient({ pipe });
*
* const chatTopic = pipeClient.createTopic('chat');
* const messages$ = chatTopic({ roomId: 'room1' });
* ```
*/ function mkPipeClient({ pipe }) {
return {
createTopic (topicType) {
return (topic)=>pipe.topic(topicType, topic);
}
};
}
export { mkPipeClient };