UNPKG

@signalwire/js

Version:
49 lines (46 loc) 1.06 kB
import { ClientEvents, configureStore, connect, getEventEmitter, UserOptions, } from '@signalwire/core' import { ClientAPI, Client } from './Client' import { JWTSession } from './JWTSession' /** * With Video.createClient() you can establish a WebSocket connection * with SignalWire and interact with the client. * * ## Examples * Create a client * * @example * ```js * try { * const client = Video.createClient({ * token: '<YourJWT>', * }) * * await client.connect() * // Your client is ready now.. * } catch (error) { * console.error('Error', error) * } * ``` * @internal */ export const createClient = <RoomSessionType>(userOptions: UserOptions) => { const baseUserOptions = { ...userOptions, emitter: getEventEmitter<ClientEvents>(), } const store = configureStore({ userOptions: baseUserOptions, SessionConstructor: JWTSession, }) const client = connect<ClientEvents, ClientAPI, Client<RoomSessionType>>({ store, Component: ClientAPI, })(baseUserOptions) return client }