UNPKG

@ant-design/x-sdk

Version:

placeholder for @ant-design/x-sdk

32 lines (31 loc) 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useXConversations; var _react = require("react"); var _store = require("./store"); function useXConversations(config) { const [store] = (0, _react.useState)(() => { const store = new _store.ConversationStore(config?.defaultConversations || [], config?.defaultActiveConversationKey || ''); return store; }); (0, _react.useEffect)(() => { return () => { store.destroy(); }; }, []); const conversations = (0, _react.useSyncExternalStore)(store.subscribe, store.getSnapshot, store.getSnapshot); const activeConversationKey = (0, _react.useSyncExternalStore)(store.subscribe, store.getActiveConversationKey, store.getActiveConversationKey); return { conversations, activeConversationKey: activeConversationKey, setActiveConversationKey: store.setActiveConversationKey, addConversation: store.addConversation, removeConversation: store.removeConversation, setConversation: store.setConversation, getConversation: store.getConversation, setConversations: store.setConversations, getMessages: store.getMessages }; }