mirror of
https://github.com/xtr-dev/rondevu-client.git
synced 2025-12-10 02:43:25 +00:00
Add high-level Rondevu client with three connection methods
- Add Rondevu class with join(), connect(), and create() methods
- Add RondevuConnection wrapper for WebRTC connections
- Add event emitter for connection events
- Update to ES modules (ESNext) for Vite compatibility
- Simplify README to be more concise
- Update package.json to specify type: module
Three ways to connect:
- join(topic) for auto-discovery
- join(topic, {filter}) for peer ID filtering
- create(id)/connect(id) for direct connections
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
64
src/index.ts
64
src/index.ts
@@ -1,31 +1,41 @@
|
||||
/**
|
||||
* TypeScript client for Rondevu peer signaling server
|
||||
*
|
||||
* @example
|
||||
* ```typescript
|
||||
* import { RondevuClient } from '@xtr-dev/rondevu-client';
|
||||
*
|
||||
* const client = new RondevuClient({
|
||||
* baseUrl: 'https://rondevu.example.com'
|
||||
* });
|
||||
*
|
||||
* // Create an offer
|
||||
* const { code } = await client.createOffer('my-room', {
|
||||
* info: 'peer-123',
|
||||
* offer: signalingData
|
||||
* });
|
||||
*
|
||||
* // Discover peers
|
||||
* const { sessions } = await client.listSessions('my-room');
|
||||
*
|
||||
* // Send answer
|
||||
* await client.sendAnswer({
|
||||
* code: sessions[0].code,
|
||||
* answer: answerData,
|
||||
* side: 'answerer'
|
||||
* });
|
||||
* ```
|
||||
* @xtr-dev/rondevu-client
|
||||
* WebRTC peer signaling and discovery client
|
||||
*/
|
||||
|
||||
// Export main WebRTC client class
|
||||
export { Rondevu } from './rondevu';
|
||||
|
||||
// Export connection class
|
||||
export { RondevuConnection } from './connection';
|
||||
|
||||
// Export low-level signaling client (for advanced usage)
|
||||
export { RondevuClient } from './client';
|
||||
export * from './types';
|
||||
|
||||
// Export all types
|
||||
export type {
|
||||
// WebRTC types
|
||||
RondevuOptions,
|
||||
JoinOptions,
|
||||
ConnectionRole,
|
||||
RondevuConnectionParams,
|
||||
RondevuConnectionEvents,
|
||||
// Signaling types
|
||||
Side,
|
||||
Session,
|
||||
TopicInfo,
|
||||
Pagination,
|
||||
ListTopicsResponse,
|
||||
ListSessionsResponse,
|
||||
CreateOfferRequest,
|
||||
CreateOfferResponse,
|
||||
AnswerRequest,
|
||||
AnswerResponse,
|
||||
PollRequest,
|
||||
PollOffererResponse,
|
||||
PollAnswererResponse,
|
||||
PollResponse,
|
||||
HealthResponse,
|
||||
ErrorResponse,
|
||||
RondevuClientOptions,
|
||||
} from './types';
|
||||
|
||||
Reference in New Issue
Block a user