import { ref, unref } from 'vue'; export const useChat = () => { const chatDataSource = ref([]); const createChat = chat => { chatDataSource.value = [chat]; } const addChat = chat => { chatDataSource.value.push(chat); } const updateChat = chat => { const length = unref(chatDataSource).length; const index = length ? length - 1 : length; chatDataSource.value[index] = chat; } const clearChat = () => { chatDataSource.value = []; } const updateById = params => { const i = chatDataSource.value.findIndex(({ id }) => id === params.id); chatDataSource.value[i] = { ...chatDataSource.value[i], ...params}; } return { chatDataSource, createChat, addChat, updateChat, clearChat, updateById } }