@assistant-ui/react
Version:
TypeScript/React library for AI Chat
17 lines (14 loc) • 506 B
text/typescript
import { tapState, tapEffect } from "@assistant-ui/tap";
import { SubscribableWithState } from "../runtime/subscribable/Subscribable";
export const tapSubscribable = <T>(
subscribable: Omit<SubscribableWithState<T, any>, "path">,
) => {
const [, setState] = tapState(subscribable.getState);
tapEffect(() => {
setState(subscribable.getState());
return subscribable.subscribe(() => {
setState(subscribable.getState());
});
}, [subscribable]);
return subscribable.getState();
};