MCPcopy Create free account
hub / github.com/Kilo-Org/cloud / updateMessageInPages

Function updateMessageInPages

packages/kilo-chat-hooks/src/use-messages.ts:293–315  ·  view source on GitHub ↗
(
  old: MessageInfiniteData<TPageParam>,
  messageId: string,
  updater: (message: Message) => Message
)

Source from the content-addressed store, hash-verified

291 return undefined;
292}
293
294export function updateMessageInPages<TPageParam>(
295 old: MessageInfiniteData<TPageParam>,
296 messageId: string,
297 updater: (message: Message) => Message
298): MessageInfiniteData<TPageParam> {
299 for (let pageIndex = 0; pageIndex < old.pages.length; pageIndex++) {
300 const page = old.pages[pageIndex];
301 if (!page) continue;
302 const messageIndex = page.messages.findIndex(msg => msg.id === messageId);
303 if (messageIndex === -1) continue;
304
305 const pages = old.pages.slice();
306 const updatedMessages = page.messages.slice();
307 const message = updatedMessages[messageIndex];
308 if (!message) return old;
309 const updatedMessage = updater(message);
310 if (updatedMessage === message) return old;
311 updatedMessages[messageIndex] = updatedMessage;
312 pages[pageIndex] = withPageMessages(page, updatedMessages);
313 return { ...old, pages };
314 }
315 return old;
316}
317
318function restoreOptimisticMessage(

Calls 1

withPageMessagesFunction · 0.85

Tested by

no test coverage detected