@hsaadawy/ngx-chat
Version:
23 lines (22 loc) • 871 B
TypeScript
import { Subject } from 'rxjs';
import { LogService } from '../services/log.service';
import { Message } from './message';
export interface DateMessagesGroup<T extends Message> {
/** is equal to the date where one message on that date was received */
date: Date;
messages: T[];
}
export declare class MessageStore<T extends Message> {
private readonly logService;
readonly messages$: Subject<T>;
readonly messages: T[];
readonly dateMessageGroups: DateMessagesGroup<T>[];
readonly messageIdToMessage: Map<string, T>;
constructor(logService: LogService);
addMessage(message: T): boolean;
get oldestMessage(): T | undefined;
get mostRecentMessage(): T | undefined;
get mostRecentMessageReceived(): T | undefined;
get mostRecentMessageSent(): T | undefined;
private addToDateMessageGroups;
}