UNPKG

mattermost-redux

Version:

Common code (API client, Redux stores, logic, utility functions) for building a Mattermost client

47 lines (46 loc) 2.77 kB
import type { ActivityEntry, Post } from '@mattermost/types/posts'; import type { GlobalState } from '@mattermost/types/store'; import type { UserActivityPost } from 'mattermost-redux/selectors/entities/posts'; export declare const COMBINED_USER_ACTIVITY = "user-activity-"; export declare const CREATE_COMMENT = "create-comment"; export declare const DATE_LINE = "date-"; export declare const START_OF_NEW_MESSAGES = "start-of-new-messages-"; export declare const MAX_COMBINED_SYSTEM_POSTS = 100; interface PostFilterOptions { postIds: string[]; lastViewedAt: number; indicateNewMessages?: boolean; } export declare function makePreparePostIdsForPostList(): (state: GlobalState, options: PostFilterOptions) => string[]; export declare function makeFilterPostsAndAddSeparators(): import("mattermost-redux/selectors/create_selector").OutputParametricSelector<GlobalState, PostFilterOptions, string[], (res1: Post[], res2: number, res3: boolean | undefined, res4: string, res5: import("@mattermost/types/users").UserProfile, res6: boolean) => string[]>; export declare function makeCombineUserActivityPosts(): import("mattermost-redux/selectors/create_selector").OutputParametricSelector<GlobalState, string[], string[], (res1: string[], res2: Post[]) => string[]>; export declare function isStartOfNewMessages(item: string): boolean; export declare function getTimestampForStartOfNewMessages(item: string): number; export declare function getNewMessagesIndex(postListIds: string[]): number; export declare function isCreateComment(item: string): item is "create-comment"; export declare function isDateLine(item: string): boolean; export declare function getDateForDateLine(item: string): number; export declare function isCombinedUserActivityPost(item: string): boolean; export declare function getPostIdsForCombinedUserActivityPost(item: string): string[]; export declare function getFirstPostId(items: string[]): string; export declare function getLastPostId(items: string[]): string; export declare function getLastPostIndex(postIds: string[]): number; export declare function makeGenerateCombinedPost(): (state: GlobalState, combinedId: string) => UserActivityPost; export declare function extractUserActivityData(userActivities: ActivityEntry[]): { allUserIds: string[]; allUsernames: string[]; messageData: MessageData[]; }; export declare function combineUserActivitySystemPost(systemPosts?: Post[]): UserActivityProp | undefined; export type MessageData = { actorId?: string; postType: string; userIds: string[]; }; type UserActivityProp = { allUserIds: string[]; allUsernames: string[]; messageData: MessageData[]; }; export declare function isUserActivityProp(v: unknown): v is UserActivityProp; export {};