ant-design-x-vue-next
Version:
Ant Design X for Vue — community continuation aligned with @ant-design/x
31 lines (30 loc) • 972 B
JavaScript
import { shallowRef as n, onScopeDispose as a } from "vue";
import { ConversationStore as i } from "./store.mjs";
import { conversationStoreHelper as p } from "./store.mjs";
function c(o = {}) {
const e = new i(
o.defaultConversations || [],
o.defaultActiveConversationKey || ""
), t = n(e.getSnapshot()), s = n(e.getActiveConversationKey()), r = e.subscribe(() => {
t.value = e.getSnapshot(), s.value = e.getActiveConversationKey();
});
return a(() => {
r(), e.destroy();
}), {
conversations: t,
activeConversationKey: s,
setActiveConversationKey: e.setActiveConversationKey,
addConversation: e.addConversation,
removeConversation: e.removeConversation,
setConversation: e.setConversation,
getConversation: e.getConversation,
setConversations: e.setConversations,
getMessages: e.getMessages
};
}
export {
i as ConversationStore,
p as conversationStoreHelper,
c as default,
c as useXConversations
};