1
0
mirror of https://github.com/matrix-org/matrix-js-sdk.git synced 2025-11-25 05:23:13 +03:00

Export thread-related types from SDK (#3447)

* Export thread-related types from SDK

* address PR feedback
This commit is contained in:
Stanislav Demydiuk
2023-06-06 10:59:10 +03:00
committed by GitHub
parent ea7042efb9
commit ecd700a36e
4 changed files with 12 additions and 6 deletions

View File

@@ -37,6 +37,7 @@ export * from "./models/event-timeline-set";
export * from "./models/poll";
export * from "./models/room-member";
export * from "./models/room-state";
export { ThreadEvent, ThreadEmittedEvents, ThreadEventHandlerMap, Thread } from "./models/thread";
export * from "./models/typed-event-emitter";
export * from "./models/user";
export * from "./models/device";

View File

@@ -34,7 +34,7 @@ import {
import { Crypto } from "../crypto";
import { deepSortedObjectEntries, internaliseString } from "../utils";
import { RoomMember } from "./room-member";
import { Thread, ThreadEvent, EventHandlerMap as ThreadEventHandlerMap, THREAD_RELATION_TYPE } from "./thread";
import { Thread, ThreadEvent, ThreadEventHandlerMap, THREAD_RELATION_TYPE } from "./thread";
import { IActionsObject } from "../pushprocessor";
import { TypedReEmitter } from "../ReEmitter";
import { MatrixError } from "../http-api";

View File

@@ -49,7 +49,7 @@ import { BeaconEvent, BeaconEventHandlerMap } from "./beacon";
import {
Thread,
ThreadEvent,
EventHandlerMap as ThreadHandlerMap,
ThreadEventHandlerMap as ThreadHandlerMap,
FILTER_RELATED_BY_REL_TYPES,
THREAD_RELATION_TYPE,
FILTER_RELATED_BY_SENDERS,

View File

@@ -38,15 +38,20 @@ export enum ThreadEvent {
Delete = "Thread.delete",
}
type EmittedEvents = Exclude<ThreadEvent, ThreadEvent.New> | RoomEvent.Timeline | RoomEvent.TimelineReset;
export type ThreadEmittedEvents = Exclude<ThreadEvent, ThreadEvent.New> | RoomEvent.Timeline | RoomEvent.TimelineReset;
export type EventHandlerMap = {
export type ThreadEventHandlerMap = {
[ThreadEvent.Update]: (thread: Thread) => void;
[ThreadEvent.NewReply]: (thread: Thread, event: MatrixEvent) => void;
[ThreadEvent.ViewThread]: () => void;
[ThreadEvent.Delete]: (thread: Thread) => void;
} & EventTimelineSetHandlerMap;
/**
* @deprecated please use ThreadEventHandlerMap instead
*/
export type EventHandlerMap = ThreadEventHandlerMap;
interface IThreadOpts {
room: Room;
client: MatrixClient;
@@ -70,7 +75,7 @@ export function determineFeatureSupport(stable: boolean, unstable: boolean): Fea
}
}
export class Thread extends ReadReceipt<EmittedEvents, EventHandlerMap> {
export class Thread extends ReadReceipt<ThreadEmittedEvents, ThreadEventHandlerMap> {
public static hasServerSideSupport = FeatureSupport.None;
public static hasServerSideListSupport = FeatureSupport.None;
public static hasServerSideFwdPaginationSupport = FeatureSupport.None;
@@ -83,7 +88,7 @@ export class Thread extends ReadReceipt<EmittedEvents, EventHandlerMap> {
private _currentUserParticipated = false;
private reEmitter: TypedReEmitter<EmittedEvents, EventHandlerMap>;
private reEmitter: TypedReEmitter<ThreadEmittedEvents, ThreadEventHandlerMap>;
private lastEvent: MatrixEvent | undefined;
private replyCount = 0;