From 08e8a58fcb3003253c3b2fb609c71c19c2f8b708 Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Mon, 21 Feb 2022 21:08:34 -0300 Subject: [PATCH] Prefer assertion --- client/views/room/threads/ThreadComponent.tsx | 2 +- lib/rooms/coordinator.ts | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/client/views/room/threads/ThreadComponent.tsx b/client/views/room/threads/ThreadComponent.tsx index 81cd575bcce..d93ca9acbf0 100644 --- a/client/views/room/threads/ThreadComponent.tsx +++ b/client/views/room/threads/ThreadComponent.tsx @@ -63,7 +63,7 @@ const ThreadComponent: FC<{ onClickBack: (e: unknown) => void; }> = ({ mid, jump, room, onClickBack }) => { const subscription = useUserSubscription(room._id, subscriptionFields); - const channelRoute = useRoute(roomCoordinator.getRoomTypeConfig(room.t)?.route?.name as string); + const channelRoute = useRoute(roomCoordinator.getRoomTypeConfig(room.t).route.name); const threadMessage = useThreadMessage(mid); const openUserInfo = useTabBarOpenUserInfo(); diff --git a/lib/rooms/coordinator.ts b/lib/rooms/coordinator.ts index ac523921a35..5a9c5898477 100644 --- a/lib/rooms/coordinator.ts +++ b/lib/rooms/coordinator.ts @@ -108,8 +108,12 @@ export abstract class RoomCoordinator { return undefined; } - getRoomTypeConfig(identifier: string): IRoomTypeConfig | undefined { - return this.roomTypes[identifier]?.config; + getRoomTypeConfig(identifier: string): IRoomTypeConfig { + if (!this.roomTypes[identifier]) { + throw new Error(`Room type with identifier ${identifier} does not exist.`); + } + + return this.roomTypes[identifier].config; } getRouteLink(roomType: string, subData: RoomIdentification): string | false {