Make more code conform to strict null checks (#10219
* Make more code conform to strict null checks * Fix types * Fix tests * Fix remaining test assertions * Iterate PR
This commit is contained in:
@@ -20,12 +20,13 @@ import { Room } from "matrix-js-sdk/src/matrix";
|
||||
import { MatrixClientPeg } from "../../MatrixClientPeg";
|
||||
import { SettingLevel } from "../../settings/SettingLevel";
|
||||
import SettingsStore from "../../settings/SettingsStore";
|
||||
import { filterBoolean } from "../../utils/arrays";
|
||||
|
||||
export const useRecentSearches = (): [Room[], () => void] => {
|
||||
const [rooms, setRooms] = useState(() => {
|
||||
const cli = MatrixClientPeg.get();
|
||||
const recents = SettingsStore.getValue<string[]>("SpotlightSearch.recentSearches", null);
|
||||
return recents.map((r) => cli.getRoom(r)).filter(Boolean) as Room[];
|
||||
return filterBoolean(recents.map((r) => cli.getRoom(r)));
|
||||
});
|
||||
|
||||
return [
|
||||
|
||||
@@ -67,7 +67,7 @@ type Mapper<T> = (...args: any[]) => T;
|
||||
* {@link useEventEmitterState}
|
||||
*/
|
||||
export function useTypedEventEmitterState<T, Events extends string, Arguments extends ListenerMap<Events>>(
|
||||
emitter: TypedEventEmitter<Events, Arguments>,
|
||||
emitter: TypedEventEmitter<Events, Arguments> | undefined,
|
||||
eventName: Events,
|
||||
fn: Mapper<T>,
|
||||
): T {
|
||||
|
||||
@@ -107,7 +107,7 @@ export const usePublicRoomDirectory = (): {
|
||||
"org.matrix.msc3827.stable",
|
||||
))
|
||||
? Array.from<RoomType | null>(roomTypes)
|
||||
: null,
|
||||
: undefined,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -84,7 +84,7 @@ function useUserOnboardingContextValue<T>(defaultValue: T, callback: (cli: Matri
|
||||
|
||||
export function useUserOnboardingContext(): UserOnboardingContext {
|
||||
const hasAvatar = useUserOnboardingContextValue(false, async (cli) => {
|
||||
const profile = await cli.getProfileInfo(cli.getUserId());
|
||||
const profile = await cli.getProfileInfo(cli.getUserId()!);
|
||||
return Boolean(profile?.avatar_url);
|
||||
});
|
||||
const hasDevices = useUserOnboardingContextValue(false, async (cli) => {
|
||||
|
||||
Reference in New Issue
Block a user