// © 2026 Adobe. MIT License. See /LICENSE for details. import { useState } from "./use-state.js"; import { useEffect } from "./use-effect.js"; import { Observe } from "@adobe/data/observe"; export function useObservable(observable: Observe): T | undefined { let [value, setValue] = useState(undefined); useEffect(() => { return observable(newValue => { setValue(value = newValue); }); }, [observable]); return value; }