Changeset View
Changeset View
Standalone View
Standalone View
lib/types/message-types.js
Show First 20 Lines • Show All 43 Lines • ▼ Show 20 Lines | import type { | ||||
RawDeleteEntryMessageInfo, | RawDeleteEntryMessageInfo, | ||||
} from './messages/delete-entry.js'; | } from './messages/delete-entry.js'; | ||||
import type { | import type { | ||||
EditEntryMessageData, | EditEntryMessageData, | ||||
EditEntryMessageInfo, | EditEntryMessageInfo, | ||||
RawEditEntryMessageInfo, | RawEditEntryMessageInfo, | ||||
} from './messages/edit-entry.js'; | } from './messages/edit-entry.js'; | ||||
import type { | import type { | ||||
RawEditMessageInfo, | |||||
EditMessageData, | |||||
EditMessageInfo, | |||||
} from './messages/edit.js'; | |||||
import type { | |||||
ImagesMessageData, | ImagesMessageData, | ||||
ImagesMessageInfo, | ImagesMessageInfo, | ||||
RawImagesMessageInfo, | RawImagesMessageInfo, | ||||
} from './messages/images.js'; | } from './messages/images.js'; | ||||
import type { | import type { | ||||
JoinThreadMessageData, | JoinThreadMessageData, | ||||
JoinThreadMessageInfo, | JoinThreadMessageInfo, | ||||
RawJoinThreadMessageInfo, | RawJoinThreadMessageInfo, | ||||
▲ Show 20 Lines • Show All 66 Lines • ▼ Show 20 Lines | export const messageTypes = Object.freeze({ | ||||
UNSUPPORTED: 13, | UNSUPPORTED: 13, | ||||
IMAGES: 14, | IMAGES: 14, | ||||
MULTIMEDIA: 15, | MULTIMEDIA: 15, | ||||
UPDATE_RELATIONSHIP: 16, | UPDATE_RELATIONSHIP: 16, | ||||
SIDEBAR_SOURCE: 17, | SIDEBAR_SOURCE: 17, | ||||
// Appears in the newly created sidebar | // Appears in the newly created sidebar | ||||
CREATE_SIDEBAR: 18, | CREATE_SIDEBAR: 18, | ||||
REACTION: 19, | REACTION: 19, | ||||
EDIT_MESSAGE: 20, | |||||
}); | }); | ||||
export type MessageType = $Values<typeof messageTypes>; | export type MessageType = $Values<typeof messageTypes>; | ||||
export function assertMessageType(ourMessageType: number): MessageType { | export function assertMessageType(ourMessageType: number): MessageType { | ||||
invariant( | invariant( | ||||
ourMessageType === 0 || | ourMessageType === 0 || | ||||
ourMessageType === 1 || | ourMessageType === 1 || | ||||
ourMessageType === 2 || | ourMessageType === 2 || | ||||
ourMessageType === 3 || | ourMessageType === 3 || | ||||
ourMessageType === 4 || | ourMessageType === 4 || | ||||
ourMessageType === 5 || | ourMessageType === 5 || | ||||
ourMessageType === 6 || | ourMessageType === 6 || | ||||
ourMessageType === 7 || | ourMessageType === 7 || | ||||
ourMessageType === 8 || | ourMessageType === 8 || | ||||
ourMessageType === 9 || | ourMessageType === 9 || | ||||
ourMessageType === 10 || | ourMessageType === 10 || | ||||
ourMessageType === 11 || | ourMessageType === 11 || | ||||
ourMessageType === 12 || | ourMessageType === 12 || | ||||
ourMessageType === 13 || | ourMessageType === 13 || | ||||
ourMessageType === 14 || | ourMessageType === 14 || | ||||
ourMessageType === 15 || | ourMessageType === 15 || | ||||
ourMessageType === 16 || | ourMessageType === 16 || | ||||
ourMessageType === 17 || | ourMessageType === 17 || | ||||
ourMessageType === 18 || | ourMessageType === 18 || | ||||
ourMessageType === 19, | ourMessageType === 19 || | ||||
ourMessageType === 20, | |||||
'number is not MessageType enum', | 'number is not MessageType enum', | ||||
); | ); | ||||
return ourMessageType; | return ourMessageType; | ||||
} | } | ||||
const composableMessageTypes = new Set([ | const composableMessageTypes = new Set([ | ||||
messageTypes.TEXT, | messageTypes.TEXT, | ||||
messageTypes.IMAGES, | messageTypes.IMAGES, | ||||
▲ Show 20 Lines • Show All 74 Lines • ▼ Show 20 Lines | export type MessageData = | ||||
| EditEntryMessageData | | EditEntryMessageData | ||||
| DeleteEntryMessageData | | DeleteEntryMessageData | ||||
| RestoreEntryMessageData | | RestoreEntryMessageData | ||||
| ImagesMessageData | | ImagesMessageData | ||||
| MediaMessageData | | MediaMessageData | ||||
| UpdateRelationshipMessageData | | UpdateRelationshipMessageData | ||||
| SidebarSourceMessageData | | SidebarSourceMessageData | ||||
| CreateSidebarMessageData | | CreateSidebarMessageData | ||||
| ReactionMessageData; | | ReactionMessageData | ||||
| EditMessageData; | |||||
export type MultimediaMessageData = ImagesMessageData | MediaMessageData; | export type MultimediaMessageData = ImagesMessageData | MediaMessageData; | ||||
export type RawMultimediaMessageInfo = | export type RawMultimediaMessageInfo = | ||||
| RawImagesMessageInfo | | RawImagesMessageInfo | ||||
| RawMediaMessageInfo; | | RawMediaMessageInfo; | ||||
export type RawComposableMessageInfo = | export type RawComposableMessageInfo = | ||||
| RawTextMessageInfo | | RawTextMessageInfo | ||||
Show All 19 Lines | export type RawSidebarSourceMessageInfo = { | ||||
...SidebarSourceMessageData, | ...SidebarSourceMessageData, | ||||
id: string, | id: string, | ||||
}; | }; | ||||
export type RawMessageInfo = | export type RawMessageInfo = | ||||
| RawComposableMessageInfo | | RawComposableMessageInfo | ||||
| RawRobotextMessageInfo | | RawRobotextMessageInfo | ||||
| RawSidebarSourceMessageInfo | | RawSidebarSourceMessageInfo | ||||
| RawReactionMessageInfo; | | RawReactionMessageInfo | ||||
| RawEditMessageInfo; | |||||
export type LocallyComposedMessageInfo = | export type LocallyComposedMessageInfo = | ||||
| ({ | | ({ | ||||
...RawImagesMessageInfo, | ...RawImagesMessageInfo, | ||||
+localID: string, | +localID: string, | ||||
} & RawImagesMessageInfo) | } & RawImagesMessageInfo) | ||||
| ({ | | ({ | ||||
...RawMediaMessageInfo, | ...RawMediaMessageInfo, | ||||
Show All 40 Lines | export type SidebarSourceMessageInfo = { | ||||
+time: number, | +time: number, | ||||
+sourceMessage: ComposableMessageInfo | RobotextMessageInfo, | +sourceMessage: ComposableMessageInfo | RobotextMessageInfo, | ||||
}; | }; | ||||
export type MessageInfo = | export type MessageInfo = | ||||
| ComposableMessageInfo | | ComposableMessageInfo | ||||
| RobotextMessageInfo | | RobotextMessageInfo | ||||
| SidebarSourceMessageInfo | | SidebarSourceMessageInfo | ||||
| ReactionMessageInfo; | | ReactionMessageInfo | ||||
| EditMessageInfo; | |||||
export type ThreadMessageInfo = { | export type ThreadMessageInfo = { | ||||
messageIDs: string[], | messageIDs: string[], | ||||
startReached: boolean, | startReached: boolean, | ||||
lastNavigatedTo: number, // millisecond timestamp | lastNavigatedTo: number, // millisecond timestamp | ||||
lastPruned: number, // millisecond timestamp | lastPruned: number, // millisecond timestamp | ||||
}; | }; | ||||
▲ Show 20 Lines • Show All 226 Lines • Show Last 20 Lines |