Changeset View
Changeset View
Standalone View
Standalone View
lib/shared/messages/create-thread-message-spec.js
// @flow | // @flow | ||||
import invariant from 'invariant'; | import invariant from 'invariant'; | ||||
import { | import { | ||||
pushTypes, | pushTypes, | ||||
type CreateMessageInfoParams, | type CreateMessageInfoParams, | ||||
type MessageSpec, | type MessageSpec, | ||||
type RobotextParams, | |||||
} from './message-spec.js'; | } from './message-spec.js'; | ||||
import { assertSingleMessageInfo } from './utils.js'; | import { assertSingleMessageInfo } from './utils.js'; | ||||
import { messageTypes } from '../../types/message-types.js'; | import { messageTypes } from '../../types/message-types.js'; | ||||
import type { | import type { | ||||
MessageInfo, | MessageInfo, | ||||
ClientDBMessageInfo, | ClientDBMessageInfo, | ||||
} from '../../types/message-types.js'; | } from '../../types/message-types.js'; | ||||
import type { | import type { | ||||
▲ Show 20 Lines • Show All 91 Lines • ▼ Show 20 Lines | > = Object.freeze({ | ||||
rawMessageInfoFromMessageData( | rawMessageInfoFromMessageData( | ||||
messageData: CreateThreadMessageData, | messageData: CreateThreadMessageData, | ||||
id: ?string, | id: ?string, | ||||
): RawCreateThreadMessageInfo { | ): RawCreateThreadMessageInfo { | ||||
invariant(id, 'RawCreateThreadMessageInfo needs id'); | invariant(id, 'RawCreateThreadMessageInfo needs id'); | ||||
return { ...messageData, id }; | return { ...messageData, id }; | ||||
}, | }, | ||||
robotext(messageInfo: CreateThreadMessageInfo): EntityText { | robotext( | ||||
messageInfo: CreateThreadMessageInfo, | |||||
params: RobotextParams, | |||||
): EntityText { | |||||
let text = ET`created ${ET.thread({ | let text = ET`created ${ET.thread({ | ||||
display: 'alwaysDisplayShortName', | display: 'alwaysDisplayShortName', | ||||
threadID: messageInfo.threadID, | threadID: messageInfo.threadID, | ||||
threadType: params.threadInfo?.type, | |||||
parentThreadID: params.threadInfo?.parentThreadID, | |||||
})}`; | })}`; | ||||
const parentThread = messageInfo.initialThreadState.parentThreadInfo; | const parentThread = messageInfo.initialThreadState.parentThreadInfo; | ||||
if (parentThread) { | if (parentThread) { | ||||
text = ET`${text} as a child of ${ET.thread({ | text = ET`${text} as a child of ${ET.thread({ | ||||
display: 'uiName', | display: 'uiName', | ||||
threadInfo: parentThread, | threadInfo: parentThread, | ||||
})}`; | })}`; | ||||
} | } | ||||
▲ Show 20 Lines • Show All 70 Lines • Show Last 20 Lines |