messages.value = new Map(Object.entries(parsed));
}
+ // utility function to remove oldest message from the messages map.
+ function deleteOldest() {
+ // create array of map keys and get the key of the oldest message.
+ const lastKey = Array.from(messages.value.keys()).shift();
+
+ messages.value.delete(lastKey);
+ }
+
export default function useMessages() {
- // Add new message and update previous message if nessesary.
const addMessage = (m: RenderMessage) => {
+ console.log(`Adding message: ${m.content.text}`)
++
+ // check for message limit before setting a new message.
+ if (messages.value.size >= sizeLimit) deleteOldest();
+
messages.value.set(m.uid, m);
}