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:
Timo K
2025-11-05 18:57:24 +01:00
parent 4d0de2fb71
commit c19e2245c8
10 changed files with 167 additions and 163 deletions

View File

@@ -24,7 +24,7 @@ import { getParticipantId } from "matrix-js-sdk/lib/matrixrtc/utils";
import {
type MatrixLivekitMember,
MatrixLivekitMerger,
matrixLivekitMerger$,
} from "./matrixLivekitMerger";
import { ObservableScope } from "../ObservableScope";
import {
@@ -44,7 +44,7 @@ const userId = "@local:example.com";
const deviceId = "DEVICE000";
// The merger beeing tested
let matrixLivekitMerger: MatrixLivekitMerger;
let matrixLivekitMerger: matrixLivekitMerger$;
beforeEach(() => {
testScope = new ObservableScope();
@@ -62,7 +62,7 @@ beforeEach(() => {
removeEventListener: vi.fn(),
} as unknown as MatrixRoom);
matrixLivekitMerger = new MatrixLivekitMerger(
matrixLivekitMerger = new matrixLivekitMerger$(
testScope,
fakeMemberships$,
mockConnectionManager,