mattermost-redux
Version:
Common code (API client, Redux stores, logic, utility functions) for building a Mattermost client
47 lines (46 loc) • 2.77 kB
TypeScript
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 {};