From 29c41a104ef4cc966298e43d29a4fc52cfe669dd Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Sat, 29 Oct 2022 15:18:36 +0200 Subject: [PATCH] [Refactoring] Remove unnecessary types for `filter` (#2091) --- src/api/gramjs/apiBuilders/chats.ts | 10 ++-- src/api/gramjs/apiBuilders/symbols.ts | 2 +- src/api/gramjs/gramjsBuilders/index.ts | 6 +-- src/api/gramjs/methods/bots.ts | 4 +- src/api/gramjs/methods/calls.ts | 8 +-- src/api/gramjs/methods/chats.ts | 4 +- src/api/gramjs/methods/messages.ts | 54 +++++++++---------- src/api/gramjs/methods/settings.ts | 9 ++-- src/api/gramjs/methods/symbols.ts | 4 +- src/api/gramjs/methods/users.ts | 6 +-- src/api/gramjs/updater.ts | 2 +- .../helpers/renderActionMessageText.tsx | 2 +- .../common/helpers/renderMessageText.ts | 2 +- .../common/helpers/renderTextWithEntities.tsx | 2 +- src/components/left/main/Chat.tsx | 2 +- .../left/search/ChatMessageResults.tsx | 2 +- src/components/left/search/ChatResults.tsx | 2 +- src/components/middle/ActionMessage.tsx | 2 +- src/global/actions/api/chats.ts | 6 +-- src/global/actions/api/messages.ts | 2 +- src/util/notifications.ts | 2 +- 21 files changed, 64 insertions(+), 69 deletions(-) diff --git a/src/api/gramjs/apiBuilders/chats.ts b/src/api/gramjs/apiBuilders/chats.ts index db6cd2599..697c7c89f 100644 --- a/src/api/gramjs/apiBuilders/chats.ts +++ b/src/api/gramjs/apiBuilders/chats.ts @@ -295,10 +295,10 @@ export function buildChatMembers( ) { // Duplicate code because of TS union-type shenanigans if (participants instanceof GramJs.ChatParticipants) { - return participants.participants.map(buildChatMember).filter(Boolean as any); + return participants.participants.map(buildChatMember).filter(Boolean); } if (participants instanceof GramJs.channels.ChannelParticipants) { - return participants.participants.map(buildChatMember).filter(Boolean as any); + return participants.participants.map(buildChatMember).filter(Boolean); } return undefined; @@ -362,9 +362,9 @@ export function buildApiChatFolder(filter: GramJs.DialogFilter): ApiChatFolder { 'excludeMuted', 'excludeRead', 'excludeArchived', ]), channels: filter.broadcasts, - pinnedChatIds: filter.pinnedPeers.map(getApiChatIdFromMtpPeer).filter(Boolean as any), - includedChatIds: filter.includePeers.map(getApiChatIdFromMtpPeer).filter(Boolean as any), - excludedChatIds: filter.excludePeers.map(getApiChatIdFromMtpPeer).filter(Boolean as any), + pinnedChatIds: filter.pinnedPeers.map(getApiChatIdFromMtpPeer).filter(Boolean), + includedChatIds: filter.includePeers.map(getApiChatIdFromMtpPeer).filter(Boolean), + excludedChatIds: filter.excludePeers.map(getApiChatIdFromMtpPeer).filter(Boolean), }; } diff --git a/src/api/gramjs/apiBuilders/symbols.ts b/src/api/gramjs/apiBuilders/symbols.ts index 3cd5b4c01..7ae8f4e49 100644 --- a/src/api/gramjs/apiBuilders/symbols.ts +++ b/src/api/gramjs/apiBuilders/symbols.ts @@ -178,7 +178,7 @@ export function processStickerPackResult(packs: GramJs.StickerPack[]) { return packs.reduce((acc, { emoticon, documents }) => { acc[emoticon] = documents.map((documentId) => buildStickerFromDocument( localDb.documents[String(documentId)], - )).filter(Boolean as any); + )).filter(Boolean); return acc; }, {} as Record); } diff --git a/src/api/gramjs/gramjsBuilders/index.ts b/src/api/gramjs/gramjsBuilders/index.ts index 3d23fa415..7d79421a1 100644 --- a/src/api/gramjs/gramjsBuilders/index.ts +++ b/src/api/gramjs/gramjsBuilders/index.ts @@ -237,15 +237,15 @@ export function buildFilterFromApiFolder(folder: ApiChatFolder): GramJs.DialogFi } = folder; const pinnedPeers = pinnedChatIds - ? pinnedChatIds.map(buildInputPeerFromLocalDb).filter(Boolean as any) + ? pinnedChatIds.map(buildInputPeerFromLocalDb).filter(Boolean) : []; const includePeers = includedChatIds - ? includedChatIds.map(buildInputPeerFromLocalDb).filter(Boolean as any) + ? includedChatIds.map(buildInputPeerFromLocalDb).filter(Boolean) : []; const excludePeers = excludedChatIds - ? excludedChatIds.map(buildInputPeerFromLocalDb).filter(Boolean as any) + ? excludedChatIds.map(buildInputPeerFromLocalDb).filter(Boolean) : []; return new GramJs.DialogFilter({ diff --git a/src/api/gramjs/methods/bots.ts b/src/api/gramjs/methods/bots.ts index a88156163..dbda371d7 100644 --- a/src/api/gramjs/methods/bots.ts +++ b/src/api/gramjs/methods/bots.ts @@ -48,7 +48,7 @@ export async function fetchTopInlineBots() { return undefined; } - const users = topPeers.users.map(buildApiUser).filter(Boolean as any); + const users = topPeers.users.map(buildApiUser).filter(Boolean); const ids = users.map(({ id }) => id); return { @@ -102,7 +102,7 @@ export async function fetchInlineBotResults({ help: bot.botPlaceholder, nextOffset: getInlineBotResultsNextOffset(bot.username, result.nextOffset), switchPm: buildBotSwitchPm(result.switchPm), - users: result.users.map(buildApiUser).filter(Boolean as any), + users: result.users.map(buildApiUser).filter(Boolean), results: processInlineBotResult(String(result.queryId), result.results), }; } diff --git a/src/api/gramjs/methods/calls.ts b/src/api/gramjs/methods/calls.ts index 685f39a97..53d22c65b 100644 --- a/src/api/gramjs/methods/calls.ts +++ b/src/api/gramjs/methods/calls.ts @@ -42,8 +42,8 @@ export async function getGroupCall({ addEntitiesWithPhotosToLocalDb(result.users); addEntitiesWithPhotosToLocalDb(result.chats); - const users = result.users.map(buildApiUser).filter(Boolean as any); - const chats = result.chats.map((c) => buildApiChatFromPreview(c)).filter(Boolean as any); + const users = result.users.map(buildApiUser).filter(Boolean); + const chats = result.chats.map((c) => buildApiChatFromPreview(c)).filter(Boolean); return { groupCall: buildApiGroupCall(result.call), @@ -129,8 +129,8 @@ export async function fetchGroupCallParticipants({ addEntitiesWithPhotosToLocalDb(result.users); addEntitiesWithPhotosToLocalDb(result.chats); - const users = result.users.map(buildApiUser).filter(Boolean as any); - const chats = result.chats.map((c) => buildApiChatFromPreview(c)).filter(Boolean as any); + const users = result.users.map(buildApiUser).filter(Boolean); + const chats = result.chats.map((c) => buildApiChatFromPreview(c)).filter(Boolean); onUpdate({ '@type': 'updateGroupCallParticipants', diff --git a/src/api/gramjs/methods/chats.ts b/src/api/gramjs/methods/chats.ts index 4523b7db5..6507aa75d 100644 --- a/src/api/gramjs/methods/chats.ts +++ b/src/api/gramjs/methods/chats.ts @@ -104,7 +104,7 @@ export async function fetchChats({ const lastMessagesByChatId = buildCollectionByKey( (resultPinned ? resultPinned.messages : []).concat(result.messages) .map(buildApiMessage) - .filter(Boolean as any), + .filter(Boolean), 'chatId', ); const peersByKey: Record = { @@ -218,7 +218,7 @@ export async function searchChats({ query }: { query: string }) { const localPeerIds = result.myResults.map(getApiChatIdFromMtpPeer); const allChats = result.chats.concat(result.users) .map((user) => buildApiChatFromPreview(user)) - .filter(Boolean as any); + .filter(Boolean); const allUsers = result.users.map(buildApiUser).filter((user) => Boolean(user) && !user.isSelf) as ApiUser[]; return { diff --git a/src/api/gramjs/methods/messages.ts b/src/api/gramjs/methods/messages.ts index df5d65d71..d2118ea93 100644 --- a/src/api/gramjs/methods/messages.ts +++ b/src/api/gramjs/methods/messages.ts @@ -10,11 +10,9 @@ import type { ApiOnProgress, ApiReportReason, ApiSticker, - ApiThreadInfo, ApiUser, ApiVideo, OnApiUpdate, - ApiSponsoredMessage, ApiSendMessageAction, ApiContact, ApiPoll, @@ -119,10 +117,10 @@ export async function fetchMessages({ updateLocalDb(result); - const messages = result.messages.map(buildApiMessage).filter(Boolean as any); - const users = result.users.map(buildApiUser).filter(Boolean as any); - const chats = result.chats.map((c) => buildApiChatFromPreview(c)).filter(Boolean as any); - const threadInfos = messages.map(({ threadInfo }) => threadInfo).filter(Boolean as any); + const messages = result.messages.map(buildApiMessage).filter(Boolean); + const users = result.users.map(buildApiUser).filter(Boolean); + const chats = result.chats.map((c) => buildApiChatFromPreview(c)).filter(Boolean); + const threadInfos = messages.map(({ threadInfo }) => threadInfo).filter(Boolean); return { messages, @@ -188,7 +186,7 @@ export async function fetchMessage({ chat, messageId }: { chat: ApiChat; message addMessageToLocalDb(mtpMessage); } - const users = result.users.map(buildApiUser).filter(Boolean as any); + const users = result.users.map(buildApiUser).filter(Boolean); return { message, users }; } @@ -857,7 +855,7 @@ export async function requestThreadInfoUpdate({ : undefined, }); - const chats = topMessageResult.chats.map((c) => buildApiChatFromPreview(c)).filter(Boolean as any); + const chats = topMessageResult.chats.map((c) => buildApiChatFromPreview(c)).filter(Boolean); chats.forEach((newChat) => { onUpdate({ '@type': 'updateChat', @@ -931,9 +929,9 @@ export async function searchMessagesLocal({ updateLocalDb(result); - const chats = result.chats.map((c) => buildApiChatFromPreview(c)).filter(Boolean as any); - const users = result.users.map(buildApiUser).filter(Boolean as any); - const messages = result.messages.map(buildApiMessage).filter(Boolean as any); + const chats = result.chats.map((c) => buildApiChatFromPreview(c)).filter(Boolean); + const users = result.users.map(buildApiUser).filter(Boolean); + const messages = result.messages.map(buildApiMessage).filter(Boolean); let totalCount = messages.length; let nextOffsetId: number | undefined; @@ -1016,9 +1014,9 @@ export async function searchMessagesGlobal({ messages: result.messages, } as GramJs.messages.Messages); - const chats = result.chats.map((c) => buildApiChatFromPreview(c)).filter(Boolean as any); - const users = result.users.map(buildApiUser).filter(Boolean as any); - const messages = result.messages.map(buildApiMessage).filter(Boolean as any); + const chats = result.chats.map((c) => buildApiChatFromPreview(c)).filter(Boolean); + const users = result.users.map(buildApiUser).filter(Boolean); + const messages = result.messages.map(buildApiMessage).filter(Boolean); let totalCount = messages.length; let nextRate: number | undefined; @@ -1109,7 +1107,7 @@ export async function loadPollOptionResults({ messages: [] as GramJs.Message[], } as GramJs.messages.Messages); - const users = result.users.map(buildApiUser).filter(Boolean as any); + const users = result.users.map(buildApiUser).filter(Boolean); const votes = result.votes.map((vote) => ({ userId: vote.userId, date: vote.date, @@ -1222,7 +1220,7 @@ export async function fetchScheduledHistory({ chat }: { chat: ApiChat }) { updateLocalDb(result); - const messages = result.messages.map(buildApiMessage).filter(Boolean as any); + const messages = result.messages.map(buildApiMessage).filter(Boolean); return { messages, @@ -1274,9 +1272,9 @@ export async function fetchPinnedMessages({ chat }: { chat: ApiChat }) { updateLocalDb(result); - const chats = result.chats.map((c) => buildApiChatFromPreview(c)).filter(Boolean as any); - const users = result.users.map(buildApiUser).filter(Boolean as any); - const messages = result.messages.map(buildApiMessage).filter(Boolean as any); + const chats = result.chats.map((c) => buildApiChatFromPreview(c)).filter(Boolean); + const users = result.users.map(buildApiUser).filter(Boolean); + const messages = result.messages.map(buildApiMessage).filter(Boolean); return { messages, @@ -1342,9 +1340,9 @@ export async function fetchSponsoredMessages({ chat }: { chat: ApiChat }) { updateLocalDb(result); - const messages = result.messages.map(buildApiSponsoredMessage).filter(Boolean as any); - const users = result.users.map(buildApiUser).filter(Boolean as any); - const chats = result.chats.map((c) => buildApiChatFromPreview(c)).filter(Boolean as any); + const messages = result.messages.map(buildApiSponsoredMessage).filter(Boolean); + const users = result.users.map(buildApiUser).filter(Boolean); + const chats = result.chats.map((c) => buildApiChatFromPreview(c)).filter(Boolean); return { messages, @@ -1405,9 +1403,9 @@ export async function fetchUnreadMentions({ updateLocalDb(result); - const messages = result.messages.map(buildApiMessage).filter(Boolean as any); - const users = result.users.map(buildApiUser).filter(Boolean as any); - const chats = result.chats.map((c) => buildApiChatFromPreview(c)).filter(Boolean as any); + const messages = result.messages.map(buildApiMessage).filter(Boolean); + const users = result.users.map(buildApiUser).filter(Boolean); + const chats = result.chats.map((c) => buildApiChatFromPreview(c)).filter(Boolean); return { messages, @@ -1441,9 +1439,9 @@ export async function fetchUnreadReactions({ updateLocalDb(result); - const messages = result.messages.map(buildApiMessage).filter(Boolean as any); - const users = result.users.map(buildApiUser).filter(Boolean as any); - const chats = result.chats.map((c) => buildApiChatFromPreview(c)).filter(Boolean as any); + const messages = result.messages.map(buildApiMessage).filter(Boolean); + const users = result.users.map(buildApiUser).filter(Boolean); + const chats = result.chats.map((c) => buildApiChatFromPreview(c)).filter(Boolean); return { messages, diff --git a/src/api/gramjs/methods/settings.ts b/src/api/gramjs/methods/settings.ts index 3699f1756..d24a04943 100644 --- a/src/api/gramjs/methods/settings.ts +++ b/src/api/gramjs/methods/settings.ts @@ -3,12 +3,9 @@ import { Api as GramJs } from '../../../lib/gramjs'; import type { ApiAppConfig, - ApiChat, ApiLangString, ApiLanguage, ApiNotifyException, - ApiUser, - ApiWallpaper, } from '../../types'; import type { ApiPrivacyKey, InputPrivacyRules, LangCode } from '../../../types'; @@ -99,7 +96,7 @@ export async function fetchWallpapers() { }); return { - wallpapers: filteredWallpapers.map(buildApiWallpaper).filter(Boolean as any), + wallpapers: filteredWallpapers.map(buildApiWallpaper).filter(Boolean), }; } @@ -137,8 +134,8 @@ export async function fetchBlockedContacts() { updateLocalDb(result); return { - users: result.users.map(buildApiUser).filter(Boolean as any), - chats: result.chats.map((chat) => buildApiChatFromPreview(chat)).filter(Boolean as any), + users: result.users.map(buildApiUser).filter(Boolean), + chats: result.chats.map((chat) => buildApiChatFromPreview(chat)).filter(Boolean), blockedIds: result.blocked.map((blocked) => getApiChatIdFromMtpPeer(blocked.peerId)), totalCount: result instanceof GramJs.contacts.BlockedSlice ? result.count : result.blocked.length, }; diff --git a/src/api/gramjs/methods/symbols.ts b/src/api/gramjs/methods/symbols.ts index d4ff41721..cc82c3196 100644 --- a/src/api/gramjs/methods/symbols.ts +++ b/src/api/gramjs/methods/symbols.ts @@ -318,7 +318,7 @@ export async function searchGifs({ query, offset = '' }: { query: string; offset return undefined; }) - .filter(Boolean as any); + .filter(Boolean); return { nextOffset: result.nextOffset, @@ -382,5 +382,5 @@ function processGifResult(gifs: GramJs.TypeDocument[]) { return undefined; }) - .filter(Boolean as any); + .filter(Boolean); } diff --git a/src/api/gramjs/methods/users.ts b/src/api/gramjs/methods/users.ts index f63d0faed..e2873f836 100644 --- a/src/api/gramjs/methods/users.ts +++ b/src/api/gramjs/methods/users.ts @@ -1,7 +1,7 @@ import BigInt from 'big-integer'; import { Api as GramJs } from '../../../lib/gramjs'; import type { - OnApiUpdate, ApiUser, ApiChat, ApiPhoto, + OnApiUpdate, ApiUser, ApiChat, } from '../../types'; import { COMMON_CHATS_LIMIT, PROFILE_PHOTOS_LIMIT } from '../../../config'; @@ -138,7 +138,7 @@ export async function fetchContactList() { return { users, userStatusesById, - chats: result.users.map((user) => buildApiChatFromPreview(user)).filter(Boolean as any), + chats: result.users.map((user) => buildApiChatFromPreview(user)).filter(Boolean), }; } @@ -268,7 +268,7 @@ export async function fetchProfilePhotos(user?: ApiUser, chat?: ApiChat) { const { messages, users } = result; return { - photos: messages.map((message) => message.content.action!.photo).filter(Boolean as any), + photos: messages.map((message) => message.content.action!.photo).filter(Boolean), users, }; } diff --git a/src/api/gramjs/updater.ts b/src/api/gramjs/updater.ts index fdf8d5bf7..423dd39ab 100644 --- a/src/api/gramjs/updater.ts +++ b/src/api/gramjs/updater.ts @@ -331,7 +331,7 @@ export function updater(update: Update, originRequest?: GramJs.AnyRequest) { return message && message instanceof GramJs.MessageService && 'photo' in message.action ? String(message.action.photo.id) : undefined; - }).filter(Boolean as any); + }).filter(Boolean); if (existingIds.length) { onUpdate({ diff --git a/src/components/common/helpers/renderActionMessageText.tsx b/src/components/common/helpers/renderActionMessageText.tsx index 0c40d8eac..27602ab74 100644 --- a/src/components/common/helpers/renderActionMessageText.tsx +++ b/src/components/common/helpers/renderActionMessageText.tsx @@ -113,7 +113,7 @@ export function renderActionMessageText( unprocessed, '%target_user%', targetUsers - ? targetUsers.map((user) => renderUserContent(user, noLinks)).filter(Boolean as any) + ? targetUsers.map((user) => renderUserContent(user, noLinks)).filter(Boolean) : 'User', ); diff --git a/src/components/common/helpers/renderMessageText.ts b/src/components/common/helpers/renderMessageText.ts index 5526d37cf..d0e352758 100644 --- a/src/components/common/helpers/renderMessageText.ts +++ b/src/components/common/helpers/renderMessageText.ts @@ -77,5 +77,5 @@ export function renderMessageSummary( return [ ...renderText(emojiWithSpace), ...(Array.isArray(description) ? description : [description]), - ].filter(Boolean); + ].filter(Boolean); } diff --git a/src/components/common/helpers/renderTextWithEntities.tsx b/src/components/common/helpers/renderTextWithEntities.tsx index cca0d41ed..56c4d6306 100644 --- a/src/components/common/helpers/renderTextWithEntities.tsx +++ b/src/components/common/helpers/renderTextWithEntities.tsx @@ -253,7 +253,7 @@ function organizeEntity( const parsedNestedEntities = entities .filter((e, i) => i > index && e.offset >= offset && e.offset < offset + length) .map((e) => organizeEntity(e, entities.indexOf(e), entities, organizedEntityIndexes)) - .filter(Boolean as any); + .filter(Boolean); parsedNestedEntities.forEach((parsedEntity) => { let isChanged = false; diff --git a/src/components/left/main/Chat.tsx b/src/components/left/main/Chat.tsx index b114b6186..b46093fbf 100644 --- a/src/components/left/main/Chat.tsx +++ b/src/components/left/main/Chat.tsx @@ -149,7 +149,7 @@ const Chat: FC = ({ // No need for expensive global updates on users, so we avoid them const usersById = getGlobal().users.byId; - return actionTargetUserIds.map((userId) => usersById[userId]).filter(Boolean as any); + return actionTargetUserIds.map((userId) => usersById[userId]).filter(Boolean); }, [actionTargetUserIds]); // Sets animation excess values when `orderDiff` changes and then resets excess values to animate. diff --git a/src/components/left/search/ChatMessageResults.tsx b/src/components/left/search/ChatMessageResults.tsx index 4a045b0ab..895f7fa69 100644 --- a/src/components/left/search/ChatMessageResults.tsx +++ b/src/components/left/search/ChatMessageResults.tsx @@ -70,7 +70,7 @@ const ChatMessageResults: FC = ({ return globalMessagesByChatId?.[chatId]?.byId[Number(messageId)]; }) - .filter(Boolean as any) + .filter(Boolean) .sort((a, b) => b.date - a.date); }, [foundIds, globalMessagesByChatId]); diff --git a/src/components/left/search/ChatResults.tsx b/src/components/left/search/ChatResults.tsx index 9032ec598..65dd8dfae 100644 --- a/src/components/left/search/ChatResults.tsx +++ b/src/components/left/search/ChatResults.tsx @@ -152,7 +152,7 @@ const ChatResults: FC = ({ return globalMessagesByChatId?.[chatId]?.byId[Number(messageId)]; }) - .filter(Boolean as any) + .filter(Boolean) .sort((a, b) => b.date - a.date); }, [foundIds, globalMessagesByChatId, searchQuery, searchDate]); diff --git a/src/components/middle/ActionMessage.tsx b/src/components/middle/ActionMessage.tsx index cd08ac709..b64f227dd 100644 --- a/src/components/middle/ActionMessage.tsx +++ b/src/components/middle/ActionMessage.tsx @@ -116,7 +116,7 @@ const ActionMessage: FC = ({ const targetUsers = useMemo(() => { return targetUserIds - ? targetUserIds.map((userId) => usersById?.[userId]).filter(Boolean as any) + ? targetUserIds.map((userId) => usersById?.[userId]).filter(Boolean) : undefined; }, [targetUserIds, usersById]); diff --git a/src/global/actions/api/chats.ts b/src/global/actions/api/chats.ts index bb7a6ac63..f276bd294 100644 --- a/src/global/actions/api/chats.ts +++ b/src/global/actions/api/chats.ts @@ -272,7 +272,7 @@ addActionHandler('createChannel', (global, actions, payload) => { const members = (memberIds as string[]) .map((id) => selectUser(global, id)) - .filter(Boolean as any); + .filter(Boolean); void createChannel(title, members, about, photo); }); @@ -372,7 +372,7 @@ addActionHandler('createGroupChat', (global, actions, payload) => { const { title, memberIds, photo } = payload!; const members = (memberIds as string[]) .map((id) => selectUser(global, id)) - .filter(Boolean as any); + .filter(Boolean); void createGroupChat(title, members, photo); }); @@ -1063,7 +1063,7 @@ addActionHandler('loadMoreMembers', async (global) => { addActionHandler('addChatMembers', async (global, actions, payload) => { const { chatId, memberIds } = payload; const chat = selectChat(global, chatId); - const users = (memberIds as string[]).map((userId) => selectUser(global, userId)).filter(Boolean as any); + const users = (memberIds as string[]).map((userId) => selectUser(global, userId)).filter(Boolean); if (!chat || !users.length) { return; diff --git a/src/global/actions/api/messages.ts b/src/global/actions/api/messages.ts index 47c3b189c..a9b7bebed 100644 --- a/src/global/actions/api/messages.ts +++ b/src/global/actions/api/messages.ts @@ -618,7 +618,7 @@ addActionHandler('forwardMessages', (global, action, payload) => { const messages = fromChatId && messageIds ? messageIds .sort((a, b) => a - b) - .map((id) => selectChatMessage(global, fromChatId, id)).filter(Boolean as any) + .map((id) => selectChatMessage(global, fromChatId, id)).filter(Boolean) : undefined; if (!fromChat || !toChat || !messages) { diff --git a/src/util/notifications.ts b/src/util/notifications.ts index 929b878ee..78c258260 100644 --- a/src/util/notifications.ts +++ b/src/util/notifications.ts @@ -287,7 +287,7 @@ function getNotificationContent(chat: ApiChat, message: ApiMessage, reaction?: A const actionTargetUsers = actionTargetUserIds ? actionTargetUserIds.map((userId) => selectUser(global, userId)) - .filter(Boolean as any) + .filter(Boolean) : undefined; const privateChatUserId = getPrivateChatUserId(chat); const privateChatUser = privateChatUserId ? selectUser(global, privateChatUserId) : undefined;