MCPcopy Index your code
hub / github.com/stackblitz/bolt.new / useMessageParser

Function useMessageParser

app/lib/hooks/useMessageParser.ts:42–66  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

40});
41
42export function useMessageParser() {
43 const [parsedMessages, setParsedMessages] = useState<{ [key: number]: string }>({});
44
45 const parseMessages = useCallback((messages: Message[], isLoading: boolean) => {
46 let reset = false;
47
48 if (import.meta.env.DEV && !isLoading) {
49 reset = true;
50 messageParser.reset();
51 }
52
53 for (const [index, message] of messages.entries()) {
54 if (message.role === 'assistant') {
55 const newParsedContent = messageParser.parse(message.id, message.content);
56
57 setParsedMessages((prevParsed) => ({
58 ...prevParsed,
59 [index]: !reset ? (prevParsed[index] || '') + newParsedContent : newParsedContent,
60 }));
61 }
62 }
63 }, []);
64
65 return { parsedMessages, parseMessages };
66}

Callers 1

Chat.client.tsxFile · 0.90

Calls 2

resetMethod · 0.80
parseMethod · 0.80

Tested by

no test coverage detected