Skip to content

Commit d83d149

Browse files
authored
fix: Improve util functions type (#724)
1 parent 4709cac commit d83d149

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

src/utils/index.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ export const isMessageSentByMe = (
320320
userId: string,
321321
message: SendableMessageType,
322322
): boolean => (
323-
(userId && message?.sender?.userId) && userId === message.sender.userId
323+
!!(userId && message?.sender?.userId && userId === message.sender.userId)
324324
);
325325

326326
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,22 @@ export const hasSameMembers = <T>(a: T[], b: T[]): boolean => {
415415
}
416416
return true;
417417
};
418-
export const isFriend = (user: User): boolean => !!(user.friendDiscoveryKey || user.friendName);
418+
export const isFriend = (user: Nullable<User>): boolean => {
419+
if (!user) return false;
420+
return !!(user.friendDiscoveryKey || user.friendName);
421+
};
419422

420423
export const filterMessageListParams = (
421424
params: MessageListParams,
422425
message: SendableMessageType,
423426
): boolean => {
427+
const { customTypesFilter = [] } = params;
424428
// @ts-ignore
425429
if (params?.messageTypeFilter && params.messageTypeFilter !== message.messageType) {
426430
return false;
427431
}
428-
if (params?.customTypesFilter?.length > 0) {
429-
const customTypes = params.customTypesFilter.filter((item) => item !== '*');
432+
if (customTypesFilter?.length > 0) {
433+
const customTypes = customTypesFilter.filter((item) => item !== '*');
430434
// Because Chat SDK inserts '*' when customTypes is empty
431435
if (customTypes.length > 0 && !customTypes.includes(message.customType)) {
432436
return false;
@@ -676,7 +680,7 @@ export interface StringObj {
676680
export const convertWordToStringObj = (word: string, _users: Array<User>, _template?: string): Array<StringObj> => {
677681
const users = _users || [];
678682
const template = _template || '@'; // Use global variable
679-
const resultArray = [];
683+
const resultArray: Array<StringObj> = [];
680684
const regex = RegExp(`${template}{(${users.map((user) => user?.userId).join('|')})}`, 'g');
681685
let excutionResult;
682686
let lastIndex = 0;

0 commit comments

Comments
 (0)