From 35d1397491f59e3dcbffca2a3f6b3e2124359ab4 Mon Sep 17 00:00:00 2001 From: HoonBaek Date: Wed, 30 Aug 2023 15:13:22 +0900 Subject: [PATCH 1/2] fix: Improve util functions type --- src/utils/index.ts | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/utils/index.ts b/src/utils/index.ts index ea15f0f7c..dbce5d561 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -320,7 +320,7 @@ export const isMessageSentByMe = ( userId: string, message: SendableMessageType, ): boolean => ( - (userId && message?.sender?.userId) && userId === message.sender.userId + !!(userId && message?.sender?.userId && userId === message.sender.userId) ); const URL_REG = /^((http|https):\/\/)?([a-z\d]+\.)+[a-z]{2,6}(\:[0-9]{1,5})?(\/[-a-zA-Z\d%_.~+&=]*)*(\?[;&a-zA-Z\d%_.~+=-]*)?(\#[-a-zA-Z\d_]*)?$/; @@ -415,18 +415,26 @@ export const hasSameMembers = (a: T[], b: T[]): boolean => { } return true; }; -export const isFriend = (user: User): boolean => !!(user.friendDiscoveryKey || user.friendName); +export const isFriend = (user: Nullable): boolean => { + if (!user) return false; + return !!(user.friendDiscoveryKey || user.friendName); +}; export const filterMessageListParams = ( params: MessageListParams, message: SendableMessageType, ): boolean => { + const { + customTypesFilter = [], + } = params as MessageListParams & { + customTypesFilter: Array; + }; // @ts-ignore if (params?.messageTypeFilter && params.messageTypeFilter !== message.messageType) { return false; } - if (params?.customTypesFilter?.length > 0) { - const customTypes = params.customTypesFilter.filter((item) => item !== '*'); + if (customTypesFilter?.length > 0) { + const customTypes = customTypesFilter.filter((item) => item !== '*'); // Because Chat SDK inserts '*' when customTypes is empty if (customTypes.length > 0 && !customTypes.includes(message.customType)) { return false; @@ -676,7 +684,7 @@ export interface StringObj { export const convertWordToStringObj = (word: string, _users: Array, _template?: string): Array => { const users = _users || []; const template = _template || '@'; // Use global variable - const resultArray = []; + const resultArray: Array = []; const regex = RegExp(`${template}{(${users.map((user) => user?.userId).join('|')})}`, 'g'); let excutionResult; let lastIndex = 0; From de9b187605b028eee58cf161e7aca609ffc1fe64 Mon Sep 17 00:00:00 2001 From: HoonBaek Date: Wed, 30 Aug 2023 16:26:21 +0900 Subject: [PATCH 2/2] chore: remove -> as MessageListParams & { customTypesFilter: Array } --- src/utils/index.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/utils/index.ts b/src/utils/index.ts index dbce5d561..8a46c666c 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -424,11 +424,7 @@ export const filterMessageListParams = ( params: MessageListParams, message: SendableMessageType, ): boolean => { - const { - customTypesFilter = [], - } = params as MessageListParams & { - customTypesFilter: Array; - }; + const { customTypesFilter = [] } = params; // @ts-ignore if (params?.messageTypeFilter && params.messageTypeFilter !== message.messageType) { return false;