v3: shared/ is documented like api/ — deno doc --lint over api/ and shared/ goes from 385 errors to none — every module of shared/ opens with a /** … @module */ block; every export and every field of an exported interface has JSDoc, each request body naming the endpoint that takes it and each response its endpoint; the // comments that described declarations (the mention pattern, the permission union and table, four socket messages, the error message's optimistic-action context) are /** */ now, and the socket protocol's heading comment, which sat on no declaration, is its module doc. The lint wanted explicit types on MENTION_RE and DUMP_MAX_FILE_SIZE_BYTES. Along the way: the chat edit is allowed to moderators too, which the new ChatEditMessage doc says; UpdateUserRequest says that PATCH /api/users/me takes only its description and email; playlist-service's reorderPlaylist @throws is rewrapped. mod.ts and the README no longer call shared/ undocumented. No behaviour changes; 205 backend tests pass.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,16 +1,35 @@
|
||||
/**
|
||||
* A message of the site-wide chat.
|
||||
*
|
||||
* @module
|
||||
*/
|
||||
|
||||
/** A chat message, with what the chat shows of its author and its reply. */
|
||||
export interface ChatMessage {
|
||||
/** The message's id. */
|
||||
id: string;
|
||||
/** The author's id. */
|
||||
userId: string;
|
||||
/** The message, in Markdown. */
|
||||
body: string;
|
||||
/** When the message was sent. */
|
||||
createdAt: Date;
|
||||
/** When the message was last edited, if ever. */
|
||||
updatedAt?: Date;
|
||||
/** The author's name. */
|
||||
authorUsername: string;
|
||||
/** The author's avatar type, undefined without one. */
|
||||
authorAvatarMime?: string;
|
||||
/** Id of the message this one replies to, if any. Retained even when the
|
||||
* target is later deleted (the preview fields below then go undefined). */
|
||||
/**
|
||||
* Id of the message this one replies to, if any. Retained even when the
|
||||
* target is later deleted (the preview fields below then go undefined).
|
||||
*/
|
||||
replyToId?: string;
|
||||
/** Author/snippet of the replied-to message, for a subtle inline reference.
|
||||
* Absent when there's no reply, or the target has since been deleted. */
|
||||
/**
|
||||
* Author of the replied-to message, for a subtle inline reference. Absent
|
||||
* when there's no reply, or the target has since been deleted.
|
||||
*/
|
||||
replyToAuthor?: string;
|
||||
/** Body of the replied-to message, absent under the same conditions. */
|
||||
replyToBody?: string;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user