mirror of
https://github.com/vector-im/element-call.git
synced 2026-02-26 05:17:04 +00:00
use createSomething$ mathods instead of classes
Rename several classes/behaviors to factory-style creators and adapt call wiring and tests accordingly: - Replace ConnectionManager class with createConnectionManager$ which returns transports$, connectionManagerData$, connections$ - Convert MatrixLivekitMerger to createMatrixLivekitMembers$ (matrixLivekitMerger$) - Rename sessionBehaviors$, localMembership$, localTransport$ to createSessionMembershipsAndTransports$, createLocalMembership$, createLocalTransport$ - Adjust participant types and hook up connectOptions$; expose join via localMembership.requestConnect - Update tests to use the new factory APIs
This commit is contained in:
@@ -22,24 +22,16 @@ interface Props {
|
||||
matrixRTCSession: MatrixRTCSession;
|
||||
}
|
||||
|
||||
/**
|
||||
* Wraps behaviors that we extract from an matrixRTCSession.
|
||||
*/
|
||||
interface RxRtcSession {
|
||||
/**
|
||||
* some prop
|
||||
*/
|
||||
export const createSessionMembershipsAndTransports$ = ({
|
||||
scope,
|
||||
matrixRTCSession,
|
||||
}: Props): {
|
||||
memberships$: Behavior<CallMembership[]>;
|
||||
membershipsWithTransport$: Behavior<
|
||||
{ membership: CallMembership; transport?: LivekitTransport }[]
|
||||
>;
|
||||
transports$: Behavior<LivekitTransport[]>;
|
||||
}
|
||||
|
||||
export const sessionBehaviors$ = ({
|
||||
scope,
|
||||
matrixRTCSession,
|
||||
}: Props): RxRtcSession => {
|
||||
} => {
|
||||
const memberships$ = scope.behavior(
|
||||
fromEvent(
|
||||
matrixRTCSession,
|
||||
|
||||
Reference in New Issue
Block a user