UNPKG

@assistant-ui/react

Version:

Typescript/React library for AI Chat

35 lines 1.17 kB
"use client"; import { jsx } from "react/jsx-runtime"; import { useEffect, useState } from "react"; import { create } from "zustand"; import { MessageContext } from "../react/MessageContext"; import { makeMessageUtilsStore } from "../stores/MessageUtils"; import { writableStore } from "../ReadonlyStore"; import { ensureBinding } from "../react/utils/ensureBinding"; const useMessageRuntimeStore = (runtime) => { const [store] = useState(() => create(() => runtime)); useEffect(() => { ensureBinding(runtime); writableStore(store).setState(runtime, true); }, [runtime, store]); return store; }; const useMessageUtilsStore = () => { const [store] = useState(() => makeMessageUtilsStore()); return store; }; const MessageRuntimeProvider = ({ runtime, children }) => { const useMessageRuntime = useMessageRuntimeStore(runtime); const useMessageUtils = useMessageUtilsStore(); const [context] = useState(() => { return { useMessageRuntime, useMessageUtils }; }); return /* @__PURE__ */ jsx(MessageContext.Provider, { value: context, children }); }; export { MessageRuntimeProvider }; //# sourceMappingURL=MessageRuntimeProvider.js.map